第5章数据库设计与E模型_第1页
第5章数据库设计与E模型_第2页
第5章数据库设计与E模型_第3页
第5章数据库设计与E模型_第4页
第5章数据库设计与E模型_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章第五章 数据库设计和数据库设计和er模型模型 本章重要概念本章重要概念 (1)dbs生存期及其生存期及其7个阶段的任务和工作,个阶段的任务和工作,dbd过程的输入和输出。过程的输入和输出。(2)概念设计的重要性、主要步骤。逻辑设计阶段)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。的主要步骤。(3)er模型的基本元素,属性的分类,联系的元数、模型的基本元素,属性的分类,联系的元数、连通词、基数。采用连通词、基数。采用er方法的概念设计步骤。方法的概念设计步骤。(4)er模型到关系模型的转换规则。采用模型到关系模型的转换规则。采用er方法方法的逻辑设计步骤。的逻辑设计步骤。(5)er

2、模型的扩充:弱实体,超类和子类。模型的扩充:弱实体,超类和子类。 主要内容和学习要求主要内容和学习要求n5.1 数据库设计概述(了解)数据库设计概述(了解)n5.2 数据库设计的全过程(领会)数据库设计的全过程(领会)n5.3 er模型(综合应用)模型(综合应用)n5.4 er模型到关系模型的转换(综合应用)模型到关系模型的转换(综合应用)n5.5 er模型实例分析(理解)模型实例分析(理解)n5.6 er模型的扩充(理解)模型的扩充(理解)5.1 数据库设计概论之一数据库设计概论之一软件工程软件工程 人们认为,应该用科学知识、工程方面的纪律指导软件开发人们认为,应该用科学知识、工程方面的纪律

3、指导软件开发的过程,以提高软件质量和开发效率,降低开发成本的过程,以提高软件质量和开发效率,降低开发成本 。n软件生存期软件生存期从软件的规划、研制、实现、投入运行后的维护,直到它被从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间新的软件所取代而停止使用的整个期间。数据库工程数据库工程 n数据库系统生存期数据库系统生存期数据库应用系统从开始规划、设计、实现、维护到最后被新数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间的系统取代而停止使用的整个期间。 n数据库设计的输入输出数据库设计的输入输出隶属关系规划需求分析系统设计

4、程序编制 调试 运行维护 运行和维护 实现 物理设计逻辑设计概念设计需求分析规划软件生存期数据库生存期处理需求dbms特征总体信息需求第5步物理设计第3步概念设计第4步逻辑设计第1步规划第2步需求描述和分析硬件和os特征物理数据库结构需求说明书 信息结构(独立于硬件、软件)逻辑数据库结构(dbms能处理的)应用程序说明书数据库设计的输入输出主要内容主要内容n5.1 数据库设计概述数据库设计概述n5.2 数据库设计的全过程n5.3 er模型模型n5.4 er模型到关系模型的转换模型到关系模型的转换n5.5 er模型实例分析模型实例分析n5.6 er模型的扩充模型的扩充5.2.1 规划阶段规划阶段

5、n进行建立数据库的必要性和可行性分析,确定数据库系统在组织中和信息系统中的地位。n任务:确定系统的范围;确定开发工作所需的资源(人员、硬件和软件);估算软件开发的成本;确定项目进度。n结果是可行性分析报告及数据库规划纲要,内容包括信息范围、信息来源、人力资源、设备资源、软硬件环境、开发成本估算、进度计划、现行系统向新系统过渡计划等。n规划阶段的三个步骤n系统调查: 对企业组织作全面的调查,画出组织层次图,以了解企业的组织结构n可行性分析 从技术、经济、效益、法律等各方面对建立数据库的可行性进行分析;写出可行性分析报告;组织专家进行讨论其可行性n确定数据库系统的总目标和制定项目开发计划n这一阶段

6、是计算机人员 (系统分析员) 和用户共同收集数据库所需要的信息内容和用户对处理的要求,加以规格化和分析,以书面形式确定下来,作为以后验证系统的依据。在分析用户要求时,要确保用户目标的一致性。5.2.2 需求分析需求分析n需求分析阶段的输入和输出如图5-7所示:n信息需求指目标系统涉及的所有实体、属性、以及实体间的联系等,包括信息的内容和性质,以及由信息需求导出的数据需求。n处理需求指为得到需要的信息而对数据进行加工处理的要求,包括处理描述,发生的频度、响应时间以及安全保密要求等。信息需求信息需求处理需求处理需求需求分析需求分析需求说明书需求说明书图图5-71 需求分析阶段的输入和输出n分析用户

7、活动产生,产生分析用户活动产生,产生业务流程图n确定系统范围,产生确定系统范围,产生系统范围图n分析用户活动涉及的数据,产生分析用户活动涉及的数据,产生数据流图n分析系统数据,产生分析系统数据,产生数据字典2 需求分析步骤需求分析步骤3 需求分析的主要工作需求分析的主要工作需求分析的工作包括:(1)问题识别 (problem recognition)(2)评价和综合(evaluation and synthesis)(3)建模 (modeling)(4)规格说明 (specification)(5)评审 (review) 4 软件需求规格说明软件需求规格说明 软件需求规格说明是在对用户需求分析

8、的基础上,把用户的需求规范化、形式化而写成的。目的是为软件开发提出总体要求,作为用户和开发人员之间相互了解和共同开发的基础。根据我国国家标准gb856d-88的规定,软件需求规格说明的内容如下:1. 引言 1.1 编写说明 1.2 背景 1.3 定义 1.4 参考资料2. 任务概述 2.1 目标 2.2 用户的特点 2.3 假定与约束3. 需求规定 3.1 对功能的规定 3.2 对性能的规定3.2.1 精度3.2.2 时间特性要求 3.2.3 灵活性 3.3 输入输出要求 3.4 数据管理能力要求 3.5 故障处理要求 3.6 其它专门要求4. 运行环境规定 4.1 设备 4.2 支持软件 4

9、.3 接口 4.4 控制5 系统逻辑模型表示工具系统逻辑模型表示工具 在需求分析阶段,通常用系统逻辑模型描述系统必须具备的功能。系统逻辑模型常用的工具主要是:(1) 数据流图(2) 数据字典(1) 数据流图数据流图 数据流图(data flow diagram, 简记为dfd)是从“数据”和“对数据的加工”两方面表达数据处理系统工作过程的一种图形表示法, 具有直观、易于被用户和软件人员双方理解的特点。 数据流图采用自顶向下的逐步细化的结构化方法表示: dfd有四种基本成分:数据流用箭头表示;加工或处理(process)用圆圈表示;文件或数据库用双线段表示;数据流的源点或终点用方框表示。 下面是

10、一个简单的dfd图示例:教师教师输入输入处理处理成绩成绩登录登录输出输出处理处理教务处教务处原始原始输入输入格式化格式化 输入输入输出输出格式化格式化 输出输出成绩文件成绩文件图图5-12功能功能p1.1p1.2p2.2p2.1p1p2顶层顶层第一层第二层图图5-13 dfd可作为由顶向下逐步细化时描述对象的工具。顶层(0层)dfd的每一个加工都可以进一步细化为第1层、第2层.的dfd,直到最底层的每一个加工已表示一个最基本的处理动作为止。 在dfd中并没有表示数据处理的过程逻辑(procedural logic),如是否要循环处理或根据不同的条件进行处理等。了解用户的应用要求,使用信息流程图

11、分析应用系统中的信息流。学生选课系统的简单的上下文信息流如下。数据流程图示例数据流程图示例录入教学录入教学 信息信息录入学录入学生信息生信息选课选课教学情况教学情况 报表报表学生情学生情况报表况报表选课表选课表 成绩表成绩表监控监控权限权限 密码密码选选 课课 系系 统统学生学生学生管学生管理理 员员教务管理教务管理员员系统管理系统管理员员系统管理系统管理员员教务管理教务管理员员学生管理学生管理员员学生学生图图5-14(2) 数据字典数据字典 数据字典(data dictionary, 简记为dd)是各类数据描述的集合,通常包括数据项、数据结构、数据流、数据存储和加工过程等五个部分。 因为df

12、d只表示出系统由哪几部分组成和各部分之间的关系,并没有说明各个成分(数据流,加工等)的含义。因此,仅有dfd还不足以描述用户的需求,必须通过数据字典详细描述各类数据实体对象。数据项:数据项是不可分的数据单位。数据项的描述通常包括以下内容: 数据项描述数据项名,含义,别名,数据类型,长度,取值范围,与其它数据项的逻辑联系数据结构:数据结构反映了数据之间的组合关系。一个数据结构可以由若干数据项组成,也可以由若干数据结构组成。数据结构的描述通常包括以下内容: 数据结构描述数据结构名,含义,组成:数据项或数据结构数据流:数据流是数据项或数据结构在系统内传输的路径。对数据流的描述通常包括以下内容: 数据

13、流描述数据流名,说明,数据流来源,数据流去向,组成:数据结构或数据项,平均流量,高峰期流量数据存储:加工过程中存储的数据,通常是手工凭证、手工文档或计算机文件。也是数据流的来源和去向之一。对数据存储的描述通常包括以下内容: 数据存储描述数据存储名,说明,流入数据流,流出数据流,组成:数据结构或数据项,数据量,存取方式。加工过程:在数据字典中一般只需要描述处理过程的说明性信息,通常包括以下内容: 加工过程描述加工过程名,说明,输入的数据流,输出的数据流,加工的简要说明 下图给出了某机器制造厂零配件采购子系统最概括层的数据流图。该子系统要处理的工作是:对生产部门提出的生产计划书根据零配件当前价格计

14、算成本送主管部门进行审批,对已批准的生产计划制定采购计划,准备好定货单送给供应商。 为了反映系统更详细的处理过程,将图5-16的处理过程分解为三个子过程,得到第一层的数据流图,如图5-17所示,其中每个子过程还可以再细分,得到第二层次的数据流图,此处不再给出。生产部门制定订单供应商零件库存生产计划书订单图图5-16 零配件采购子系统最概括层数据流图零配件采购子系统最概括层数据流图数据流和数据字典描述示例数据流和数据字典描述示例图图5-17 零配件采购子系统第一层次数据流图零配件采购子系统第一层次数据流图生产部门核对确 定采 购计划产品零件主管部门编制定货单零配件采购记录供应商供应商零件报价单生

15、产计划书批 准 / 不批准已批准生产计划书采购计划批 准 / 不批准核对预算预算 价格库存量 供应商报价采购细节地址订货单订货单数据流中,每张订货单有一个数据项为订货单号。对此数据项作以下描述:n数据项名:订货单号n说明: 标识每张订货单n类型: charn长度: 7n别名: 采购单号n取值范围:1000000 9999999对采购计划数据流作如下描述:n数据项名:采购计划n说明:由各产品所需零件数,选定的供应商,审核情况组成采购零配件计划。n来自过程:确定采购计划n流至过程:编制订货单n数据结构:采购计划n 采购细节n采购审核数据字典中数据项描述:数据字典中数据项描述:在数据流的描述中记录了

16、有关数据流的所有细节,在数据结构中“采购细节”,“采购审核”均是数据结构,下面给出“采购细节”的数据结构。n数据结构:采购细节n说明:作为采购计划的组成部分说明对某个产品,要采购哪些零件, 那种零件采购多少数量。n组成:零件号n数量图中产品是一个数据存储,在数据字典中可如下描述:n数据存储: 产品n说明: 对每种产品的品名,规格的描述,并对每种产品做成本预算, 在核对生产计划书的成本时用。n输出数据流:预算n数据描述:产品号n产品名称n预算n数量: 每月30至40种n存取方式: 随机存取n对上图第二个过程“确定采购计划”可作如下描述:n处理过程:确定采购计划n说明:对要采购的每一零件,根据零件

17、库存量确定采购数量,再根据每位供应商的报价选择适当的供应商,制定采购计划。n输入:n供应商报价n零件库存n已批准生产计划n输出:采购计划n程序提要:n 对已批准生产计划中每种零件,根据零件库存计算采购数量n 对应采购的每种零件查找供应商报价表,选择报价最低的供应商号。n 将此供应商号填入应采购零件表的相应列中。n 处理完所有零件形成采购计划输出。5.2.3 数据库概念设计数据库概念设计n将需求分析得到的用户需求抽象为信息结构,即概念模型的设计。n通过概念设计得到的概念模型是从现实世界的角度对所要解决的问题的描述,不依赖于具体的硬件环境和dbms。n在需求分析和逻辑设计之间增加概念设计阶段,可以

18、使设计人员仅从用户的角度看待数据及处理要求和约束。处理需求处理需求数据库设计的基本过程数据库设计的基本过程需求分析需求分析概念设计概念设计逻辑设计逻辑设计物理设计物理设计信息需求信息需求需求说明书需求说明书信息结构信息结构逻辑数据库结构逻辑数据库结构( (dbms能处理的能处理的) )应用程序说明书应用程序说明书dbms特性特性硬件、硬件、os特性特性物理数据库结构物理数据库结构规划规划1 对数据库概念模型的要求对数据库概念模型的要求n表达概念设计结果的工具称为概念模型,对概念模型有以下要求:n(1) 有丰富的语义表达能力,能表达用户的各种需求。n(2) 易于交流和理解,从而可以用它和不熟悉计

19、算机的用户交换意见。n(3) 要易于更改。当应用环境和应用要求改变时,概念模型要能很容易的修改和扩充以反映这种变化。n(4) 易于向各种数据模型转换。n按照上述要求,传统的数据模型(网状、层次和关系模型)都不适合作概念模型。n在数据库的概念设计中,通常采用e-r数据模型来表示数据库的概念结构。 e-r数据模型将现实世界的信息结构统一用属性、实体以及它们之间的联系来描述。2 采用采用e-r方法的概念设计步方法的概念设计步骤骤n采用e-r方法进行概念设计,可分为三步进行:(1) 局部e-r模式设计;(2) 全局e-r模式设计;(3) 全局e-r模式的优化和评审。(1) 局部e-r模式设计;需求分析

20、结果需求分析结果确定局部结构范围确定局部结构范围实体定义实体定义联系定义联系定义属性分配属性分配 还有还有局部结构局部结构 待分析?待分析?是是否进入全局进入全局e-r模式设计模式设计图图5-18(2) 全局e-r模式设计;是是否还有冲突?是否还有冲突?局部局部e-r模式模式确定公共实体类确定公共实体类合并两个局部合并两个局部e-r模式模式检查并消除冲突检查并消除冲突 还有还有未合并的局部未合并的局部 模式?模式?否是否进入全局进入全局e-r模式优化模式优化图图5-19(3) 全局e-r模式的优化和评审:n实体类型的合并n冗余属性的消除n冗余联系的消除3 数据库概念设计总结数据库概念设计总结n

21、用e-r数据模型进行概念设计,首先必须根据需求说明,确认实体、联系和属性。n采用e-r方法进行数据库的概念设计,可以分成三步进行:首先设计局部e-r图;然后合并各局部e-r图,并解决可能存在的冲突,得到初步e-r图;最后修改和重构初步e-r图,消除其中的冗余部分,得到最终的全局基本e-r图,即概念模式。n设计全局e-r模式的目的不在于把若干局部e-r模式形式上合并为一个e-r模式,而在于消除冲突使之成为能够被全系统所有用户共同理解和接受的统一的概念模型。在需求分析和逻辑设计之间增加概念设计阶段,使设计人员仅从用户角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。这样做有三个好处:(

22、1) 数据库设计各阶段的任务相对单一化,设计复杂程度得到降低,便于组织管理。(2) 概念模式不受特定dbms限制,也独立于存储安排,因而比逻辑设计得到的模式更为稳定。(3) 概念模式不含具体的dbms所附加的技术细节,更容易为用户所理解,因而能准确反映用户的信息需求。5.2.4 数据库逻辑设计数据库逻辑设计n由于dbms一般采用关系模型,因此数据库的逻辑设计,就是将概念设计中所得到的e-r图转换成等价的关系模式。n概念设计是对客观世界的描述,与实现无关;而逻辑设计依赖于实现的基础dbms。转换规则转换规则dbmsdbms的限制的限制概念结构的概念结构的基本基本e_re_r图图特定特定dbmsd

23、bms模型模型标准 数 据 模标准 数 据 模型型关关, ,层,网层,网图图5-241 关系数据库的逻辑设计过程关系数据库的逻辑设计过程n关系数据库的逻辑设计过程如图所示:是否需要修正?是否需要修正?从从e-r模式导出初始数据库模式模式导出初始数据库模式关系模式规范化关系模式规范化模式评价模式评价以以dbms语法描述语法描述信息需求和处理需求信息需求和处理需求e-r模式模式 dbms特性特性模式修正模式修正是是否否进入物理设计阶段进入物理设计阶段图图5-252 e-r模型转换为关系模型模型转换为关系模型n关系数据据库的逻辑结构由一组关系模关系数据据库的逻辑结构由一组关系模式组成式组成, ,因而

24、从概念结构到关系数据库逻因而从概念结构到关系数据库逻辑结构的转换就是从辑结构的转换就是从e-re-r图转换为关系模图转换为关系模式。具体转换方法将在下一节详述。式。具体转换方法将在下一节详述。5.2.5 物理设计物理设计n目标目标n提高数据库的性能,特别是满足主要应用的性能要求;提高数据库的性能,特别是满足主要应用的性能要求;n有效地利用存储空间;有效地利用存储空间;n物理设计的步骤物理设计的步骤n存储记录结构设计存储记录结构设计 n确定数据存放位置确定数据存放位置 n存取方法的设计存取方法的设计 n完整性和安全性考虑完整性和安全性考虑 n程序设计程序设计 5.2.6 数据库的实现数据库的实现

25、n根据逻辑设计和物理设计的结果,在计算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实现阶段。n实现数据库应做的主要工作n用ddl定义数据库结构;n组织数据入库;n对数据量不大的小型系统(人工)主要工作:筛选数据;转换数据格式;输入数据;校验数据。n对大中型系统(自动)主要工作:筛选数据;输入数据;校验数据;转换数据;综合数据。n编制与调试应用程序;n数据库试运行。n功能测试n性能测试(时空代价) 5.2.7 数据库的运行与维护工作数据库的运行与维护工作n 主要任务:主要任务:n 数据库的转储和恢复数据库的转储和恢复 n 数据库安全性、完整性控制数据库安全性、完整性控制

26、 n 数据库性能的监督、分析和改进数据库性能的监督、分析和改进n 数据库的重组织和重构造数据库的重组织和重构造 5.3.1 er模型概述模型概述n什么是什么是er模型模型ner模型的历史模型的历史ner模型的基本元素模型的基本元素n实体实体n联系联系n属性属性n例子例子实体联系属性er模型图例老师学生教mn学号姓名专业班级职称性别姓名职号连线5.3.2 属性的分类属性的分类n基本属性和复合属性(可否再分)基本属性和复合属性(可否再分)n单值属性和多值属性(对一个实单值属性和多值属性(对一个实体对象是否只能取一个值)体对象是否只能取一个值)n多值属性的处理多值属性的处理n将原来的多值属性用几个新

27、的将原来的多值属性用几个新的单值属性来表示。单值属性来表示。 n将原来的多值属性用一个新的将原来的多值属性用一个新的实体类型表示实体类型表示 n导出属性导出属性n空值空值图5.4 地址属性的层次结构邮政编码省(市)名地 址区 名街 道家庭地址门牌号码图5.5 多值属性的表示零件编码零 件零件名供应商规格进货价格销售价格价格图5.8 导出属性的表示工号职 工姓名基本工资奖金房租实发工资图5.6 多值属性的变换(1)零件编码零 件零件名供应商规格进货价格经销价格代销价格批发价格零售价格图5.7 多值属性的变换(2)零件编码零 件零件名供应商规格进货价格销售性质价格售货价格存在销售价格1n零件编码零

28、件编码5.3.3 联系的设计之一联系的设计之一n 联系集联系集 联系集是联系集是n n(n2n2)个实体集上的数学关系,这些实体集不)个实体集上的数学关系,这些实体集不必互异。如果必互异。如果e1e1,e2,en为为n个实体集,那么联系个实体集,那么联系集集r是是(e1(e1,e2e2,enen)|e1e1 ,e2e2|e1e1 ,e2e2,enenenen的一个子集,而(的一个子集,而(e1e1,e2e2,enen)是一个联系)是一个联系。 n联系的元数联系的元数 一个联系涉及到的实体集个数一个联系涉及到的实体集个数 n联系的连通词联系的连通词 联系涉及到的实体集之间实体对应的方式联系涉及到

29、的实体集之间实体对应的方式 n实体的基数实体的基数 有两个实体集有两个实体集e1e1和和e2e2,e1e1中每个实体与中每个实体与e2e2中有联系实体中有联系实体的数目的最小值的数目的最小值minmin和最大值和最大值maxmax,称为,称为e1e1的基数,的基数,用(用(minmin,maxmax)形式表示)形式表示 问题:运动员根据其得分来排定名次。在名次排列中,排在他前面只有一个人排在他后面也只有一个人 运动员编号姓名性别名次顺序11图5.9 一元联系中的1:1联系 职工之间的上下级联系 职工工号姓名年龄性别领导1n图5.10 一元联系中的1:n联系 工厂的零件之间存在着组合关系,一种零

30、件由许多种子零件组成,而一种零件也可以是其他零件的子零件 零件零件号零件名规格数量组成mn图5.11 一元联系中的m:n联系 某商业集团中,商店、仓库、商品之间的进货联系 图5.12 三元联系中的m:n:p联系 仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货mnp学校里规定每学期学生至少选修1门课程,最多选修6门课程;每门课程至多有50人选修,最少可以没人选修 图5.13 联系的连通词和实体的基数学生课程选课m (1,6)n (0,50)5.3.4 er模型的操作模型的操作包括实体类型、联系类型和属性的包括实体类型、联系类型和属性的分裂、合并、增删等等等等 教师号姓名出生日期

31、职务工资奖金教师(a)教师号姓名出生日期教师不变信息职务工资奖金教师号教师变动信息(b)图5.15 实体类型的垂直分裂教师课程主讲辅导1mnn图5.16 联系类型的分裂教师课程主讲mn(a)(b)图5.17 不合法的合并b(a)aca-cb-caca-b-c(b)b5.3.5 采用采用er方法的数据库概念设计方法的数据库概念设计 之之设计局部设计局部erer模式模式 需求分析结果确定局部结构范围实体定义联系定义属性分配还有局部结构待分析有无进入全局er模式设计图5.18 局部er模式设计范围的划分要自然,易于管理;范围的大小要适度。太小了,会造成局部结构过多,设计过程繁琐,综合困难;太大了,则

32、容易造成内部结构复杂,不便分析 范围之间的界面要清晰,相互影响要小采用人们习惯的划分;避免冗余,在一个局部结构中,对一个对象只取一种抽象形式,不要重复;依据用户的信息处理需求 确定属性的原则: 属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:n的;不同实体类型的属性之间应无直接关联关系。 属性分配的原则: 当多个实体类型用到同一属性时, 一般把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实体类型。 有些属性不宜归属于任一实体类型,只说明实体之间联系的特性 局部模式局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析教师子模块局部er图其他局部模式其他局部模式现

33、有的教学管理系统初步分析系统的对象根据服务种类分析学生子模块导师班级学生组成管理班主任档案材料宿舍住宿归档指导系有参加学会1n111nnn11nmn1具有社会关系1n局部er图其他局部模式其他局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析课程子模块局部er图图5.22 课程管理局部应用分e-r图1教室m1教科书教师担任课程系开设n1学生选修nmn上课pn5.3.5 采用采用er方法的数据库概念设计方法的数据库概念设计 之之设计全局设计全局 erer模式模式无图5.20全局er模式设计 局部er模式确定公共实体类型合并两个局部er模式检查并消除冲突还有未合并的局部模式有还有冲突吗有

34、属性冲突 :如,重量单位有的用公斤,有的用克。 结构冲突 :同一对象在不同应用中的不同抽象 ;同一实体在不同局部er图中属性的个数或次序不同 ;实体之间的联系在不同的局部er图中呈现不同的类型 命名冲突 :属性名、实体名、联系名之间存在同名异义或异名同义冲突5.3.5 采用采用er方法的数据库概念设计方法的数据库概念设计 之全局之全局er模式的优化模式的优化n实体类型的合并实体类型的合并n1:11:1联系的两个实体类型联系的两个实体类型 n具有相同键的实体类型具有相同键的实体类型 n冗余属性的消除冗余属性的消除 n冗余联系的消除:冗余联系的消除:利用规范利用规范化理论中函数依赖的概念消除化理论

35、中函数依赖的概念消除冗余联系冗余联系 例子:三个局部例子:三个局部er图合并成一个图合并成一个er图图11n1p1n1n1n1mmnnnn社会关系具有1nnm1系聘用承接项目参加设置院长学院主管nn111教师评定职称分配工作量111n档案材料归档参加学会1宿舍住宿教科书担任指导课程选修教室上课有1班级学生组成n开设n管理11教师管理1 15.4.1 er图转换成关系模式集的规图转换成关系模式集的规则则n将每个实体类型转换成一个关系模式,实体的属将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模性即为关系模式的属性,实体标识符即为关系模式的键。式的键。er图转换

36、成关系模式集的规则图转换成关系模式集的规则n二元联系类型的转换二元联系类型的转换n若实体间联系是若实体间联系是1:11:1,可以在两个实体类型转换成的两个,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。模式的键和联系类型的属性。 n若实体间联系是若实体间联系是1:n1:n,则在,则在n n端实体类型转换成的关系模端实体类型转换成的关系模式中加入式中加入1 1端实体类型的键和联系类型的属性。端实体类型的键和联系类型的属性。 n若实体间联系是若实体间联系是m:nm:n,则将联系类型也转换成关系

37、模式,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合为两端实体键的组合。er图转换成关系模式集的规则图转换成关系模式集的规则n一元联系类型的转换一元联系类型的转换: :同二元联系同二元联系 n三元联系类型的转换三元联系类型的转换 总是将三元联系类型转换成关系模式,其属性为三端实体总是将三元联系类型转换成关系模式,其属性为三端实体类型的键加上联系类型的属性,而键为三端实体键的组类型的键加上联系类型的属性,而键为三端实体键的组合合。 er模型到关系模型的转换实例模型到关系模型的转换实例职工工号姓名年龄

38、性别领导1n职工(工号,姓名,年龄,性别,经理工号) er模型到关系模型的转换实例模型到关系模型的转换实例零件零件号零件名规格数量组成mn仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货mnp零件(零件号,零件名,规格)组成(零件号,子零件号,数量) 仓库(仓库号,仓库名,地址)商店(商店号,商店名)商品(商品号,商品名)进货(商店号,商品名,仓库号,日期,数量) 5.4.2 采用采用er方法的逻辑设计步骤方法的逻辑设计步骤图5.25 关系数据库的逻辑设计关系模式规范化模式评价是否需要修正从er模式导出初始数据库模式处理需求er模式 dbms特征用dbms语法描述模式修正进入物

39、理设计阶段是否例例1 库存销售信息管理系统的库存销售信息管理系统的er模型及转换模型及转换p车间仓位产品客户销售员存储出库订单入库mnmpmnpmnn库存系统er图车间(车间号,车间名,主任名) 产品(产品号,产品名,单价) 仓位(仓位号,地址,主任名) 客户(客户号,客户名,联系人,电话, 地址,税号,账号)销售员(销售员号,姓名,性别,学历,业绩)实体入库(入库单号,入库量,入库日期,经手人, 车间号,仓位号,产品名)出库(出库单号,出库量,出库日期,经手人,客户号,产品名,仓位号)订单(订单号,数量,折扣,总价,订单日期,产品号,客户号,销售员号) 存储(仓位号,产品号,核对日期,核对员

40、,存储量)联系例例2:公司车队信息系统的公司车队信息系统的erer模型模型 图图5.275.27 公司车队信息系统的公司车队信息系统的er模型模型部门部门车队车队司机司机车辆车辆开销开销维修公司维修公司调用调用报销报销拥有拥有聘用聘用保险保险2保险保险1m1nn1nnnn11保险公司保险公司1n维修维修5.5.1 弱实体弱实体n什么是弱实体什么是弱实体n弱实体的表示方法弱实体的表示方法n包含弱实体的包含弱实体的er图图转换成关系模式转换成关系模式问题:问题:在人事管理系统中,亲属的存在是以职工的存在为前提,即亲属对于职工具有依赖联系,所以说,亲属是弱实体 职 工社会关系具有1ner图职工职工(职工号,职工姓名,性别,年龄) 亲属亲属(职工号,称呼

温馨提示

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

评论

0/150

提交评论