概念结构设计

一.实体与属性划分原则

基本遵循原则:为简化ER图处置,能作为属性对待的尽量作为属性对待

怎样区分属性实体

  • 作为属性不能再具有需要描述的性质。

例如:学生除了学号姓名等属性,可能具有学生类型这一属性。但在实际情况中,如果图书馆管理借阅书籍的最大数量学生类型相联系(本科生最多借阅10本,研究生最多可以借阅20本等),借阅最大数就是描述学生类型的一个性质。那么在实际设计这个图书管理系统时,就需要把学生类型作为一个实体设计。

  • 属性不能与其他实体具有联系

例如:病房号可以作为病人的一个属性出现,但病房同时又与医生这个实体产生了联系,这时病房就应该单独作为一个实体出现。


二.ER图集成

在现实生活中,往往需要设计一些较为庞大的数据库,它具备一些子系统。我们设计的思路是先自顶向下需求分析,再从子系统入手,自底向上的设计全局ER图,在分ER图合并为全局ER图时,就涉及到了ER图的集成

2.1 集成步骤

2.1.1 合并ER图,生成初步ER图(消除冲突)

属性冲突

  • 属性域冲突(属性值的类型、取值范围或取值集合不同)
    例如:同样是日期,有些单位按char存储,有些按date存储

  • 属性取值单位冲突
    例如:有些单位零件重量按公斤计,有些按斤计

命名冲突

  • 同名异义
  • 异名同义

结构冲突

  • 同一对象在不同的应用中有不同的抽象(实体/属性)

  • 同一实体在不同子系统的ER图中所包含的属性个数和属性排列次序不完全相同(用并集解决)

  • 实体间的联系在不同的ER图中为不同的类型(一对一、一对多、多对多)

2.1.2 消除冗余

消除一些冗余的联系


在上图中,Q3=Q1xQ2,Q4=∑Q5,因此Q3和Q4都是冗余数据,可以消掉

posted @ 2023-06-02 17:08  遥鱼  阅读(58)  评论(0编辑  收藏  举报