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

付费下载

下载本文档

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

文档简介

第6章关系数据库设计Chapter6DesignofRelationDatabase本章重点本章要求了解数据库设计的方法、特点和步骤,掌握需求分析、概念结构、逻辑结构、物理结构、数据库实施、数据库运行和维护六个阶段设计的目标、方法和应注意的事项,重点掌握概念结构和逻辑结构设计这二个阶段。

6.1数据库设计概述

数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个问题是数据库在应用领域的主要研究课题。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。数据库设计是信息系统开发和建设的重要组成部分。下面介绍数据库设计的方法、特点和步骤。

6.1.1数据库设计的方法1、规范设计法(1)比较著名的有新奥尔良(NewOrleans)方法,它将数据库设计分为四个阶段。(2)S.B.Yao等又将数据库设计分为五个步骤。步的过程,并采用一些辅助手段实现每一过程。(4)基于E-R模型的数据库设计方法,基于3NF的设计方法,基于抽象语法规范的设计方法等,是在数据库设计的不同阶段上支持实现的具体技术和方法。2、计算机辅助数据库设计

(1)Design2000是Oracle公司的数据库设计工具软件。(2)PowerDesigner是Sybase公司的数据库设计工具软件。(3)计算机辅助软件工程(CASE)则强凋数据库设计和应用设计的结合,按照一定的设计规程,用工程化方法设计数据库是最实用的方法。

6.1.2数据库设计的特点

数据库设计既是一项涉及多学科的综合性技术,又是一项庞大的工程项目。其特点之一是:硬件、软件、技术与管理的界面的互相结合;其特点之二是:在整个设计过程中,强调结构(数据)设计和行为(处理)设计的紧密结合。图6.1结构和行为设计分离的设计6.1.3数据库设计的步骤

我们按规范设计的方法将数据库设计分为以下六个阶段:需求分析阶段第1步:了解和分析用户的应用需求(包括数据与处理),进行需求收集和分析。概念结构设计阶段第2步:对用户需求进行综合、归纳与抽象,形成一个独立于具体RDBMS的概念模型。逻辑结构设计阶段第3步:按照一组转换规则,将概念模型转换为某个RDBMS支持的关系模型;第4步:根据规范化理论,对关系模型进行优化。若对逻辑结构设计不满意,则转第3步进行。物理结构设计阶段第5步:为关系模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法);第6步:对此物理结构进行评价设计和性能预测。若对物理结构设计不满意,则转第3或第5步进行。数据库实施阶段第7步:运用RDBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,并组织数据入库;第8步:系统的试验性运行。若对数据库实施不满意,则转第5步进行。数据库运行和维护阶段第9步:数据库应用系统经过试运行后即可投入正式运行。在数据库系统的运行过程中必须不断地对其进行评价、调整与修改。6.2需求分析6.2.1需求分析的任务和方法

需求分析阶段的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅按当前应用需求来设计数据库。

调查的重点是“数据”和“处理”,通过调查要从中获得每个用户对数据库的如下要求:1.信息要求2.处理要求3.安全性和完整性的要求为了很好地完成调查的任务,设计人员必须不断地与用户交流,与用户达成共识,以便逐步确定用户的实际需求,然后分析与表达这些需求。

6.2.2数据字典数据字典(DataDictionary,简称DD)则是对系统中数据的详尽描述,是各类数据属性的清单。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据字典是各类数据描述的集合,它通常包括以下五个部分:●数据项,是数据的最小单位。●数据结构,是若干数据项有意义的集合。●数据流,可以是数据项,也可以是数据结构。表示某一处理过程的输入或输出。●数据存储,处理过程中存取的数据.常常是手工凭证、手工文档或计算机文件。●处理过程。用数据流图,数据字典描述系统。●数据结构,是若干数据项有意义的集合。分考虑到可能的扩充和改变,使设计易于更动。安全性和完整性的要求例如学生是一个实体型,概念结构独立于数据库逻辑结构,独立于支持数据库的DBMS,其主要特点是:●数据项,是数据的最小单位。分考虑到可能的扩充和改变,使设计易于更动。Yao等又将数据库设计分为五个步骤。第9步:数据库应用系统经过试运行后即可投入正式运行。第7步:运用RDBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,并组织数据入库;定义某一类型的组成成分。数据库设计是信息系统开发和建设的重要组成部例2某工厂管理信息系统的视图集成(基本E-R图)6.2.3数据流图如何分析和表达用户的需求,这是一个重要的问题。在众多的分析方法中,结构化分析(StructuredAnalysis,简称SA方法)是一个简单实用的方法。SA方法用自顶向下、逐层分解的方式分析系统。用数据流图,数据字典描述系统。任何一个系统都可以抽象为如图6.2所示的情况。

图6.2系统高层抽象图数据流图表达了数据和处理过程的关系。

最后要指出两点:1、需求分析阶段一个重要而困难的任务是收集将来应用所涉及的数据。若设计人员仅按当前应用来设计数据库,以后再想加入新的实体,新的数据项和实体间新的联系就会十分困难。新数据的加入必定会影响数据库的概念结构、逻辑结构和物理结构,因此设计人员应充分考虑到可能的扩充和改变,使设计易于更动。

2、必须强调用户的参与,这是数据库应用系统设计的特点。在数据分析阶段,任何调查研究没有用户的积极参加是寸步难行的。设计人员应该和用户取得共同的语言,帮助不熟悉计算机的用户建立数据库环境下的共同概念,并对设计工作的最后结果承担共同的责任。6.3概念结构设计

概念结构独立于数据库逻辑结构,独立于支持数据库的DBMS,其主要特点是:1.能充分地反映现实世界,包括实体和实体之间的联系,能满足用户对数据处理的要求,是现实世界的一个真实模型。2.易于理解。从而可以和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功与否的关键。3.易于更动。当现实世界改变时容易修改和扩充。4.易于向关系、网状或层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。

现介绍自底向上设计概念结构的方法。按照这种方法,概念结构的设计可按下面步骤进行,见图6.3所示。图6.3概念结构设计步骤

6.3.2数据抽象与局部视图设计1、数据抽象E-R模型是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念的进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。一般有如下三种抽象:(1)分类(Classification)定义某一类概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为,它抽象了对象值和型之间的“ismemberof”的语义,在E-R模型中,实体型就是这种抽象,如图6.4所示。

图6.4分类

(2)聚集(Aggregation)定义某一类型的组成成分。它抽象了对象内部类型和成分之间“ispartof”的语义,在E-R模型中,若示。图6.5聚集

(3)概括(Generalization)定义类型之间的一种子集联系。它抽象了类型之间的“issubsetof”的语义。例如学生是一个实体型,本科生、研究生也是实体型。本科生、研究生均是学生的子集。把学生称为超类(Superclass),本科生、研究生称为学生的子类(Subclass)。图6.7概括(2)逐一设计分E-R图每个局部应用对应一组数据流图,局部应用涉及的数据已收集在数据字典中,将这些数据从数据字典中抽取出来,参照数据流图,标定该应用中的实体、属性和实体之间的联系及其类型。

在给定的应用环境中,能够作为属性对待的,应尽量作为属性对待,目的在于简化E-R图的处置。在实体和属性的调整中,要遵循的二条基本准则是:

作为“属性”,不能再具有需要描述的性质。即属性不能是另一些属性的聚集。

属性不能与其他实体具有联系。即E-R图中的联系是实体之间的联系。符合上述两条的“事物”一般作为属性来对待,否则作为实体对待。

请参见书上的举例。

例1销售管理子系统分E-R图的设计实例某工厂开发管理信息系统,经过可行性分析和详细调查,确定了该系统由物资管理、销售管理、劳动人事管理等子系统组成。为每个子系统组成了开发小组。销售管理子系统开发小组的成员经过调查研究、信息流程分析和数据收集,明确了该子系统的主要功能是:处理顾客和销售员送来的订单;工厂是根据订货安排生产的;交出货物同时开出发票;收到顾客付款后,根据发票存根和信贷情况进行应收款处理,可得到该子系统的数据流图和数据字典,见下图6.10所示。

先设计该分E-R图的草图,如图6.11所示。图6.11分E-R图的草图然后参照数据流图和数据字典中的详尽描述,遵循前面给出的二个准则,进行了一些调整(详细叙述见书上),最后得到分E-R图如下图6.12所示。

图6.12销售管理子系统的分E-R图

对每个实体定义的属性如下:顾客:{顾客号,顾客名,地址,电话,信贷状况,账目余额}订单:{订单号,顾客号,订货项数,订货日期,交货日期,工种号,生产地点}订单细则:{订单号,细则号,零件号,订货数,金额}应收帐款:{顾客号,订单号,发票号,应收金额,支付日期,当前余额,贷款限额}产品描述:{产品号,产品名,单价,重量}折扣规则:{产品号,订货量,折扣}(注:为了节省篇幅,实体与属性的关系没有用图形表示,实体的键码用下划线表示)

6.3.3视图的集成

视图集成就是把上一步得到的各个分E-R图综合成一个总E-R图。视图集成可以有两种方式:多个分E-R图一次集成。逐步集成,用累加的方式一次集成两个分E-R图。第一种方式比较复杂,第二种方式每次只集成两个分E-R图,可降低复杂度。无论哪种方式,每次集成可分两步走。第一步是合并,解决各分E-R图之间的冲突问题,生成初步E-R图。第二步是修改和重构,清除不必要的冗余,生成基本E-R图。

1、清除冲突,合并分E-R图由于各类应用不同,不同的应用通常又由不同的设计人员进行概念结构的设计,因此分E-R图之间不可避免地会有很多不一致,我们称之为冲突。冲突的类型有:(1)属性冲突。属性域冲突、属性取值单位冲突。(2)结构冲突。同一对象在不同应用中的不同抽象、同一实体在不同分E-R图中属性组成不同、实体之间的联系在不同分E-R图中呈现不同的类型。(3)命名冲突包括属性名、实体名、联系名之间的冲突:同名异义、异名同义。属性冲突和命名冲突通常用讨论、协商等行政手段解决。结构冲突则要认真分析后用技术手段解决。

2、消除不必要的冗余,设计基本E-R图在初步E-R图中可能存在冗余的数据和实体间冗余

温馨提示

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

评论

0/150

提交评论