ER模型向关系模型的转换规则ER模型向关系模型的转换,实际上就是把ER图转换成关系模式的集合。
规则2.1(实体类型的转换):将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。
规则2.2(二元联系类型的转换)
① 若实体间联系是1:1。可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。
② 若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。
③ 若实体间联系是M:N。则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
例:下图的关系模式为:(主外键为校长名)
学校(校名,地址,电话,校长名,任职年月)
校长(校长名,性别,年龄,职称)
图2.3 一对一联系
下图的关系模式为:(主外键为系号)
系(系号,系名,电话)
教师(工号,姓名,性别,年龄,系号,聘期)
图2.4 一对多联系
下图的关系模式为:(主外键为学号和课程号)
学生(学号,姓名,年龄,性别)
选课(学号,课程号,成绩)
课程(课程号,课程名,教师名)
图2.5 多对多联系
关系模型的三级体系结构 -- 关系模式 (概念模式)在关系模型中,记录类型称为关系模式,而关系模式的集合就是数据库的概念模式。在系统实现时,关系模式和属性的命名一般都用英文单词。
关系模型的三级体系结构 --子模式 (外模式)子模式是用户所用到的那部分数据的描述。除此之外,还应指出数据与关系模式中相应数据的联系。
关系模型的三级体系结构 --存储模式 (物理模式)在有些DBMS中,关系存储是作为文件看待的,每个元组就是一个记录。由于关系模式有键,因此存储一个关系可用散列方法或索引方法实现。如果关系的元组数目较少(100个以内),那么也可以用“堆文件”方式实现(即没有特定的次序)。此外,还可对任意的属性集建立辅助索引。
关系模型的形式定义关系模型有三个重要组成部分:数据结构,数据操纵,数据完整性规则。
(1)数据结构:数据库中全部数据及其相互联系都被组织成“关系”(二维表格)的形式。关系模型基本的数据结构是关系。
(2)数据操纵:关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。关系运算分成关系代数、关系演算和关系逻辑等三类。
(3)数据完整性规则:数据库中数据必须满足实体完整性,参照完整性和用户定义的完整性等三类完整性规则。
关系模型的优点与其它数据模型相比,关系模型突出的优点如下:
(1)关系模型提供单一的数据结构形式,具有高度的简明性和精确性。
(2)关系模型的逻辑结构和相应的操作完全独立于数据存储方式,具有高度的数据独立性。
(3)关系模型使数据库的研究建立在比较坚实的数学基础上。关系运算的完备性和规范化理论为数据库技术的成熟奠定了基础。
(4)关系数据库语言与一阶谓词逻辑的固有内在联系,为以关系数据库为基础的推理系统和知识库系统的研究提供了方便。
关系查询语言和关系运算关系数据库的数据操纵语言(DML)的语句分成查询语句和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述用户进行插入、删除、修改等操作。关于查询的理论称为“关系运算理论”。
关系查询语言根据其理论基础的不同分成三类:
(1)关系代数语言:查询操作是以集合操作为基础的运算。
(2)关系演算语言。
(3)关系逻辑语言。