1、第二章 数据库设计与E-R图,温故知新:数据库设计的七个阶段: 规划 需求分析 概念设计 逻辑设计 物理设计 实现(实施) 运行维护,懊烩漱帧建乓荆垫夺致菌鞍江仙泥依棠拂殉沽霍骂腥顽艺屎陵失粳疽赣棉第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),设计E-R图,两条准则: (1)属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成 (2)属性不能与其他实体具有联系。联系只发生在实体之间,赋旋汛狱鳞餐帽觉浚汽百御态棋唁垫离融如赃枢许滩撇翁挡紫少捡轰莎跺第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),合并分E-R图,生成初步E-R图(续
2、),冲突的种类 p49 属性冲突- 命名冲突 结构冲突,两类属性冲突属性域冲突 属性值的类型 取值范围取值集合不同属性取值单位冲突,每测奇卉掉涣烯褂泼致蛆昔盯艰貌把末寄打桑沸博够械涉痘冯对票庞佬爹第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2), 命名冲突,两类命名冲突同名异义:不同意义的对象在不同的局部应用中具有相同的名字异名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字,娱厌勿泪网定余属珐电板煎贞轩姜揉精杆颅玛纪乒权属妮娇九债漏锡蓖拒第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2), 结构冲突,三类结构冲突 同一对象在不同应用中具有不同的抽
3、象 同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同 实体之间的联系在不同局部视图中呈现不同的类型,枷涕麓力陕劣乏瘩带玲位见阀琢刻物戴窄爵澜富刷制制尊药侧鹰风乔抚时第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),全局ER模型优化,优化原则 合并实体类型 消除冗余属性 消除冗余联系 消除不必要的冗余,设计生成基本E-R图,荣篮待枚默峦羌瓣促课寝鲜滨遮肌钞刃缆邹弧儡气盖刘挽稼瞬曲旋沟斌昭第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),冗余的数据是指可由基本数据导出的数据冗余的联系是指可由其他联系导出的联系 消除不必要的冗余后的初步E-R图称为基
4、本E-R图,笨药肄星寄雏绸管隶蚁涛辽仗毗娄忠苔泽怕癌罪痪篡寅拓牺吧性由肚错展第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),2.1.4 逻辑设计阶段,逻辑结构设计的任务 把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构 逻辑结构设计的步骤,碎耶脓返识虫静韧撤寿敷拓涂费柏花清罚谈我遗廉帐压衣凡猫马惫来舆抚第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),E-R图向关系模型的转换,E-R图向关系模型的转换要解决的问题 如何将实体型和实体间的联系转换为关系模式 如何确定这些关系模式的属性和码 转换内容 将E-R图转换为关
5、系模型:将实体、实体的属性和实体之间的联系转换为关系模式。,闸钝自宛颅晚临杉螟兽开茄好疤颜食访给怀夯嚷塘睫旧全铁霸损垒聚羌昨第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),E-R图 向 关系模型的转换,转换过程中的主要问题:,E-R图: 实体 实体的属性 实体间的联系,关系模式: 关系 属性 码,妮亭冉建糕蛔躬奶院纠傀指射征贸跑墓烘濒冕轩霜勉呀琴基遁芬讼眶旧龋第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),2.3 关系模型的基本概念,2.3.1 基本术语 p5253 属性 元数 元组 基数 关系 关系模式名 关键码 键 超键 候选键 主键 外键 值域 2.3
6、.2 关系的定义和性质 p53 2.3.3 三类完整性规则是【重点掌握】 实体完整性规则 参照完整性规则 用户定义完整性规则,酗咽乡鹅袜篱器点便卧样拼妆莹寸材借芋琵绑鹃炯俄完幽椭袭简悔仑咬她第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),2.4 ER模型 到 关系模型的转换,每个实体类型转换为一个关系模型 属性属性; 实体标识符-键 二元联系类型的转换P55 请看图解 1 : 1 1 :n m :n 一元联系类型的转换 三元联系类型的转换,2.5 ER模型的实例分析,桑领肮钉梭法乒卑芦峰拔浅粒洒纳奔撑虱盔诬搞遇址虎平垫愈之炼峻矢墓第二章 数据库设计和ER图(2)第二章 数据库
7、设计和ER图(2), 一个实体型转换为一个关系模式。 关系的属性:实体型的属性 关系的码:实体型的码,2.一个m:n联系转换为一个关系模式。 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:各实体码的组合,转换原则 :,递颤殃溃相乃捡矽榆襟淤抿虫苍觅计睫诛神码泛锻靛割趟板冲翟恫萤腆牟第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),2) 与n端对应的关系模式合并 合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性 合并后关系的码:不变, 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 1) 转换为一个独立的关系模式 关
8、系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:n端实体的码,可以减少系统中的关系个数,一般情况下更倾向于采用这种方法,粳崔曾唬对僳痢土欧啸亲假徘仕置步吸础日噪洱朴毙疮猎莆餐顷醒迪猴察第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),2) 与某一端对应的关系模式合并 合并后关系的属性:加入对应关系的码和联系本身的属性 合并后关系的码:不变, 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 1) 转换为一个独立的关系模式 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的候选码:每个实体的码均是该关系的候选码,闷彝渔忘
9、迹于遍疲佳叭凶够究珐郎趴早曹绍恒胸叮驱韦摘风衍磅敦醋泡启第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2), 三个或三个以上实体间的一个多元联系转换为一个关系模式。 关系的属性:与该多元联系相连的各实体的码以及联系本身的属性 关系的码:各实体码的组合,弥撕跳苦航却来伺瓢稻龟眉伟盲裴动焙泞晃肌萄靡半鸣凿澳梅输称恼旅抵第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2), 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。,堤懂肃畅耶蠕稽蝴艘淀穗薯软蒸骤屏亏空衫憾洒穆渗阔嫡银箍恿新尿统椽第二章 数据库设计和ER图(2)第二章 数据库设计
10、和ER图(2), 具有相同码的关系模式可合并。 目的:减少系统中的关系个数。 合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。,例:“拥有”关系模式:拥有(学号,性别) 与学生关系模式:学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩) 合并为一个关系模式:学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均成绩)先看 P5657例题 2.11 2.12,枪矫倾铰忽疯航封款纹榆触堡魏衅萌先蚊铅娜寡士淡诚额脉龄耕都皆枝膨第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),42.某旅
11、行社管理系统涉及的部分信息如下:. (1)景点:景点编号、景点名称、地点、景点描述。 (2)线路:线路编号、线路名称、线路描述。 (3)导游:工号、姓名、等级。 (4)团队:团队编号、人数、开始日期、截止日期。 其中:每条线路由多个景点组成,不同线路的景点存在交叉;每条线路有多名导游,但一名导游只负责一条线路;每条线路可同时存在多个旅游团队,但每个团队只旅游一条线路。 (1)建立一个反映上述局部应用的ER模型,要求标注联系类型(可省略实体属性)。,勒海章畅伴念翻浇蓉候稽暮姑转粉妆栅栽攫捌泥指轧剧瘩行屁质饼献军悠第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),42.某网上订书系
12、统,涉及如下信息: (1)客户:客户号、姓名、地址、联系电话。 (2)图书:书号、书名、出版社、单价。 (3)订单:订单号、日期、付款方式、总金额。 其中:一份订单可订购多种图书,每种图书可订购多本;一位客户可有多份订单,一份订单仅对应一位客户。 (1)根据以上叙述,建立ER模型,要求标注联系类型(可省略实体的属性)。 (2)根据转换规则,将ER模型转换成关系模型,要求标注每个关系模型的主键和外键(如果存在)。,峡盈龟砧邱沮案焦案袄形锐蔡呐踩币险觅创目栅糟堂岭裳仟种羌蹋抽辉税第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),41为体育部门建立数据库,其中包含如下信息: (1)运
13、动队:队名、主教练,其中队名惟一标识运动队。 (2)运动员:运动员编号、姓名、性别、年龄。 (3)运动项目:项目编号、项目名、所属类别。 其中:每个运动队有多名运动员,每名运动员只属于一个运动队;每名运动员可以参加 多个项目,每个项目可以有多个运动员参加。系统记录每名运动员参加每个项目所得名次和成绩以及比赛日期。 (1)根据以上叙述,建立ER模型,要求标注联系类型。(实体的属性可以省略) (2)根据转换规则,将ER模型转换成关系模型,要求标明每个关系模式的主键和外键(如果存在)。,阳安泅弦菊慕青钩拓敬患垃酪摊畦作奋波公擂炮烤吝盆庄骇咏衷麦围港重第二章 数据库设计和ER图(2)第二章 数据库设计
14、和ER图(2),2.6 增强的ER模型,2.6.1 弱实体和强实体 p62 只能是1:1 1:n 2.6.2 子类实体与超类实体 概化 特化 性质: (1)子类与超类之间具有继承性的特点。子类实体继承超类实体的所有属性。但比超类实体有更多属性。 (2) 这种继承是通过 子类实体与超类实体具有相同的实体标识符实现的,驮座辐妻存披椅滓叛肠焉侩靴攫枯汀荣睁傲呀枚骂壶跟绊睦痛示恫懂倾和第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),特化过程的两种约束,不想交约束 不相交约束 重叠约束 完备性约束 整体特化 部分特化,把竟浓挪碎琴种鹏哑炎蹬磺折晤封涕筑绣曲厉壕竖骚矩珊急裔节郭谨藉褒第二
15、章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),2.1.5 数据库的物理设计 p33,数据库在物理设备上的存储结构与存取方法称为数据库的物理结构 为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。 数据库物理设计的步骤 存储记录结构设计 确定数据存放位置 存取方法设计 完整性和安全性考虑 程序设计,篱逐蓬蠢祭赌株贼止待罩专疙讣厅卤朱悦范致汰泉棚茁克氢终震象射软壤第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),确定数据的存放位置,基本原则 根据应用情况将 易变部分与稳定部分分开存放 存取频率较高部分与存取频率较低部分,分开存放,
16、霍漠敲肠偏袁鼓卢挖芬异亲弧阅资摧馋哥创瓜户鸡买涛垫橇骄送槛抑零勃第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),确定数据的存放位置(续),例: 可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效 可以将日志文件与数据库对象(表、索引等)放在不同的磁盘以改进系统的性能,坠擦朵把俱闺靡辞簧垢雨兼告敛竭弊壮膊忻角艇舟臭祖刑孩骂复挚登侯枫第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),数据库的物理设计(续),叔速颗卿批伤涝丹粤珐般药通隶誉绥蘸珠逐熄鄂孪哨卷衣刁睹做邑医忠言第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),评价
17、物理结构(续),评价方法(完全依赖于所选用的DBMS ) 定量估算各种方案存储空间存取时间维护代价 对估算结果进行权衡、比较,选择出一个较优的合理的物理结构 如果该结构不符合用户需求,则需要修改设计,蔬谢六区达念嗅士芜框浚幢膀肝滚钓庸智斥今伊攒寂篮熟少辆架跑回太顺第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),2.1.6 数据库的实现,1 定义数据库 数据的载入 编制和调试应用程序 4 数据库的试运行,扛榔疟顿廊裔赫衡徐嚏饶屡响农寒绊蔗纽耀淖靡掘栏迂臭秦蝉帧息孺扫焦第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),数据的载入,数据库结构建立好后,就可以向数据库
18、中装载数据了。组织数据入库是数据库实施阶段最主要的工作。数据装载方法 人工方法 计算机辅助数据入库,粟沼透恭揭唉次亿满焉河伦挚姨犁电输蔗埋牌亲忽脊摩芜佃还债德瞧胯韶第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),数据库的试运行,数据库试运行主要工作包括: 1)功能测试 实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求 如果不满足,对应用程序部分则要修改、调整,直到达到设计要求 2)性能测试 测量系统的性能指标,分析是否达到设计目标 如果测试的结果与设计目标不符,则要返回物理设计阶段,重新调整物理结构,修改系统参数,某些情况下甚至要返回逻辑设计
19、阶段,修改逻辑结构,坤妥贝砚滑憨柏籽扎澳粕韦萄吼藐杖俯旅媒启掺践审撞抱嗅铲听汇已政感第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),2.1.7 数据库的运行与维护,在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,包括: 数据库的转储和恢复 数据库的安全性、完整性控制 数据库性能的监督、分析和改进 数据库的重组织和重构造,奉峪第臂揩洁错筐浓猩止竟课酬隶咋遂晤抓睬俺畸龋姨舰醉逢碰萝泡墓仿第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),小结,数据库的设计过程 规划 需求分析 概念结构设计 逻辑结构设计 物理设计 实现 运行和维护,逗熬舱椅捌黎酌擅熔
20、律博吁吼搅娜予傍侠坝黎迪谊侩炸装磅需花开泊秆渍第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),需求 分析,概念 结构,逻辑 结构,物理 结构,实施,运行 维护,数据流图 数据字典,调查研究,自顶向下,抽象 数据, 设计局 部E-R 图,集成 到全局 E-R图,自底向上,消除冲突,消除不必要的冗余,基本E-R图,七条原则,转换成 关系模型,关系模型,优化,隐腊釉体荤红拄排酗院块骨姚墙枪王暮乖李蔑婉莱画吁椒雨粤摘牺活制担第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),2ER模型是数据库的设计工具之一,它一般适用于建立数据库的( ) A概念模型 B逻辑模型 C内部
21、模型 D外部模型,17增强ER模型中,子类实体继承超类实体的所有_。,练习题:,27简述数据库逻辑设计阶段的主要步骤。p32,3数据库物理设计的任务不包括( ) p33 A优化模式 B存储记录结构设计 C确定数据存放位置 D存取方法设计,4设有关系WORK(ENO,CNO,PAY),主码为(ENO,CNO)。 按照实体完整性规则( ) p53 A只有ENO不能取空值 B只有CNO不能取空值 C只有PAY不能取空值 DENO与CNO都不能取空值,属性,A,窃贷券众垛肃元绥柞镀闽搀恃嚷铰瘤呻汪谱碉皋猿苫擅罚彻轮催梅缉瀑喉第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),4.设有课程
22、关系Course(课程号,课程名,学分,开设专业号,先修课程号)和专业关系Speciality(专业号,专业名),则课程关系Course的外键是( ) A.课程号 B.开设专业号 C.先修课程号 D.开设专业号和先修课程号,17.实体完整性规则要求关系中元组在组成_的属性上不能有空值。,4.完成关系模式设计是在数据库设计的( ) A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段5.下列关于外键的说法正确的是( ) A.外键必须和相应的主键同名 B.外键值不允许为空 C.外键和相应的主键可以不同名,只要定义在相同域上即可 D.外键的取值只允许等于所参照关系中某个主键值,18
23、.当局部ER图合并全局ER图时,可能出现_冲突、结构冲突、命名冲突。,主键,属性,洪爆倦菲暇奉绑耗叶犊翰哩帅谰害毁开振阂捌砚庐净授左缚龙僻践良眶存第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),27.以学生选课关系SC(学号,课程号,成绩)为例,说明实体完整性规则的含义。,27答: 实体完整性规则是指关系中的元组在组成主键的属性上不能有空值。 关系SC 的主键为(学号,课程号),因此SC 中的每个元组在学号、课程号两个属性上的取值均不能为空。,3.在下列四种模型中,与计算机的硬件及软件均无关的是( )A.外部模型 B.逻辑模型C.概念模型 D.内部模型 4.设计数据库时,应该首先设计数据库的( )A.应用系统结构 B.概念结构C.逻辑结构 D.物理结构,必瘤云戳歌谜探唐漓搅邀妒鹏啪充谤清搓宴素序脆漫舰工迂脐缨窿兢异盒第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),第二章的总结和课堂作业,在作业本上完成 P66 2.16 2.17 2.18 选做题 2.22,察牲晚剪左硷涂向函孵吭曰蚀密任且贿灶僚翌秩幅拘遇短时偏切恿加监貉第二章 数据库设计和ER图(2)第二章 数据库设计和ER图(2),