文档详情

第7章 数据库设计1(已看.ppt

发布:2021-11-15约9.22千字共73页下载文档
文本预览下载声明
概念结构设计(续) 如图7.26中,Q3=Q1×Q2,Q4=∑Q5。所以Q3和Q4是冗余数据,可以消去。并且由于Q3消去,产品与材料间m:n的冗余联系也应消去。 并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。 图7.26 消除冗余 概念结构设计(续) 用规范化理论来消除冗余 ① 确定分E-R图实体之间的数据依赖。 实体之间一对一、一对多、多对多的联系可以用实体码之间的函数依赖来表示。于是有函数依赖集FL。 如图7.27中: 部门和职工之间一对多的联系可表示为: 职工号→部门号 职工和产品之间多对多的联系可表示为: (职工号, 产品号) →工作天数等。 定义6.15 如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集,亦称为最小依赖集或最小覆盖。 (1)F中任一函数依赖的右部仅含有一个属性。 (2)F中不存在这样的函数依赖X→A,使得F与 F - {X→A}等价。 (3)F中不存在这样的函数依赖X→A,X 有真 子集Z 使得 F - {X→A}∪{Z→A}与F等价。 回顾 (1)逐一检查F中各函数依赖FDi:X→Y,若 Y = A1A2 …Ak,k≥2, 则用 { X→Aj | j=1,2,…,k} 来取代 X→Y。 (2)逐一检查F中各函数依赖FDi:X→A,令G = F - {X→A},若A?XG+, 则从F中去掉此函数依赖。 (3)逐一取出F中各函数依赖FDi:X→A,设 X = B1B2…Bm,m≥2, 逐一考查 Bi (i=1,2,…,m), 若A?(X-Bi )F+,则以 X-Bi 取代 X。 最小依赖集或最小覆盖 回顾 概念结构设计(续) 图7.27 劳动人事管理的分E-R图 ② 求FL的最小覆盖GL,差集为 D = FL- GL。 逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。 函数依赖集FL 概念结构设计(续) 由于规范化理论受到泛关系假设的限制,应注意下面两个问题: 冗余的联系一定在D中,而D中的联系不一定是冗余的; 当实体之间存在多种联系时,要将实体之间的联系在形式上加以区分。 概念结构设计(续) [例7.2] 某工厂管理信息系统的视图集成。 图7.11 工厂物资管理E-R图 图7.11 工厂物资管理E-R图 [例7.2] 某工厂管理信息系统的视图集成。 图7.23 销售管理子系统的E-R图 图7.27 劳动人事管理的分E-R图 图7.27 劳动人事管理的分E-R图 图7.23 销售管理子系统的E-R图 图7.11 工厂物资管理E-R图 异名同义,项目和产品含义相同。某个项目实质上是指某个产品的生产。统一用产品作实体名。 职工与仓库的工作关系已包含在劳动人事管理的部门与职工之间的联系之中,所以可以取消。 职工之间领导与被领导关系可由部门与职工(经理)之间的领导关系、部门与职工之间的从属关系两者导出,所以也可以取消。 概念结构设计(续) [例7.2] 某工厂管理信息系统的视图集成。 图7.28 某工厂管理信息系统的基本E-R图 物资管理E-R图 销售管理E-R图 人事管理E-R图 * E-R模型(续) ① 一对一联系(1∶1) 如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1∶1。 例如,学校里一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。 E-R模型(续) ② 一对多联系(1∶n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1∶n。 例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。 ③ 多对多联系(m∶n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m∶n。 例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。 E-R模型(续) E-R模型(续) 图7.6 两个实体型之间的三类联系 E-R模型(续) (2)两个以上的实体型之间的联系 一般地,两个
显示全部
相似文档