资源预览内容
第1页 / 共72页
第2页 / 共72页
第3页 / 共72页
第4页 / 共72页
第5页 / 共72页
第6页 / 共72页
第7页 / 共72页
第8页 / 共72页
第9页 / 共72页
第10页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
清华大学计算机科学与技术系第四单元 数据库设计宋佳兴 计算机系网络所 jxsongtsinghua.edu.cn清华大学计算机科学与技术系主要内容数据库设计概述概念模型的设计逻辑模型的设计关系模式的规范化处理Page2清华大学计算机科学与技术系数据库设计概述什么是数据库设计数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(包括数据要求和处理要求)。Page3清华大学计算机科学与技术系数据库设计概述数据库设计的基本步骤需求分析阶段概念模型设计阶段逻辑模型设计阶段数据库物理设计阶段数据库实施阶段数据库运行和维护阶段Page4清华大学计算机科学与技术系Page5不满意不满意概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行和维护阶段应用要求、DBMS 详细特征应用需求(数 据、处理)转换规则、DBMS 功能、优化方法需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构评价设计,性能预测物理实现试验性运行使用、维护数据库需求分析阶段不满意数据库设计概述数 据 库 设 计 基 本 步 骤清华大学计算机科学与技术系数据库设计概述需求分析阶段进行数据库设计首先必须准确了解与分析用户需求,包括数据与处理需求。需求分析是整个设计过程的基础,是最困难、最耗时的一步。作为“地基”的需求分析是否做得充分与准确,决定了在其上构建“数据库大厦”的速度与质量。需求分析做得不好,可能会导致整个数据库重新设计,因此,务必引起高度重视。Page6清华大学计算机科学与技术系数据库设计概述概念模型设计阶段在概念设计阶段,设计人员仅从用户角度看待数据及其 处理要求和约束,产生一个反映用户观点的概念模式。概念模式能充分反映现实世界中实体间的联系,又是各 种基本数据模型的共同基础,易于向关系模型转换。这 样做有以下好处。数据库设计各阶段的任务相对单一化,使得设计复杂程度得到 降低,便于组织管理。 概念模式不受特定DBMS的限制,也独立于存储安排,因而比 逻辑设计得到的模式更为稳定。 概念模式不含具体的DBMS所附加的技术细节,更容易为用户 所理解,因而能准确地反映用户的信息需求。Page7清华大学计算机科学与技术系数据库设计概述逻辑模型设计阶段逻辑模型设计阶段的任务是将概念模型设计阶段得到的 概念模式,转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。如果是采用基于E-R模型的数据库设计方法,那么该阶 段就是将所设计的E-R模型转换为某个DBMS所支持的数据模型。如果采用用户视图法,那么应进行表的规范化,列出所 有的关键字以及用数据结构图描述表集合中的约束与联 系,汇总各用户视图的设计结果,将所有的用户视图合 成一个复杂的数据库系统。Page8清华大学计算机科学与技术系数据库设计概述数据库物理设计阶段物理设计可分五步完成,前三步涉及到物理结构设计, 后两步涉及到约束和具体的程序设计。存储记录结构设计:包括记录的组成、数据项的类型、长度, 以及逻辑记录到存储记录的映射。确定数据存放位置:可以把经常同时被访问的数据组合在一起 ,“记录聚簇(cluster)”技术能满足这个要求。存取方法的设计:存取路径分为主存取路径及辅存取路径,前 者用于主键检索,后者用于辅助键检索。完整性和安全性考虑:设计者应在完整性、安全性、有效性和 效率方面进行分析,作出权衡。应用程序设计:在逻辑数据库结构确定后,应用程序设计就应 当随之开始。Page9清华大学计算机科学与技术系数据库设计概述数据库实施阶段根据逻辑设计和物理设计的结果,在计算机系统上建立 起实际数据库结构、装入数据、测试和试运行的过程称 为数据库的实施阶段。实施阶段主要有三项工作。建立实际数据库结构。对描述逻辑设计和物理设计结果的程序 即“源模式”,经DBMS编译成目标模式并执行后,便建立了实 际的数据库结构。装入试验数据对应用程序进行调试。试验数据可以是实际数据 ,也可由手工生成或用随机数发生器生成。应使测试数据尽可 能覆盖现实世界的各种情况。装入实际数据,进入试运行状态。测量系统的性能指标,是否 符合设计目标。如果不符,则返回到前面,修改数据库的物理 模型设计甚至逻辑模型设计。Page10清华大学计算机科学与技术系数据库设计概述数据库运行和维护阶段数据库系统正式运行,标志着数据库设计与应用开发工 作的结束和维护阶段的开始。运行维护阶段的主要任务有四项:维护数据库的安全性与完整性:检查系统安全性是否受到侵犯 ,及时调整授权和密码,实施系统转储与备份,发生故障后及 时恢复。监测并改善数据库运行性能:对数据库的存储空间状况及响应 时间进行分析评价,结合用户反应确定改进措施。根据用户要求对数据库现有功能进行扩充。及时改正运行中发现的系统错误。Page11清华大学计算机科学与技术系主要内容数据库设计概述概念模型的设计逻辑模型的设计关系模式的规范化处理Page12清华大学计算机科学与技术系概念模型的设计Page13概念模型信息世界现实世界中客观对象的抽象过程现实世界认识 抽象DBMS支持的逻辑模型DBMS支持的物理模型逻辑机器世界物理机器世界清华大学计算机科学与技术系概念模型的设计概念模型(信息模型)概念模型是一种面向客观世界、面向用户的模型,是一 种独立于计算机系统的数据模型,完全不涉及数据在计 算机中的表示,只是用来描述某个特定组织所关心的信 息结构,即按用户的观点对数据和信息建模。概念模型的表示方法较多,其中最常用的是美籍华人 P.S.Chen(陈平山)于1976年提出的实体-联系方法( Entity-Relationship Approach)。该方法直接将现实世界中的事物及其之间的联系抽象为实体类型和实体间联 系,然后用实体联系图(E-R图)表示数据模型。E-R方 法也称为E-R模型。Page14清华大学计算机科学与技术系概念模型的设计E-R模型的术语 实体(Entity)客观存在并可相互区别的事物称为实体,现实世界由各种各样 的实体组成。实体可以是具体的人、事、物,也可以是抽象的 概念或联系。例如,一个职工、一个部门、一种物资、仓库的一次订货、文 化艺术、职工与部门的关系(即某个职工在某部门工作)等等 都是实体。 属性(Attribute)实体所具有的某一特性称为属性。一个实体常具有多个属性, 但在数据库设计中只选择数据管理所需要的属性,而不是全部 属性。Page15清华大学计算机科学与技术系概念模型的设计E-R模型的术语 实体标识符(Identifier)能惟一标识实体的属性或属性集,称为实体标识符,也称为码 或者键(Key)等。例如,学号是学生实体的标识符。 域(Domain)属性的取值范围称为该属性的域。例如,属性性别的域为(男,女)。 实体型(Entity Type)具有相同属性的实体,一定具有共同的特征和性质。用实体名 及其属性集合描述的同类实体,称为实体型。例如,学生(学号,姓名,年龄,性别,专业)就是实体型。Page16清华大学计算机科学与技术系概念模型的设计E-R模型的术语 实体集(Entity Set)同型实体的集合称为实体集。例如,全班学生就是一个实体集。 联系(Relationship)现实世界中,事物内部以及事物之间是有联系的。这些联系在 信息世界中反映为实体内部的联系和实体之间的联系。一个实体内部的联系指组成实体的各属性之间的联系,而实体 间的联系指实体之间的相互关联。如果参与联系的实体集数目为n,则称这种联系为n元联系。例如,有一元联系、二元联系、三元联系等。Page17清华大学计算机科学与技术系概念模型的设计E-R模型的表示 E-R模型用E-R图表示,E-R图的基本表示方法如下:实体型:用矩形表示,矩形框内标明实体名。属性:用椭圆形表示,并用无向边将属性与其相应的实 体相连。联系:用菱形表示,菱形框内标出联系名,并用无向边 与有关实体相连,同时在无向边旁标上联系的类型。Page18清华大学计算机科学与技术系概念模型的设计E-R模型的表示Page19清华大学计算机科学与技术系概念模型的设计实体集之间的联系类型先考察两个实体集之间的联系,可分为三类:1:1联系,即1对1联系1:N联系,即1对多联系M:N联系,即多对多联系Page20清华大学计算机科学与技术系概念模型的设计1:1联系 已知实体集A和B,若其中每个实体集中任一实体至多与 另一实体集中的一个实体有联系,则称A和B的联系为“1 对1联系”,简记为1:1联系。Page21学校校长管理档案学生归档 1111清华大学计算机科学与技术系概念模型的设计1:N联系 已知实体集A和B,若A中每个实体可与B中任意个实体 有联系,而B中每个实体至多与A中的一个实体有联系, 则称A和B的联系为“1对多联系”,简记为1:n联系。Page22学校教师工作班级学生学习n1n1清华大学计算机科学与技术系概念模型的设计M:N联系 已知实体集A和B,若其中每个实体集中任一实体可与另 一实体集中的多个实体有联系,则称A和B的联系为“多 对多联系”,简记为m:n联系。课程学生选修课程教师任课Page23nmnm清华大学计算机科学与技术系概念模型的设计实体集之间的联系类型 类似地,我们可以定义多个实体集(三个或三个以上) 之间的各种联系,也可以定义同一实体集中不同个体之 间的联系。例如:有三个实体型:供应商、项目和零件。有如下图 所示联系。Page24供应商项目供应零件nmp清华大学计算机科学与技术系概念模型的设计实体集之间的联系类型例如:同一实体集内各实体间联系。如职工实体集内部具有领导与被领导的联系。如下图所示。Page25职工领导清华大学计算机科学与技术系概念模型的设计子类的设计 子类:定义类型之间的一种子集关系。它抽象了类型之 间的“is a”的语义联系。例如:Page26isa学生年龄性别所属系学号姓名本科生学号班级班主任isa研究生学号研究方向指导老师清华大学计算机科学与技术系概念模型的设计简单E-R模型的设计确定实体类型。确定实体间联系类型。根据实体类型和联系类型画出E-R图。确定实体类型和联系类型的属性。Page27清华大学计算机科学与技术系概念模型的设计教学管理系统E-R图实例Page28班级指导本科生学号班主任课程课号课名学分系名称编号办公地点教师工号名字年龄职称选课成绩工作进校日期学习入学日期isaisa学生年龄性别专业学号姓名研究生学号研究方向1nm nm任课工作量n1nn1时间清华大学计算机科学与技术系概念模型的设计复杂E-R模型的设计设计局部E-R模型将各个局部E-R模型,综合成全局E-R模型全局E-R模型优化设计局部E-R模型其实质是将大系统进行分解,使其成为逻辑功能相对独 立的一些局部问题,先分别对每个局部模式进行设计, 建立各局部的E-R模型,然后以各局部的E-R模型为基础 进行集成。Page29清华大学计算机科学与技术系概念模型的设计将各个局部E-R模型,综合成全局E-R模型 合并过程主要解决各局部E-R图之间的冲突。属性冲突:即属性值的类型、取值范围或取值集合不同 。例如:有的E-R图中将日期作为日期型,有的定义为 字符型。命名冲突:不同意义的对象在不同的局部应用中具有相 同的名字,或同一意义的对象在不同的局部应用中具有 不同的名字。结构冲突:同一对象在不同应用中具有不同抽象。在某 一局部应用中当作实体,而在另一局部应用中则当作属 性。或同一实体在不同局部E-R图中所包含的属性个数 不同。Page30清华大学计算机科学与技术系概念模型的设计全局E-R模型优化尽可能进行相关实体类型的合并,以减少实体类型的个数;尽可能消除实体中的冗余属性;尽可能消除实体间的冗余联系类型。 Page31清华大学计算机科学与技术系主要内容数据库设计概述概念模型的设计逻辑模型的设计关系模式的规范化处理Page32清华大学计算机科学与技术系逻辑模型的设计E-R模型向关系模型转换E-R模型向关系
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号