




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 数据库设计 数据库设计是开发数据库应用系统的关键。简单地讲数据库设计就是创建数据库系统的管理对象。 本章以学生信息管理系统为例,讲解数据库设计的有关内容。5.1数据库设计概述数据库设计方法主要是设计数据库系统结构中的三级模式结构。物理模式逻辑模式外模式1外模式3外模式2应用E应用D应用C应用B应用A 磁盘说明:逻辑模式与外模式是一对多的关系;逻辑模式与物理模式是一对一的关系。5.1数据库设计概述数据库设计步骤数据库的设计过程可分为六个阶段: 1. 需求分析2. 概念结构设计阶段3. 逻辑结构设计阶段4. 物理结构设计阶段5. 数据库实施6. 数据库运行与维护概念结构设计阶段需求分析物理
2、结构设计阶段逻辑结构设计阶段数据库运行维护数据库实施5.2需求分析 需求分析是数据库设计的第一步。这一阶段主要是对数据库应用系统所要处理的对象进行全面了解,了解用户需求,收集信息,提出问题及解决问题的思路。 例如:建立“学生信息管理系统”,目的是对学院、系、班级、教研室等部门的信息进行管理,还要管理教师和学生的基本信息,以及学生选课的情况。 信息要求:系统涉及到学院、系、教研室、教师、学生、班级、课程、选课等各方面的信息。 处理要求:增加、删除、修改各数据对象中的数据,各类查询、统计及报表打印等等。 安全性要求:只允许学院内部人员使用该系统,允许学生查询成绩但不能修改,允许教师录入和修改学生成
3、绩等。5.3概念结构设计 概念设计的目标是产生反映需求信息的数据库概念结构,它与具体的DBMS无关。从现实世界到概念模型的转换是由数据库设计人员完成的,概念设计用实体-联系模型(简称E-R图) 表示。在E-R模型中,用于描述数据的概念主要有实体、属性、实体型、实体集、关键字及实体之间的联系等。 现实世界概念模型将现实世界客观存在的事物及其相互间联系通过符号记录下来抽象为信息世界。 1. 实体及相关概念 (1) 实体:客观存在并相互区别的事物。 实体可以是可触及的对象,如一个学生,一本书,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛等。 (2) 属性:实体所具有的特征和性质。 如:学生实体有
4、学号、姓名、年龄、性别等。 (3) 码:在实体的属性当中能够唯一的标识一个实体的属性称为这个实体的关键字,也称码或键。 如:学生的学号。而学生的姓名可能有重名,不能作为学生实体的关键字(码)。 (4) 实体集:具有相同属性的同一类事物,是一个实体的集合。 如:所有的学生信息记录、所有的课程信息记录等。 (5) 实体型:用实体名和属性名称集来描述同类实体。 如:学生(学号,姓名,年龄,性别)就是一个实体型。所有学生都可用这一实体型进行描述。 两个或两个以上的实体集间的关联关系的描述。 如:系与系主任、班级与班长(1:1关系) ;系与教研室、班级与学生(1:n关系) ;学生与课程、教师与课程(m:
5、n关系) 。 实体集之间的联系分一对一(1:1)、一对多(1:n)、多对多(m:n)3种。 2. 联系与联系集 E-R图 E-R模型(概念模型的描述方法) ,是用实体-联系图(简称E-R图)来描述的,是通过图形描述实体集、实体属性和实体集之间联系的图形。 实体集矩形框 属性椭圆框 联系菱形框例如:学院实体集的E-R图学院学院编号学院名称院长姓名学院电话学院地址 例如:教师与班级、学院与系和班级、学生和课程实体集之间联系的E-R图。教师班级班主任11学生课程选课mn学院系设置n1班级设置1n 例如:学生、教师和课程三个实体共同参与了一个选课联系,一般称这种由三类实体参与的联系为三元联系。因为某教
6、师选定一门课讲授,学生选中同一门课要学习时,三者才会联系起来。 教师、学生与课程的E-R图mmnn 多对多关系实际上是某两个表与第三个表的两个一对多关系,第三个表的主键包含两个字段,分别是前两个表的主键。字段名字段类型字段长度小数点索引类型学号字符型6主索引姓名字符型6性别字符型2出生年月日期/时间型短日期籍贯字符型50班级编号字符型8外键选课 学生-选课(1:n) 课程-选课(1:n) 教师-选课(1:n) nMMn此图为3个表与第4个表的联系。学生信息管理系统(E-R概念模型)学院学院编号学院名称院长姓名学院电话学院地址设置系系名称系主任系编号学院编号1n学生属于姓名性别学生编号出生年月籍
7、贯班级编号1n课程学时学分课程名课程编号mnnm选课成绩1nn11n1教研室设置教研室编号教研室名称系编号n教师属于教师编号姓名性别教研室编号n1设置1n班级班级名班长姓名专业系编号班级编号5.4逻辑结构设计 逻辑结构设计:将已设计好的概念模型(E-R模型)转换为与DBMS支持的数据模型相符的逻辑结构。 从概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用数据库设计工具协助设计人员完成。概念模型逻辑模型E-R模型与关系模型的转换规则: 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的键就是关系的键。学院学院编号学院名称院长姓名学院电话学院地址 例如:将学院实体转换为一个关
8、系,其属性取原来实体的属性,利用规则1,得到关系模式: 学院(学院编号,学院名称,院长姓名,学院电话,学院地址) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。举例:两个实体:一对一联系系(系编号,系名字,系性质)系主任 (工号,姓名,年龄,系编号)系(系编号,系名字,系性质,工号)系主任 (工号,姓名,年龄) 联系系系编号系名字系性质系主任年龄姓名拥有11工号系(系编号,系名字,系性质)系主任 (工号,姓名,年龄)系与系主任(工号,系编号)系(系编号,系名字,系性质, 系主任姓名,年龄)方式1方式2方式3方式4 一个1:n联系可以转换为一个独立的关系模式,也
9、可以与n端对应的关系模式合并。 例如:两个实体1:n关系属于n1学生姓名性别学号出生年月籍贯班级编号班级班级名班长姓名专业系编号班级编号联系 利用规则1将学生和班级实体各转换为一个关系,其属性取原来实体的属性,得到关系模式: 学生(学号,姓名,性别,出生年月,籍贯) 班级(班级编号,班级名称,班长姓名,专业,系编号) 由于班级与学生之间存在一对多的联系,利用规则3可将这种联系合并到n端,即将班级关系的码加入到学生关系中,得到最终结果:学生(学号,姓名,性别,出生年月,籍贯,班级编号) 实体之间多对多的联系转换为一个独立的关系模式。与该联系相关系的各实体的码及联系本身的属性均转换为此关系模式的属
10、性,而关系的码为各实体的码的组合。 三个或以上的实体间的一个多元联系可以转换为一个关系模式。 具有相同键的关系模式可以合并。 例如:三个实体m:n关系选课mm学生姓名性别学号出生年月籍贯班级编号教师姓名性别教研室编号教师编号联系班级课程名学时学分课程编号nn成绩 使用规则1:三个实体集转换为关系; 使用规则4和5:为联系单独建立一个关系,即将学生课程、教师课程实体之间多对多的多元“选课”联系转换为一个独立的关系模式。 实体之间多对多的多元“选课”联系转换为一个独立的关系模式如下: 学生(学号,姓名,性别,出生年月,籍贯,班级编号) 教师(教师编号,姓名,性别,职务,教研室编号) 课程(课程编号
11、,课程名,学时,学分) 选课(学号,课程编号,教师编号,成绩) (新关系包含两组多对多实体的主键及其联系自身的属性) E-R图-关系模型-关系数据库的对应关系:概念模型理论关系模型理论关系数据库实体集关系二维表记录集实体元组记录属性属性字段属性值分量数据项码主键主键学院(学院编号,学院名称,院长姓名,电话,地址)系(系编号,系名称,系主任,学院编号)教研室(教研室编号,教研室名称,系编号)教师(教师编号,姓名,性别,职务,教研室编号)班级(班级编号,班级名称,班长姓名,专业,系编号)学生(学号,姓名,性别,出生年月,籍贯,班级编号)课程(课程编号,课程名,学时,学分)选课(学号,课程编号,教师
12、编号,成绩)学生信息管理系统(逻辑模型)关系的规范化: 2. 函数依赖和键的基本概念(略) 函数依赖它反映属性或属性组之间相依存,互相制约的关系。 简单地说,若想设计一个性能良好的数据库,就要尽量满足关系规范化原则。 1. 数据库设计中的问题 如果一个关系没有经过规范化,可能会出现数据冗余、更新异常、插入异常、删除异常。 3. 范式及其关系(简介) 关系规范化理论简称范式,它提供了判别关系模式设计的优劣标准,为数据库设计提供了严格的理论基础。 使用范式表示关系模式满足规范化的等级,满足最低要求的为第一范式,在第一范式的基础上满足进一步要求的可升级为第二范式,其余以此类推。 范式(1NF5NF)
13、,主要为1NF-3NF。也就是说能满足前3个范式的关系基本上是合理的。 (1) 1NF:若一个关系模式R的所有属性都是不可再分的基本数据项,则该关系模式属于1NF。 例如:教师关系表如下,判断是否为第一范式,并规范教师关系。教师编号姓名系别联系电话联系电话1联系电话295010张乐经济12341234567895011赵希明经济23452345678995012李小平经济345634567890教师关系教师编号姓名系别联系电话1联系电话295010张乐经济12341234567895011赵希明经济23452345678995012李小平经济345634567890修改后的教师关系 不符合第一
14、范式,因为“联系电话”不是基本数据项。 属于第一范式的关系应该满足的基本条件是每个元组的每个属性中只能包含一个数据项,不能将两个以上数据项“挤入”到一个属性中。 (2) 2NF:若关系模式R属于1NF,且每个非主属性都完全依赖于主关键字,则该关系模式属于2NF。 例如:学生选课成绩关系表如下,判断是否为第二范式,并规范学生选课关系。学生编号姓名课程编号课程名称周学时学分成绩20020102刘力101数据库337720020104刘红102英语6667学生选课成绩关系 在这个关系中学生编号和课程编号共同组成主关键字,其中成绩完全依赖于主关键字,而姓名却完全依赖于学号,课程名称、周学时、学分又完全
15、依赖于课程编号,因此,此关系不符合第二范式。 上述关系可能带来以下几个问题: 数据冗余:假设100个学生选同一门课,重复100次相同的学分。 更新复杂:若调整某门课的学分,与其相关的记录都要修改。 删除异常:若学生已毕业,由于学生编号不存在,选课记录也要删除。 插入异常:或开一门新课,还没有学生选,由于没有学生编号,课程编号、学分均无法输入。 可以将上述关系分解为三个关系: 学生(学生编号,姓名,年龄,入校日期) 选课 (学生编号,课程编号,成绩) 课程(课程编号,课程名称,周学时,学分) (3) 3NF:若关系模式R属于1NF,且每个非主属性都不传递依赖于主关键字,则关系模式属于3NF。(略
16、) 学生选课成绩的三个关系: 学生(学生编号,姓名,年龄,入校日期) 选课成绩(学生编号,课程编号,成绩) 课程(课程编号,课程名称,周学时,学分) 其中 和属于第三范式, 如果学分是依据周学时多少来决定,那么学分就是通过周学时传递依赖于课程号。 解决方法是,将课程关系进一步分解为两个关系。 课程(课程编号,课程名称,周学时) 学分(周学时,学分)字段名数据类型长度默认值规则索引类型学号文本12无无 主索引姓名文本8无无一般索引性别文本2男取值:男 女出生年月日期短日期籍贯文本100无无班级编号文本6无无一般索引,外键“学生”关系 逻辑结构详细设计: 若选用了Access数据库管理系统,可按其要规则设计类似下面的逻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省驻马店市部分学校2025届高三下册2月质量检测数学试卷附解析
- 广东省佛山市顺德区2024-2025学年高一下册4月月考数学试卷附解析
- 东北三省部分高中联盟2025届高三第三次联合调研(4月)数学试卷附解析
- 2025年中考语文(长沙用)课件:复习任务群11 非文学作品阅读
- 专题三 联邦制、两党制、三权分立:以美国为例
- 法人修正章程范本
- 2025年驾校考试科目一试题
- 光的反射复习教学设计
- 传统养老模式与中国式养老金融的转型需求
- 2025至2030年中国环保内外墙乳胶漆行业投资前景及策略咨询报告
- 礼让行车培训
- DBJ51T 008-2015 四川省建筑工业化混凝土预制构件制作 安装及质量验收规程
- 《精馏塔工作原理》课件
- 基于学科核心素养的初中历史大单元教学设计研究
- 北师大版二年级下册数学计算题每日一练带答案(共20天)
- 建筑给排水班组劳动合同
- 中医诊所信息安全管理制度
- 工程五金知识培训课件
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 永久性用电施工方案
- 柴油发电机组降噪解决方案
评论
0/150
提交评论