目前,数据库领域中最常用的数据模型有:
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
- 对象关系模型
其中层次模型与网状模型统称为格式化模型。
诸多数据模型中,关系模型是目前最重要的一种模型。下面来详述一下关系模型的数据结构。
一、关系模型的数据结构
关系模型与以往的模型不同,它是建立在严格的数学概念的基础上。没给个关系的数据结构是一张规范的二维表。现在以学生登记表为例,介绍关系模型中的一些术语。
- 关系:一个关系对应通常说的一张表。
- 元组:表中的一行即为一个元组;
- 属性表中的一个列即为一个属性,给每一个属性起一个名称即属性名。
- 码:也成为码键。表中的某个属性组,他可以唯一确定一个元组。
- 域:属性的取值范围
- 分量:元组中的一个属性值;
-
关系模式:对关系的描述一般表示为:关系名(属性1,属性2,属性3,…,属性n)
在关系模式中,实体以及实体之间都是用关系表示的。例如,学生、课程、学生与课程之间的多对多联系在关系模型中可以如下表示:
学生(学号,姓名,年龄,性别,系名,年级)
课程(课程号,课程名,学分)
选修(学号,课程号,成绩)
关系模式要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分数据项,也就是说,不允许表中还有表。
二、关系数据模型的操纵与完整性约束条件
关系数据模型的操作主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性性约束条件。关系的完整性约束条件包括:实体完整性,参照完整性和用户自定义完整性。
三、关系数据模型的存储结构
在关系模型数据库中,实体及实体间的联系都用表来表示。
四、关系数据模型的优缺点
关系数据模型具有以下优缺点:
1. 关系模型与格式化模型不同它是建立在严格的数学概念基础上的。
2. 关系模型的概念单一。
3. 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。