2)优:表示m的联系,运行效 缺:过于复杂,实现困难 (3)说明 (a)即使对网状模型,且体在算现时mn的 联系仍需分解成个的联系。(因此,网状模型的图 结构实质上是有向图),如 学生 学号姓名年龄性别课程号名称 选课 学生成绩单 课程成绩单 n 课程 学号课程号得分 2021/2/8 数据库系统原理
2021/2/8 数据库系统原理 26 (2)优:可表示m:n的联系,运行效率高 缺:过于复杂,实现困难 (3)说明 (a)即使对网状模型,具体在计算机上实现时,m:n 的 联系仍需分解成若干个1:n的联系。(因此,网状模型的图 结构实质上是有向图),如 学 生 课 程 选课 m n 学生成绩单 课程成绩单 学号 姓名 年龄 性别 课程号 名称 学号 课程号 得分
(b)网状模型中允许两结点间有多条边, 人 层次模型则不允许 使用保养 5、关系模型 设备 层次、网状模型基本上是面向专业人员的,使用极不方便 问题:寻找一种能面向一般用户的数据模型? (1)定义:用二维表(关系)来描述实体及实体间联系的模 型 (2)示例 供应商 供应 零件 2021/2/8 数据库系统原理
2021/2/8 数据库系统原理 27 (b)网状模型中允许两结点间有多条边, 层次模型则不允许 5、关系模型 层次、网状模型基本上是面向专业人员的,使用极不方便 问题:寻找一种能面向一般用户的数据模型? (1)定义:用二维表(关系)来描述实体及实体间联系的模 型。 (2)示例 供应商 供应 零 件 m n 设 备 工 人 使用 保养
供应商S 零件P S# SNAME SADDR P+ PNAME PRICE S1张三北京 P1电机2000 S2李四郑州 P2螺丝 2 (联系)供应SP 关系:对应一张表, S# P# QTY 每表起一个名称即关系名 元组:表中的一行 PI 200 属性:表中一列, P3 22 每列起一个名称即属性名 主码:唯一确定一个元组的属性组 域:属性的取值范围 数据库系统原理
2021/2/8 数据库系统原理 28 供应商S S1 张三 北京 S2 李四 郑州 … … … S# SNAME SADDR 零件P P1 电机 2000 P2 螺丝 2 … … … P# PNAME PRICE (联系)供应SP S1 P1 200 S1 P3 22 … … … S# P# QTY 关系:对应一张表, 每表起一个名称即关系名 元组:表中的一行 属性:表中一列, 每列起一个名称即属性名 主码:唯一确定一个元组的属性组 域:属性的取值范围
(3)关系模式:对关系的描述,一般表示为: 关系名(属性1,属性2,…,属性n) (4)优点: 无论实体还是实体之间的联系都用统一的数据结构 二维表、关系)来表示,可方便地表示m:联系,因此概 简单,用户易懂易用 学生 选修 课程 可表示为: 学生(学号,姓名,性别,系和年级) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 表格中行、列次序无 命有坚实的理论基础(关系理论) 2021/2/8
2021/2/8 数据库系统原理 29 (3)关系模式:对关系的描述,一般表示为: 关系名(属性1,属性2,…,属性n) (4)优点: 无论实体还是实体之间的联系都用统一的数据结构 (二维表、关系)来表示,可方便地表示m:n联系,因此概 念简单,用户易懂易用 如: 可表示为: 学生(学号,姓名,性别,系和年级) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 学生 m 选修 n 课程 表格中行、列次序无关 有坚实的理论基础(关系理论)
存取路径对用户透明,用户只需指出“做什么”,不 需说明“怎么做”,因此数据独立性更高 缺点:由于存取路径对用户透明,查询效率不够髙, 须对查询请求进行优化 说明: 关系必须规范化,关系的每个分量必须是一个不可分的 数据项,不允许表中套表。规范化理论将在后续章节讲解。 5)关系模型与非关系模型的比较 关系模型非关系模型 实体及实体间联系统 不统 采用的数据结构均为关系 操作方式 次一集合一次一记录 2021/2/8 存取路径 对用户透明对用户不透明
2021/2/8 数据库系统原理 30 存取路径对用户透明,用户只需指出“做什么”,不 需说明“怎么做”,因此数据独立性更高 缺点:由于存取路径对用户透明,查询效率不够高,必 须对查询请求进行优化。 说明: 关系必须规范化,关系的每个分量必须是一个不可分的 数据项,不允许表中套表。规范化理论将在后续章节讲解。 (5)关系模型与非关系模型的比较 统一 不统一 均为关系 实体及实体间联系 采用的数据结构 操作方式 存取路径 关系模型 非关系模型 对用户透明 对用户不透明 一次一集合 一次一记录