第7章_数据库设计_第1页
第7章_数据库设计_第2页
第7章_数据库设计_第3页
第7章_数据库设计_第4页
第7章_数据库设计_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

1、第7章数据库设计数据库设计:指利用现有的数据库管理系统,针对具体的应用对象,构造合适的数据库模式,建立基于数据库的应用系统或信息系统。数据库设计的一般策略:自顶向下(Top-Down)与自底向上(Bottom - Up) 但通常是把两种方法综合起来使用。数据库设计的步聚:数据库是某个企业、组织或部门所涉及的数据的综合,它不仅反映数据本身的内容,而且反映数据之间的联系。在数据库中,是用 数据摸型.来抽象、表示、处理实现世界中的数据和信息的。根据模型应用的不同目的,将数据模型分成两个层次:概念模型和具体的数据模型。概念模型是用户和数据库设计人员之间进行交流的工具。数据模型是由概念模型转化而来的,是

2、按照计算机系统的观点来对数据建模。产生具体数据模型的数据库设计即为逻辑设计。数据库设计的六个阶段:用户需求分析阶段概念结构设计阶段(即信息分析和定义阶段)逻辑结构设计阶段数据库物理结构设计阶段数据库实施阶段数据库运行和维护阶段一、用户需求分析阶段:需求分析的目的,是准确了解与分析用户的需求。包括两个步聚:需求调查需求分析1、需求调查任务,主要是了解用户现行系统的概况、存在问题和对新系统的各 种要求,包括:1)信息要求:用户需要对哪些数据进行查询和分析,数据与数据之间的关系如何,以及最后要得到什么样的信息2)处理要求:用户需要对数据进行何种处理,每一种处理有哪些输入、输出要 求,处理的方式如何,

3、每一种处理有无特殊要求等。3)系统要求:包括安全性要求、使用方式要求和可扩充性要求等三个方面。2、需求分析阶段的工作内容主要有三个方面:1)分析需求调查所得到的资料,明确计算机应当处理和能够处理的范围,确定 新系统应具备的功能。2)综合各种信息所包含的数据,各种数据之间的关系,数据的类型、取值范围 和流向。3)将需求调查文档化,文档既要为用户所理解,又要方便数据库的概念结构设 计。需求分析的结果应及时与用户进行交流,反复修改,直到得到用户的认可。需求分析阶段最常使用的两个工具是 数据流程图和数据字典:(1)数据流程图(DFD, Data Flow Diagram)由四个要素组成,即: 数据流代

4、表数据流的有向线代表数据处理逻辑的代表数据存储外部实体代表系统之外数据提供者或使用者构造DFD的目的是为了系统分析师与用户能够进行明确的交流,以便指导系统的设计,并为一下工作打下基础。所以要求 DFD既要简单,又要易于理解。构造DFD通常采用Top Down,逐层分解,直到功能细化为止,形成若干层次 的 DFD。(2)数据字典(DD)数据字典是将数据流程图中各个要素的具体内容和特征,以特定格式记录下来,所形成的文档。它主要包括:数据项、数据结构、数据流、加工、文件、外部实体等 内容。在数据库设计过程中,数据字典被不断地充实、修改和完善。(关于DF/口 DD在P125 126有一个有关学生成绩管

5、理子系统的例子)需求分析阶段是整个数据库设计过程的前提和基础。本阶段的工作最繁琐,最 困难也最耗时,但同时也是最关键的阶段。就象一幢大楼的地基一样,将决定着整个 数据库设计的效率与质量。所以必须做好本阶段的工作。、概念结构设计阶段概念结构设计阶段的目标,是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。这个阶段,设计人员是从用户的角度看待数据以及数据处理的要求和约束,产生一个反映用户观点的概念模型。设计人员与用户,以这个概念模型为媒介,相互交流意见,并对该概念模型进行修改,最后达到共识。所以要求概念模型必须具有下列四个特点:丰富的语义表达能力。能表达用户的各种需求,

6、反映现实世界中各种数据及数据间的各种复杂联系,以及用户对数据处理的要求。易于交流与理解,概念模型是设计人员与用户交流的工具。易于修改,概念模型只有不断地修改,才能最终符合用户的需求。易于向各种数据模型的转换。概念模型,是系统分析师、数据库设计人员和用户三方共同完成的。但它本身并不能在计算机上实现,必须转换成具体DBMS 所能支持的数据模型。目前最常用、最有名的概念模型是E R 模型(实体联系模型)这一阶段所提供的概念模型,除反映各业务部门所涉及的各种实体及实体间联系外, 还要明确对每一个实体中数据进行增、删、 改所需遵循的业务规则及各种完整性约束。三、逻辑结构设计阶段逻辑结构设计阶段的任务是将

7、概念结构设计阶段所得到的概念模型 转换为具体DBMS 所能支持的数据模型 (即逻辑结构),并对其进行优化。1、逻辑结构设计阶段主要有以下输入信息:E R 模型:概念结构设计阶段所得到的所有的局部和全局E R 模型处理需求:需求分析阶段产生的业务活动分析结果:用户需求、数据的使用频率和数据库的规模。DBMS 特性:即特定的DBMS 所支持的数据结构,如RDBMS 的数据结构是二维表。下面就以关系数据库的设计为例,继续学习以下内容:2、逻辑结构设计阶段需要完成的任务有:将 E R 模型转换为等价的关系模式。按需要对关系模式进行规范化。对规范化后的模式进行评价。根据局部应用的需要,设计用户外模式。3

8、、模式评价模式评价可以检查规范化后的关系模式,是否满足用户的各种功能要求和性能要求,并确定需要修正的模式部分。( 1) 功能评价关系模式中必须包含用户可能访问的所有属性。涉及多个关系模式的连接应用时,应确保连接具有无损性。对于检查出有冗余的关系模式和属性,应分析产生冗余的原因,分清楚是为了提高查询效率和应用扩展而有意安排的冗余,还是由于某种疏忽或错误造成的冗余。( 2) 性能平价对数据库模式的性能评价比较困难,因为缺乏相应的评价手段。一般采用的是LRA 评价技术进行估算,以提出改进意见。LRA即Logical Record Access (逻辑记录存取),是一种算法。它主要用于估算 数据库操纵

9、的逻辑记录传送量及数据的存储空间。4、逻辑模式的修正目的 :改善数据库的性能、节省存储空间。在关系模式规范化过程中,很少注意数据库的性能问题,一般认为,数据库的物理设计与数据库的性能关系更密切一些,事实上逻辑设计的好坏对它也有很大的影响。除了性能评价提出的模式修改意见外,还要考虑以下几个方面:( 1)尽量减少连接运算在数据库操作中,连接运算的开销很大。参与连接的关系越多、越大,开销也越大。所以,对于一些常用的、性能要求比较高的数据查询,最好是单表操作。这与规范化理论相矛盾。有时为了保证性能,不得不把规范化了的关系再连接起来,即反规范化。 当然, 这又可能会带来数据冗余和更新异常等问题,需要在数

10、据库的物理设计和应用程序中加以控制。( 2)减小关系的大小和数据量关系的大小对查询的速度影响也很大。有时为了提高查询的速度,需要把一个 大关系从纵向或横向划分成多个小关系。关系的元组个数太多时,需要从横向进行划分。如学生关系,可把全校学生放在一个关系中,也可按系建立学生关系,前者可方便全校学生的查询,后者可提高按系查询的速度。当然也可按年级建立学生关系。总之要按照应用的具体情况确定不同的划分策略。关系的属性太多时,需要从纵向划分关系,可将常用的和不常用的属性分别放在不同的关系中,以提高查询关系的速度。( 3)为每个属性的选择合适的数据类型关系中每个属性都要求有一定的数据类型,为属性选择合适的数

11、据类型不但可以提高数据的完整性,还可以提高数据库的性能,节省系统的存储空间。使用变长的数据类型:当用户和 DBA不能确定一个属性数据的实际长度时, 可使用变长的数据类型。如 Varbinary()和Varchar(粒很多DBMS都支持的变长数据 类型。预期属性值的最大长度:在关系设计中,必须能预期属性的最大长度,只有这样才能为属性定制最有效的数据类型。如表示人的年龄可选择Tinyint( 2 bytes) ;如表示书的页数,就可选择Smallint( 4 bytes) 。使用用户自定义的数据类型如果使用的DBMS 支持用户自定义的数据类型,则利用它可以更好地提高系统性能,更有效地提高存储效率,

12、并能保证数据安全。5、设计用户外模式外模式也叫子模式,是用户可直接访问的数据模式。同一系统中,不同用户可有不同的外模式。外模式来自逻辑模式,但在结构和形式上可能不同于逻辑模式,所以它不是逻辑模式的简单子集。外模式主要有三个作用:通过外模式对逻辑模式的屏蔽,为应用程序提供了一定的逻辑独立性;更好地适应不同用户对数据的不同需求为不同用户划定了访问数据的不同范围,有利于数据的保密。在关系型DBMS 中,都提供了视图功能。设计符合局部用户需要的视图,再加上与局部用户有关的基本表,就构成了用户的外模式。在设计外模式时,可以参照局部E R 模型,因为E R 模型本来就是用户对数 据需求的反映。四、数据库物

13、理结构设计阶段数据库物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构。数据库物理结构:主要由存储记录格式、记录在物理设备上的安排及访问的路径(存取方法)等构成。数据库物理结构设计主要包括以下三个方面:存储记录结构设计存储记录布局存取方法设计数据库物理结构设计的目的,是为了在数据检索中尽量减少I/O操作的次数以 提高数据检索的效率,以及在多用户共享系统中,减少多用户对磁盘的访问冲突,均衡I/O负荷,提高I/O的并行性,缩短等待时间,提高查询效率。在关系数据库系统中,存储记录结构设计和存储记录布局主要由RDBMS 自动完成。存取方法是快速存取数据库中数据的技术。数据库系统是多用户共享的

14、系统,只有对同一个关系建立多条存取路径,才能满足多个用户的多种应用要求。在数据库中建立存取路径 最普遍的方法就是建立索引 。索引是用于提高查询性能的,但它要牺牲额外的存储空间,增大更新维护的代价。所以,必须根据用户的需求和应用的需要来合理使用和设计索引。索引从物理上分为聚簇索引和普通索引。确定索引的一般顺序是:( 1) 确定关系的存储结构,即记录的存放是无序的,还是按某属性(或属性组)聚簇存放;( 2)确定不宜建立索引的属性或表。1) 太小的表2) 经常更新属性或表:需要对索引的进行频繁地维护,代价太大。3)属性值很少的表:如“性别”,只有两个值4) 过长的属性:索引所占存储空间较大,有不利之

15、处5) 一些特殊数据类型的属性:如大文本、多媒体数据等6) 不出现或很少出现在查询条件中的属性。3)确定宜建立索引的属性。1) 关系的主码或外码一般应建立索引。因为数据进行更新时,系统对主码 和外码分别作唯一性和参照完整性检查,建立索引,可加快之。2) 对于以查询为主或只读的表,可以多建索引。3)对于范围查询,即以=、&、等比较符确定查询范围的,可在有关的属性上建立索引。4)使用聚集函数(Min、Max、Avg、Sum、Count:)或需要排序输出的属性最好建立索引。在 RDBMS 中,索引是改善存取路径的重要手段。使用索引的最大优点是可以减少检索的CPU 服务时间和I/O 服务时间,

16、提高检索效率。如果没有索引,系统只能通过顺序扫描数据表来寻找相匹配的检索对象,时间开销太大。但是不能在频繁作存储操作的关系上,建立过多的的索引。因为,当进行存储操作(增、删、改)时,不仅要对关系本身作存储操作,而且还要增加一定的CPU开销, 来对各个有关的索引作相应的修改。因此, 关系上过多的索引会影响存储操作的性能。五、数据库实施阶段在数据库实施阶段,设计人员运用DBMS 提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行和评价。在数据库实施阶段,包括三个方面的内容:1、建立实际的数据库结构2、加载必要的数据3、数据库试运行和评

17、价其中建立实际的数据库结构又分为以下四个主要内容:1)数据库模式与子模式,以及数据库空间等描述2)数据库完整性描述3)数据库安全性描述4)数据库物理存储参数描述这四个内容中最重要的是数据库的完整性描述,因为数据库的完整性是指数据库中数据的有效性、正确性和一致性。在数据库设计中如果没有一定的措施确保数据的完整性,就无法从数据库中获得可信的数据。数据库的完整性约束一般包括如下四个方面:(1)对表中列的约束。包括:列的数据类型、列取值约束,如 Not Null、 Unique、Primary Key、Foreign Key、列的 Check检查等;(2)对表的约束。主要指对表的 Check检查(多个

18、属性之间的关系)( 3)表间参照完整性约束。指多个表之间的数据一致性,主要是外部码的定义 与检查。( 4)对复杂的业务规则的约束。可以有三种方法实现它:用DBMS的Trigger等工具,定义在数据库结构中,由系统自动控制。写入设计说明,提示编程人员以代码形式在应用程序中加以控制。写入用户手册,由用户来执行。关于数据库实施阶段的其它详细内容,请同学们参照有关的参考书。六、数据库运行和维护阶段数据库系统经过实施,并试运行合格后即可交付使用,投入正式运行。正式运行标志着数据库维护工作的开始。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。这个阶段主要包括三个方面的工作:1、对数据库性能的监测与

温馨提示

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

评论

0/150

提交评论