第13讲-数据模型及范式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。
(2) 属性(Attribute)
实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。
(3)联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系
.
数据模型----概念模型的表示Leabharlann Baidu法
.
数据模型----E----R图实例
在这个例子中,我们看到,现实世界中存在许多 事物。例如,学生、教师、教研室、系、班级、课 程等,这些都是客观存在的实体。这些实体并不是 孤立存在的,不同的实体之间是有联系的,这种联 系也是客观存在的。
比如,教师属于某个系的某个教研室,而且只能 隶属于一个教研室,学生和教师通过选修课程建立 联系。请同学们画出教学管理系统的E-R模型图。
.
数据模型----两个实体之间的联系
多对多联系(m:n)
课程与学生之间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程
.
数据模型----概念模型的表示方 法
班级 1
1 班长
1:1联系
.
班级 1
n 学生
1:n联系
课程 m
选修
n 学生
m:n联系
数据模型----概念模型的表 示方法
.
数据模型(续)
客观对象的抽象过程---两步抽象
现实世界中的客观对象抽象为概念模型; 把概念模型转换为某一DBMS支持的数据模型。
概念模型是现实世界到机器世界的一个中间层次。
.
数据模型----概念模型(续)
概念模型的用途
概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次 是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言
课程 m
选修
成绩
n 学生
.
数据模型----E----R图实例
学校有若干系组成;每个系有若干教研室和若干学 生,班级组成;并开设多门课程;每个教研室有多 名教师组成;每个教师有自己的研究方向和所教授 的课程;每个班级有若干学生组成。
每个学生需要修学多门课程,每个教师可以教授多 门课程,一门课程可以有多个教师讲解,每个教师 开设的课程必须同时有多个学生选课。
数据库逻辑设计的工具──关系数据库的规范 化理论
.
关系规范----问题的提出
学校数据库的语义: ⒈ 一个系有若干学生, 一个学生只属于一个系; ⒉ 一个系的学生住在同一住处; ⒊ 一个学生可以选修多门课程, 每门课程有若干学生选修; ⒋ 每个学生所学的每门课程都有一个成绩。
.
关系规范----问题的提出
浪费大量的存储空间
例:每一个系的学生住处重复出现 ⒉ 更新异常(Update Anomalies)
实体型
用矩形表示,矩形框内写明实体名。
属性 学生
教师
用椭圆形表示,并用无向边将其与相应的实体连接起来
学生
学号
姓名
性别
年龄
.
数据模型----概念模型的表示方法
联系
联系本身:用菱形表示,菱形框内写明联系名,并用无向 边分别与有关实体连接起来,同时在无向边旁标上联系的 类型(1:1、1:n或m:n)
例如 ,描述学校的数据库:
学生的学号(Sno)、所在系(Sdept) 学生住处(Sloc)、课程号(Cno) 成绩(Grade) 单一的关系模式 : Student <U、F> Student(Sno, Sdept, Mname, Cname, Grade )
.
数据模型----关系模式存在的问题
⒈ 数据冗余太大
联系的属性:联系本身也是一种实体型,也可以有属性。 如果一个联系具有属性,则这些属性也要用无向边与该联 系连接起来
.
数据模型----两个实体之间的联系
一对一联系
班级与班长之间的联系: 一个班级只有一个正班长 一个班长只在一个班中任职
.
数据模型----两个实体之间的联系
一对多联系
班级与学生之间的联系: 一个班级中有若干名学生, 每个学生只在一个班级中学习
对概念模型的基本要求
较强的语义表达能力,能够方便、直接地表达应用中 的各种语义知识
简单、清晰、易于用户理解
.
数据模型----概念模型的表示方法
实体-联系方法(E-R方法)
用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型
.
数据模型----信息世界基本概念
(1) 实体(Entity)
.
实体-关系图。实体:学生、教师、教研室、系、班级、课程
学号
姓名
班级号
学生
班级号
系号
班级
系号 系
成绩
选修
课程 课程号 .
学号 课程号
教学
课程号
教师号
教研室号
教研室
教师 教师号
教研室号
系号
数据模型----E----R图实例
该教学管理系统中的关系数据模型的实体类型:
系(系号,系名,电话,地址) 教研室(教研室号,教研室名,人数, 电话,地址,系号) 课程(课程号,课程名, 学分,开课系号) 授课(授课编号,教师编号,课程号) 班级(班号,班名,人数, 电话,系号) 学生(学号,姓名,性别,年龄, 班号) 教师(教师编号,姓名, 性别, 教研室号,电话,地址) 选课(学号,授课编号, 成绩)
.
关系模型---- 基本概念
关系(Relation)
一个关系对应通常说的一张表。
元组(Tuple)
表中的一行即为一个元组。
属性(Attribute)
表中的一列即为一个属性,给每一个属性起一个 名称即属性名。
.
关系模型---- 基本概念
主键(码)(Key)
表中的某个属性组,它可以唯一确定一个元组。
第13讲 数据模型和规范化
• 关系模型 • 问题的提出 • 关系规范(重点,难点) • 数据模型(重点,难点) •课堂小结
.
数据模型(续)
数据模型分成两个不同的层次
(1) 概念模型 也称信息模型,它是按用户的观点来对数据和 信息建模。
(2) 数据模型 主要包括网状模型、层次模型、关系模型等, 它是按计算机系统的观点对数据建模。
域(Domain)
属性的取值范围。
分量
元组中的一个属性值。
.
关系模型---- 基本概念
关系模式
对关系的描述 关系名(属性1,属性2,…,属性n) 例如,描述学生的关系模式为: 学生(学号,姓名,年龄,性别,系,年级)
.
关系规范----问题的提出
关系数据库逻辑设计
针对具体问题,如何构造一个适合于它的数 据模式
(2) 属性(Attribute)
实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。
(3)联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系
.
数据模型----概念模型的表示Leabharlann Baidu法
.
数据模型----E----R图实例
在这个例子中,我们看到,现实世界中存在许多 事物。例如,学生、教师、教研室、系、班级、课 程等,这些都是客观存在的实体。这些实体并不是 孤立存在的,不同的实体之间是有联系的,这种联 系也是客观存在的。
比如,教师属于某个系的某个教研室,而且只能 隶属于一个教研室,学生和教师通过选修课程建立 联系。请同学们画出教学管理系统的E-R模型图。
.
数据模型----两个实体之间的联系
多对多联系(m:n)
课程与学生之间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程
.
数据模型----概念模型的表示方 法
班级 1
1 班长
1:1联系
.
班级 1
n 学生
1:n联系
课程 m
选修
n 学生
m:n联系
数据模型----概念模型的表 示方法
.
数据模型(续)
客观对象的抽象过程---两步抽象
现实世界中的客观对象抽象为概念模型; 把概念模型转换为某一DBMS支持的数据模型。
概念模型是现实世界到机器世界的一个中间层次。
.
数据模型----概念模型(续)
概念模型的用途
概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次 是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言
课程 m
选修
成绩
n 学生
.
数据模型----E----R图实例
学校有若干系组成;每个系有若干教研室和若干学 生,班级组成;并开设多门课程;每个教研室有多 名教师组成;每个教师有自己的研究方向和所教授 的课程;每个班级有若干学生组成。
每个学生需要修学多门课程,每个教师可以教授多 门课程,一门课程可以有多个教师讲解,每个教师 开设的课程必须同时有多个学生选课。
数据库逻辑设计的工具──关系数据库的规范 化理论
.
关系规范----问题的提出
学校数据库的语义: ⒈ 一个系有若干学生, 一个学生只属于一个系; ⒉ 一个系的学生住在同一住处; ⒊ 一个学生可以选修多门课程, 每门课程有若干学生选修; ⒋ 每个学生所学的每门课程都有一个成绩。
.
关系规范----问题的提出
浪费大量的存储空间
例:每一个系的学生住处重复出现 ⒉ 更新异常(Update Anomalies)
实体型
用矩形表示,矩形框内写明实体名。
属性 学生
教师
用椭圆形表示,并用无向边将其与相应的实体连接起来
学生
学号
姓名
性别
年龄
.
数据模型----概念模型的表示方法
联系
联系本身:用菱形表示,菱形框内写明联系名,并用无向 边分别与有关实体连接起来,同时在无向边旁标上联系的 类型(1:1、1:n或m:n)
例如 ,描述学校的数据库:
学生的学号(Sno)、所在系(Sdept) 学生住处(Sloc)、课程号(Cno) 成绩(Grade) 单一的关系模式 : Student <U、F> Student(Sno, Sdept, Mname, Cname, Grade )
.
数据模型----关系模式存在的问题
⒈ 数据冗余太大
联系的属性:联系本身也是一种实体型,也可以有属性。 如果一个联系具有属性,则这些属性也要用无向边与该联 系连接起来
.
数据模型----两个实体之间的联系
一对一联系
班级与班长之间的联系: 一个班级只有一个正班长 一个班长只在一个班中任职
.
数据模型----两个实体之间的联系
一对多联系
班级与学生之间的联系: 一个班级中有若干名学生, 每个学生只在一个班级中学习
对概念模型的基本要求
较强的语义表达能力,能够方便、直接地表达应用中 的各种语义知识
简单、清晰、易于用户理解
.
数据模型----概念模型的表示方法
实体-联系方法(E-R方法)
用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型
.
数据模型----信息世界基本概念
(1) 实体(Entity)
.
实体-关系图。实体:学生、教师、教研室、系、班级、课程
学号
姓名
班级号
学生
班级号
系号
班级
系号 系
成绩
选修
课程 课程号 .
学号 课程号
教学
课程号
教师号
教研室号
教研室
教师 教师号
教研室号
系号
数据模型----E----R图实例
该教学管理系统中的关系数据模型的实体类型:
系(系号,系名,电话,地址) 教研室(教研室号,教研室名,人数, 电话,地址,系号) 课程(课程号,课程名, 学分,开课系号) 授课(授课编号,教师编号,课程号) 班级(班号,班名,人数, 电话,系号) 学生(学号,姓名,性别,年龄, 班号) 教师(教师编号,姓名, 性别, 教研室号,电话,地址) 选课(学号,授课编号, 成绩)
.
关系模型---- 基本概念
关系(Relation)
一个关系对应通常说的一张表。
元组(Tuple)
表中的一行即为一个元组。
属性(Attribute)
表中的一列即为一个属性,给每一个属性起一个 名称即属性名。
.
关系模型---- 基本概念
主键(码)(Key)
表中的某个属性组,它可以唯一确定一个元组。
第13讲 数据模型和规范化
• 关系模型 • 问题的提出 • 关系规范(重点,难点) • 数据模型(重点,难点) •课堂小结
.
数据模型(续)
数据模型分成两个不同的层次
(1) 概念模型 也称信息模型,它是按用户的观点来对数据和 信息建模。
(2) 数据模型 主要包括网状模型、层次模型、关系模型等, 它是按计算机系统的观点对数据建模。
域(Domain)
属性的取值范围。
分量
元组中的一个属性值。
.
关系模型---- 基本概念
关系模式
对关系的描述 关系名(属性1,属性2,…,属性n) 例如,描述学生的关系模式为: 学生(学号,姓名,年龄,性别,系,年级)
.
关系规范----问题的提出
关系数据库逻辑设计
针对具体问题,如何构造一个适合于它的数 据模式