常用的数据库的逻辑数据模型有:层次模型、网状模型、关系模型、面向对象模型、对象关系模型;数据模型是从计算机的观点出发对数据建模的,主要用于DBMS的实现。数据模型通常由数据结构、数据操作、完整性约束三部分组成。各个含义如下:
数据结构:描述数据库的组成对象以及对象之间的联系。它描述的内容有两类:一类是与对象的类型、内容、性质有关,例如关系模型中的域、属性、关系等;一类是与数据之间联系有关的对象,例如网状模型中的系型(Set Type)。数据库系统中,人们常按照数据结构的类型来命名数据模型。
数据操作:对数据库中各种对象(型)的实例(值)允许执行操作的集合。主要有查询和更新等。
完整性约束:一组完整性规则。描述给定的数据模型中的数据及其关系所具有的制约和依存规则。三类完整性约束分别是:实体完整性(主键不能为空)、参照完整性(定义外码和主码之间的引用规则)、用户自定义完整性(如某个属性必须取唯一值、长度不超过某一范围等)。
在关系数据库中,关系模式是型,关系是值。关系实质是一张二维表,表的一行称为元组,每一列称为属性。关系是元组的集合。规范化的关系成为范式(Normal Form),关系的描述成为关系模式,它可以形式化地表示为:R(U,D,DOM,F),各个词的解释如下:
R为关系名(数据库中对应的就是一张表的表名),U为组成该关系的属性名集合(对应数据库表中的每一列的列名),D为属性组U中属性所来自的域(比如导师和研究生出的域是相同的,都是“人”这个域),DOM为属性向域的映像集合(如:DOM(supervisor)=DOM(graduatestudent)=person),F为属性间数据的依赖关系集合。
规范化的关系,也即范式,现在共有五个等级;其中,第一范式是对描述关系的最低要求:每一个分量都是不可分割的数据项。简而言之就是不能有“表中有表”的现象。
像上面这张表就不是规范化的关系,因为它里面含有可以分割的数据项——工资。因此,这种类型的设计在关系数据库中是无法实现的。第一范式是最简单、最容易理解的规范化关系。以上是学习《数据库系统概论》的总结内容。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?