数据库原理(十 一)- 概念结构设计

前言

将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。它是整个数据库设计的关键,这里主要讲解概念模型的特点,以及用E-R模型来表示概念结构的方法

概念结构的特点

  • 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是现实世界的一个真实模型
  • 易于理解,可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键
  • 易于修改,当应用环境和应用要求改变时容易对概念模型修改和扩充
  • 易于向关系、网状、层次等各种数据模型转换

概念模型是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。

E-R模型

P.P.S.Chen提出的E-R模型使用E-R图来描述现实世界的概念模型,是描述概念模型的有力工具,在如何画E-R之前我们先了解一下实体之间的联系和多实体之间的联系

1.实体之间的联系

  • 两个实体之间的联系
    • 1对1(1:1),比如一个客户只有一个会员卡,一个会员卡属于一个客户
    • 1对多(1:n),比如一个系有多个班级,一个班级属于一个系
    • 多对多(n:m) ,比如一个学生可以选修多门课程,一门课程可以支持多名同学参加
  • 两个以上的实体型之间的联系
    • 一般地,把参与联系的实体型的数目称为联系的度,有2个度称为二元联系,有3个度称为三元联系(下图就是),N个实体型之间的联系度为N,称为N元联系
      在这里插入图片描述
  • 单个实体型内的联系
    • 同一实体集内的各实体之间也可以存在一对一、一对多和多对多的联系。例如,职工实体型内部具有领导和被领导的联系
      在这里插入图片描述

2.E-R图
E-R图提供了表示实体型、属性和联系的方法:

  • 实体型用矩形表示,矩形框内写明实体名
  • 属性用椭圆形表示,并用无向边将其与相应的实体型连接起来
  • 联系用菱形表示,菱形框内写明联系名,并用无向边分别于有相关实体型连接起来,同时在无向边旁标上联系的类型(1:1、1:n和n:m)

如下面这张图,单位、学生和课程都是实体,有拥有、开课和选修三个联系
在这里插入图片描述

概念结构设计

实体划分的原则

为了简化E-R的处置,现实世界的事物作为属性对待的尽量作为属性对待

  • 作为属性,不能再具有需要描述的性质
  • 属性不能与其他实体具有联系

E-R的集成

在开发一个大型信息系统时,最经常采用的策略是自上而下地进行需求分析,然后再自底向上地设计概念结构。
即首先设计子系统的分E-R图,然后将它们集成起来,得到全局E-R图,E-R图的集成一般需要分两步走,即合并,解决冲突和修改和重构,消除冗余

1.冲突的类型

  • 属性冲突
    • 属性域冲突,如零件号,有的部门用整形,有的部门用字符型
    • 属性取值单位冲突,如零件的重量有的以公斤为单位,有的以斤为单位
  • 命名冲突
    • 同名异义
    • 异名同义
  • 结构冲突
    • 同一对象在不同应用中具有不同的抽象
    • 同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同
    • 实体间的联系在不同的E-R图中为不同的类型

2.消除冗余

  • 分析方法
  • 规范化理论

不是所有冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息为代价

借鉴

王珊,萨师煊.数据库系统概论(第五版)[M].北京:高等教育出版社,2014:215-218,224-231.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章