收藏 分销(赏)

数据库系统工程师-02实体-联系模型.doc

上传人:精**** 文档编号:2227185 上传时间:2024-05-23 格式:DOC 页数:8 大小:154.04KB
下载 相关 举报
数据库系统工程师-02实体-联系模型.doc_第1页
第1页 / 共8页
数据库系统工程师-02实体-联系模型.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述
数据库系统工程师-02实体-联系模型 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 8 个人收集整理 勿做商业用途 第二章 实体—联系模型(概念数据库设计) 2.1 数据库设计过程 需求分析 概念数据库设计 逻辑数据库设计 确定存储哪些数据,建立哪些应用,常用的操作及对象有哪些等。 对需求分析所得到数据的更高层的抽象描述。 将概念模型所描述的数据映射为某个特定的DBMS模式数据。将E-R模型转换为关系模型。 ER模型 ODL 物理设计阶段 数据库实施阶段 数据库运行与维护阶段 确定物理结构,选定DBMS。 建立实际数据库结构。调试及运行。 2.2 基本概念 2.2.1 1976年,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,BP) C、外码: 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属性上取值为null。null表示“值未知”,即值存在,但目前没有获得该信息. 如职工(姓名,部门,工种,身份证),如果目前不知道职工身份证号码,则设身份证值为null. 实体完整性:作为主码的属性上取值不能为null。 (6)派生(Derived)属性与基属性:可以从其他相关的属性或实体派生出来的属性值.如学生(学号,姓名,平均成绩),选课(学号,课程号,成绩),则平均成绩可由学生所选课程的总成绩除以课程总数来得到.称平均成绩为派生属性,而成绩为基属性,或存储属性.数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计算出来。 基本表 VS 视图 多值属性用双椭圆表示,或用双线与实体相连。 学生 选修课程 姓名 派生属性用虚椭圆表示,或用虚线与实体相连 学生 平均成绩 姓名 系别 2.3 映射约束 2.3.1 映射的基数(Mapping Cardinalities): 实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目. 可以有一对一的(1:1),一对多的(1:m),多对多的(m:n)几种情况。 在E-R图中,用箭头或线段来表示联系的映射基数. A B R 单方实体集 A B R 联系R从A到B是一对一或多对一 联系R从A到B是多对多或一对多 (1)二元联系集的映射基数:一对一、一对多、多对多 (2)一个实体集内的二元联系:一对一、一对多、多对多 (3)多个实体集间联系的情况 2.3.2存在依赖(Existence Dependency) 如果实体x的存在依赖于实体y的存在,则称x存在依赖于y。 y称作支配实体,x称作从属实体。如果y被删除,则x也要被删除。考虑员工亲属的例子 2.3.3 弱实体集(Weak Entity Set) 如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集。 弱实体集与其拥有者之间的联系称作标识性联系(identifying relationship)。 弱实体集与强实体集之间是一对多的联系. 弱实体集必然存在依赖于强实体集(Strong Entity Set)。存在依赖并不总会导致一个弱实体集,从属实体集可以有自己的主码。 如实体集信用卡(信用卡号,客户帐号,金额),它存在依赖于客户帐号实体集,但信用卡有自己的主码信用卡号。 2.3.4为什么使用弱实体集 通过为弱实体集加上合适的属性,可转变为强实体集,为什么还要使用弱实体集? (1)避免数据冗余(强实体集码重复),以及因此带来的数据的不一致性. (2)弱实体集反映了一个实体对其它实体依赖的逻辑结构。 (3)弱实体集可以随它们的强实体集的删除而自动删除。 (4)弱实体集可以物理地随它们的强实体集存储. 亲属 员工 有 亲属名 名称 2.3.5 复合实体 复合实体的主码一般由两个(或两个以上)联系 2.3.6 实体的超类与子类 举例:飞行员工与普通员工。 超类名称 子类1 子类2 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、弱实体:将父表的主码作为外码放在弱实体中.弱实体的主码由父表的主码与弱实体本身的候选码组成.也可以为弱实体建立新的独立的标识符ID。 C、一对一:将一个表的主码作为外码放在另一个表中,外码通常是放在操作比较频繁的表中.也可以将两个实体合并成一个实体。 D、多对多:建立复合实体,复合实体的主码由两个父实体的主码复合组成。复合实体的主码也是外码.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服