数据库系统设计的步骤_第1页
数据库系统设计的步骤_第2页
数据库系统设计的步骤_第3页
数据库系统设计的步骤_第4页
数据库系统设计的步骤_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

第3章数据库系统设计的步骤和方法概念结构的设计数据库逻辑结构的设计数据库的物理设计

本章节是课程的最重要内容。数据库系统设计包括数据库设计和数据库应用系统设计。而数据库设计正确与否直接影响到应用系统的成败。本章要介绍数据库系统设计的基本理论和方法。主要包括:9/22/2023目标:建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库模式。内容:数据库的逻辑结构设计、外模式设计和内设计。

其中数据库的逻辑结构设计最关键。3.1数据库系统设计概述3.1.1数据库系统设计的内容9/22/2023将现实世界中的事物、事物间的联系用E-R图表示,得出数据库的概念结构模型,最后将该模型转化为数据库的逻辑结构模型表示。1.逻辑结构设计9/22/2023确定数据库用户的行为和动作,并根据其行为特性设计出用户数据库。2.外模式设计3.内模式设计在选定的DBMS环境下,把数据库的逻辑结构模型加以物理实现,设计出数据库的存储模式和存取方法。9/22/2023数据库设计应分6个阶段进行:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。3.1.3数据库系统设计方法9/22/20233.1.4数据库设计的基本步骤需求分析调查和分析用户的应用需求,主要包括:业务规则、完整性约束条件、事务处理和安全性要求等。把概念结构设计转换成所选择的DBMS支持的数据模型。为数据模型在设备上选定合适的存储结构和存取方法建立数据库,装载数据,编制程序性能监测、数据转储与恢复、安全控制数据库实施数据库运行与维护表达出一个组织环境中信息需求的概念模型,明确描述出业务环境数据需求和数据之间的联系数据库物理设计逻辑结构设计概念结构设计9/22/20233.2系统需求分析主要任务是:

详细调查现实世界要处理的对象(组织、部门、企业等);充分了解原系统(手工系统或计算机系统)的概况和发展前景;明确用户的各种需求;收集支持系统目标的基础数据及其处理方法;确定系统的功能。系统需求分析出的内容:要保存的数据数据处理内容数据安全性和完整性要求9/22/2023设计方法的自顶向下的需求分析(从全局到局部)自底向上的概念结构设计(从局部到全局)3.3概念结构的设计3.3.1概念结构的特点及设计方法概念模型的特点:是对现实世界的一个真实模型容易理解容易修改容易向数据模型转换设计方法:9/22/2023XX公司管理信息系统人员管理工程管理材料管理………入库管理出库管理工程管理ER图人员管理ER图入库管理ER图出库管理ER图材料管理ER图XX公司管理ER图9/22/20233.3概念结构的设计

3.3.2数据抽象与局部ER设计数据抽象是从实际的人、物、事和概念中抽取所关心的、本质的共同特性。把这些特性用各种概念精确地加以描述,这些概念组成了某种模型什么叫数据抽象?数据抽象的三种基本方法:分类、聚集、和概括。利用数据抽象方法,可以对现实世界抽象得出概念模型的实体集和属性。9/22/2023(1)分类定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为。3.3概念结构的设计

3.3.2数据抽象与局部视图设计1.三种数据抽象方法实体集的抽象9/22/2023定义某一类型的组成部分,它抽象了对象类型和对象内部“组成部分”的语义。(2)聚集属性的抽象职工(职工号,姓名,性别,部门)部门(部门号,部门名,电话)9/22/2023定义类型之间的一种子集联系,它抽象了类型之间的“所属”的语义。(3)概括车辆客车货车超类子类超类与子类的抽象。9/22/20232设计分E-R图(1)选择局部应用自顶向下的需求分析,得到每一个局部应用,对每一个局部应用设计E-R图。(2)局E-R图的设计确定局部应用中实体集和实体集之间的联系。9/22/2023如何确定实体集和属性?实体集与属性是相对而言的,同一事物在某个环境中是属性,在另一个环境中可能就是实体集。确定实体集和属性的原则:(1)属性不能再具有描述特性(2)属性不能与其他实体集发生联系(3)在满足处理问题的要求前提下,尽量减少实体集,能作属性时不要作为实体集。例如:教学管理中:教师(职工编号,姓名,年龄,职称)工资管理中:职称(职称代号,名称,职称工资)9/22/2023名称类别性质属性不能再具有描述特性(1)姓名性别工种职工姓名性别工种职工是名称类别性质n19/22/2023姓名性别部门职工编号名称电话属性不能再具有描述特性(2)姓名性别部门职工属于编号电话名称n19/22/2023属性不能与其他实体集发生联系劳保用品发放品名规格姓名性别工种职工nm劳保用品发放品名规格姓名性别工种职工nm9/22/2023在满足处理问题的要求前提下,尽量减少实体集(1)国名国歌国徽国家首都如果有首都名就可以满足处理了,就….首都是首都名面积国名国歌国徽国家人口119/22/2023在满足处理问题的要求前提下,尽量减少实体集(2)职称具有编号名称姓名性别年龄职工职称工资姓名性别年龄职工职称如果有职称名就可以满足处理了,就….n19/22/2023派生属性(衍生属性)工资=基本工资+等级工资+效益工资工号姓名效益工资职工基本工资等级工资工资是否使用派生属性,取决于某一种应用处理需求派生属性9/22/2023多值属性价格:经销、代销、批发、零售产品名规格产品价格产品号9/22/2023(1)在原实体集中增加属性,使这些属性是该多值属性的组成部分优点:没有增加新的实体集缺点:不适应处理上的变化经销产品名规格产品零售代销批发产品号9/22/2023(2)建立一个新的实体集,原来的多值属性上升为实体集优点:适应处理上的变化缺点:增加了新的实体集产品名规格产品类型价格销售价格有产品号产品号新实体集的属性包括原实体集的主码和多值属性.与原实体集之间具有1:N联系,新实体集依赖原实体集而存在,所以新实体集是一个弱实体集.1n9/22/2023ER图设计实际例题公司管理工程管理人事管理财务管理合同管理……..该公司有若干技术部,每一技术部门承担多个工程,每个工程是部门负责制。每一个工程属于一个客户,一个客户可能有多个工程,一名员工可能参与多个工程,每一个工程有多名员工参与。选择局部应用(1):XX公司管理-工程管理在工程管理中数据库需保存的主要信息有:工程号、工程名、工程负责部门、完成期限、用户信息、每项工程职工的参与,职工参与工程的工作量。9/22/2023局部ER图设计实际例题选择局部应用:XX公司管理-工程管理工程号工程名客户名工期部门名员工名承担工程……根据处理的需要:部门需要描述吗?客户需要描述吗?员工名需要描述吗?9/22/2023工程号性别MN工程名工期员工工程参与部门名员工号员工名一名员工可能参与多个工程,每一个工程有多名员工参与。工程号工程名部门名承担工程工期工时9/22/2023工程号工程名工期部门名承担工程N1工程号电话工程名工期客户工程属于部门名客户号客户名每一个工程属于一个客户,一个客户可能有多个工程9/22/2023工时工程号性别MN工程名工期员工工程参与部门名员工号员工名电话N1客户属于客户号客户名9/22/2023实体集:工程(工程号,工程名,工期,部门名)员工(员工号,员工名,性别)客户(客户号,客户名,电话)联系:参与(工时)属于MN员工工程参与N1客户属于工程管理E-R图(1)9/22/2023该公司有多个部门,每个部门有多个职工,每一名职工属于一个部门。一名职工可能有多种技能,同一种技能有很多员工具备。选择局部应用(2):XX公司管理-人员管理在人员管理中数据库需保存的主要信息主要有:职工基本信息、所属部门,具备的技能与技术等。职工号职工名部门名性别年龄技能职工……9/22/2023职工技能具有MN聘用1N部门实体集:部门(部门号,部门名,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)联系:聘用具有(等级)人员管理E-R图(2)(分析方法同上)9/22/20231)属性域冲突,即属性值的类型、取值范围不同。假设:E-R(1)中部门号为字符型,取值范围(0-9)E-R(2)中部门编号为数字型,取值范围(0-99)

2)属性取值单位冲突如职工的工作量有的以小时为单位,有的可能以天为单位属性冲突通常以讨论和协商方式解决3.3.3视图的集成1.合并分E-R图,生成初步E-R图(1)属性冲突9/22/2023(2)命名冲突1)同名异义冲突,即不同意义的对象在不同的局部应用中具有相同的名字。例如:房间(宿舍楼号,房间号,床位数)房间(教学楼号,教室号,座位数)2)异名同义冲突,即意义相同的对象在不同的局部应用中有不同的名字。例如:E-R(1)’员工‘与E-R(2)’职工‘是相同意义上的对象9/22/20231)同一对象在不同的应用中具有不同的抽象。‘部门’在E-R(1)作为属性,在E-R(2)实体集2)同一实体集在不同分E-R图中的属性组成不一致.同一实体集在不同局部视图中所包含的属性不完全相同。这是常见的一类冲突:E-R(1)中员工(员工号,员工名,性别)E-R(2)中职工(职工号,职工名,性别,年龄)(3)结构冲突9/22/20233)实体集之间的联系在不同的分E-R图中呈现不同的类型。例如2个实体集E1、E2在一个局部应用中是一对一的联系,而在另一个局部应用中是一对多的联系(3)结构冲突冲突属性冲突命名冲突结构冲突属性域冲突属性取值单位冲突同名异义冲突异名同义冲突同一对象有不同的抽象同一实体集属性组成不一致.实体集之间的联系类型不一致9/22/2023实体集:部门(部门号,部门名,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)联系:聘用具有(等级)实体集:工程(工程号,工程名,工期,部门名)员工(员工号,员工名,性别)客户(客户号,客户名,电话)联系:参与(工时)属于一、命名冲突:1)‘员工’统一为‘职工’二、结构冲突:

1)职工属性为

职工号,职工名,性别,年龄2)将部门名抽象为实体集9/22/2023将局部E-R图合并实体集:客户(客户号,客户名,电话)工程(工程号,工程名,工期)部门(部门号,部门名,电话,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)联系:属于承担参与(工时)聘用具有(等级)技能具有MN聘用N1MN职工工程参与N1部门承担职工1N属于客户9/22/2023确定局部结构范围确定局部结构实体集定义局部结构属性定义局部结构联系还有局部结构设计?系统分析结果全局E-R模型设计有无E-R模型的设计步骤9/22/20233.4.2概念模型向关系模型的转换1.实体集的转换规则一个实体集转换为关系模型中的一个关系模式,实体集的属性就是关系模式的属性,从实体集码中选择一个当主码。客户(客户号,客户名,电话)工程(工程号,工程名,工期)部门(部门号,部门名,电话,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)9/22/20232.实体集间联系的转换规则(1)1:1联系的转换方法1)将1:1联系转换为一个独立的关系模式,与该联系相连的各实体集的主码以及联系本身的属性均转换为该模式的属性,且每个实体集的主码均是该关系模式的码,选择一个当主码。实体集:职工(职工号,姓名,年龄)地点(地点编号,地点名,值班电话)联系:值班(日期)值班(职工号,地点编号,日期)或值班(地点编号,职工号,日期)地点职工值班119/22/20232)将1:1联系与某一端实体集所对应的关系模式合并,在被合并关系模式中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的主码

产品职工负责11实体集:职工(职工号,姓名,年龄)产品(产品号,产品名,价格)联系:负责职工(职工号,姓名,年龄,产品号)产品(产品号,产品名,价格)职工(职工号,姓名,年龄)产品(产品号,产品名,价格,职工号)在关系数据库中,为了实现表与表之间的联系,将一个表的主码放到另一个表中(公共属性),这些在另一个表中起联系作用的属性称为外码如果职工记录多产品记录少则有太多的空值9/22/2023(2)1:n联系的转换方法1)将联系转换为一个独立的关系模式。其关系模式的属性由与该联系相连的各实体集的主码以及联系本身的属性组成,而该关系的主码为n端实体集的主码图书读者借阅1n读者(读者号,姓名,性别)图书(图书号,书名,ISBN)借阅(日期)读者(读者号,姓名,性别)图书(图书号,书名,ISBN)借阅(图书号,读者号,日期)9/22/20232)将1:n联系与n端实体集所对应的关系模式合并,在n端实体集中增加新属性。新属性由联系对应的1端实体集的主码和联系自身的属性构成,新增属性后原关系模式的主码不变。产品仓库仓储1n仓库(仓库号,地点,面积)产品(产品号,产品名,价格)仓储(数量)仓库(仓库号,地点,面积)产品(产品号,产品名,价格,仓库号,数量)9/22/2023(3)m:n联系的转换方法一个m:n联系转换为一个关系模式。转换方法为:与该联系相连的各实体集的主码以及联系本身的属性均转换为关系模式的属性,新关系模式的主码为两个相连实体集主码的组合(该主码为多属性构成的组合码)。

课程学生选修mn学生(学号,姓名,年龄,性别)课程(课程号,课程名,学时数)选修(成绩)学生(学号,姓名,年龄,性别)课程(课程号,课程名,学时数)选修(学号,课程号,成绩)9/22/2023供应商(供应商号,供应商名,地址)零件(零件号,零件名,单价)产品(产品号,产品名,型号)供应(供应商号,零件号,产品号,数量)

(4)多实体集间的多对多联系的E-R图转换供应商项目供应零件mpn供应商(供应商号,供应商名,地址)零件(零件号,零件名,单价)产品(产品号,产品名,型号)供应(数量)

将三个或三个以上实体集间的联系转换为一个关系模式9/22/2023*(5)弱实体集的转换一个弱实体集转换为一个关系模式。且该关系模式的主码部分或全部从所依赖的那个实体集中获得。产品(产品号,产品名,规格)销售价格(产品号,类型,价格)产品销售价格有1n产品号产品名规格01计算机P402计算机P303打印机600DPI04扫描仪600DPI……..……..……..产品号类型价格01A600001B610001C650002B400002C4200……..…..……9/22/2023*(6)超类和子类的转换将超类和子类各定义一个关系模式(为了简化表达方法,称超类转换的关系为父表,子类转换的关系为子表)。将父

温馨提示

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

评论

0/150

提交评论