版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库设计 镶痕川雍哭亲瘸渺擎负温皇包卞损镐丢芽仍酸咙触畏梳宪浴抒此匡券悲窃数据库设计2数据库设计2数据库设计 镶痕川雍哭亲瘸渺擎负温皇包卞损镐丢芽仍酸咙触畏梳 本章主要内容 数据库设计(Database Design,简记为DBD)是指对于给定的软、硬件环境,针对现实问题,设计一个较优的数据模型,建立DB结构和DB应用系统。 本章主要讨论DBD的方法和步骤,详细介绍DBD的全过程。本章的重点有两个:概念设计中的ER模型设计方法。设计ER模型是一件实用性很强的工作,ER模型应该充分反映用户的需求。逻辑设计中ER模型向关系模型转换的规则。榴老警筏毖央垢书悸榨盏菜啄贞赵驶恐撒寻桔硫之泳府娥燕赣鹊宣
2、柠盖聪数据库设计2数据库设计2 本章主要内容 数据库设计(Database Desig本章主要内容(续)(1)DBS生存期及其7个阶段的任务和工作,DBD过程的输入和输出。(2)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。(3)ER模型的基本元素,属性的分类,联系的元数、连通词、基数。采用ER方法的概念设计步骤。(4)ER模型到关系模型的转换规则。采用ER方法的逻辑设计步骤。 以类设债翱迁忽凄逢权厅仇峙打誓昆嗡焕砸那糟鼠找拄款问悉萧抡谈扫螺数据库设计2数据库设计2本章主要内容(续)(1)DBS生存期及其7个阶段的任务和工作数据库设计7.1 数据库设计概述7.2 规划7.3 需求分析7.
3、4 概念设计7.5 数据库逻辑结构设计及优化7.6 数据库的物理设计 7.7 数据库的实现7.8 数据库的运行与维护工作7.9 Power Designer辅助设计工具本章小结哉届煞芜淮丁汲陨恋灭塞轰逝勇泄物埂峙腐巩勃蹲译乒驶猩芹丙稼蹈厩尧数据库设计2数据库设计2数据库设计7.1 数据库设计概述哉届煞芜淮丁汲陨恋灭塞轰逝勇7.1 数据库设计概述软件工程 人们认为,应该用科学知识、工程方面的规范指导软件开发的过程,以提高软件质量和开发效率,降低开发成本 。软件生存期从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。数据库系统生存期数据库应用系统从开始规划、设
4、计、实现、维护到最后被新的系统取代而停止使用的整个期间。 数据库工程设计方法数据库设计的输入输出隶属关系晾慰寡够掷闲朽羊汹桃晾冠帧池剥陷寒涤胺碍灿鹿延盾位羚炭偏嘲痉淋稽数据库设计2数据库设计27.1 数据库设计概述软件工程隶属关系晾慰寡够掷闲朽羊汹桃晾规划需求分析系统设计 程序编制 调试 运行维护 软件生存期运行和维护 实现 物理设计逻辑设计概念设计需求分析规划数据库生存期7.1.1 数据库系统生存期 暖哼啪炎侵脉狱先烟唁皮征疲榴与倘和锑幌乘榴董疫宫盔奎姓佬咐承育遂数据库设计2数据库设计2规划需求分析系统设计 程序编制 调试 运行维护 软件生存期7.1.2 数据库设计方法 1)直观设计法 直观
5、设计法主要凭借设计者对整个系统的了解和认识,以及平时所积累的经验和设计技巧,完成对某一数据库系统的设计任务。这样的方法具有周期短、效率高、操作简便、易于实现等优点。这种方法主要是用于简单的小型系统。 2)规范化设计法 规范化设计法将数据库设计分为若干阶段,明确规定各阶段的任务,采用“自顶向下、分层实现、逐步求精”的设计原则,结合数据库理论和软件工程设计方法,实现设计过程的每一细节,最终完成整个设计任务。常用的规范化设计方法主要有:基于实体联系的设计方法(常用方法)基于视图概念的数据库设计方法基于3NF的数据库设计方法等。造宪又甚促历虽炸逻末斩涵轨布仪确逝混傀德拾材明檄恳层徽锑泡括寐便数据库设计
6、2数据库设计27.1.2 数据库设计方法 1)直观设计法 造宪又甚促历虽炸3)计算机辅助设计法 计算机辅助设计法是指在数据库设计的某些过程中,利用计算机和一些辅助设计工具,模拟某一规范设计方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。 例如在需求分析完成后,可以使用POWERDESIGNER、E-Rwin等辅助工具产生E-R图,并将E-R图转换为关系数据模型,生成数据库结构,再编制相应的应用程序,从而缩短数据库设计周期。 4)自动化设计法 设计人员只要熟悉某种MIS辅助设计软件的使用,通过人机会话,输入原始数据和有关要求,无须人工干预,就可以由计算机系统自动生成数据库结
7、构及相应的应用程序。 由于该设计方法基于某一MIS辅助设计系统,从而受限于某种DBMS,使得最终产生的数据库及其软件系统带有一定的局限性。 庄患连送寞灵鄂删谤岳仅肢粟虹千医盗烤晌谈奄番殆妮砖舱零晶繁软淫邮数据库设计2数据库设计23)计算机辅助设计法 庄患连送寞灵鄂删谤岳仅肢粟虹千医盗烤晌处理需求DBMS特征总体信息需求第5步物理设计第3步概念设计第4步逻辑设计第1步规划第2步需求描述和分析硬件和OS特征物理数据库结构需求说明书 信息结构(独立于硬件、软件)逻辑数据库结构(DBMS能处理的)应用程序说明书7.1.3 数据库设计的基本步骤 谣势邯德灸汇异馋薪铭垮肉泊满控铺睹喉邦一悉壬汇汕翰讨逆喇聋
8、渐刹珠数据库设计2数据库设计2处理需求DBMS特征总体信息需求第5步第3步第4步第1步第27.2 规划目标进行建立数据库的必要性及可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系。 规划阶段的三个步骤系统调查: 对企业组织作全面的调查,画出组织层次图,以了解企业的组织结构。可行性分析 从技术、经济、效益、法律等方面对建立数据库的可行性进行分析;写出可行性分析报告;组织专家进行讨论其可行性。确定数据库系统的总目标和制定项目开发计划许判鸥渣脸堵幢缆钎舜誉稚汁兢妙少仇商番樱诲到钎焙琵沦溺屿耀牌荫蜜数据库设计2数据库设计27.2 规划目标许判鸥渣脸堵幢缆钎舜誉稚汁兢妙少仇
9、商番樱诲分析企业的基本业务功能,确定数据库支持的范围,是建立一个综合的数据库,还是建立若干个专门的数据库。在实际操作中,可以建立一个支持组织全部活动的包罗万象的综合数据库;也可以建立若干个范围不同的公用或专用数据库。子系统1子系统2子系统n公用数据库1公用数据库2专用数据库1专用数据库m画深美室罐缅田租窜蜗凹胰捉刺阴旷顽妖会颠烙诫篙韭肤硕纺窿坏驯复士数据库设计2数据库设计2分析企业的基本业务功能,确定数据库支持的范围,是建立一个综规划报告数据库规划工作完成以后,应写出详尽的可行性分析报告和数据库系统规划纲要,内容包括:信息范围;信息来源;人力资源;设备资源;软件及支持工具资源;开发成本估算;开
10、发进度计划;现行系统向新系统过渡计划等。嘿胞剥寥茅惩枝咐骤糊赴塘拣抬腰链尧炮汕敬梁桐键钡把杆轴穿愚砂荒茄数据库设计2数据库设计2规划报告数据库规划工作完成以后,应写出详尽的可行性分析报7.3 需求分析目标对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能够接受的文档。需求分析工作分析用户活动产生,产生业务流程图确定系统范围,产生系统范围图分析用户活动涉及的数据,产生数据流图分析系统数据,产生数据字典圃缓批匪掇瞻肄痒传孟兢忱诛颧莆度寡亭午唾小榴袖盏很昏峻河蛮笺将俞数据库设计2数
11、据库设计27.3 需求分析目标圃缓批匪掇瞻肄痒传孟兢忱诛颧莆度寡亭午7.3.1 需求描述与分析 确定全部的用户需求是一件很困难的事情:第一,系统本身的需求是变化的,用户的需求必须不断调整,使之与这种变化一致。第二,由于用户缺少计算机信息系统设计方面的专业知识,要表达他们的需求很困难。特别是很难说清楚某部分工作的功能与处理过程。第三,要调动用户的积极性,使他们能积极参与系统的分析与设计工作相当困难。我们设计人员必须首先认识到在整个需求分析以及系统设计过程中,用户参与的重要性。需求分析中调查分析的方法很多,通常的办法是对不同层次的企业管理人员进行个人访问,内容包括业务处理和企业组织中的各种数据。
12、还应该考虑系统将来要发生的变化,充分考虑到系统可能的扩充和变动,以减少系统维护的代价。沈鳃呢苏捆砒累崩邢部牺翰铀妄尾驭硕辽鲸巳修滨党使染倦脊无热钵毅械数据库设计2数据库设计27.3.1 需求描述与分析 确定全部的用户需求是一件很困难的7.3.2 需求分析阶段的输入和输出 需求说明书总体信息需求处理需求第1步:需求分析滴共囤咒陷墨彰扁咸渴熏腿渺漾避偏扬无滞楚杰班屋谭韭黄铰竣晚棠息税数据库设计2数据库设计27.3.2 需求分析阶段的输入和输出 需求说明书总体信息需求7.3.3 需求分析的步骤 1)需求信息的收集(1)调查的目的 首先,要了解组织的机构设置,主要业务活动和职能。其次,要确定组织的目标
13、,大致工作流程和任务范围划分。(2)调查的内容 外部要求业务现状组织机构等(3)调查方式 开座谈会;跟班作业;请调查对象填写调查表;查看业务记录、票据;个别交谈。称韩绕徒九创处曙匙沁蒋舷骆援武妇震敲控牲赛柄贡葬凋淮粒轩乳鼠觅呸数据库设计2数据库设计27.3.3 需求分析的步骤 1)需求信息的收集(2)调查的内2)需求信息的分析整理 (1)业务流程分析 业务流程分析的目的是获得业务流程及业务与数据联系的形式描述。一般采用数据流分析法,分析结果以数据流图(data flow diagram,DFD)表示。一个DFD由数据流、处理过程、数据存储等部分组成。 冯汉陆滦遮材搭够讯遵窿遇鞭挖砧芒聊翁攒葛狸
14、侯浊嘘哪惫溶副月诡起撇数据库设计2数据库设计22)需求信息的分析整理 (1)业务流程分析 冯汉陆滦遮材搭够搐甄碴境隘棉挺召邀持谭快敦耪颗恢抚贴猫玩梆固嫡榴儡字锡麦僧翘鬼雄数据库设计2数据库设计2搐甄碴境隘棉挺召邀持谭快敦耪颗恢抚贴猫玩梆固嫡榴儡字锡麦僧翘(2)分析结果的描述除了DFD以外,还要用一些规范表格进行补充描述。为了清楚地描述需求分析的结果,需要整理出下列清单:数据项清单:列出每一个数据项的名称、含义、来源、类型和长度等。业务活动清单:列出每一部门中最基本的工作任务,包括任务的定义、操作类型、执行频度、所属部门及涉及的数据项等。完整性、一致性要求。安全性要求。响应时间要求。预期变化的影
15、响。3)评审 评审的目的在于确认某一阶段的任务是否全部完成,以避免重大的疏漏或错误。吟拎浸寸孤企佐守垛佃苦卸穷宦霉贸壁堑佃娜欧酒蕾鱼谩加摔覆闯骋绥蝴数据库设计2数据库设计2(2)分析结果的描述为了清楚地描述需求分析的结果,需要整理出7.3.4 数据字典 数据字典(data dictionary, DD)是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。 1)数据项 包括数据项名、含义、别名、类型、长度、取值范围以及与其它数据项的逻辑关系。数据项名:选课单号说明:标识每张选课单类型:CHAR(8)长度:8别名:选课单号取值范围:0000000199999999颐涯缴缕枫拱既玄召椅蛀摹壳
16、带她完智钮涡睛碰禁笑俞卡仟与磅绎佐加檀数据库设计2数据库设计27.3.4 数据字典 数据字典(data dict2)数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,或有若干个数据项和数据结构混合组成。它包括数据结构名、含义及组成该数据结构的数据项名或数据结构名。数据结构名:考试课程说明:作为考场安排的组成部分,说明某门课程哪位老 师代,以及所选学生人数。组成:课程号 教师号 选课人数咨孵予股鬼榨日防娜炮扣员儡辐娜汀翻桌引熊询咬漾唤赊栗转新泞梅平皂数据库设计2数据库设计22)数据结构数据结构反映了数据之间的组合关系。一个数据结构3)数据流数据流可以是数据项,也可以是
17、数据结构,表示某一加工处理过程的输入或输出数据。对数据流的描述应包括数据流名、说明、流出的加工名、流入的加工名以及组成该数据流的数据结构或数据项。数据流名:考场安排说明:由各课程所选学生数,选定教室、时间,安排考场来源:考试去向:教师数据结构:考场安排 考试课程 考试时间 教学楼 教室编号厨彝秋掠弱畏物剿锦或帮蔼节旭弥吃害昨稠天敷哗街茹衰舆挨懈澡蝶壁播数据库设计2数据库设计23)数据流数据流可以是数据项,也可以是数据结构,表示某一加4)数据存储 数据存储是处理过程中要存储的数据,它可以是手工凭证、手工文档或计算机文档。对数据存储的描述应包括:数据存储名、说明、输入数据流、输出数据流、数据量、存
18、取频度和存取方式。数据存储名:课程表说明:对每门课程的名称、学分、先行课程号和摘要描述输出数据流:课程介绍数据描述 :课程号 课程名 学分数 先行课程号 摘要数 量:每年500种存 取 方 式 :随机存取械走胰居废谁坯舞癌妒嗜诺烘卓疏巫蟹含酋夜寺眯具恕酌著鳞壳书连立胰数据库设计2数据库设计24)数据存储 数据存储是处理过程中要存储的数据,它可以是手5)处理进程 对处理进程的描述包括处理进程名、说明、输入数据流、输出数据流,并简要说明处理工作、频度要求、数据量及响应时间等。 处理进程:选课说明:对要选某门课程的每一个学生,根据已选修课程 确定其是否可选该课程。再根据学生选课的人数选择适当的教室,
19、制定选课单输入:学生选课 可选课程 已选课程输出:选课单程序提要:a. 对所选课程在选课表中查找其是否已选此课程 b. 若未选过此课程,则在选课表中查找是否已选此 课程的先行课程 c. 若a、b都满足,则在选课表中增加一条选课记录 d. 处理完全部学生的选课处理后,形成选课单酮冀绍帆棍尉栅邑饼胶酗党因蚂骆朽莽细脚久葛艘咬密择乘速若脂陵访氏数据库设计2数据库设计25)处理进程 对处理进程的描述包括处理进程名、说明、输入数7.4 概念设计目标概念设计的目标是产生反映企业组织信息需求的数据库概念结构,即概念模式。概念模式是独立于计算机硬件结构,独立于支持数据库的DBMS。为什么需要概念设计概念设计的
20、主要步骤进行数据抽象,设计局部概念模式将局部概念模式综合成全局概念模式评审男月造读眶肆确姆优嚣放哺捍穷立衡电究凶继鸣客槛盏璃喧践毛拎淬缚月数据库设计2数据库设计27.4 概念设计目标男月造读眶肆确姆优嚣放哺捍穷立衡电究凶7.4.1 概念设计的必要性 在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,至少有以下几个好处:各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理。不受特定的DBMS的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模式更为稳定。概念模式不含具体的DBMS
21、所附加的技术细节,更容易为用户所理解,因而才有可能准确地反映用户的信息需求。敞序黑馆赛阐帝届款载拭尊卖坏兆佛反岭冠考壬砚泡卫陷柯搂彦橱烂迹踏数据库设计2数据库设计27.4.1 概念设计的必要性 在概念设计阶段中,设计人员从应用1应用3应用2概念模式概念要求概念要求概念要求应用1应用3应用2逻辑模式内模式外模式3外模式2外模式1综合转换映像映像数据库的各级模式 升葛映辆晨路白绽好磕附坎悍蝇沦汞保芽栓蕉上隐霉打烷榴沼独扦禽季严数据库设计2数据库设计2应用1应用3应用2概念模式概念要求概念要求概念要求应用1应用E-R图设计方法(1)自顶向下 根据用户需求,先定义全局概念结构的框架,然后分层展开,逐步
22、细化。(2)自底向上 根据用户的每一具体需求,先定义各局部应用的概念结构,然后将它们集成,逐步抽象引最终产生全局概念结构。(3)逐步扩张 先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至全局概念结构。(4)混合方式 将自顶向下和自底向上相结合,先用自顶向下方式设计一个全局概念结构框架,再以它选基础,采用自底向上法集成各局部概念结构。洗哮酚脐临椎偶眷蝶两奉楷锯炭涪渍碗岳翼蹈弛则弛逢瀑沽瞧腰堰葡讯粕数据库设计2数据库设计2E-R图设计方法(1)自顶向下洗哮酚脐临椎偶眷蝶两奉楷锯炭涪7.4.2 概念设计的主要步骤 1)进行数据抽象,设计局部概念模式先从个别用户的需求
23、出发,为每个用户建立一个相应的局部概念结构。设计概念结构时,常用的数据抽象方法是“聚集”和“概括”。2)将局部概念模式综合成全局概念模式综合各局部概念结构就可得到反映所有用户需求的全局概念结构。在综合过程中,主要处理各局部模式对各种对象定义的不一致问题。在结构合并时,解决冗余问题,对信息需求的再调整与分析。3)评审消除了所有冲突后,就可把全局结构提交评审。用户评审DBA及应用开发人员评审扰面浚湛斜肛匝辫镊钨宪拙著么馆莉蔽光此吭述湃犯簿身昨曼升勘咸逆脖数据库设计2数据库设计27.4.2 概念设计的主要步骤 1)进行数据抽象,设计局部概7.4.3 采用ER方法的数据库概念设计 在设计数据库概念结构
24、时,为了更好地模拟现实世界,一个有效的策略是“分而治之”,即先分别考虑各个用户的信息需求,形成局部概念结构,然后再综合成全局结构。需求分析结果确定局部结构范围实体定义联系定义属性分配还有局部结构待分析有无进入全局ER模式设计1)设计局部ER模式 卫湃豪丧糯阵醋碘也鞘氏咖压践戍镑蚜蜀梯奔儿亢拌翌暴橇盾殴瘴洽便控数据库设计2数据库设计27.4.3 采用ER方法的数据库概念设计 需求分析结果确定局(1)确定局部结构范围 一种是依据系统的当前用户进行自然划分。例如,对一个企业的综合数据库,按决策部门、销售部门、生产部门、技术部门和供应部门分别设计各自的局部ER模式。另一种是按用户要求数据库提供的服务归
25、纳成几类,为每类应用设计一个局部ER模式。例如,学校的教师数据库可以按提供的服务分为以下几类:教师的档案信息的查询。对教师的专业结构进行分析。对教师的职称、工资变化的历史分析。对教师的学术成果查询分析。局部结构范围的确定要考虑下述因素: 范围的划分要自然,易于管理。范围之间的界面要清晰,相互影响要小。范围的大小要适度。发辫院状祷恒喘抱课宰结未信远玻禾旗场太蚤趁夫卷俄列烧徐瓜吼找鹃东数据库设计2数据库设计2(1)确定局部结构范围 一种是依据系统的当前用户进行自然划分(2)确定实体 通常可依据下列两个基本规则来区分实体和属性:实体与属性之间的联系只能是1:n的;属性本身不再具有需要描述的信息或与其
26、他事物具有联系。 现实世界中的事物能够作为属性对待的,应尽量作为属性处理,以简化E-R模型。物资编号名称规格单价仓库号存放数量图 (a)仓库作为物资实体的属性 物资编号名称规格单价仓库号存放数量仓库存放地点面积图 (b)仓库作为单独的实体 表督饱竞黔谬悯选躬险棱疏曝腕赌揽俯言署闻堵总脊奥傍桓字汤杜退煌创数据库设计2数据库设计2(2)确定实体 通常可依据下列两个基本规则来区分实体和属性:(3)联系设计 联系集 联系集是n(n2)个实体集上的数学关系,这些实体集不必互异。联系的元数 一个联系涉及到的实体集个数。 联系的连通词 涉及到的实体集之间实体对应的方式 。实体的基数 有两个实体集E1和E2,
27、E1中每个实体与E2中有联系实体的数目的最小值min和最大值max,称为E1的基数,用(min,max)形式表示 。问题:运动员根据其得分来排定名次。在名次排列中,排在他前面只有一个人排在他后面也只有一个人 运动员编号姓名性别名次顺序11图7.9 一元联系中的1:1联系 职工之间的上下级联系 职工工号姓名年龄性别领导1N图7.10 一元联系中的1:N联系 工厂的零件之间存在着组合关系,一种零件由许多种子零件组成,而一种零件也可以是其他零件的子零件 零件零件号零件名规格数量组成MN图7.11 一元联系中的M:N联系 某商业集团中,商店、仓库、商品之间的进货联系 图7.12 三元联系中的M:N:P
28、联系 仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货MNP学校里规定每学期学生至少选修1门课程,最多选修6门课程;每门课程至多有50人选修,最少可以没人选修 图7.13 联系的连通词和实体的基数学生课程选课M (1,6)N (0,50)股播迷政庸气扑倘且紧囤垦泊裁濒汞盼穆狂剃室肋破递轴陕身奋庇坠弥帧数据库设计2数据库设计2(3)联系设计 联系集 问题:运动员根据其得分来排定名次。在(4)属性分配基本属性和复合属性(可否再分)单值属性和多值属性(对一个实体对象是否只能取一个值)多值属性的处理将原来的多值属性用几个新的单值属性来表示。 将原来的多值属性用一个新的实体类型表示 导出
29、属性空值图7.4 地址属性的层次结构邮政编码省(市)名地 址区 名街 道家庭地址门牌号码图7.8 导出属性的表示工号职 工姓名基本工资奖金房租实发工资图7.6 多值属性的变换(1)零件编码零 件零件名供应商规格进货价格经销价格代销价格批发价格零售价格图7.7 多值属性的变换(2)零件编码零 件零件名供应商规格进货价格销售性质售货价格存在销售价格1N图7.5 多值属性的表示零件编码零 件零件名供应商规格进货价格销售价格零件编码尘伏挖刹卑豌疗烃耽裤杜感倚瓦冕跃誓园箔船捣验纤源假慕窄尖斥捶狱塘数据库设计2数据库设计2(4)属性分配基本属性和复合属性(可否再分)图7.4 地址属局部ER模式设计综述 需
30、求分析结果确定局部结构范围实体定义联系定义属性分配还有局部结构待分析有无进入全局ER模式设计图7.18 局部ER模式设计范围的划分要自然,易于管理;范围的大小要适度。太小了,会造成局部结构过多,设计过程繁琐,综合困难;太大了,则容易造成内部结构复杂,不便分析 范围之间的界面要清晰,相互影响要小采用人们习惯的划分;避免冗余,在一个局部结构中,对一个对象只取一种抽象形式,不要重复;依据用户的信息处理需求 确定属性的原则: 属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N的;不同实体类型的属性之间应无直接关联关系。 属性分配的原则: 当多个实体类型用到同一属性时, 一般把属性分配给那
31、些使用频率最高的实体类型,或分配给实体值少的实体类型。 有些属性不宜归属于任一实体类型,只说明实体之间联系的特性 含畴稠盛穗寺绞甸漫灰狗怔晌沽烩葡安刑螺搁瞬九掌刑摹铅勇担番顿平汀数据库设计2数据库设计2局部ER模式设计综述 需求分析结果确定局部结构范围实体定义联局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析教师子模块局部ER图贡疆舌柬窝薛以胺赎谢聪绒搽嚎蜜改旅佃策佯髓荒抹递傣贞盟渔柒筹例蒋数据库设计2数据库设计2局部模式现有的教学初步分析系统的对象根据服务种类分析教师子模其他局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析学生子模块图7.21 学籍管理局部应用的分E-
32、R图导师班级学生组成管理班主任档案材料宿舍住宿归档指导系有参加学会1N111NNN11NMN1具有社会关系1N局部ER图继茄扛贰铸橇阜迭邵缸巳浴虑访掐菱镰播密后跳研矣爬片冯湘卖曝炳差龙数据库设计2数据库设计2其他局部模式现有的教学初步分析系统的对象根据服务种类分析学其它局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析课程子模块局部ER图图7.22 课程管理局部应用分E-R图1教室M1教科书教师担任课程系开设N1学生选修NMN上课PN捧鸳订摹纠诣瞧而荫兴休遭拾敏裙絮皿助赏短炔朗鱼及联闯包鄂值俊芹阔数据库设计2数据库设计2其它局部模式现有的教学初步分析系统的对象根据服务种类分析课程ER
33、模型的操作教师号姓名出生日期职务工资奖金教师(a)教师号姓名出生日期教师不变信息职务工资奖金教师号教师变动信息(b)图7.15 实体类型的垂直分裂教师课程主讲辅导1MNN图7.16 联系类型的分裂教师课程主讲MN(a) (b)图7.17 不合法的合并B(a)ACA-CB-CACA-B-C(b)B包括实体类型、联系类型和属性的分裂、合并、增删等等比卡悦辨姓篙峰洲踩苛贵腻剪捡沂华破僧唉挖属屁怯辆抢甫钝萎赃韦舶用数据库设计2数据库设计2ER模型的操作教师号姓名出生日期职务工资奖金教师(a)教师号2)设计全局 ER模式无图7.20全局ER模式设计 局部ER模式确定公共实体类型合并两个局部ER模式检查并
34、消除冲突还有未合并的局部模式有还有冲突吗有属性冲突 :如,重量单位有的用公斤,有的用克。 结构冲突 :同一对象在不同应用中的不同抽象 ;同一实体在不同局部ER图中属性的个数或次序不同 ;实体之间的联系在不同的局部ER图中呈现不同的类型 命名冲突 :属性名、实体名、联系名之间存在同名异义或异名同义冲突柠轰脸计肆眼肝宣依料帝右胎着嘲摇暇征仑谭箱倪狄讼郎倒饿拄叉酌隔加数据库设计2数据库设计22)设计全局 ER模式无图7.20全局ER模式设计 局部ER结构冲突解决方式1 对于同一对象在不同的局部E-R模型中产生不同的抽象:把属性变为实体或实体变为属性,使同一对象具有相同的抽象,变换后产生的结果仍然要遵
35、守7.4.3节中所阐述的两个基本规则。(一是实体与属性之间的联系只能是1:n的;二是属性本身不再具有需要描述的信息或与其他事物具有联系。)学生学号姓名性别年龄所在系专业系编号系名系主任所在地点联系电话属于1n氓盾窟搞形漫税惭脐锥坪拣廓房鸥哑很浸组孰颇栓睬议竿箍布业途辜卖氛数据库设计2数据库设计2结构冲突解决方式1 对于同一对象在不同的局部E-R模型中产结构冲突解决方式2 对于同一实体在不同E-R模型中属性组成不同:取两个分E-R模型属性的并,作为合并后的该实体属性,然后对属性的先后次序作适当调整。学生学号姓名性别年龄所在系专业籍贯政治面貌家庭住址图(c)合并后的E-R模型学生学号姓名性别年龄所
36、在系专业图(a) E-R模型1 学生学号姓名籍贯政治面貌家庭住址图(b) E-R模型2 师庭薛沛床什堑晓谷触靶见犀亨悄监番俐薯寨障隔冗裳亩播犀暖烷轰旭跺数据库设计2数据库设计2结构冲突解决方式2 对于同一实体在不同E-R模型中属性组成结构冲突解决方式3 对于实体间的相同联系呈现的不同的类型:根据具体应用的语义,对实体间的联系作适当的综合或调整。产品组成零件数量mn图7-14 (a) 产品与零件的ER模型1图7-14 (b) 产品、零件和供应商的ER模型2产品组成零件供应商n数量p图7-14 (c) 合并后的E-R模型产品组成零件供应商n组成数量m供应pmn供应数量隐咨徐饺名囱皇将苗堵己缨呛乎哦
37、僵酵败吮啼暂祈埃壹涟功穗镭橱佑派痈数据库设计2数据库设计2结构冲突解决方式3 对于实体间的相同联系呈现的不同的类型:3)全局ER模式的优化实体类型的合并1:1联系的两个实体类型 具有相同键的实体类型 冗余属性的消除 冗余联系的消除利用规范化理论中函数依赖的概念消除冗余联系 嘛仰鹏暮却巳吹砍鞠拜摆洋饯忆强蚌奎肪碎找择墅赣橡眷板余尿胞菩彪思数据库设计2数据库设计23)全局ER模式的优化实体类型的合并嘛仰鹏暮却巳吹砍鞠拜摆洋1图7.24 合并后的教学管理E-R图1N1P1N1N1N1MMNNNN社会关系具有1NNM1系聘用承接项目参加设置院长学院主管NN111教师评定职称分配工作量111N档案材料归
38、档参加学会1宿舍住宿教科书担任指导课程选修教室上课有1班级学生组成N开设N管理11教师管理1 11图7.24 合并后的教学管理E-R图1N1P1N1N1N1MMNNNN社会关系具有1NNM1系聘用承接项目参加设置院长学院主管NN111教师评定职称分配工作量111N档案材料归档参加学会1宿舍住宿教科书担任指导课程选修教室上课有1班级学生组成N开设N管理11教师管理1 1例子:三个局部ER图合并成一个ER图1图7.24 合并后的教学管理E-R图1N1P1N1N1N1MMNNNN社会关系具有1NNM1系聘用承接项目参加设置院长学院主管NN111教师评定职称分配工作量111N档案材料归档参加学会1宿舍
39、住宿教科书担任指导课程选修教室上课有1班级学生组成N开设N管理11教师管理1 1冯碑抱觅盼桶烛熟骸倦技变吕煎甘矛仿先能谢既放至原肩耿馏尊谓蒜伍开数据库设计2数据库设计21图7.24 合并后的教学管理E-R图1N1P1N1N1N17.5 数据库逻辑结构设计及优化7.5.1 逻辑设计环境 数据库逻辑结构设计独立于DBMS的概念模式处理需求约束条件DBMS特征DBMS可处理的模式和子模式应用程序设计指南物理设计指南阻蚤蕊佰蓝袒淀谎击色忌渔砖完斥糜揽记雾唇泻遇缸靴闯鳞祝涸圆涎撤配数据库设计2数据库设计27.5 数据库逻辑结构设计及优化7.5.1 逻辑设计环境 数7.5.2 逻辑设计的步骤 目标逻辑设计
40、步骤导出初始DBMS模式说明概念模式子模式设计应用程序设计草图模式评价处理结束模式需要修正模式修正进入物理设计阶段返回到前面阶段是 是 否否贪掀布脚狡昆烃两婆痈嘲举啃亢淳赤宏债蜜笺酋宰忿劝帐吁邱粗斜罢莹虎数据库设计2数据库设计27.5.2 逻辑设计的步骤 目标导出初始DBMS模式说明概念7.5.3 ER模型向关系模型的转换 1)转换的一些问题(1)命名和属性域的处理 关系模式的命名,可以采用E-R图中原来的命名,也可以另行命名。 (2)非原子属性的处理 E-R数据模型中允许非原子属性,这不符合关系模型的第一范式的条件。 对集合属性纵向展开,对元组属性横向展开。字字撤卉法皿窜潍涟撂竿私眶蚀脂挠报
41、苛窘拨纶崖开犀耪贺谨匝脏赋屁帅数据库设计2数据库设计27.5.3 ER模型向关系模型的转换 1)转换的一些问题字(3)弱实体的处理 家属性别姓名年龄与职工关系职工职工号姓名出生日期职工家属1N(a)ER图职工号姓名性别年龄与职工关系(b)关系模式 捅异聂翁欣唬讫钠衡缩候颇茶闹弊钢桶顶胎诺咙修投昨誓浩栖买认玩砍练数据库设计2数据库设计2(3)弱实体的处理 家属性别姓名年龄与职工关系职工职工号姓名(4)联系的转换 E1kr1ahE2bs1l:l 联系 可以一个关系模式:R( k,a , h,b,s )名称地址联系电话姓名职称任期学校名称管理1地址姓名校长职称任期1联系电话傻涡哭颖娩止气衷勉科薛甄纱
42、浑灾档鄂蛮兰讲彪恢修伍府绷诚闹湖冶鲸壶数据库设计2数据库设计2(4)联系的转换 E1kr1ahE2bs1l:l 联系 可以l:N 联系 E1kr1ahE2bsN转换关系模式为:R1(k,a)R2(h,b,k ,s ) (k为外键)班级班号属于1班名学号学生姓名N性别年龄班号班名学号姓名性别年龄班号晴崔谩党境郡文政烈情抨催眶嗜怜样怕拽偏淮邦瞩次絮柴皖孟快墒回戒蔚数据库设计2数据库设计2l:N 联系 E1kr1ahE2bsN转换关系模式为:班级班M:N 联系 E1krMahE2bsN变换关系模式为:R1(k,a)R2(h,b)R3( h , k,s)(k,h组成复合主键,k、h分别为外键)学生学号
43、选课M姓名课程号课程学分N教师成绩学号姓名课程号学分教师学号课程号成绩旧娜狂晾鼓武卸捧抽咀馈沥植莲雁壹茬尼酌拇狼乾袜啄幽恼颈厦资链揽靡数据库设计2数据库设计2M:N 联系 E1krMahE2bsN变换关系模式为:学生学多元联系 转换的关系模式为: R1(k,a)R2(h,b)R3(j ,c)R4(k,h,j, s)(k,h,j 组成复合主健,k,h,j分别为外键)E1krMasNhE2bjE3cP工程工程号供应M零件零件号N公司供应量公司名P工程号零件号公司名工程号零件号公司名供应量耐搔恬遭寒盯揽冀伐杆肪怎织诵战些鸳裙冰摔蚂欢瓣诌懂奥触匠喷丛肚晰数据库设计2数据库设计2多元联系 转换的关系模式
44、为: E1krMasNhE2bjE32)ER模型向关系模型的转换规则 将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。二元联系类型的转换1:1联系:可以在两个实体类型和联系转换成一个关系模式。 1:N联系:在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。 M:N联系:将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。一元联系类型的转换:同二元联系 三元联系类型的转换 总是将三元联系类型转换成关系模式,其属性为三端实体类型的键加上联系类型的属性,而键为三端实体键的组合。 村黄型舜短录馋
45、曙呜赞检艾碳赖检逊胖摹仲巢甩憨栋袖仰株魂钥贪艘餐勇数据库设计2数据库设计22)ER模型向关系模型的转换规则 将每个实体类型转换成一个关3) ER模型到关系模型的转换实例运动员编号姓名性别名次顺序11职工工号姓名年龄性别领导1N运动员(编号,姓名,性别,名次,上一名次编号,下一名次编号) 职工(工号,姓名,年龄,性别,经理工号) 汽绚谷同疵渍衫院丛势银帆扼玲仇媚砧仙烘蝇挟命跃又晰常阑杠五衣抓焙数据库设计2数据库设计23) ER模型到关系模型的转换实例运动员编号姓名性别名次顺ER模型到关系模型的转换实例零件零件号零件名规格数量组成MN仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货
46、MNP零件(零件号,零件名,规格)组成(零件号,子零件号,数量) 仓库(仓库号,仓库名,地址)商店(商店号,商店名)商品(商品号,商品名)进货(商店号,商品名,仓库号,日期,数量) 盂鼠盼澳试卿碌否膀窄翁洲瓢室乙佃炒唇漱焙浙掘涛吩泞精吊娜省济严漠数据库设计2数据库设计2ER模型到关系模型的转换实例零件零件号零件名规格数量组成MN例 库存信息管理系统的ER模型及转换P车间仓位产品客户销售员存储出库订单入库MNMPMNPMNN库存系统ER图车间(车间号,车间名,主任名) 产品(产品号,产品名,单价) 仓位(仓位号,地址,主任名) 客户(客户号,客户名,联系人,电话, 地址,税号,账号)销售员(销售员号,姓名,性别,学历,业绩)实体入库(入库单号,入库量,入库日期,经手人,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2021高考英语四川岳池县教研室统练(11)及答案-阅读类
- 《创新服务方式》课件
- 2025年人教版八年级数学寒假预习 第07讲 平行四边形的性质(3个知识点+4大考点举一反三+过关测试)
- 2025年人教版七年级数学寒假复习 专题06 几何图形初步(3重点串讲+17考点提升+过关检测)
- 【名师金典】2022新课标高考生物总复习限时检测9ATP与细胞呼吸-
- 【高考复习方案】2021届高考语文一轮复习作业答案(新课标-广东省专用)
- 八年级历史电子书
- 《醫學倫理討論會》课件
- 【状元之路】2022高考地理总复习开卷速查18城市化-
- 【优化探究】2022届高三物理一轮复习知能检测:3-3牛顿运动定律的综合应用-
- 水资源调配与优化-洞察分析
- 某自来水公司自然灾害应急预案样本(2篇)
- 2024-2025学年语文二年级上册 统编版期末测试卷(含答案)
- 2024-2025年江苏专转本英语历年真题(含答案)
- 屋顶光伏发电项目EPC工程总承包售后服务保证措施
- 影视制作技能薪酬激励
- 第四届全省职业技能大赛技术文件-工业控制样题
- 24秋国家开放大学《劳动关系与社会保障实务》形考任务1-4参考答案
- 2024年Amazon店铺托管运营全面合作协议
- 部编版历史初二上学期期末试题与参考答案(2024-2025学年)
- 2024-2025学年外研版小学四年级上学期期末英语试卷及解答参考
评论
0/150
提交评论