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

下载本文档

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

文档简介

1、第三章第三章 数据库的设计数据库的设计第三章第三章 数据库的设计数据库的设计l通常来说,一个成功的管理信息系统,是由50%的业务和50%的软件所组成,而成功软件所占的50%又由25%的数据库和25%的程序所组成l设计数据库时既要考虑数据库的框架和数据结构,又要考虑应用程序存取数据库和处理数据。因此,最佳设计不可能一蹴而就,只能是一个反复探寻的过程。l大体上可以把数据库设计划分成以下几个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段。 第三章第三章 数据库的设计数据库的设计l现实世界中的数据要进入到数据库中,需要经过人们的认识

2、、理解、整理、规范和加工。可以把这个过程划分为三个主要阶段,即现实世界阶段、信息世界阶段和机器世界阶段。第三章第三章 数据库的设计数据库的设计l一、一、 需求分析需求分析l二、二、 概念结构设计概念结构设计 l三、三、 逻辑结构设计逻辑结构设计 l四、 物理结构设计物理结构设计 l五、 数据库的实施数据库的实施 l六、 数据库的运行和维护数据库的运行和维护 一、一、需求分析需求分析l准确地搞清楚用户需求,乃是数据库设计的关键。需求分析的好坏,决定了数据库设计的成败。l确定用户的最终需求其实是一件很困难的事。设计人员必须与用户不断深入地进行交流,才能逐步确定用户的实际需求。l需求分析阶段的成果是

3、系统需求说明书,主要包括数据流图、数据字典、各种说明性表格、统计输出表、系统功能结构图等。系统需求说明书是以后设计、开发、测试和验收等过程的重要依据。 一、一、需求分析需求分析需求分析任务需求分析任务(1)确认系统的设计范围,调查信息需求,收集数据。分析需求调查得到的资料,明确计算机应当处理和能够处理的范围,确定新系统应具备的功能。(2)综合各种信息包含的数据,各种数据间的关系,数据的类型、取值范围和流向。(3)建立需求说明文档、数据字典、数据流图。将需求调查文档化,文档既要为用户所理解,又要方便数据库的概念结构设计。 一、一、需求分析需求分析需求分析的基本步骤需求分析的基本步骤1.1.分析用

4、户活动分析用户活动通过与用户座谈、跟班工作,或者向专家咨询,查阅规章制度、票据等各种资料,或者采用问卷调查等方式,充分了解用户活动。目的是了解企业的业务状况、信息流程、经营方式、处理要求以及组织机构等。搞清楚用户的处理流程以后,画出“用户活动图”。2.2.确定系统范围确定系统范围需求分析的任务不只是为了设计数据库,而是为了设计整个数据库应用系统。通过对现行的手工系统或者已经有的计算机系统进行调查研究,确定即将建立的数据库系统的信息要求和处理要求,确定哪些由计算机系统处理,哪些由人工处理。根据画出的“用户活动图”,确定系统的边界。 一、一、需求分析需求分析3.3.分析用户活动所涉及的数据分析用户

5、活动所涉及的数据数据流图是描述企业活动及来往于各处理活动之间数据流动的有力工具,被广泛应用于信息系统开发设计中,常作为最后验收系统的依据。数据流图有四种基本成分: 数据流动用箭头表示 加工用圆表示 文件用直线段表示 源点和终点用方框表示数据流图中反映的是数据流而不是控制流,这是与一般的程序流程图的最大区别。一般地说,画数据流图应遵循“由外向内,自顶而下”的原则进行。一、一、需求分析需求分析4.4.分析系统数据分析系统数据数据流图只表示出系统由哪几部分组成和各部分之间的关系,并没有说明各个成分的含义,数据字典对每个成分都给出确切定义。对数据库设计而言,数据字典是进行数据收集和数据分析所获得的主要

6、成果。数据字典产生于数据流图,是对数据流图中的四个成分描述的产物。数据字典是对用户信息要求的整理和描述。信息需求即定义未来信息系统用到的所有信息,包括用户将向数据库中输入什么信息,从数据库中要得到什么信息,各类信息的内容和结构,信息之间的联系等。二、二、 概念结构设计概念结构设计概念结构设计目标是对需求说明书提供的所有数据和处理要求进行抽象与综合处理,按一定的方法构造反映用户环境的数据及其相互联系的概念模型。这种概念数据模型与DBMS无关,是面向现实世界的数据模型,用户容易理解。为保证所设计的概念数据模型能正确、完全地反映用户的数据及其相互联系,便于进行所要求的各种处理,在本阶段设计中可吸收用

7、户参与和评议设计。形成的初步数据模型还要经过数据库设计者和用户的审查和修改,最后才能形成所需的概念数据模型。一般以E-R模型为工具来描述概念结构。二、二、 概念结构设计概念结构设计设计概念结构通常有四类方法:(1)自顶向下(2)自底向上(3)逐步扩张(4)混合策略实际应用中这些策略井没有严格的限定,根据具体业务的特点选择。三、逻辑结构设计三、逻辑结构设计数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E-R 图转换为逻辑模型(以选用的 DBMS产品所支持的数据模型为标准)。在转换过程中要进一步落实需求说明,并使其满足DBMS的各种限制。逻辑结构设计阶段的结果是DBMS提供的数据定义语言

8、(DDL)写成的数据模式。逻辑结构设计的具体方法与DBMS的逻辑数据模型有关。三、逻辑结构设计三、逻辑结构设计逻辑结构设计的步骤逻辑结构设计的步骤 1.1.确定数据模型确定数据模型总体E-R图的概念模型是独立于任何一种数据模型的信息结构。首先要确定转换成哪种数据模型。目前比较流行的数据模型是关系模型。2.2.将将E-RE-R图转换成为关系数据模型图转换成为关系数据模型关系数据库逻辑设计的任务就是采取一定的策略,按照若干准则将概念模型转换为关系数据库系统所接受的一组关系模式,并利用规范化的理论和方法对这组关系模式进行处理,使之满足具体应用。三、逻辑结构设计三、逻辑结构设计逻辑结构设计的步骤逻辑结

9、构设计的步骤 3.3.确定完整性约束确定完整性约束对关系进行实体完整性、参照完整性、用户定义的完整性约束;4.4.确定用户视图确定用户视图把概念模型转换为数据模型后,还应根据局部应用的要求,结合具体的DBMS,设计用户视图。视图是本身不存储数据的虚拟表。三、逻辑结构设计三、逻辑结构设计概念模型转换为一般的关系模型概念模型转换为一般的关系模型 E-R图是由实体、属性和联系三要素构成的,而关系模型中只有惟一的结构关系模式。 1.1.实体向关系模式的转换实体向关系模式的转换将E-R图中的实体逐一转换成为一个关系模式,实体名对应关系模式的名称,实体的属性转换成关系模式的属性,实体标识符就是关系的码。

10、实体向关系模式的转换示例部门(部门号,部门名)经理(经理号,经理名,电话)三、逻辑结构设计三、逻辑结构设计概念模型转换为一般的关系模型概念模型转换为一般的关系模型 2.2.联系向关系模式的转换联系向关系模式的转换 (1)1:1联系的转换方法方法1 1:将联系转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性包括该联系所关联的两个实体的码及联系的属性,关系的码取自任一方实体的码;联系作为一个独立关系模式部门(部门号,部门名)经理(经理号,经理名,电话)部门-经理(经理号,部门号)三、逻辑结构设计三、逻辑结构设计概念模型转换为一般的关系模型概念模型转换为一般的关系模型 2.2.联

11、系向关系模式的转换联系向关系模式的转换 (1)1:1联系的转换方法方法2 2:将联系合并到关联的两个实体的任一方,给待合并的一方实体属性集中增加另一方实体的码和该联系的属性即可,合并后的实体码保持不变。(1)经理合并到部门部门(部门号,部门名,经理号)经理(经理号,经理名,电话)(2)部门合并到经理部门(部门号,部门名)经理(经理号,部门号,经理名,电话)三、逻辑结构设计三、逻辑结构设计概念模型转换为一般的关系模型概念模型转换为一般的关系模型 2.2.联系向关系模式的转换联系向关系模式的转换 (2)1:n联系的转换方法方法1 1:将联系转换成一个独立的关系模式,关系模式的名称取联系的名称,关系

12、模式的属性取该联系所关联的两个实体的码及联系的属性,关系的码是n方实体的码;将联系转换为一个独立关系模式部门(部门号,部门名)职工(职工号,职工名,工资)部门-职工(职工号,部门号) 三、逻辑结构设计三、逻辑结构设计概念模型转换为一般的关系模型概念模型转换为一般的关系模型 2.2.联系向关系模式的转换联系向关系模式的转换 (2)1:n联系的转换方法方法2 2:将联系合并到关联的两个实体的n方。即:向待合并的多方实体属性集中增加1方实体的码和该联系的属性即可,合并后的多方实体码保持不变。(1)部门合并到职工部门(部门号,部门名)职工(职工号,部门号,职工名,工资) 三、逻辑结构设计三、逻辑结构设

13、计概念模型转换为一般的关系模型概念模型转换为一般的关系模型 2.2.联系向关系模式的转换联系向关系模式的转换 (3)n:m联系的转换n:m联系只能转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性取该联系所关联的两个多方实体的码及联系的属性,关系的码是多方实体的码构成的属性组。教师表(教师号,教师名,职称)课程表(课程号,课程名,学分)授课表(教师号,课程号,授课时数)四、四、 物理结构设计 l物理结构设计阶段的任务是把逻辑结构设计阶段得到的逻辑数据库在物理上加以实现。l其主要内容是根据DBMS提供的各种手段,设计数据的存储形式和存取路径,如文件结构、索引的设计等,即设计数据

14、库的内模式或存储模式。l数据库的内模式对数据库的性能影响很大,应根据处理需求及DBMS、操作系统和硬件的性能进行精心设计。五、五、 数据库的实施 数据库实施主要包括以下工作:数据库实施主要包括以下工作: 用用DDLDDL定义数据库结构;定义数据库结构;确定了数据库的逻辑结构与物理结构后,就可以用选好的DBMS提供的数据定义语言(DDL)来严格描述数据库结构。组织数据入库;组织数据入库;对于数据量不大的小型系统,可以用人工方式完成数据入库 对于大型系统,应该设计一个数据输入子系统由计算机辅助数据入库工作。五、五、 数据库的实施 数据库实施主要包括以下工作:数据库实施主要包括以下工作: 编制与调试

15、应用程序编制与调试应用程序数据库应用程序的设计应该与数据入库并行进行。在数据库实施阶段,当数据库结构建立好后,就可以开始编制与调试数据库的应用程序。调试应用程序时由于数据入库尚未完成,可先使用模拟数据。数据库试运行数据库试运行应用程序调试完成,并且已有小部分数据入库后,就可以开始数据库的试运行。其主要工作包括以下两项内容。(1)功能测试。(2)性能测试。六、六、 数据库的运行和维护 数据库投入运行标着开发任务的基本完成和维护工作的开始,并不意味着设计过程的终结,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作

16、的继续和提高。 在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括:1.1.故障维护故障维护定期对数据库和日志文件进行备份,以保证一旦发生故障,能利用数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态,并尽可能减少对数据库的破坏。数据库受到破坏,后果可能是灾难性的,特别是磁盘系统的破坏会导致数据库数据全部丢失,千万不要存有任何侥幸心理。六、六、 数据库的运行和维护 2.2.数据库的安全性、完整性控制数据库的安全性、完整性控制DBA必须对数据库安全性和完整性控制负起责任。根据用户的实际需要授予不同的操作权限。另外,由于应用环境的变化,数据库的完整性约束条件也会变化,也

17、需要DBA不断修正,以满足用户要求。3.3.数据库性能的监督、分析和改进数据库性能的监督、分析和改进目前许多DBMS产品都提供了监测系统性能参数的工具,DBA可以利用这些工具方便地得到系统运行过程中一系列性能参数的值。DBA应该仔细分析这些数据,通过调整某些参数来进一步改进数据库性能。六、六、 数据库的运行和维护 4.4.数据库的重组织数据库的重组织数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。这时DBA就要对数据库进行重组织,或部分重组织。数据库的重组织不会改变原设计的数据逻辑结构和物理结构,只是按原

18、设计要求重新安排存储位置,回收垃圾,减少指针链,提高系统性能。DBMS一般都提供了供重新组织数据库使用的实用程序,帮助DBA重新组织数据库。比如SQL Server 2008提供了数据库和文件的收缩功能。六、六、 数据库的运行和维护 5.5.数据库的重构造数据库的重构造当数据库应用环境发生变化,会导致实体及实体间的联系也发生相应的变化,使原有的数据库设计不能很好地满足新的需求,从而不得不适当调整数据库的模式和内模式,这就是数据库的重构造。DBMS都提供了修改数据库结构的功能。重构造数据库的程度是有限的。若应用变化太大,已无法通过重构数据库来满足新的需求,或重构数据库的代价太大,则表明现有数据库应用系统的生命周期已经结束,应该重新设计新的数据库系统,开始新数据

温馨提示

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

评论

0/150

提交评论