选课数据库的设计过程.ppt_第1页
选课数据库的设计过程.ppt_第2页
选课数据库的设计过程.ppt_第3页
选课数据库的设计过程.ppt_第4页
选课数据库的设计过程.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

选课数据库的设计,选课数据库的设计,实体与联系 实体:客观存在并可以相互区分的事物称为实体,如:学生、课程、系部等。 属性:实体所具有的某一特性 联系:就是实体与实体之间的联系 实例:一个具体的事物 主要的实体对象有: 学生、课程 实体间的联系有: 学生-课程 首先需要建立概念模型(E-R模型表示),选课数据库的设计,E-R模型图:,m,n,图1,选课数据库的设计,关系模型的概念 关系是一个具有下列特点的二维表格: 1. 表格中的每一列都是不可再分的基本数据项 2. 每列的名字不同,同一列的数据类型相同。 3. 行的顺序无关紧要 4. 列的顺序无关紧要 5. 关系中不允许有完全相同的两行存在,表1 课程授课一览表,选课数据库的设计,由E-R模型转换为关系模型 方法:是一个实体或联系转换为一个表,属性就是表的列(字段) 将图1转换为关系模型如下:,表2 课程表,选课数据库的设计,表3 学生表,表4 学生选课表,选课数据库的设计,关系模型规范化 1. I范式(1NF) 每个属性都是不可再分的基本数据项,则称该关系是I范式。如表2、3、4都符合1NF。 存在的问题: 数据冗余、数据不一致和维护困难等缺点。,选课数据库的设计,2. 关键字 是能唯一标识每一行的列或列的组合。一个表可能有多个关键字,选定其中一个作为主关键字。其余的称为候选关键字。 3. 函数依赖 完全函数依赖:如表2中课程编码是主关键字。课程名称完全是由课程编码所决定,对于不同的课程编码,都会有一个课程名称与它对应,这时称课程名称完全函数依赖于课程编码,或课程编码决定课程名称,记作课程编码-课程名称。 部分函数依赖 :表4中(学号,课程名称)是主关键字, (学号,课程名称)-成绩,但姓名只依赖于学号,与课程名无关,即它只依赖主关键字的一部分,则称姓名部分函数依赖于主关键字(学号,课程名称)。 传递函数依赖:表2中课程编码-系部编码,系部编码-系部名称,则系部名称是通过系部编码的传递来依赖课程编码的,选课数据库的设计,4. II范式(2NF) II范式首先是I范式,而且每一个非主属性完全函数依赖于主关键字。 表3学生表是2NF 表4学生选课表:姓名部分函数依赖主关键字,不是2NF 处理方法:将部分函数依赖关系中的主属性和非主属性从关系中取出来,单独构成一个关系模式,将关系模式中余下的属性,加上主关键字构成另一个关系。 例如表4中只需将姓名分离出来,由于姓名已在学生表中存在,只需删除即可。,表5 学生选课表1,选课数据库的设计,符合2NF的关系模式仍然存在数据容易、数据不一致的问题 4. III范式(3NF) III范式首先是II范式,且关系中的任何一个非主属性都不传递依赖于主关键字 例如表2中:系部名称和课程编码之间通过系部编码进行函数传递依赖,因此提取系部编码和系部名称构成系部表,如表6;其余的属性构成新的课程表,如表7,选课数据库的设计,表2 课程表,表6 系部表,表7 课程表1,选课数据库的设计,表3学生表中班级名称不规范,可增加班级编码,和班级名称构成班级表,如表8;将表3中的班级名称改为班级编码,进而将表3规范为表9的学

温馨提示

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

评论

0/150

提交评论