DB12-关系数据库设计3.ppt_第1页
DB12-关系数据库设计3.ppt_第2页
DB12-关系数据库设计3.ppt_第3页
DB12-关系数据库设计3.ppt_第4页
DB12-关系数据库设计3.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、管理科学与工程教研室,人文经管学院,数据库原理及设计,Principle of Database Systems,安 海 忠,讨论,排课系统数据库设计,问题,请同学们设计中国地质大学排课系统的数据库,U教师,职称,教室,课程,班级,学生,时间,参考书,思考的问题:,实体有哪些?实体本身的关系是?,实体之间的函数依赖关系?,是否符合范式?若不符合,如何改进就能符合?,码是?,最终设计的数据库是?,讨论,排课系统数据库设计,关系描述,教师,教室,课程,时间,班级,一名教师可以担任多门课程,可以在任何时间和任何教室给任何班的学生上课;但某一时间只能上一门课程,在某一时间,一个教室只能上一门课,一门课

2、可以有多个教师担任,多个班的学生可以选修,可以有多本参考书,某一时间,可以有多个教师、多个班的学生在多个教室上多门课程,每一个班的学生可以上多门课程;但某一时间只能上一门课程。,讨论,排课系统数据库设计,实体,教师,教室,课程,时间,班级,教师ID,职称,出生日期,性别,籍贯,教室ID,地点,类别,容量,课程ID,名称,类别,学分,参考书,时间ID,日期,星期,第几周,第几节,学生ID,性别,出生日期,班号,学院,专业,讨论,排课系统数据库设计,函数依赖关系,讨论,排课系统数据库设计,函数依赖关系,讨论,排课系统数据库设计,函数依赖关系,说明什么呢?,教师、教室、课程、时间、班级都不能单独作为

3、码!,讨论,排课系统数据库设计,函数依赖关系,如何检查呢?,假设同一个“教室时间”有多门课程?成立吗?,假设同一个“教室时间”有多个教师上课?成立吗?,假设同一个“教室时间”有多个班的学生上课?成立吗?,如果成立,那么“教室时间”能做码吗?,讨论,排课系统数据库设计,函数依赖关系,如何检查呢?,假设同一个“班级时间”在多个教室上?成立吗?,假设同一个“班级时间”有多个教师上课?成立吗?,假设同一个“班级时间”有多门课程?成立吗?,如果成立,那么“班级时间”能做码吗?,讨论,排课系统数据库设计,函数依赖关系,如何检查呢?,假设同一个“教师时间”在多个教室上?成立吗?,假设同一个“教师时间”有多个

4、班的学生上课?成立吗?,假设同一个“教师时间”有多门课程?成立吗?,如果成立,那么“教师时间”能做码吗?,讨论,排课系统数据库设计,函数依赖关系,如何检查呢?,假设同一个“教师时间”在多个教室上?成立吗?,假设同一个“教师时间”有多个班的学生上课?成立吗?,假设同一个“教师时间”有多门课程?成立吗?,如果成立,那么“教师时间”能做码吗?,讨论,排课系统数据库设计,函数依赖关系,如何检查呢?,假设同一个“课程时间”在多个教室上?成立吗?,假设同一个“课程时间”有多个教师上课?成立吗?,假设同一个“课程时间”有多个班的学生上课?成立吗?,如果成立,那么“课程时间”能做码吗?,讨论,排课系统数据库设

5、计,函数依赖关系,那码是什么呢?,教师,教室,课程,时间,班级,教师ID,教室ID,课程ID,时间ID,班级ID,其他的规范化检查,各小组继续进行完善,5.2.3 逻辑结构设计,任 务,概念结构是独立于任何一种数据模型的信息结构,逻辑结构设计的任务,ER图,变为,数据库逻辑结构,5.2.3 逻辑结构设计,步 骤,概念设计阶段,ER图,数据模型,转换,数据模型优化,规范化 理论,用户子模式,设计,逻辑 模型,物理设计阶段,5.2.3 逻辑结构设计,ER图转换为数据模型,关键问题,如何将实体与实体间的联系转换为关系模式?,如何确定这些关系模式的属性和码?,ER图的组成,实体,实体的属性,实体间的联

6、系,关系模式,5.2.3 逻辑结构设计,ER图转换为数据模型,举例1,码?,图书ID客户ID?,订单ID?,5.2.3 逻辑结构设计,ER图转换为数据模型,举例1讨论,如果码是“图书ID客户ID”,当某一客户订购同一图书的时候,该怎么表示呢?,当一个客户的一个订单订购很多图书的时候,该如何表示呢?,如果码是“订单ID”,订单与图书ID、客户ID的关系又该怎么表示呢?,5.2.3 逻辑结构设计,ER图转换为数据模型,举例2,码?,订单ID客户ID?,还是?,5.2.3 逻辑结构设计,ER图转换为数据模型,举例2讨论,如果码是“订单ID客户ID”,可以将订单与客户联系起来,但其他非主属性该有什么呢

7、?,实体订单中码是“订单ID”,但是里面还有图书ID,实体订单中还与图书通过图书ID联系起来,本身成为订单与图书的联系?,5.2.3 逻辑结构设计,ER图转换为数据模型,转换原则,实体及其属性的转换,一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码,实体间联系的转换,1:1,1:N,M:N,5.2.3 逻辑结构设计,ER图转换为数据模型,1:1,可以转换为一个独立模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系属性,每个实体的码均是该联系的候选码,可以与任意一端对应的关系模式合并,需要该关系模式的属性中加入另一个关系模式的码和联系本身的属性,5.2.3

8、逻辑结构设计,ER图转换为数据模型,举例3,关系模式,独立关系模式,将其与院长或学院关系模式合并,5.2.3 逻辑结构设计,ER图转换为数据模型,举例3讨论,如果是独立关系模式,码是“院长ID学院ID”,其他属性为院长职责,如果与学院关系模式合并,学院关系模式中,加上“院长ID”和其他“管理”关系属性,学院学院ID,学院名称,院长ID,,5.2.3 逻辑结构设计,ER图转换为数据模型,1:N,可以转换为一个独立模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系属性,关系的码是N端实体的码,可以与N端对应的关系模式合并,需要N端关系模式的属性中加入另一个关系模式的码和联系本身的属性,5

9、.2.3 逻辑结构设计,ER图转换为数据模型,举例4,关系模式,独立关系模式,将其与教师关系模式合并,5.2.3 逻辑结构设计,ER图转换为数据模型,举例4讨论,如果与教师关系模式合并,教师关系模式中,加上“学院ID”,教师教师ID,姓名,学院ID,,5.2.3 逻辑结构设计,ER图转换为数据模型,M:N,转换为一个独立模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系属性,关系的码是各实体的码的组合,5.2.3 逻辑结构设计,ER图转换为数据模型,举例5,关系模式,独立关系模式,5.2.3 逻辑结构设计,ER图转换为数据模型,举例5讨论,独立关系模式,选课课程ID,学生ID,成绩,

10、5.2.3 逻辑结构设计,数据模型的优化,数据模型,数据库结构,确定数据依赖,极小化处理,规范化 理论,规范逻辑模型,规范化的逻辑模型,用户子模式,消除冗余的联系,5.2.3 逻辑结构设计,设计用户子模式,设计完成数据库逻辑模型(数据库结构)之后,为了符合用户习惯,可以设计用户的外模式视图,视图,视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,视图是从一个或几个表中导出的表,是一个虚表,数据库中只存放视图的定义,不存放视图对应的数据,这些数据存放在原来的基本表中,5.2.3 逻辑结构设计,设计用户子模式,视图的作用,简化用户的操作,使用户能以多种角度看待同一数据灵活性,对重

11、构数据库提供了一定程度的逻辑独立性,物理独立性:用户和用户程序不依赖数据库的物理结构,逻辑独立性:当数据库重构时,如增加新的关系,用户和用户程序不会受影响,对机密数据提供安全保护,5.2.3 逻辑结构设计,设计用户子模式,用户子模式,使用更符合用户习惯的别名,可以对不同级别的用户定义不同的VIEW,以保证系统的安全性,简化用户对系统的使用,5.2.3 逻辑结构设计,设计用户子模式,举例6,假设有关系模式:,产品(产品号,产品名,规格,单价,生产车间,生产负责人,产品成本,产品合格率,质量等级),建立 视图1:,产品1(产品号,产品名,规格,单价),建立 视图2:,产品2(产品号,产品名,规格,单价,产品成本,产品合格率),允许查询产品的规格和单价,允许查询产品的规格、单价、成本、合格率,5.2.4 数据库的物理设计,逻辑设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论