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

下载本文档

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

文档简介

1、旧课回顾旧课回顾数据库概念设计必要性数据库概念设计必要性数据库概念设计步骤数据库概念设计步骤课堂小结课堂小结第第1515讲讲 数据库概念设计数据库概念设计回顾旧课v数据库设计的方法v数据字典v数据流图(DFD)新奥尔良方法新奥尔良方法ER模型方法模型方法3NF方法方法6.3 数据库概念设计数据库概念设计v6.3.1 概念结构设计的必要性概念结构设计的必要性v将需求分析得到的用户需求抽象为概念模型的过程就是概念结构设计v概念结构是各种数据模型的共同基础v它与数据模型相比更独立于机器、更抽象,从而更加稳定v它是整个数据库设计的关键。6.3 数据库概念设计数据库概念设计v 将概念结构设计从设计过程中

2、独立出来,可以带来以下好处: (1)任务相对单一化,降低了数据库设计的复杂程度,更便于管理。(2)概念模式不受具体的DBMS的限制,独立于存储结构和效率方面的考虑,因此,更稳定。(3)概念模型不含具体DBMS所附加的技术细节,便于被用户理解,因而更能准确的反映用户的信息需求。是用户和专业设计人员之间的桥梁纽带。 6.3 数据库概念设计数据库概念设计v6.3.2 概念模型设计的特点概念模型设计的特点(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实抽象。(2)易于更改,当应用环境和应用要求改变时,容易对概念模型维护和扩充。(3)易于理解

3、,可以用概念模型与不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。(4)易于向其他数据模型转换。6.3 数据库概念设计数据库概念设计v6.3.3 概念结构的设计方法和步骤概念结构的设计方法和步骤v1. 概念结构的设计方法概念结构的设计方法(1)自顶向下。首先定义全局概念结构的框架,然后逐步细化。 (2)自底向上。首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。 (3)逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。 (4)混合策略。将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的

4、框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。6.3 数据库概念设计数据库概念设计v2.概念结构设计的步骤概念结构设计的步骤对于自底向上的设计方法来说,概念结构的步骤分为两步(如图6.14所示):v(1)进行数据抽象,设计局部E-R模型。v(2)集成各局部E-R模型,形成全局E-R模型。6.3 数据库概念设计数据库概念设计v6.3.4 概念模型概念模型v1.概念模型与信息的3个世界v(1)现实世界现实世界是指存在于人们头脑之外的客观世界,其中存在着各种事物,事物间又具有不同的联系。为了用数据库系统来解决现实世界中的问题,必须先深入实际,把要解决的问题调查清楚,分析与问题有关的事物及

5、其联系。6.3 数据库概念设计数据库概念设计v(2)信息世界信息世界是指现实世界在人的头脑中的反应。例如,在设计前面提到的教学管理子系统时,数据库设计者必须对用户所提供的原始数据进行综合,抽象出数据库系统所要研究的数据,将现实世界中的事物及其联系转换成信息世界中的实体及其联系。6.3 数据库概念设计数据库概念设计v(3)数据世界数据世界指信息世界中的信息在计算机中的数据存储。信息世界中的实体及其联系将被转换成数据世界中的数据及联系,这种联系是用数据模型表示的。数据模型是基于计算机系统和数据库的数据模型,它直接面向的是数据库的逻辑结构,是对现实世界的第二层抽象。6.3 数据库概念设计数据库概念设

6、计v2.概念模型的设计方法概念模型的设计方法概念模型的设计方法很多其中较早出现的、最著名最常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-Relationship Approach,E-R方法)除此之外,就是统一建模语言(Unified Modeling Language,UML)类图方法,该方法虽然在E-R方法之后出现,但却很快获得了广泛的应用。 6.3 数据库概念设计数据库概念设计v6.3.5 实体实体-联系方法联系方法1. E-R模型的表示方法(P247)2. E-R模型的设计问题v(1)确定实体和属性。一般来说,可以作为属性的事物应符合如下两条原则:v除了复

7、合属性,其他属性都不能具有需要描述的特性。除了复合属性,其他属性都不能具有需要描述的特性。v属性不能与其他实体发生联系。属性不能与其他实体发生联系。6.3 数据库概念设计数据库概念设计v2. E-R模型的设计问题(2)确定实体间的联系(3)二元联系和n元联系问题。v任何一个n(n2)元联系都可以用一组二元联系来代替。在此,简单地设n=3。v实体A、B、C之间存在着一个三元联系R,现用实体E代替联系R,联系R的属性即为实体E的属性(若联系R本身没有属性,则需为实体E设置一个标识属性),这样就可以用联系RA(联系实体E和实体A)、RB(联系实体E和实体B)和RC(联系实体E实体C)来代替原来的联系

8、R (图6-23)6.3 数据库概念设计数据库概念设计v3.E-R模型的扩充模型的扩充尽管在大部分情况下,使用前面介绍的基本E-R模型已经可以满足数据库建模的需要,即可以将现实世界中的事物及其相互间的联系描述清楚。但是,在有些时候却还不尽如人意。因此,需要对基本的E-R模型进行扩充。 6.3 数据库概念设计数据库概念设计v(1)弱实体。在现实世界中,有些实体的存在必须依赖于其他实体,这样的实体称为弱实体,其他实体则被称为常规实体。例如,教师的子女依赖于教师而存在,因此子女实体就是弱实体;又如,单元住宅与建筑物之间也存在着依赖关系,单元住宅的存在依赖于建筑物的存在,因此单元住宅是弱实体;再如,软

9、件产品与其发行版之间同样存在着依赖关系,发行版是弱实体。6.3 数据库概念设计数据库概念设计v(2)特殊化和概括特殊化的相关内容。观察一下课程实体,它具有课程号、课程名、学分和周学时等属性。假设课程实体可以进一步划分为两大类:选修课和必修课。这两类课程都具有课程实体所具有的所有属性,另外它们也分别具有区别于其他课程的一些独特的属性。例如,每门选修课都具有选修人数上限和下限,而这些属性是必修课所没有的;同样,每门必修课都具有一个课程负责人,而该属性也是选修课所不具有的。在实体内部进行分组的过程称为特殊化。对课程实体进行特殊化可以产生如下实体:选修课,具有人数上限和人数下限属性;必修课,具有课程负

10、责人属性。6.3 数据库概念设计数据库概念设计v(2)特殊化和概括概括的相关内容。v特殊化的过程是一个自顶向下的设计过程,在该过程中对高层实体进行分组可以产生若干个低层实体。而概括则是特殊化过程的逆过程。v例如,假设先设计出了选修课和必修课实体,其中选修课实体具有课程号、课程名、学分、周学时、人数上限和人数下限等属性,而必修课实体具有课程号、课程名、学分、周学时和课程负责人等属性。v就所具有的属性而言,选修课和必修课实体间存在着共性,从这种共性中可以概括出课程实体。6.3 数据库概念设计数据库概念设计v(2)特殊化和概括属性继承的相内容。v属性继承是指通过特殊化或概括所产生的低层实体将继承高层

11、实体的所有属性。v例如,图6.27中的低层实体选修课和必修课都继承了课程实体的属性,因此选修课实体具有课程号、课程名、学分、周学时、人数上限和人数下限等属性,必修课实体具有课程号、课程名、学分、周学时和课程负责人等属性。同理,共同限选课则具有课程号、课程名、学分、周学时、人数上限、人数下限和模块号等属性。6.3 数据库概念设计数据库概念设计v4.局部局部E-R模型的设计模型的设计利用E-R方法进行数据库的概念设计,可以分两步进行。v首先设计出局部E-R模型v然后再将各局部E-R一个全局E-R模型,在综合过程中同时对全局E-R模型优化,得到最终的E-R模型,即概念模型。6.3 数据库概念设计数据

12、库概念设计v(1)局部E-R模型的设计步骤。局部E-R模型的设计步骤如图6.30所示。6.3 数据库概念设计数据库概念设计v5.全局全局E-R模型的设计模型的设计各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的概念数据结构即全局E-R图,即视图的集成。视图的集成有两种方式:v(1)一次集成法。一次集成多个分E-R图,通常用于局部视图比较简单时。v(2)逐步累积式。首先集成两个局部视图(通常是比较关键的两个局部视图),以后每次将一个新的局部视图集成进来。 6.3 数据库概念设计数据库概念设计v不管用哪种方法,集成局部E-R图的都分为两个步骤。(1)合并。解决各个局部E-R

13、图之间的冲突,将各个局部E-R图合并起来生成初步E-R图。(2)修改与重构。消除不必要的冗余,生成基本E-R图。6.3 数据库概念设计数据库概念设计vE-R图中的冲突有三种:属性冲突、命名冲突和结构冲突。 属性冲突。属性域冲突即属性值的类型、取值范围或取值集合不同。v例如由于用户编号是数字,因此某些部分用户编号定义为整数形式,而由于用户编号不用参与运算,因此另一些部分将用户编号定义为字符型形式。6.3 数据库概念设计数据库概念设计v命名冲突。命名不一致可能发生在实体名、属性名或联系名之间,其中属性的命名冲突更为常见。一般表现为同名异义或异名同义。同名异义:不同意义的对象在不同的局部应用中具有相

14、同的名字。异名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字。命名冲突可能发生在属性级、实体级、联系级上。其中属性的命名冲突更为常见。解决命名冲突的方法是通常用讨论、协商等行政手段加以解决。6.3 数据库概念设计数据库概念设计v结构冲突。有三类,分别如下:同一对象在不同应用中具有不同的抽象。v例如“用户”在某一局部应用中被当作实体在另一局部应用中则被当作属性。v解决方法:通常是把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。v产生原因:不同的局部应用关心的是该实体的不同侧面。v解决方法

15、:使该实体的属性取各分E-R图中属性的并集,再适当设计属性的次序。实体之间的联系在不同局部视图中呈现不同的类型。v解决方法:根据应用语义对实体联系的类型进行综合或调整。6.3 数据库概念设计数据库概念设计v(2)消除不必要的冗余,设计基本E-R图。冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难。并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高某些应用的效率,不得不以冗余信息作为代价。简单的说冗余是实体间联系的纽带。设计数据库概念结构时,哪些冗余信息必须消除,哪些冗余信息允许存在,需要根据用户的

16、整体需求来确定。6.3 数据库概念设计数据库概念设计v6.3.6 UML方法方法在关系数据库设计中,用来创建数据库逻辑模型的常用的标准方法是使用E-R模型。E-R模型可以仅通过实体和它们之间的关系合理地体现一个组织的数据模型。但这样做似乎对描述一个组织的信息过于简单化,并且词汇量也远远不足。因此,迫切需要使用更加灵活、健将壮的模型来代替E-R模型。6.3 数据库概念设计数据库概念设计vUML是由世界著名的面向对象技术专家发起的,是在综合了著名的Booch方法(一种面向对象的分析和设计方法)、对象模型技术(Object Modeling Technique,OMT)方法和面向对象软件工程(Obj

17、ect Oriented Software Engineering,OOSE)方法的基础上而形成的一种建模技术,它通过用例图、类图、交互图、活动图等模型来描述复杂系统的全貌及其相关部件之间的联系。vUML是一种面向对象的、通用的建模语言,其表达能力很强,综合了各种面向对象方法的优点,自提出之日起就受到了广泛的重视并得到了工业界的支持。UML统一和概括了软件工程、业务建模和管理、数据库设计等许多方法学。 6.3 数据库概念设计数据库概念设计v1.用用UML进行数据库应用设计进行数据库应用设计v许多数据库设计人员和开发人员都在使用UML进行数据库建模,并且将其应用于后续的数据库设计阶段。vUML的

18、优点是:尽管其概念基于面向对象技术,但所得到的结构模型和行为模型既可以用于设计关系数据库,也可以用于设计面向对象数据库以及对象-关系数据库。vUML方法的最重要贡献之一是将传统的数据库建模人员、分析与设计人员及软件开发人员集合到一起。UML能够提供一种通用的表示元模型,可以被上述人员采纳,并能够根据不同人员的需要有所调整。6.3 数据库概念设计数据库概念设计v2.UML类图与类图与E-R图图v在E-R方法中,用E-R图来表示概念模型,在UML方法中用UML类图(对象模型)表示概念模型。UML对象模型实质上是一种扩展的E-R模型。在设计数据库概念模型时,既可以采用E-R模型,也可以采用UML对象

19、模型以类似的方式设计概念模型。与E-R模型相比,UML模型具有更强的表达能力。vUML类图类似于E-R图,通过显示各个类的类名、属性和操作,UML类图以面向对象的方式提供了数据库模式的一个结构规范。UML类图的一般用途是:描述数据对象及其相互关系的集合,这一点与概念数据库设计的目标是一致的。6.3 数据库概念设计数据库概念设计E-R图中的术语图中的术语UML图中的术语图中的术语实体集(entity set)类(class)实体(entity)对象(object)联系(relationship)关联(association)实体基数(cardinality)重复度(mulitiplicity)联系元数关联元数UML类图与E-R图中术语的区别6.3 数据库概念设计数

温馨提示

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

评论

0/150

提交评论