常用的数据库的逻辑数据模型有:层次模型、网状模型、关系模型、面向对象模型、对象关系模型;数据模型是从计算机的观点出发对数据建模的,主要用于DBMS的实现。数据模型通常由数据结构、数据操作、完整性约束三部分组成。各个含义如下:
数据结构:描述数据库的组成对象以及对象之间的联系。它描述的内容有两类:一类是与对象的类型、内容、性质有关,例如关系模型中的域、属性、关系等;一类是与数据之间联系有关的对象,例如网状模型中的系型(Set Type)。数据库系统中,人们常按照数据结构的类型来命名数据模型。
数据操作:对数据库中各种对象(型)的实例(值)允许执行操作的集合。主要有查询和更新等。
完整性约束:一组完整性规则。描述给定的数据模型中的数据及其关系所具有的制约和依存规则。三类完整性约束分别是:实体完整性(主键不能为空)、参照完整性(定义外码和主码之间的引用规则)、用户自定义完整性(如某个属性必须取唯一值、长度不超过某一范围等)。
在关系数据库中,关系模式是型,关系是值。关系实质是一张二维表,表的一行称为元组,每一列称为属性。关系是元组的集合。规范化的关系成为范式(Normal Form),关系的描述成为关系模式,它可以形式化地表示为:R(U,D,DOM,F),各个词的解释如下:
R为关系名(数据库中对应的就是一张表的表名),U为组成该关系的属性名集合(对应数据库表中的每一列的列名),D为属性组U中属性所来自的域(比如导师和研究生出的域是相同的,都是“人”这个域),DOM为属性向域的映像集合(如:DOM(supervisor)=DOM(graduatestudent)=person),F为属性间数据的依赖关系集合。
规范化的关系,也即范式,现在共有五个等级;其中,第一范式是对描述关系的最低要求:每一个分量都是不可分割的数据项。简而言之就是不能有“表中有表”的现象。
像上面这张表就不是规范化的关系,因为它里面含有可以分割的数据项——工资。因此,这种类型的设计在关系数据库中是无法实现的。第一范式是最简单、最容易理解的规范化关系。以上是学习《数据库系统概论》的总结内容。