已经讲了数据结构的层次模型和网状模型,最后再看下第三种模型,关系模型。
关系模型以二维表结构来表示实体与实体之间的联系,它是以关系数学理论为基础的,每个二维表又可称为关系。
在关系模型中,操作的对象和结果都是二维表,关系模型是目前最流行的数据库模型。支持关系模型的数据库管理系统称为关系数据库管理系统,Access就是一种关系数据库管理系统。
1、基本术语(1)关系(Relation):一个关系对应着一个二维表,二维表就是关系名。
(2)元组(Tuple):在二维表中的一行,称为一个元组。
(3)属性(Attribute):在二维表中的列,称为属性。属性的个数称为关系的元或度。列的值称为属性值;
(4)(值)域(Domain):属性值的取值范围为值域。
(5)分量:每一行对应的列的属性值,即元组中的一个属性值。[2]
(6)关系模式:在二维表中的行定义,即对关系的描述称为关系模式。一般表示为(属性1,属性2,......,属性n),如老师的关系模型可以表示为教师(教师号,姓名,性别,年龄,职称,所在系)。
而在选课表中,只有属性组“学号”和“课程号”才能唯一地标识一个元组,则候选键为(学号,课程号)。
2、关系模型的数据操作与完整性约束
关系数据模型的操作主要包括查询、插入、删除和修改数据;这些操作必须满足关系的完整性约束条件。
关系模型中数据操作的特点是集合操作方式,即操作对象和操作结果都是集合,这种操作方式也称为一次一集合的方式。
相应地,非关系数据模型的操作方式是一次一记录的方式。
关系的完整性约束条件包括三大类:
实体完整性、参照完整性和用户定义的完整性。
实体完整性定义数据库中每一个基本关系的主码应满足的条件,能够保证元组的唯一性。参照完整性定义表之间的引用关系,即参照与被参照关系。用户定义完整性是用户针对具体的应用环境制定的数据规则,反映某一具体应用所涉及的数据必须满足的语义要求。
3、关系模型的优缺点
关系数据模型的优点主要体现在以下几点:
(1) 关系模型与非关系模型不同,它是建立在严格的数学理论基础上的。
(2) 关系模型的概念单一,实体与实体间的联系都用关系表示,对数据的检索结果也是关系(即表),所以其数据结构简单、清晰,用户易懂易用。
(3) 关系模型的物理存储和存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,简化了程序员的数据库开发工作。
关系数据模型的缺点有以下几点:
(1) 由于存取路径对用户透明,查询效率往往不如非关系数据模型高。因此,为了提高性能,必须对用户的查询请求进行优化,这就增加了开发数据库管理系统的难度和负担。
(2) 关系数据模型不能以自然的方式表示实体集间的联系,存在语义信息不足、数据类型过少等弱点。
以上,简单了解~
,