将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。它是整个数据库设计的关键。

1. 概念模型

在需求分析阶段所得到的应用需求应当首先抽象为信息世界的结构,然后才能更好,更准确地采用某一数据库管理系统实现这些需求。

概念模型的主要特点是:

(1) 能真实,充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是现实世界的一个真实模型。

(2) 易于理解,可以用它和不熟悉计算机的用户交换意见。用户的积极参与是数据库设计成功的关键。

(3) 易于更改,当应用环境和应用要求改变时容易对概念模型修改和扩充。

(4)易于向关系,网状,层次等数据模型转换。

概念模型是各种数据模型的共同基础,它比数据模型更独立于机器,更抽象,从而更加稳定。描述概念模型的有力工具是E-R模型。

2. E-R模型

(1) 实体之间的联系

a . 一对一联系(1:1)

如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。

b . 一对多联系(1:n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多的联系,记为1:n。

c . 多对多联系(n:m)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n>10)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m>10)与之联系,则称实体集A与实体集B具有多对多的联系,记为n:m。

(2) E-R图

E-R图提供了表示实体形,属性和联系的方法。

a . 实体型用矩形表示,矩形框内写明实体名

b . 属性用椭圆体表示,并用无向边将其与相应的实体型连接起来

c . 联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁边标上联系的类型(1:1,1:n,n:m)。

3. 扩展E-R模型

(1) ISA联系

ISA联系是一个重要的性质是子类继承了父类的所有属性,当然子类也可以有自己的属性。ISA联系描述了对一个实体型中实体的一种分类方法。

(2) 不相交约束和可重叠约束

不相交约束描述父类中的一个实体不能相同属于多个子类中的实体集,即一个父类中的实体最多属于一个子类实体集,用ISA联系三角形符号内加一个叉号“X”来表示。完备性约束描述父类中的一个实体是否必须是某一个子类中的实体,如果是,则叫做完全特化,否则叫做部分特化。

(3) 基数约束

基数约束是对实体之间一对一,一对多,多对多联系的细化。参与联系的每个实体型用基数约束来说明实体型中的任何一个实体型都可以在联系中出现的最少次数和最多次数。约束用一个数对min...max表示,0≤min≤max。

(4) Part-of联系

Part-of联系即部分联系,它表明某个实体型是另外一个实体型的一部分。Part-of联系可以分为两种情况,一种是整数实体如果被破坏,部分实体仍然可以独立存在,称为非独占的Part-of联系。非独占的Part-of联系可以通过基数约束来表达。与非独占联系相反,还有一种Part-of联系是独占联系。即整体实体如果被破坏,部分实体不能存在,在E-R图中用弱实体类型和识别联系来表示独占联系。如果一个实体型的存在依赖于其他实体型的存在,则这个实体型叫做弱实体性,否则叫做强实体型。

4. UML

UML是对象管理组织的一个标准,它不是专门针对数据建模的,而是为软件开发的所有阶段提供模型化可可视化支持的规范语言,从需求规格描述到系统完成后的测试和维护都可以用到UML。

(1) 实体集

用类表示,矩形框中实体名放在上部,下面列出属性名。

(2) 实体的码

在类图中在属性后面加“PK”来表示码属性。

(3) 联系

用类图之间的“联系”来表示,早起的UML只能表示二元关联,关联的两个类用无向边相连,在连接上面写关联的名称。

5. 概念结构设计

(1) 实体与属性的划分原则

  1. 作为属性,不能再具有需要描述的性质,即属性必须是不可再分的数据项,不能包含其他属性。
  2. 属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。凡满足上述两条准则的事物,一般均可作为属性对待。

(2) E-R图的集成

E-R图的集成一般需要分两步走,如图所示。

  •  合并E-R图,生成初步E-R图

合并这些E-R图时并不能简单地将各个E-R图画到一起,而是必须着力消除各个E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型。合理消除各E-R图的冲突是合并E-R图的主要工作与关键所在。

各子系统的E-R图之间的冲突主要有三类:

a . 属性冲突;

b . 命名冲突;

c . 结构冲突。

  • 消除不必要的冗余,设计基本E-R图

冗余的数据是指可由基础数据导出的数据,冗余的联系是指可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,应当予以消除。消除了冗余后的初步E-R图称为基本E-R图。消除冗余常见的两种方法为:

a . 分析方法;

b . 规范化理论。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐