我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019手机棋牌游戏平台代理 > 绘制要图 >

数据库ER图模型

归档日期:07-25       文本归类:绘制要图      文章编辑:爱尚语录

  E-R需求分析 概念数据库设计 逻辑数据库设计 确定存储哪些数据,建立哪些应用,常用 的操作及对象有哪些等 对需求分析所得到数据的更高层的抽象描述 将概念模型所描述的数据映射为某 个特定的DBMS模式数据 ER模型 /ODL 物理数据库设计 E-R模型:Entity-Relationship Model 1976年,P.P.S.Chen提出E-R模型, 用E-R图来描述概念模型 世界是由一组称作实体实体的基本对象和这些对象之间的 联系联系构成的 如学生张三、工人李四、计算机系、数据库概论 例如,学生可由学号 、姓名、 年龄、 系等组成 (EntityType) 例,学生(学号、姓名、年龄、性别、系、年级) 值)之间的区别,后者是前者的一个特例 如(9808100,王平,21,男,计算机系 ,2)是一个实体 (EntitySet) 如学生与老师间的授课关系,学生与学生间有班长关系 联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性 其任意真子集都不能成为超码的最小超码称为候选码 候选码 从所有候选码中选定一个用来区别同一实体集中的不同实体,称作主码主码 通讯录(姓名, 邮编, 地址, 电话, Email,BP) 姓名学号 课程名先修课 学分 成绩 用矩形表示实体集,在框内写 上实体名 用椭圆表示 实体的属性 用无向边把实体与其属性连接起来 用菱形表示实体间的联系 将参与联系的实体用线段连接 联系的 数量 实体集属性中作为主码的一部分的属性用下划线来标明 姓名 学号 课程名先修课 学分 实体集之间的关联称为参与,即实体参与联系 如王军选修“数据库基础 ”,表示实体 “王军”与“数据库基础 ”参与了联系 “选修” 如果实体集E中的每个实体都参与到联系集 R中的至少一个联系 ,则称E全部参与 如果实体集E中只有部分实体参与到联系集 R的联系中 ,则称E部分参与 如“职工”与“部门”之间的“经理”联系, “职工”实体集部分参与 ,而“部门”实体集完全参与 E-R “职工”部分参与联系 “经理” 部门”完全参与联系 “经理” 用双线连接联系 与完全参与的实体 姓名 职工号 工种 部门号 部门名 地址 ExistenceDependency 如果实体x的存在依赖于实体 y的存在 ,则称x存在依赖于 y称作支配实体,x称作从属实体 考虑分期付款的例子,对每一个“贷款”实体,有若干个“还款”实体与之关联,“还款”实体存在依赖于“贷款”实体 当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式 ,需要显式指明其角色 如学生与学生间的班长关系,职工与职工之间的经理关系,课程之间的先修关系E-R 当需要显式区分角色时,在连接菱形和矩形的线上加上说明性标注以区别不同的角色 管理 工作 如学号、年龄、 性别 如电话号码=区号+本地号码 出生日 1NFVs 学生 姓名 电话号码 年龄 区号 本地号码 学生 姓名 年龄 区号 本地号码 如学生的学号,年龄、 性别、 如学生(学号, 所选课程 ,联系电线 多值依赖 多值依赖 null表示“无意义”,当实体在某个属性上没有值时设为null 如通讯录 (姓名, email,电话, BP),若某人没有 email地址, 则在email属性上取值为 null 即值存在,但目前没有获得该信息 如职工 (姓名,部门,工种,身份证),如果目前不知道职工身份证号码,则设身份证值为null 如学生(学号, 姓名, 平均成绩 ,选课(学号, 课程号 ,成绩) 则平均成绩可由学生所选课程的总成绩除以课程总数来得到。称平均成绩 为派生属性 ,而成绩为基属性 ,或存储属性 数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用时再从基属性中计算出来E-R 多值属性用双椭圆 双椭圆表示 派生属性用虚椭圆 虚椭圆表示 姓名 选修课程 姓名 平均成绩 实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目 可以有一对一的(1:1),一对多的 (m:n)几种情况E-R 用箭头或线段来表示联系的种类 多方实体集 单方实体集 每个A只与一个B发生联系 每个B可以与多个A发生联系E-R 多方实体集 单方实体集 一个B可以参与到多个联系中 E-R多方实体集 单方实体集 中至多一个实体相联系注:一对一不是一一对应 职工 部门 管理 中至多一个实体相联系教师 学生 班主任 中m(m0)一个实体相联系学生 课程 选修 职工领导 领导 属下 职工 配偶 丈夫 妻子 构成 零件 母零件 子零件 一对多设有n个实体集E 的一对多联系职工 部门 工作 工种 职工 部门 工作 工种 教师课程 教授 (0,2) (1,4) 学生 课程 选修 (4,6) (10,50) 区分强制性和可选性联系 学生 课程 选修 学生 课程 选修 学号 课程号 成绩 贷款(贷款号 ,金额) 对应多个还款( 还款号 ,还款日期 ,金额) 每个“贷款”的各个 “还款”不同, 但不同 “贷款”之间的 “还款”却可能相同 D1234 5000 08.10.123000 D1234 5000 08.11.121000 D1234 5000 08.12.121000 D5678 7000 08.10.123000 D5678 7000 08.11.122000 D5678 7000 08.12.122000 贷款 隶属 还款号 贷款号 还款日期 还款 贷款金额 还款金额 还款的所有属性都不能作为主码 贷款号冗余 贷款 隶属 贷款号还款金额 贷款号 还款 贷款金额 还款金额 贷款 贷款号还款金额 贷款金额 还款日期 还款概念消失了 还款会和帐户发生支付联系 账户 支付 贷款 贷款号 贷款金额 还款 还款号 还款金额 还款日期 帐户 支付 WeakEntity Set 如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集 弱实体集与其拥有者之间的联系称作标识性联系(identifying relationship) 用户名+主机名 如Logins(passwd文件) 实体集记录本机用户名及其口令 ,用户名在不同主机上可以相同 Logins是一个弱实体集 产品(名称, 价格), 公司( 名称, 地址, 联系电话 ),“产品”与“公司”之间有 “制造”联系,“产品”是一个弱实体集 弱实体集必然存在依赖于强实体集(Strong Entity Set) 存在依赖并不总会导致一个弱实体集,从属实体集可以有自己的主码如实体集信用卡 (信用卡号 ,客户帐号 ,金额) 它存在依赖于客户帐号实体集,但信用卡有自己的主码 信用卡号 弱实体集中用于区别依赖于某个特定强实体集的属性集合。也称作部分码 (partial key) 如“还款”中的还款号,Logins中的用户名 和该弱实体集的分辨符组成 Logins主码=用户名(在所在主机上唯一)+ 主机IP地址 (在全球唯一) “产品”主码=产品名称+ 公司名称 通过为弱实体集加上合适的属性,可转变为强实体集 ,为什么还要使用弱实体集 避免数据冗余(强实体集码重复 弱实体集以双边框 的矩形表示 标识性联系以双边框 的菱形表示 弱实体集的分辨符用下划虚线标明Logins Host 用户名名称 还款 贷款 隶属 贷款号还款金额 贷款金额 帐户 支付 产品 公司 制造 产品名 地址 价格 公司名 联系电话 商场 销售 作为层次结构的一部分cs.pku.edu.cn 实体集的一些多值、复合属性可以抽取出来作为弱实体集 如贷款具有多值属性还款 ,可以将还款作为贷款的弱实体 如果弱实体集不但参与和强实体集之间的标识性联系,而且参与和其它实体集的联系,或者弱实体集本身含有很多属性,则将其表述为弱实体集如产品与公司之间有制造联系,同时还与商场有销售联系 如果弱实体集只参与和强实体集之间的标识性联系,或者弱实体集本身属性不多 ,则将其表述为属性 实体集中某些子集具有区别于该实体集内其它实体的特性,可以根据这些差异特性对实体集进行分组 ,这一分组的过程称作特殊化 一个银行帐号可以有存款帐号、贷款帐号 特殊化用标记为 标记为ISA ISA的三角形 的三角形来表示 “isa”,表示高层实体和低层实体之间的“父类-子类 ”联系 本科生 研究生 学生 ISA 硕士 ISA 博士 姓名 学号 论文 发表 军训 本科生 研究生 学生 ISA 论文 发表 学生 论文 发表 各个实体集根据共有的性质,合成一个较高层的实体集 。概括是一个高层实体集与若干个低层实体集之间的包含关系 概括与特殊化是个互逆的过程,在E-R图中的表示方法是相同的 特殊化强调同一实体集内不同实体之间的差异,概括强调不同实体集之间的相似性 低层实体集特有的性质仅适用于某个特定的低层实体集如“Dissertation”只适用于“研究生”实体集 实体集作为低层实体集只能参与到一个ISA联系中 低层实体集可以参与到多个ISA联系中 如“博士”算参加工作 ,会继承 “职工”的属性 “博士”继承了 “研究生 “职工”的所有属性。如果“研究生 ”与“职工”有相同名称的属性 ,如“姓名”, 可以在 “博士”中用“研究生 .姓名”, “职工.姓名”区别开来。 本科生 研究生 学生 ISA 硕士 ISA 博士 姓名 学号 Dissertation Papers 军训 职工 姓名 工龄 ISA 条件定义的(Condition-Defined) 假定“学生”实体集具有属性“学生类型 ”,则所有的学生实体根据 “学生类型 ”进行成员资格认定 ,如一个学生的 “学生类型 ”=“本科生”, 则他就可以归入低层 “本科生”实体集中 用户定义的(User-Defined) 不相交的(Disjoint) 有重叠的(Overlapping) 全部的(Total) 如学生必须属于“本科生”或“研究生 ”的一种 部分的(Partial) 职工项目 参加 使用姓名 工种 名称 类型 机器名 型号 方案 工时机器 e1 j1 m1 e1j1 m2 e1j2 m3 e2j1 m1 e3j2 null e4j2 null e5j2 null e6j2 null e1m1 e1 m2 e1 m3 e2 m1 e1 j1 e1j2 e2j1 e3j2 e4j2 e5j2 e6j2 职工项目 参加 姓名 工种 名称 类型 机器名 型号 方案 工时使用 机器 e1在j1项目中使用什么机器 R1R2 职工项目 参加 姓名 工种 名称 类型 机器名 型号 工时 使用 机器 e1 j1 e1j2 e2j1 e3j2 e4j2 e5j2 e6j2 e1j1 m1 e1 j1 m2 e1 j2 m3 e2 j1 m1 ER ER ER E-R 实体有多方面性质,属性没有 项目 名称 城市 3000 1400 3000 1400 城市无属性 城市有属性 名称 城市 面积 人口 项目 E-R 项目 城市 位于 名称 名称 面积 人口 3000 1400 E-R 若实体中除了多值属性之外还有其它若干属性,则将该多值属性定义为另一实体S1 P1 S1 P2 S1 P3 S1 P1 1234 S1 P2 1234 S1 P3 1234 供应商 姓名 零件 姓名 地址 电话 零件 供应商 E-R 零件 供应 名称 供应商 姓名 地址 电线 E-R 实体与联系:静态与动态教师 课程 讲授 姓名 名称 单纯表示“教师”实体与“课程”实体之间的行为联系 T1 C1 T2 C1 E-R 教师 课程 讲授 姓名 名称 起始时间 地点 人数 弊端 多个老师开同一门课,则每个老师与该课程的联系都需重复记录很多相同的信息T1 C1 9.1 R114 120 06. T2 C1 10.1 R114 120 06. T1 C1 11.1 R114 120 06. 学期 E-R T1 C1 06. 9.1 T2 C1 06. 10.1 T3 C1 06. 11.1 C1 06. R114 120 开课 地点 人数 教师 课程 姓名 名称 学期 讲授 起始时间 注册 多元转换为二元:新构建一个标识实体集 E,构造三个新联系集 语义不清晰,难于体现参与联系的各方 E-R(4,2,3) ABC?供应商 S提供零件 P,项目 J需要零件 P,J从S购买零件 S向J供应P供货数量放在哪里? E-R vs项目 部门 资助 雇员 E-R 项目 部门 资助 雇员 监督 起始时间 截至时间 E-R 项目 部门 资助 雇员 项目 部门 资助 雇员 职工 项目 参加 使用机器 职工 项目 参加 使用 机器 职工 项目 参加 机器 使用 需求分析结果 确定局部结构范围 实体定义 联系定义 属性分配 局部E-R模式设计 局部E-R模式 确定公共实体类型 合并两个局部E-R模式 检查并消除冲突 还有未合并的 局部模式? 全局E-R模式优化 属性域的冲突:属性的类型、取值范围不同 如不同学校的学号编码方式不同 属性取值单位冲突如重量分别采用磅、千克 同名异义:不同意义的对象具有相同的名字蔺相如,司马相如,名相如,实不相如 同一对象在不同应用中的抽象不同如职工在某应用中是实体 ,在另一应用中则抽象为属性 同一实体在不同E-R图中属性组成不同如有的职工实体有email,而有的职工实体没有 实体之间的联系在不同E-R图中呈现不同的类型 如联系种类不同 ,参与联系的实体不同 合并实体类型 消除冗余属性 消除冗余联系 全局E-R模式 逻辑数据库设计 E-R 学生姓名 学号 学生姓名 学号 学生姓名 学号 所选课程 E-R 教师学生 班主任 E-R 职工 领导 领导 属下 E-R 学生 课程 选修 E-R构成 零件 母零件 子零件 E-R 职工配偶 丈夫 妻子 e2 e3 e1 null e2 e3 e3 e2 e4 null E-R 职工部门 管理 E-R 产品公司 制造 品名地址 价格 公司名 联系电话 E-R 本科生研究生 学生 ISA 硕士 ISA 博士 姓名 学号 Dissertation Papers 军训 E-R 本科生 研究生 学生 ISA 硕士 ISA 博士 姓名 学号 Dissertation Papers 军训 如果概括是不相交并且是全部的 ,即一个高层实体最多并且只能属于一个低层实体集 ,则可以不为高层实体集建立关系 ,低层实体集所对应的关系包括上层实体集的的所有属性 E-R ABRCCD SS RD 职工 项目 参加 姓名 工种 项目名称 类型 机器名 型号 工时 使用 机器 E-R UML UML:Unified Modeling Language UMLUML overlapping disjoint UML PERSON Name SSN

  Address Hobbies[0..*] ChangeAddr(NewAddr) AddHobby(Hobby) Student Name Id

  self.GPA

  2.0 stereotyp UMLProfessor Subordinate0..1 Supervisor ReportsTo

  数据库ER图模型,数据库er模型,数据库er关系模型实例,数据库er图,数据库er图 工具,数据库er图怎么画,数据库设计er图,数据库er图实例,数据库生成er图,数据库er图练习题

本文链接:http://donthegame.com/huizhiyaotu/188.html