首页 百科知识 数据库概念设计的过程

数据库概念设计的过程

时间:2022-10-18 百科知识 版权反馈
【摘要】:首先对目标对象作分解,分解成若干个具有一定独立逻辑功能的目标,并针对目标的需求分析作视图设计。目标不宜太大,其实体保持在7±2个为原则。视图集成的实质是所有局部视图统一与合并成一个完整的模式。

10.3.2 数据库概念设计的过程

在本节中采用E-R方法与视图集成法进行设计,其具体步骤如下。

1)分解

首先对目标对象作分解,分解成若干个具有一定独立逻辑功能的目标,并针对目标的需求分析作视图设计。目标不宜太大,其实体保持在7±2个为原则。

2)视图设计

视图设计一般采用自顶向下设计次序,即先从抽象级别高且普遍性强的对象开始逐步细化、具体化与特殊化,如学生这个视图可先从一般学生开始,再分成大学生、研究生等,进一步再由大学生细化为大学本科与专科,研究生细化为硕士生与博士生等,还可以再细化成学生的姓名、年龄、专业等细节。

在视图设计中需作三方面的设计。

(1)实体与属性设计:

①如何区分实体与属性:实体与属性是视图中的基本单位,它们间无明确区分标准,一般讲可以有下面的一些原则作分析时参考。

●描述信息原则:一般讲实体需有进一步的性质描述,而属性则无。

●依赖性原则:一般讲属性仅单向依赖于某个实体,且此种依赖是包含性依赖,如学生实体中的学号、学生姓名等均单向依赖于学生。

●一致性原则:一实体由若干个属性组成,这些属性间有内在的关联性与一致性,如学生实体有学号、学生姓名、年龄、专业等属性,它们分别独立表示实体的某种独特个性,并在总体上协调一致,互相配合,构成了一个完整的整体。

上述三个原则仅供分析时参考,在具体操作时还要灵活掌握使用。

②实体与属性的描述:在确定了实体与属性后需对下述几个问题作详细描述。

●实体与属性名:实体与属性的命名须有一定原则,它们应清晰明了便于记忆,并尽可能采用用户所熟悉的名字,名字要有特点,减少冲突,方便使用,并要遵守缩写规则。

●确定实体标识:实体标识即是该实体的主键,首先要列出实体的所有候选键,在此基础上选择一个作为主键。

●非空值原则:在属性中可能会出现空值,这并不奇怪,重要的是在主键中不允许出现有空值。

(2)联系设计

①联系是实体间的一种广泛语义联系,它反映了实体间的内在逻辑关联。

②联系的详细描述。

●联系的种类很多,大致有三种:存在性联系,如学校有教师、教师有学生等;功能性联系,如教师授课,教师管理学生等;事件联系,如学生借书,学生打网球等。

用上面三种可以检查需求中联系是否有遗漏。

●实体间联系的对应关系有1:1,l∶n,n∶m等三种。

●实体间联系的元数:实体间联系常用的是两个实体间的联系称二元联系,有时也会用到三个及三个以上联系,称多元联系,特殊情况是一个实体内部的联系称一元联系。

例10.1 学校教务处有关于大学生的视图如图10.3,而研究生院有关于研究生的视图如图10.4表示。

img228

图10.3 教务处关于学生的视图

img229

图10.4 研究生院关于研究生的视图

3)视图集成

(1)原理与策略

视图集成的实质是所有局部视图统一与合并成一个完整的模式。在此过程中主要使用三种集成方法,它们是等同(identity)、聚合(aggregation)与抽取(generalization)。

①等同:等同是指两个或多个数据对象有相同的语义,它包括简单的属性等同、实体等同以及语义关联的等同,等同的对象其语法形式表示可能不一致,如某单位职工按身份证号编号,属性“职工编号”与属性“职工身份证号”有相同语义。等同具有同义同名或同义异名两种含义。

②聚合:聚合表示数据对象间的一种组成关系,通过聚合可将不同实体聚合成一体或将它们连接起来。

③抽取:抽取即是将不同实体中的相同属性提取成一个新的实体并构造成新的实体间联系的结构。

(2)视图集成步骤

视图集成一般分为两步:预集成步骤与最终集成步骤。

①预集成步骤的主要任务:

●确定总的集成策略,包括集成优先次序,一次集成视图数及初始集成序列等。

●检查集成过程需要用到的信息是否齐全。

●揭示和解决冲突,为下阶段视图归并奠定基础。

②最终集成步骤的主要任务:

●完整性和正确性。全局视图必需是每个局部视图正确全面的反映。

●最小化原则。原则上同一概念只在一个地方表示。

●可理解性。即应选择最为用户理解的模式结构。

(3)冲突和解决

在集成过程中由于每个局部视图在设计时的不一致性,因而会产生矛盾,引起冲突,常见冲突有下列几种。

①命名冲突:命名冲突有同名异义和同义异名两种,图10.5中的属性“何时入学”在图10.6中为“入学时间”,它们属同义异名。

②概念冲突:同一概念在一处为实体而在另一处为属性或联系。

③域冲突:相同的属性在不同视图中有不同的域,如学号在某视图中的域为字符串而在另一个视图中可为整数,有些属性采用不同度量单位也属域冲突。

④约束冲突:不同视图可能有不同约束,例如对“选课”这个联系,大学生与研究生的最少与最多的数可能不一样。

上述冲突一般在集成时需要作统一,形成一致的表示,其办法即是对视图作适当修改,如将两个视图中(图10.3及图10.4)的“学生”与“大学生”统一改成“学生”,又如将“何时入学”与“入学时间”统一成“入学时间”从而将不一致修改成一致,再经聚合后,图10.3与图10.4所示的两个视图经集成后形成如图10.5的视图。

在此视图集成中使用了等同、聚合与抽取,并对命名冲突作了一致性处理。

img230

图10.5 两个视图集成

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈