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

下载本文档

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

文档简介

第5章数据库设计数据库设计概述从小型的单项事务处理系统到大型复杂的信息系统大都用先进的数据库技术来保持系统数据的整体性、完整性和共享性。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。数据库设计方法规范设计法中比较著名的有新奥尔良方法,它将数据库设计分为四个阶段:需求收集和分析(了解和归纳用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。数据库设计的基本步骤按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:需求分析;概念结构设计;逻辑结构设计;物理结构设计;数据库实施;数据库运行和维护。设计一个完善的数据库应用系统是不可能一蹴而就的,它往往是上述六个阶段的不断反复。概念结构设计将收集和分析得到的用户需求抽象为概念模型的过程就是概念结构设计。它是整个数据库设计的关键。概念结构的主要特点是:概念结构是依据用户信息建立的,完全独立于实现细节,例如使用的DBMS、应用程序、硬件平台等。能真实、充分反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。易于向关系、网状、层次等各种数据模型转换。概念结构设计的方法使用实体—联系模型(Entity—Relationship,E—R模型)建立概念模型实体—联系模型的主要元素有:实体属性标识符联系概念结构设计步骤确定实体确定实体的属性确定实体的标识属性(关键字)确定实体间的联系和联系类型画出表示概念模型的E-R图(利用相应的建模工具)确定属性间的依赖关系逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

将概念结构转换为关系数据模型并进行优化数据库的物理设计在物理上实现数据库的逻辑设计包括:选用某一DBMS软件,根据逻辑模型创建库和表以及确定表的约束确定可获得最佳性能的数据存贮结构和数据访问方式为系统设计安全保护5.1实体—联系模型的元素1.实体实体实例(实例)—客观世界存在切可相互区别的某一人、物、事。实体—具有相同特征的可区别的实例的集合。实体——表实例——表中一行E—R图中的表示:学生2.属性用来描述实体的特征。实体的一个特征就称为实体的一个属性。属性有属性名,同一个实体的属性名不能重复。实体中不同的实例具有不同的属性值。

学号姓名性别年龄系部学生简单属性和组合属性单值属性和多值属性3.标识符可以用来识别或标识实例的属性或属性组。每个实例在这些属性上具有不同的值。(候选键)一个实体可能有多个标识符,选其中一个做为实体的标识符,并用下划线表出。(主键)4.联系表示实体间的关联。它通常表示一个活动,如订购、选课等。一个订购活动表示了商品、顾客、销售员实体间的关联;一个选课活动表示了学生、课程实体间的关联联系也可以有属性。如选课有选修时间、选修成绩等。学生课程选修选修时间选修成绩mn与联系有关的几个概念最大基数和最小基数参与者部分参与、全部参与联系的元二元联系的类型(1)一对一联系(1:1)(2)一对多联系(1:n)(3)多对多联系(m:n)多元联系两个或两个以上实体之间存在的联系。递归联系同一个实体内部实例之间的联系。也有三种类型数据库设计的过程概念模型设计逻辑数据库设计规范化理论的应用物理数据库设计概念模型设计确定实体确定实体的属性确定实体的标识属性(关键字)确定实体间的联系和联系类型画出表示概念模型的E-R图(利用相应的建模工具)确定属性间的依赖关系合并E-R图表示相同事物的实体名和属性名要统一要消除同名异义和同义异名在不同的局部E-R图中同一实体包含的属性可能有所区别,合并时要统一实体合并E-R图局部E-R图合并为全局E-R图在进行E-R图合并时,要注意消除不一致性和冗余。因此,要特别注意以下一些问题:表示相同事物的实体名和属性名要统一相同的两个实体在不同的E-R图中可能存在着不同的联系合并后得到全局E-R图

整体概念模型内部必须具有一致性,不能有相互矛盾的表述;整体概念模型必须能够准确反映原来的每个局部模型的结构,包括实体、属性和联系等;整体概念模型必须能够满足需求分析阶段所确定的所有要求,这一条实际蕴涵了以上两条。5.2E-R模型转换为关系模型E-R模型是根据用户需求建立的概念模型。而数据库的物理实现依据的是数据模型,关系数据库的实现依据的是关系(数据)模型。所以,需要将E-R模型转换为关系模型。一个关系可用一个关系模式来表示,一个数据库的所有关系模式就构成这个数据库的模式,即数据库的关系模型(逻辑模型)。将E-R模型转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式。E-R图转换规则5.2.1实体的转换一个实体转换为一个关系,实体的属性就是关系的属性,实体的标识符就是关系的主键。在关系模式中,用下划线来表示主键,关系名极其属性名可用对应实体的实体名和属性名。在实际应用中,关系模式中的关系名和属性名往往用英文或拼音表示,以方便程序的编写。例5.1将图5-7中的两个实体转换为两个关系模式解:班主任(教工号,姓名,性别,职称,出生日期)班级(班级编号,系别,专业)注意:①实体中如果有组合属性,要将它分解成简单属性;②实体中如果有多值属性,则把实体分解成两个关系:一个是实体转换得到的关系,其属性是多值属性之外的所有属性;另一个实体的属性是多值属性和原实体标识符。例:图5-2中的实体“教工”有多值属性“家属姓名”,则可转换为以下两个关系:教工(教工号,姓名,性别,出生日期,用户名,域名)教工家属(教工号,家属姓名)5.2.2联系的转换1.二元联系的转换1:1联系的转换方法可以与任意一端对应的关系模式合并,合并后的关系模式属性为:实体A属性+联系属性+实体B的标识符。实体B的标识符在关系模式B中为主键,在关系模式A中为外键。例5.3图5-4a的关系模型学生(学号,姓名,性别,年龄,系别,借书证号)借书证(借书证号,发证日期,有效期)1:n联系的转换方法与n端对应的关系模式合并。例5.4将图5-4b转换为相应关系模型解:E-R图中,1端为宿舍,N端为学生∴将联系与学生关系模式合并学生(学号,姓名,性别,年龄,系别,

宿舍编号)宿舍(宿舍编号,宿舍名称,宿舍地址)M:n联系的转换方法一个m:n联系转换为一个关系模式,这个关系模式的属性为:实体A的标识符+实体B的标识符+联系属性。例5.5图5-4c的关系模型学生(学号,姓名,性别,年龄,系别)课程(课程号,课程名,前修课程号,学分)选课(学号,课程号,成绩)2.多元联系的转换3.递归联系的转换它的三种情况转换与二元联系转换原则相同。为了容易理解,暂时将同一个实体看成两个实体。先转换成两个相同关系:公民(身份证号)再根据1:1转换原则,将实体B的标识符加到关系模式A的属性中,为避免属性名重复,将B的标识符名改为被赞助人身份证号。∴关系模式为公民(身份证号,被赞助人身份证号)公民公民赞助5.2.3弱实体与转换1.弱实体——这种实体在数据库中存在的情况依赖于其它实体的存在。2.强实体(实体)——不是弱实体的实体。例:职工和家属两个实体,家属实体的存在依赖职工实体。当职工调离,则该职工的家属要删除。弱实体在E-R图中用双线矩形框表示,与之的联系用双线菱形框表示。家属职工拥有3.ID依赖型弱实体这种弱实体的物理存在依赖于实体。如,“宿舍楼”与“房间”这两个实体。4.弱实体的转换也可转换为关系,但在关系中要加入强实体的标识符。弱实体转换后得到的关系,其主键为强实体标识符加弱实体标识符组成。

如上图转换后的关系模式为:职工(职工号,姓名)家属(职工号,家属姓名,家属关系)逻辑数据库设计

将E-R图中的实体和联系转换为关系模式

确定各个关系模式的主关键字,考虑实体完整性确定各个关系模式的外部关键字,考虑参照完整性确定各个关系模式中属性的约束、规则和默认值,考虑域完整性考虑特殊的用户定义完整性根据用户需求设计视图考虑安全方案和用户使用权限等

规范化理论的应用对关系数据库来说,逻辑数据库设计的结果是一组关系模式。为了提高数据库的设计质量,需要应用关系规范理论对这些关系模式进行规范化处理,即通过模式分解使关系达到较高的范式(至少达到第三范式)。物理数据库设计估算数据库的数据存储量安排数据库的存储设计索引设计备份策略其他在物理数据模型中可以定义的内容指定目标数据库定义表定义关键字定义视图定义列定义域定义约束规则定义索引定义触发器定义参照联系定义扩展属性数据库设计工具PowerDesignerPowerDesigner简介概念数据库设计物理数据库设计建立数据库PowerDesigner简介PowerDesigner的主要模块概念数据模型(ConceptualDataModel)物理数据模型(PhysicalDataModel)面向对象模型(Object-OrientedModel)业务处理模型(BusinessProcessModel)CDM和PDM可以完成的工作可以使用E-R图建立概念数据模型(CDM)可以针对特定的数据库管理系统生成物理数据模型(PDM)可以定制PDM,以适应物理和性能上的考虑可以生成目标数据库管理系统的建立数据库的脚本可以生成参照完整性触发器(如果目标数据库支持)可以定制和打印模型的文档报告可以对已经存在的数据库和应用实施逆向工程可以为PDM对象定义扩展属性使用PowerDesigner设计数据库的处理流程设计概念数据模型由概念数据模型(CDM)生成初步的物理数据模型(PDM)在生成的物理数据模型中完成物理数据库设计生成创建目标数据库的脚本甚至可以直接创建目标数据库使用PowerDesigner完成逆向操作的处理流程连接到目标数据库由目标数据库生成物理数据模型由物理数据模型生成概念数据模型概念数据库设计建立概念数据模型的常规操作包括:定义实体定义实体的属性定义联系概念数据模型设计界面中的工具板其中的命令按钮大致可以分为三类:设计E-R图的实体、联系、继承和属性等概念数据模型中的要素点取、套取、抓取、放大、缩小、剪裁等编辑手段和工具文本、直线、矩形、椭圆形、圆角矩形、任意形状、多边形等辅助信息和符号一个简单的概念数据模型疑问:在职工实体中没有包含仓库号属性,在订购单实体中没有包含职工号和供应商号属性

这些1:n联系使用的符号不完全一样

多个实体之间的联系物理数据库设计一般根据概念数据模型生成物理数据模型,然后再进行一些必要的物理设计和补充。在生成物理数据模型时需要指定目标数据库和PDM文件名。物理数据模型设计界面中的工具板其中的命令按钮大致可以分为三类:表、视图、参照、属性等物理数据模型中的要素点取、套取、抓取、放大、缩小、剪裁等编辑手段和工具文本、直线、矩形、椭圆形、圆角矩形、任意形状、多边形等辅助信息和符号

温馨提示

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

评论

0/150

提交评论