《数据库系统教程--第5章+数据库设计和er模型》由会员分享,可在线阅读,更多相关《数据库系统教程--第5章+数据库设计和er模型(43页珍藏版)》请在金锄头文库上搜索。
1、第五章 数据库设计和ER模型本章重要概念 (1)DBS生存期及其7个阶段的任务和工作, DBD过程的输入和输出。 (2)概念设计的重要性、主要步骤。逻辑设计 阶段的主要步骤。 (3)ER模型的基本元素,属性的分类,联系的 元数、连通词、基数。采用ER方法的概念设 计步骤。 (4)ER模型到关系模型的转换规则。采用ER 方法的逻辑设计步骤。 (5)ER模型的扩充:弱实体,超类和子类。 主要内容和学习要求n数据库设计概述(了解)n数据库设计的全过程(领会)n ER模型 (综合应用)n ER模型到关系模型的转换 (综合应用 )nER模型实例分析 (理解)nER模型的扩充 (理解)n小结 5.1 数据
2、库设计概论之一n软件工程人们认为,应该用科学知识、工程方面的纪律指导软件开 发的过程,以提高软件质量和开发效率,降低开发成本 。n软件生存期 从软件的规划、研制、实现、投入运行后的维护,直到它被 新的软件所取代而停止使用的整个期间。n数据库工程 n数据库系统生存期 数据库应用系统从开始规划、设计、实现、维护到最后被新 的系统取代而停止使用的整个期间。 n数据库设计的输入输出隶属关系规划需求分析系统设计 程序编制 调试 运行维护 运行和维护 实现 物理设计逻辑设计概念设计需求分析规划软件生存期数据库生存期处理需求DBMS特征总体信息需求第5步 物理设计第3步 概念设计第4步 逻辑设计第1步 规划
3、第2步 需求描述和分析硬件和 OS特征物理数据库结 构需求说明书信息结构 (独立于硬件、软件)逻辑数据库结构 (DBMS能处理的) 应用程序说明书数据库设 计的输入 输出主要内容n5.1 数据库设计概述n5.2 数据库设计的全过程n5.3 ER模型n5.4 ER模型到关系模型的转换n5.5 ER模型实例分析n5.6 ER模型的扩充n小结 5.2.1 规划阶段n目标n规划阶段的三个步骤n系统调查:对企业组织作全面的调查,画出组织层次图,以了 解企业的组织结构n可行性分析从技术、经济、效益、法律等族方面对建立数据库 的可行性进行分析;写出可行性分析报告;组织专 家进行讨论其可行性n确定数据库系统的
4、总目标和制定项目开发计 划5.2.2 需求分析n目标n需求分析工作n分析用户活动产生,产生业务流程图n确定系统范围,产生系统范围图n分析用户活动涉及的数据,产生数据流图n分析系统数据,产生数据字典5.2.3 概念设计n目标n为什么需要概念设计n概念设计的主要步骤n进行数据抽象,设计局部概念模式n将局部概念模式综合成全局概念模式n评审图5.2 数据库的各级模式应用1应用3应用2概念模式概念要求概念要求概念要求应用1应用3应用2逻辑模式内模式外模式3外模式2外模式1综合转换映像映像5.2.4 逻辑设计n目标n逻辑设计步骤导出初始DBMS模式说明概念模式子模式设计应用程序设计草图模式评价处理结 束模
5、式需要修 正模式修正进入物理设计阶段返回到前面阶段图5.3 逻辑设计步骤是 是 否否5.2.5 物理设计n目标n什么是数据库的物理结构n物理设计的步骤n存储记录结构设计 n确定数据存放位置 n存取方法的设计 n完整性和安全性考虑 n程序设计 5.2.6 数据库的实现n目标n实现数据库应做的主要工作n用DDL定义数据库结构;n组织数据入库;n对数据量不大的小型系统(人工) 主要工作:筛选数据;转换数据格式;输入数据;校验数据 。n对大中型系统(自动) 主要工作:筛选数据;输入数据;校验数据;转换数据;综 合数据。n编制与调试应用程序;n数据库试运行。n功能测试n性能测试(时空代价) 5.2.7
6、数据库的运行与维护工 作n 数据库的转储和恢复 n 数据库安全性、完整性控制 n 数据库性能的监督、分析和改进n 数据库的重组织 和重构造 主要内容n5.1 数据库设计概述n5.2 数据库设计的全过程n5.3 ER模型n5.4 ER模型到关系模型的转换n5.5 ER模型实例分析n5.6 ER模型的扩充n小结 5.3.1 ER模型概述n什么是ER模型nER模型的历史nER模型的基本元素n实体n联系n属性n例子实体联系属性ER模型图例老 师学 生教mn学号姓名专业班级职称性别姓名职号5.3.2 属性的分类n基本属性和复合属性(可否再 分)n单值属性和多值属性(对一个 实体对象是否只能取一个值)n多
7、值属性的处理n将原来的多值属性用几个新的 单值属性来表示。 n将原来的多值属性用一个新的 实体类型表示 n导出属性n空值图5.4 地址属性的层次结构邮政编码省(市) 名地 址区 名 街 道家庭地址门牌号码图5.5 多值属性的表示零件编码零 件零件名供应商规格进货价格销售价格价 格图5.8 导出属性的表示工号职 工姓名基本工资奖金房租实发工资图5.6 多值属性的变换(1)零件编码零 件零件名供应商规格进货价格经销价格代销价格批发价格零售价格图5.7 多值属性的变换(2)零件编码零 件零件名供应商规格进货价格销售性质价 格售货价格存在销售价格1N零件编码5.3.3 联系的设计之一n 联系集 联系集
8、是n(n2)个实体集上的数学关系,这些实体集 不必互异。如果E1,E2,En为n个实体集,那么联 系集R是(e1,e2,en)|e1E1 ,e2E2, enEn的一个子集,而(e1,e2,en)是一个联 系。 n联系的元数 一个联系涉及到的实体集个数 n联系的连通词 联系涉及到的实体集之间实体对应的方式 n实体的基数 有两个实体集E1和E2,E1中每个实体与E2中有联系实 体的数目的最小值min和最大值max,称为E1的基 数,用(min,max)形式表示 问题:运动员根据其得分来排定名次 。在名次排列中,排在他前面只有一 个人排在他后面也只有一个人 运动员编号姓名性别名次顺序11图5.9 一
9、元联系中的1:1联系 职工之间的上下级联系 职工工号姓名年龄性别领导1N图5.10 一元联系中的1:N联系 工厂的零件之间存在着组合关系,一 种零件由许多种子零件组成,而一种 零件也可以是其他零件的子零件 零件零件号零件名规格数量组成MN图5.11 一元联系中的M:N联系 某商业集团中,商店、仓库、 商品之间的进货联系 图5.12 三元联系中的M:N:P联系 仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货MNP学校里规定每学期学生至少选修1门课程, 最多选修6门课程;每门课程至多有50人选 修,最少可以没人选修 图5.13 联系的连通词和实体的基数学生课程选课M (1,6)N
10、 (0,50)5.3.4 ER模型的操作包括实体类型、联系类型和属性的分裂、合并、增删等等 教师号姓名出生日期职务工资奖金教师(a)教师号姓名出生日期教师不变信息职务工资奖金教师号教师变动信息(b)图5.15 实体类型的垂直分裂教师课程主讲辅导1MNN图5.16 联系类型的分裂教师课程主讲MN(a)(b)图5.17 不合法的合并B(a)ACA-CB-CACA-B-C(b)B5.3.5 采用ER方法的数据库概念设计之设计局部ER模式 需求分析结果确定局部结构范围实体定义联系定义属性分配还有局部 结构待分 析有无进入全局ER模式设计图5.18 局部ER模式设计范围的划分要自然, 易于管理;范围的大
11、小要适度。太小 了,会造成局部结构过多 ,设计过程繁琐,综合困 难;太大了,则容易造成内部结构复杂,不便分析 范围之间的界面要清晰 ,相互影响要小采用人们习惯的划分;避免冗余,在一个局部结 构中,对一个对象只取一 种抽象形式,不要重复;依据用户的信息处理需求 确定属性的原则:属性应该是不可再分解的语义 单位;实体与属性之间的关系只能 是1:N的;不同实体类型的属性之间 应无直接关联关系。 属性分配的原则:当多个实体类型用到同一属性时 , 一般把属性分配给那些使用频 率最高的实体类型,或分配给实体值 少的实体类型。有些属性不宜归属于任一实体类 型,只说明实体之间联 系的特性 局部模式现有的教学
12、管理系统初步分析系 统的对象根据服务种 类分析教师 子模块 局部ER图其他局部模式现有的教学 管理系统初步分析系 统的对象根据服务种 类分析学生 子模块图5.21 学籍管理局部应用的分E-R图导师班级学生组 成管 理班主任档案材料宿舍住 宿归 档指 导系有参 加学会1N111NNN11NMN1具 有社会关系1N局部ER图其它局部模式现有的教学 管理系统初步分析系 统的对象根据服务种 类分析课程 子模块局部ER图图5.22 课程管理局部应用分E-R图1教室M1教科书教师担任课程系开设N1 学生选修NMN上课PN5.3.5 采用ER方法的数据库概念设计之设计全局 ER模式无图5.20全局ER模式设
13、计局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突还有未合 并的局部 模式有还有冲突吗有属性冲突 :如,重量单位 有的用公斤,有的用克。 结构冲突 :同一对象在不 同应用中的不同抽象 ;同 一实体在不同局部ER图中 属性的个数或次序不同 ; 实体之间的联系在不同的 局部ER图中呈现不同的类 型 命名冲突 :属性名、实体 名、联系名之间存在同名 异义或异名同义冲突5.3.5 采用ER方法的数据库概念设计之全局ER模式的优化n实体类型的合并n1:1联系的两个实体类 型 n具有相同键的实体类型 n冗余属性的消除 n冗余联系的消除:利用 规范化理论中函数依赖的 概念消除冗余联系 例子:三
14、个局部ER图合并成一个ER图1图5.24 合并后的教学管理E-R图1N1P1N1N1N1MMNNNN社会关系具有1NNM1 系聘用承接项目参加设置院长学院主管NN111教师评定职称分配工作量111N档案材料归档参加学会1宿舍住宿教科书担任指导课程选修教室上课有1班级学生组成N开设N管理11教师管理11主要内容n5.1 数据库设计概述n5.2 数据库设计的全过程n5.3 ER模型n5.4 ER模型到关系模型的转换n5.5 ER模型实例分析n5.6 ER模型的扩充n小结 5.4.1 ER图转换成关系模式集的 规则n将每个实体类型转换成一个关系模式,实体的属性即为关系模 式的属性,实体标识符即为关系
15、模式的键n二元联系类型的转换n若实体间联 系是1:1,可以在两个实体类型转换 成的两个关系模式中 任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属 性。 n若实体间联 系是1:N,则在N端实体类型转换 成的关系模式中加入1端 实体类型的键和联系类型的属性。 n若实体间联 系是M:N,则将联系类型也转换 成关系模式,其属性为两 端实体类型的键加上联系类型的属性,而键为 两端实体键的组合 n一元联系类型的转换:同二元联系 n三元联系类型的转换 总是将三元联系类型转换 成关系模式,其属性为三端实体类型的键加上 联系类型的属性,而键为 三端实体键的组合。 ER模型到关系模型的转换实例运动员
16、编号姓名性别名次顺序11职工工号姓名年龄性别领导1N运动员(编号,姓名,性别,名次,上一名次编号,下一名次编号) 职工(工号,姓名,年龄,性别,经理工号) ER模型到关系模型的转换实例零件零件号零件名规格数量组成MN仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货MNP零件(零件号,零件名,规格)组成(零件号,子零件号,数量) 仓库(仓库号,仓库名,地址)商店(商店号,商店名)商品(商品号,商品名)进货(商店号,商品名,仓库号,日期,数量) 5.4.2 采用ER方法的逻辑设计步骤图5.25 关系数据库的逻辑设计关系模式规范化模式评价是否需要修正从ER模式导出 初始数据库模式处理需求ER模式 DBMS特征用DBMS语法描述模式修正进入物理设计阶段是否主要内容n5.1 数据库设计概述n5.2 数据库设计的全过程n5.3 ER模型n5.4 ER模型到关系模型的转换n5.5 ER模型实例分析n5.6 ER模型的扩充n小结 例1 库存销售信息管理系