2023年7月27日发(作者:)
数据库概念结构设计数据模型数据模型也是⼀种模型,它是对现实世界数据特征的抽象数据模型是数据库系统的核⼼和基础两类数据模型概念模型概念模型,也称信息模型,它是按照⽤户的观点来对数据和信息建模,主要⽤于数据库设计概念模型的⼀种表⽰⽅法:实体-联系⽅法->E-R模型基本概念实体客观存在并可相互区别的事物称为实体属性实体所具有的某⼀特性称为属性键唯⼀标识实体的属性称为键实体型⽤实体名及其属性名集合来抽象和刻画同类实体,称之为实体型,例如实体集同⼀类型实体的集合称为实体集,例如全体学⽣就是⼀个实体集联系现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系,实体内部的联系通常是指组成实体的各个属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有⼀对⼀、⼀对多和多对多等多种类型特点:1. 能够真实地反映现实世界,包括事物和事物之间的联系,能满⾜⽤户对数据的处理要求,是现实世界的⼀个真实模型2. 易于理解,可以⽤它和不熟悉计算机的⽤户交换意见。3. 易于更改,当应⽤环境和应⽤要求改变时容易对概念模型修改和扩充4. 易于向关系、⽹状、层次等各种数据模型转换逻辑模型和物理模型逻辑模型主要包括层次模型、⽹状模型、关系模型、⾯向对象数据模型、对象关系数据模型、半结构化数据模型物理模型是对数据最底层的抽象⾸先将现实世界抽象成信息世界,然后将信息世界转换为机器世界
E-R模型实体之间的联系两个实体之间的联系1. ⼀对⼀联系(1:1)如果对于实体集A中的每⼀个实体,实体集B中⾄多有⼀个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有⼀对⼀联系,记为1:12. ⼀对多联系(1:n)如果对于实体集A的每⼀个实体,实体集B中有n个实体(n>=0)与之联系,反之,对于实体集B中的每⼀个实体,实体集A中⾄多只有⼀个实体与之联系,则称实体集A与实体集B有⼀对多联系,记为1:n3. 多对多联系(m:n)如果对于实体集A中的每⼀个实体,实体集B中有n个实体(n>=0)与之联系,反之,对于实体集B中的每⼀个实体,实体集A中也有m个实体(m>=0)与之联系,则称实体集A与实体集B具有多对多联系,即为m:n两个以上实体之间的联系⼀般地,两个以上的实体型之间也存在着⼀对⼀,⼀对多和多对多联系单个实体型内的联系同⼀个实体集内的各个实体之间也可以存在⼀对⼀、⼀对多和多对多的联系。⼀般地,把参与联系的实体型的数⽬成为联系的度。两个实体型之间的联系度为2,也成为⼆元联系,三个实体型之间的联系读为3,也称为3元联系,N个实体型之间的联系度为N,也称N元联系E-R图E-R图提供了表⽰实体型、属性和联系的⽅法1. 实体型⽤矩形表⽰,矩形框内写明实体名2. 属性⽤椭圆表⽰3. 联系⽤菱形表⽰扩展E-R模型ISA联系⽤E-R⽅法构建⼀个项⽬的模型时,经常会遇到某些实体型是某个实体型的⼦类型,例如,研究⽣和本科⽣是学⽣的⼦类型,学⽣是⽗类型。这种⽗类和⼦类联系称为ISA联系,表⽰“is a”的语义ISA联系⼀个重要的性质是⼦类继承了⽗类的所有属性,当然,⼦类也可以有⾃⼰的属性。分类⽅法1. 分类属性分局分类属性的值把⽗实体型的实体分派到⼦实体型中2. 不相交约束和可重叠约束不相交约束描述⽗类中的⼀个实体不能同时属于多个⼦类的实体集,即⼀个⽗类中的实体最多属于⼀个⼦类实体集。如果⽗类中的⼀个实体能同时属于多个⼦类中的实体集,则称为可重叠约束3. 完备性约束完备性约束描述⽗类中的⼀个实体是否必须是⼀个⼦类的实体,如果是,则叫做完全特化,否则叫部分特化完全特化⽤⽗类到⼦类的双线连接表⽰,单线则表⽰部分特化基数约束基数约束是实体之间⼀对⼀、⼀对多和多对多联系的细化,参与联系的每个实体型⽤基数约束来说明实体型中的任何⼀个实体可以在联系中出现最少次数基数约束⽤⼀个数对表⽰,0<=min<=max。min=1的约束叫做强制参与约束,即被施加基数约束的实体型中的每个实体都要参与联系min=0的约束叫做⾮强制参与约束,被施加基数约束的实体型中的实体可以出现在联系中,也可以不出现在联系中part of 联系Part of 联系即部分联系,它表明某个实体型是另外⼀个实体型的⼀部分分类⾮独占part of联系:整体实体如果被破坏,部分实体仍然可以独⽴存在独占part of 联系:整体如果被破坏,部分实体不能存在,在E-R图中⽤弱实体;类型和识别联系来表⽰独占联系,如果⼀个实体型的存在依赖于其他实体,则这个实体型叫做弱实体型,否则叫做强实体型
概念结构设计实体与属性的划分原则为了简化E-R图的处置,显⽰世界的事务能作为属性对待的话尽量作为属性什么条件的事物可以作为属性对待呢? 准则如下1. 作为属性,不能再具有需要描述的性质。属性必须是不可分割的数据项,不能包含其他属性2. 属性不能与其他实体有联系。E-R图中所表⽰的联系是实体之间的联系E-R图的集成在开发⼀个⼤型信息系统时,最经常采⽤的策略是⾃顶向下地进⾏需求分析,然后再⾃底向上的设计概念结构⾸先设计各⼦系统的分E-R图,然后将它们集成起来得到全局E-R图E-R图的集成⼀般需要分两步:合并、修改和重构合并E-R图,⽣成初步E-R图各个⼦系统的E-R图之间的冲突主要有三类:属性冲突、命名冲突、结构冲突合并1. 属性冲突1. 属性域冲突2. 属性取值单位冲突2. 命名冲突1. 同名异义2. 异名同义3. 结构冲突1. 同⼀个对象在不同应⽤中具有不同的抽象解决⽅法:把属性变换为实体或把实体变换为属性,使同⼀个对象具有相同的抽象2. 同⼀实体在不同⼦系统的E-R图中所包含的属性个数和属性排列次序不完全相同这是很常见的⼀类冲突,原始是不同的局部应⽤关⼼的是该实体的不同侧⾯解决⽅法是使该实体的属性取各个⼦系统的E-R图中的属性的并集,再适当调整顺序3. 实体间的联系在不同的E-R图中为不同的类型消除不必要的冗余在初步E-R图中可能存在⼀些冗余的数据和实体之间冗余的联系所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系消除了冗余后的初步E-R图称为基本E-R图消除冗余采⽤分析⽅法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间的逻辑关系的说明来消除冗余也可以⽤规范化理论来消除冗余1. 确定分R-R图实体之间的数据依赖2. 求Fl的最⼩覆盖Gl,差集为D=Fl-Gl冗余的联系⼀定在D中,⽽D中的联系不⼀定是冗余的当实体之间存在多种联系时,要将实体之间的联系在形式上加以区分
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690431424a348944.html
评论列表(0条)