还剩1页未读,继续阅读
文本内容:
第二章实体-联系模型概念数据库设计
2.1数据库设计过程
2.2根本概念
2.
2.11976年,P・P・S.Chen提出E-R模型Entity-Relationship Model,用E-R图来描述概念模型观点世界是由一组称作实体的根本对象和这些对象之间的联系构成的
2.
2.2根本概念1实体Entity客观存在并可相互区分的事物叫实体如学生张
三、工人李
四、计算机系、数据库概论2属性Attribute实体所具有的某一特性一个实体可以由若干个属性来刻画例如,学生可由学号、姓名、年龄、系、年级等组成4域Domain属性的取值范围例如,性别的域为男、女,月份的域为1到12的整数5实体型Entity Type实体名与其属性名集合共同构成实体型例,学生学号、姓名、年龄、性别、系、年级注意实体型与实体值之间的区别,后者是前者的一个特例如学生9808100,王平,21,男,计算机系,2是一个实体6实体集Entity Set同型实体的集合称为实体集如全体学生联系Relationship实体之间的相互关联如学生与老师间的授课关系,学生与学生间有班长关系联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性同类联系的集合称为联系集7元或度Degree参与联系的实体集的个数称为联系的元如学生选修课程是二元联系,供给商向工程供给零件则是三元联系8码Key A、候选码关系中的某一属性或属性组的值能唯一地标识一个元组,称该属性或属性组为候选码B、主码一个关系有多个候选码,从中选定一个用来区别同一实体集中的不同实体,称作主码一个实体集中任意两个实体在主码上的取值不能相同如学号是学生实体的码通讯录姓名,邮编,地址,电话,Email,BPC、外码D、全码关系模型中所有属性组是这个关系模式的候选码,称为全码9参与Participation实体集之间的关联称为参与,即实体参与联系如王军选修“数据库基础〃,表示实体“王军〃与“数据库基础〃参与了联系“选修〃如果实体集E中的每个实体都参与到联系集R中的至少一个联系,则称E全部参与R如果实体集E中只有局部实体参与到联系集R的联系中,则称E局部参与R如“职工〃与”部门〃之间的“管理〃联系,“职工〃实体集局部参与,而“部门〃实体集完全参与10角色Role实体在联系中的作用称为实体的角色当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式,需要显式指明其角色如学生与班长关系,职工与职工之间的经理关系,课程之间的先修关系
2.
2.3属性类型
(1)简单属性不可再分的属性如学号、年龄、性别
(2)复合(Composite)属性可以划分为更小的属性可以把相关属性聚集起来,使模型更清晰如电话号码=区号+本地号码
(3)单值属性每一个特定的实体在该属性上的取值唯一如学生的学号,年龄、性别、系别等
(4)多值属性:某个特定的实体在该属性上的有多于一个的取值如学生(学号,所选课程,联系电话),的“所选课程〃,“联系电话〃
(5)NULL属性:Null表示“无意义〃,当实体在某个属性上没有值时设为Null如通讯录(姓名,email,电话,BP),若某人没有email地址,则在email属性上取值为nullnull表示“值未知〃,即值存在,但目前没有获得该信息如职工(姓名,部门,工种,身份证),如果目前不知道职工身份证号码,则设身份证值为nullo实体完整性作为主码的属性上取值不能为null
(6)派生(Derived)属性与基属性:可以从其他相关的属性或实体派生出来的属性值如学生(学号,姓名,平均成绩),选课(学号,课程号,成绩),则平均成绩可由学生所选课程的总成绩除以课程总数来得到称平均成绩为派生属性,而成绩为基属性,或存储属性数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计算出来根本表VS视图多值属性用双椭圆表示,或用双线与实体相连派生属性用虚椭圆表示,或用虚线与实体相连
2.3映射约束
2.
3.1映射的基数(Mapping Cardinalities)实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目可以有一对一的(1:1),一对多的多对多的(ni:n)几种情况在E-R图中,用箭头或线段来表示联系的映射基数
(1)二元联系集的映射基数一对
一、一对多、多对多
(2)一个实体集内的二元联系一对
一、一对多、多对多
(3)多个实体集间联系的情况
2.
3.2存在依赖(Existence Dependency)如果实体x的存在依赖于实体y的存在,则称x存在依赖于yoy称作支配实体,x称作附属实体如果y被删除,则x也要被删除考虑员工亲属的例子
2.
3.3弱实体集(Weak EntitySet)如果一个实体集的所有属性都缺乏以形成主码,则称这样的实体集为弱实体集弱实体集与其拥有者之间的联系称作标识性联系(identifying relationship)□弱实体集与强实体集之间是一对多的联系弱实体集必然存在依赖于强实体集(Strong EntitySet)存在依赖并不总会导致一个弱实体集,附属实体集可以有自己的主码如实体集信用卡(信用卡号,客户帐号,金额),它存在依赖于客户帐号实体集,但信用卡有自己的主码信用卡号
2.
3.4为什么使用弱实体集通过为弱实体集加上适宜的属性,可转变为强实体集,为什么还要使用弱实体集?
(1)防止数据冗余(强实体集码重复),以及因此带来的数据的不一致性
(2)弱实体集反映了一个实体对其它实体依赖的逻辑结构
(3)弱实体集可以随它们的强实体集的删除而自动删除
(4)弱实体集可以物理地随它们的强实体集存储2・
3.5复合实体复合实体的主码一般由两个(或两个以上)联系
2.
3.6实体的超类与子类举例飞行员工与普通员工
2.4数据抽象与E-R模型设计步骤
(1)数据抽象
(2)设计局部E-R模型
(3)设计全局E-R模型A、合并局部E-R图,生成初步E-R图可能发生的问题,属性冲突,名称冲突,结构冲突B、消除冗余生成E-R图
2.5将E-R模型转换成数据库一般规则
(1)将每一个实体转换成一个关系
(2)所有主码必须定义非空
(3)对于二元联系,按照规则定义外码A、一对多将“一〃表中的主码作为外码放在“多〃表中,外码总是在“多〃的一方B、弱实体将父表的主码作为外码放在弱实体中弱实体的主码由父表的主码与弱实体本身的候选码组成也可以为弱实体建立新的独立的标识符IDC、一对一将一个表的主码作为外码放在另一个表中,外码通常是放在操作比较频繁的表中也可以将两个实体合并成一个实体D、多对多建立复合实体,复合实体的主码由两个父实体的主码复合组成复合实体的主码也是外码。
个人认证
优秀文档
获得点赞 0