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

下载本文档

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

文档简介

数据库设计,本章主要内容,数据库设计(Database Design,简记为DBD)是指对于给定的软、硬件环境,针对现实问题,设计一个较优的数据模型,建立DB结构和DB应用系统。 本章主要讨论DBD的方法和步骤,详细介绍DBD的全过程。本章的重点有两个:概念设计中的ER模型设计方法。设计ER模型是一件实用性很强的工作,ER模型应该充分反映用户的需求。逻辑设计中ER模型向关系模型转换的规则。,本章主要内容(续),(1)DBS生存期及其7个阶段的任务和工作,DBD过程的输入和输出。(2)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。(3)ER模型的基本元素,属性的分类,联系的元数、连通词、基数。采用ER方法的概念设计步骤。(4)ER模型到关系模型的转换规则。采用ER方法的逻辑设计步骤。,数据库设计,7.1 数据库设计概述7.2 规划7.3 需求分析7.4 概念设计7.5 数据库逻辑结构设计及优化7.6 数据库的物理设计 7.7 数据库的实现7.8 数据库的运行与维护工作7.9 Power Designer辅助设计工具本章小结,7.1 数据库设计概述,软件工程 人们认为,应该用科学知识、工程方面的规范指导软件开发的过程,以提高软件质量和开发效率,降低开发成本 。软件生存期从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。数据库系统生存期数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。 数据库工程设计方法数据库设计的输入输出,7.1.1 数据库系统生存期,7.1.2 数据库设计方法,1)直观设计法 直观设计法主要凭借设计者对整个系统的了解和认识,以及平时所积累的经验和设计技巧,完成对某一数据库系统的设计任务。这样的方法具有周期短、效率高、操作简便、易于实现等优点。这种方法主要是用于简单的小型系统。 2)规范化设计法 规范化设计法将数据库设计分为若干阶段,明确规定各阶段的任务,采用“自顶向下、分层实现、逐步求精”的设计原则,结合数据库理论和软件工程设计方法,实现设计过程的每一细节,最终完成整个设计任务。常用的规范化设计方法主要有:基于实体联系的设计方法(常用方法)基于视图概念的数据库设计方法基于3NF的数据库设计方法等。,3)计算机辅助设计法 计算机辅助设计法是指在数据库设计的某些过程中,利用计算机和一些辅助设计工具,模拟某一规范设计方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。 例如在需求分析完成后,可以使用POWERDESIGNER、E-Rwin等辅助工具产生E-R图,并将E-R图转换为关系数据模型,生成数据库结构,再编制相应的应用程序,从而缩短数据库设计周期。 4)自动化设计法 设计人员只要熟悉某种MIS辅助设计软件的使用,通过人机会话,输入原始数据和有关要求,无须人工干预,就可以由计算机系统自动生成数据库结构及相应的应用程序。 由于该设计方法基于某一MIS辅助设计系统,从而受限于某种DBMS,使得最终产生的数据库及其软件系统带有一定的局限性。,7.1.3 数据库设计的基本步骤,7.2 规划,目标进行建立数据库的必要性及可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系。 规划阶段的三个步骤系统调查: 对企业组织作全面的调查,画出组织层次图,以了解企业的组织结构。可行性分析 从技术、经济、效益、法律等方面对建立数据库的可行性进行分析;写出可行性分析报告;组织专家进行讨论其可行性。确定数据库系统的总目标和制定项目开发计划,分析企业的基本业务功能,确定数据库支持的范围,是建立一个综合的数据库,还是建立若干个专门的数据库。在实际操作中,可以建立一个支持组织全部活动的包罗万象的综合数据库;也可以建立若干个范围不同的公用或专用数据库。,规划报告,数据库规划工作完成以后,应写出详尽的可行性分析报告和数据库系统规划纲要,内容包括:信息范围;信息来源;人力资源;设备资源;软件及支持工具资源;开发成本估算;开发进度计划;现行系统向新系统过渡计划等。,7.3 需求分析,目标对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能够接受的文档。需求分析工作分析用户活动产生,产生业务流程图确定系统范围,产生系统范围图分析用户活动涉及的数据,产生数据流图分析系统数据,产生数据字典,7.3.1 需求描述与分析,确定全部的用户需求是一件很困难的事情:第一,系统本身的需求是变化的,用户的需求必须不断调整,使之与这种变化一致。第二,由于用户缺少计算机信息系统设计方面的专业知识,要表达他们的需求很困难。特别是很难说清楚某部分工作的功能与处理过程。第三,要调动用户的积极性,使他们能积极参与系统的分析与设计工作相当困难。,我们设计人员必须首先认识到在整个需求分析以及系统设计过程中,用户参与的重要性。需求分析中调查分析的方法很多,通常的办法是对不同层次的企业管理人员进行个人访问,内容包括业务处理和企业组织中的各种数据。 还应该考虑系统将来要发生的变化,充分考虑到系统可能的扩充和变动,以减少系统维护的代价。,7.3.2 需求分析阶段的输入和输出,需求说明书,7.3.3 需求分析的步骤,1)需求信息的收集(1)调查的目的 首先,要了解组织的机构设置,主要业务活动和职能。其次,要确定组织的目标,大致工作流程和任务范围划分。,(2)调查的内容 外部要求业务现状组织机构等,(3)调查方式 开座谈会;跟班作业;请调查对象填写调查表;查看业务记录、票据;个别交谈。,2)需求信息的分析整理,(1)业务流程分析 业务流程分析的目的是获得业务流程及业务与数据联系的形式描述。一般采用数据流分析法,分析结果以数据流图(data flow diagram,DFD)表示。一个DFD由数据流、处理过程、数据存储等部分组成。,(2)分析结果的描述除了DFD以外,还要用一些规范表格进行补充描述。,为了清楚地描述需求分析的结果,需要整理出下列清单:数据项清单:列出每一个数据项的名称、含义、来源、类型和长度等。业务活动清单:列出每一部门中最基本的工作任务,包括任务的定义、操作类型、执行频度、所属部门及涉及的数据项等。完整性、一致性要求。安全性要求。响应时间要求。预期变化的影响。,3)评审 评审的目的在于确认某一阶段的任务是否全部完成,以避免重大的疏漏或错误。,7.3.4 数据字典,数据字典(data dictionary, DD)是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。,1)数据项 包括数据项名、含义、别名、类型、长度、取值范围以及与其它数据项的逻辑关系。,数据项名:选课单号说明:标识每张选课单类型:CHAR(8)长度:8别名:选课单号取值范围:0000000199999999,2)数据结构,数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,或有若干个数据项和数据结构混合组成。它包括数据结构名、含义及组成该数据结构的数据项名或数据结构名。,数据结构名:考试课程说明:作为考场安排的组成部分,说明某门课程哪位老 师代,以及所选学生人数。组成:课程号 教师号 选课人数,3)数据流,数据流可以是数据项,也可以是数据结构,表示某一加工处理过程的输入或输出数据。对数据流的描述应包括数据流名、说明、流出的加工名、流入的加工名以及组成该数据流的数据结构或数据项。,数据流名:考场安排说明:由各课程所选学生数,选定教室、时间,安排考场来源:考试去向:教师数据结构:考场安排 考试课程 考试时间 教学楼 教室编号,4)数据存储,数据存储是处理过程中要存储的数据,它可以是手工凭证、手工文档或计算机文档。对数据存储的描述应包括:数据存储名、说明、输入数据流、输出数据流、数据量、存取频度和存取方式。,数据存储名:课程表说明:对每门课程的名称、学分、先行课程号和摘要描述输出数据流:课程介绍数据描述 :课程号 课程名 学分数 先行课程号 摘要数 量:每年500种存 取 方 式 :随机存取,5)处理进程,对处理进程的描述包括处理进程名、说明、输入数据流、输出数据流,并简要说明处理工作、频度要求、数据量及响应时间等。,处理进程:选课说明:对要选某门课程的每一个学生,根据已选修课程 确定其是否可选该课程。再根据学生选课的人数选择适当的教室,制定选课单输入:学生选课 可选课程 已选课程输出:选课单程序提要:a. 对所选课程在选课表中查找其是否已选此课程 b. 若未选过此课程,则在选课表中查找是否已选此 课程的先行课程 c. 若a、b都满足,则在选课表中增加一条选课记录 d. 处理完全部学生的选课处理后,形成选课单,7.4 概念设计,目标概念设计的目标是产生反映企业组织信息需求的数据库概念结构,即概念模式。概念模式是独立于计算机硬件结构,独立于支持数据库的DBMS。为什么需要概念设计概念设计的主要步骤进行数据抽象,设计局部概念模式将局部概念模式综合成全局概念模式评审,7.4.1 概念设计的必要性,在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,至少有以下几个好处:各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理。不受特定的DBMS的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模式更为稳定。概念模式不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而才有可能准确地反映用户的信息需求。,数据库的各级模式,E-R图设计方法,(1)自顶向下 根据用户需求,先定义全局概念结构的框架,然后分层展开,逐步细化。(2)自底向上 根据用户的每一具体需求,先定义各局部应用的概念结构,然后将它们集成,逐步抽象引最终产生全局概念结构。(3)逐步扩张 先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至全局概念结构。(4)混合方式 将自顶向下和自底向上相结合,先用自顶向下方式设计一个全局概念结构框架,再以它选基础,采用自底向上法集成各局部概念结构。,7.4.2 概念设计的主要步骤,1)进行数据抽象,设计局部概念模式先从个别用户的需求出发,为每个用户建立一个相应的局部概念结构。设计概念结构时,常用的数据抽象方法是“聚集”和“概括”。,2)将局部概念模式综合成全局概念模式综合各局部概念结构就可得到反映所有用户需求的全局概念结构。在综合过程中,主要处理各局部模式对各种对象定义的不一致问题。在结构合并时,解决冗余问题,对信息需求的再调整与分析。,3)评审消除了所有冲突后,就可把全局结构提交评审。用户评审DBA及应用开发人员评审,7.4.3 采用ER方法的数据库概念设计,在设计数据库概念结构时,为了更好地模拟现实世界,一个有效的策略是“分而治之”,即先分别考虑各个用户的信息需求,形成局部概念结构,然后再综合成全局结构。,1)设计局部ER模式,(1)确定局部结构范围,一种是依据系统的当前用户进行自然划分。例如,对一个企业的综合数据库,按决策部门、销售部门、生产部门、技术部门和供应部门分别设计各自的局部ER模式。另一种是按用户要求数据库提供的服务归纳成几类,为每类应用设计一个局部ER模式。例如,学校的教师数据库可以按提供的服务分为以下几类:教师的档案信息的查询。对教师的专业结构进行分析。对教师的职称、工资变化的历史分析。对教师的学术成果查询分析。,局部结构范围的确定要考虑下述因素: 范围的划分要自然,易于管理。范围之间的界面要清晰,相互影响要小。范围的大小要适度。,(2)确定实体,通常可依据下列两个基本规则来区分实体和属性:实体与属性之间的联系只能是1:n的;属性本身不再具有需要描述的信息或与其他事物具有联系。 现实世界中的事物能够作为属性对待的,应尽量作为属性处理,以简化E-R模型。,(3)联系设计,联系集 联系集是n(n2)个实体集上的数学关系,这些实体集不必互异。联系的元数 一个联系涉及到的实体集个数。 联系的连通词 涉及到的实体集之间实体对应的方式 。实体的基数 有两个实体集E1和E2,E1中每个实体与E2中有联系实体的数目的最小值min和最大值max,称为E1的基数,用(min,max)形式表示 。,(4)属性分配,基本属性和复合属性(可否再分)单值属性和多值属性(对一个实体对象是否只能取一个值)多值属性的处理将原来的多值属性用几个新的单值属性来表示。 将原来的多值属性用一个新的实体类型表示 导出属性空值,局部ER模式设计综述,局部模式,现有的教学管理系统,初步分析系统的对象,根据服务种类分析教师子模块,局部ER图,其他局部模式,现有的教学管理系统,初步分析系统的对象,根据服务种类分析学生子模块,局部ER图,其它局部模式,现有的教学管理系统,初步分析系统的对象,根据服务种类分析课程子模块,局部ER图,ER模型的操作,包括实体类型、联系类型和属性的分裂、合并、增删等等,2)设计全局 ER模式,结构冲突解决方式1, 对于同一对象在不同的局部E-R模型中产生不同的抽象:把属性变为实体或实体变为属性,使同一对象具有相同的抽象,变换后产生的结果仍然要遵守7.4.3节中所阐述的两个基本规则。(一是实体与属性之间的联系只能是1:n的;二是属性本身不再具有需要描述的信息或与其他事物具有联系。),结构冲突解决方式2, 对于同一实体在不同E-R模型中属性组成不同:取两个分E-R模型属性的并,作为合并后的该实体属性,然后对属性的先后次序作适当调整。,结构冲突解决方式3, 对于实体间的相同联系呈现的不同的类型:根据具体应用的语义,对实体间的联系作适当的综合或调整。,3)全局ER模式的优化,实体类型的合并1:1联系的两个实体类型 具有相同键的实体类型 冗余属性的消除 冗余联系的消除利用规范化理论中函数依赖的概念消除冗余联系,例子:三个局部ER图合并成一个ER图,7.5 数据库逻辑结构设计及优化,7.5.1 逻辑设计环境,7.5.2 逻辑设计的步骤,目标逻辑设计步骤,7.5.3 ER模型向关系模型的转换,1)转换的一些问题(1)命名和属性域的处理 关系模式的命名,可以采用E-R图中原来的命名,也可以另行命名。 (2)非原子属性的处理 E-R数据模型中允许非原子属性,这不符合关系模型的第一范式的条件。 对集合属性纵向展开,对元组属性横向展开。,(3)弱实体的处理,(4)联系的转换,可以一个关系模式:R( k,a , h,b,s ),l:N 联系,转换关系模式为:R1(k,a)R2(h,b,k ,s ) (k为外键),M:N 联系,变换关系模式为:R1(k,a)R2(h,b)R3( h , k,s)(k,h组成复合主键,k、h分别为外键),多元联系,转换的关系模式为: R1(k,a)R2(h,b)R3(j ,c)R4(k,h,j, s)(k,h,j 组成复合主健,k,h,j分别为外键),2)ER模型向关系模型的转换规则,将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。二元联系类型的转换1:1联系:可以在两个实体类型和联系转换成一个关系模式。 1:N联系:在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。 M:N联系:将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。一元联系类型的转换:同二元联系 三元联系类型的转换 总是将三元联系类型转换成关系模式,其属性为三端实体类型的键加上联系类型的属性,而键为三端实体键的组合。,3) ER模型到关系模型的转换实例,运动员(编号,姓名,性别,名次,上一名次编号,下一名次编号),职工(工号,姓名,年龄,性别,经理工号),ER模型到关系模型的转换实例,零件(零件号,零件名,规格)组成(零件号,子零件号,数量),仓库(仓库号,仓库名,地址)商店(商店号,商店名)商品(商品号,商品名)进货(商店号,商品名,仓库号,日期,数量),例 库存信息管理系统的ER模型及转换,库存系统ER图,车间(车间号,车间名,主任名) 产品(产品号,产品名,单价) 仓位(仓位号,地址,主任名) 客户(客户号,客户名,联系人,电话, 地址,税号,账号)销售员(销售员号,姓名,性别,学历,业绩),实体,入库(入库单号,入库量,入库日期,经手人, 车间号,仓位号,产品名)出库(出库单号,出库量,出库日期,经手人,客户号,产品名,

温馨提示

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

评论

0/150

提交评论