




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 实体联系模型,本章知识点,ER模型概述 ER图的组成元素 ER模型的创建 关系模型概述 ER模型与关系模型的映射,实体联系模型概述,模型就是通过一些图形和符号来表示现实世界中的事物。 通过模型可以在系统实施之前对其有一个整体的认识。 一方面方便数据库设计人员与非专业用户之间进行沟通和交流; 另一方面模型的修改成本较低,可以尽早发现设计中的缺陷和问题并及时修正,以便更好地开展深层次的工作,降低因变化而增加的成本,设计出更加合理的系统。,实体联系模型概述,房屋模型实例,实体联系模型概述,概念模型是现实世界到信息世界的第一层抽象。 概念模型易于被用户所理解,是用户与数据库设计人员之间交流的工具。,实体联系模型概述,最常用的概念模型:Peter Chen于1976年提出的实体联系方法(Entity Relationship Approach,简称ER方法)。 在实体联系方法中用ER图表示概念模型,用ER图表示的概念模型也称为实体联系模型或ER模型。,Peter Chen,ER图的组成元素,ER模型是一种用图形表示数据及其联系的方法,ER模型通过ER图来表示。 ER图包括三个组成元素,分别是实体、联系和属性。 ER图绘制简单,图符较少,简单易懂,可以快速建立待开发系统的概念模型。,ER图的组成元素,实体 实体(Entity)是现实世界中客观存在的,而且可以相互区别的事物或活动的抽象。 在ER图中,实体用矩形框表示,矩形框内写明实体的名称。,ER图的组成元素,属性 属性(Attribute)是描述实体或联系中的一种特征。一个实体或联系通常具有多个特征,需要多个相应属性来描述。 码(Key)或键是属性的一种,它是实体间相互区别的一种惟一标识。 在ER图中,属性用椭圆形表示,椭圆形内写明属性的名称,用无向边将其与相应的实体连接起来,一般用下划线标注作为主键的属性。,ER图的组成元素,联系 实体内部的联系(Relationship)通常指组成实体的各个属性之间的关系,实体外部的联系通常指不同实体间的关系。 在ER图中联系用菱形表示,菱形内写明联系的名称,用无向边分别与实体连接起来,在无向边上注明联系的类型(1:1,1:n,m:n),如果联系有属性,则这些属性同样用椭圆表示,用无向边与联系连接起来。,ER图的组成元素,联系 一对一联系(One-to-One) 如果一个实体A至多与一个实体B发生关系,反之亦然,则A与B两个实体之间具有一对一联系,简单记为1:1。,ER图的组成元素,联系 一对多联系(One-to-Many) 如果一个实体A可以与多个(包含0个)实体B发生关系,而一个实体B至多与一个实体A发生关系,则A与B两个实体之间具有一对多联系,简单记为1:n。,ER图的组成元素,联系 多对多的联系(Many-to-Many) 如果一个实体A可以与多个(包含0个)实体B发生关系,而一个实体B也可以与多个(包含0个)实体A发生关系,则A与B两个实体之间具有多对多的联系,简单记为m:n。,ER图的组成元素,联系 除了实体之间存在联系外,有时实体内部也可能存在联系。,ER图的组成元素,联系 在某些情况下,还可能出现多个实体(大于两个实体)之间存在联系,这种联系称为多元联系,这与两个实体之间的二元联系相对应。,ER图的组成元素,ER图实例,ER图的组成元素,思考 1. 请描述以下ER图代表的含义,并且填写相应的实体间的关系。,ER图的组成元素,思考 2. 请用ER图表示下列关系,并在实体图上标明属性。 购买(顾客编号,商品编号,购买数量,购买时间) 顾客(顾客编号,顾客姓名,电话,地址) 商品(商品编号,商品名称,价格) 3. 一个教室可以容纳多个班级上课,但是一个班级只能在一个教室上课。识别其中的实体及联系,并绘制相应的ER图。,实体联系模型的创建,实体联系模型的创建过程分为两个步骤 局部ER图设计 全局ER图设计及优化,实体联系模型的创建,局部ER图设计,实体联系模型的创建,确定范围 在设计局部时首先要确定局部ER图设计的范围,规模较大的软件系统包括多个子系统。 为了降低数据库设计的难度,可以先设计每个子系统的数据库,绘制局部的ER图,一个范围即对应一个相对独立的子系统 。,实体联系模型的创建,识别实体 在确定的范围内,寻找和识别实体,确定实体的键。 在需求文档中根据人员、组织、物品、事件等名词来寻找实体; 实体找到后,给实体取一个合适的名称,给实体正确命名时,可以发现实体之间的差别; 根据实体的特点,标识实体的主键。,实体在哪里?,实体联系模型的创建,确定联系 对于识别出的实体,进行两两组合,判断实体之间是否存在联系,联系的类型是1:1,1:n,m:n,如果是m:n的实体,考虑是否可以分解,增加关联实体,使之成为1:n的联系。,实体联系模型的创建,定义属性 属性是描述实体的特征和组成 相同实体的属性应该具有相同的数量、名称和数据类型 在实体的属性中,去掉软件系统不需要的属性 必要时,需要人为地增加属性 例如:当实体缺少明确的主键,需要人为地设置主键 如果实体和属性之间没有明显的区别,能作为属性对待的,尽量作为属性对待 定义属性的基本原则是: 属性是不可再分的数据项 属性不能与其它实体产生联系,实体联系模型的创建,全局ER图设计及优化 局部ER图设计好后,需要将所有的局部ER图集成起来,形成一个全局ER图。,实体联系模型的创建,全局ER图设计及优化 合 并 不同的局部ER图面向不同的应用,可能由不同的人进行设计或同一个人不同时间进行设计 各个局部ER图可能存在许多不一致的地方,称之为冲突 合并局部ER图的主要目的是消除冲突,实体联系模型的创建,全局ER图设计及优化 什么是冲突? 属性冲突:相同的属性在不同的ER图中属性值的类型、取值范围或单位不同。 命名冲突:相同的实体或属性在不同的局部ER图中有不同的名字,不同的实体或属性有相同的名字。 结构冲突:同一事物在不同的局部ER图中,有的作为实体,有的作为属性;相同的实体在不同的局部ER图中属性的个数不一致;同一实体的在局部ER图中键不同;实体间的联系在不同的局部ER图中联系的类型不同。,实体联系模型的创建,思 考 在某数据库的设计过程中,商品价格在有些地方使用“元”为单位,有些地方使用“万元”为单位,这种不一致现象称为 A. 属性冲突 B. 命名冲突 C. 结构冲突 D. 实体冲突,实体联系模型的创建,全局ER图设计及优化 重 构 重构的目的是消除不必要的冗余 冗余属性是指可以用其他属性导出的属性。 冗余联系是指可以通过其他实体之间的联系导出的联系。 冗余属性和冗余联系容易破坏数据库的完整性,给数据库的维护增加困难,应该予以消除。,实体联系模型的创建,实例分析:创建ER模型 提出问题 分析本教材场景一:BigCollege网上选课系统,绘制相应的ER图。,实体联系模型的创建,实例分析:创建ER模型 分析问题 (1) 局部ER图设计 确定范围: 学生管理子系统 学生选课子系统,实体联系模型的创建,实例分析:创建ER模型 分析问题 (1) 局部ER图设计 识别实体: 学生管理子系统包含实体:学生(Student)、系(Department)、专业(Major) 学生选课子系统包含实体:学生(Student)、班级(Classes)、教室(ClassRoom)、系(Department),实体联系模型的创建,实例分析:创建ER模型 分析问题 (1) 局部ER图设计 确定联系:分析各范围中实体之间的两两关系,确定实体之间的联系。 实体系(Department)和实体专业(Major)之间是1:n联系 实体专业(Major)和实体学生(Student)之间是1:n联系 实体学生(Student)和实体班级(Classes)之间是m:n联系 实体系(Department)和实体班级(Classes)之间是1:n联系 实体教室(ClassRoom)和实体班级(Classes)之间是1:n联系,实体联系模型的创建,实例分析:创建ER模型 分析问题 (1) 局部ER图设计 定义属性: 实体系(Department)的属性 实体专业(Major)的属性 实体学生(Student)的属性 实体班级(Classes)的属性 实体教室(ClassRoom)的属性 实体学生(Student)与实体班级(Classes)之间联系的属性:考试成绩(Score),实体联系模型的创建,实例分析:创建ER模型 分析问题 (1) 局部ER图设计 绘制局部ER图:学生管理子系统,实体联系模型的创建,实例分析:创建ER模型 分析问题 (1) 局部ER图设计 绘制局部ER图:学生选课子系统,实体联系模型的创建,实例分析:创建ER模型 分析问题 (2) 全局ER图设计 集成各个局部ER图,进行合并和重构,合并相同的实体,消除冲突和不必要的冗余,可以得到全局ER图。,实体联系模型的创建,实例分析:创建ER模型 问题求解 BigCollege网上 选课系统全局ER图,实体联系模型的创建,思考 某公司的经营销售系统需要存储以下信息: (1) 客户信息:客户代码、客户名、地址、电话,其中客户代码惟一; (2) 产品信息:产品代码、产品名称、单价,其中产品代码惟一; (3) 订单信息:订单号、订货日期,其中订单号惟一。 该系统所涉及的数据存在如下约束: (1) 一个客户可以拥有多张订单,但是一张订单只能属于一个客户; (2) 一种产品可以出现在多张订单上,在一张订单上也可以订购多种产品,并记录每种产品的订购数量。 绘制该经营销售系统的ER图。,关系模型概述,1970年美国IBM公司研究员、ACM图灵奖获得者E.F.Codd博士首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论研究。在关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,关系模型概述,基本概念 关系模型是一种简单的二维数据表格,实体联系模型(ER图)中的每个实体和实体之间的联系都可以直接转换为对应的二维表形式。,关系,ER模型与关系模型的映射,概念模型(ER模型)向关系模型的转化就是将用ER图表示的实体、实体属性和实体联系映射为关系模式,具体而言就是映射为关系型数据库系统(RDBMS)所支持的数据库对象,构造系统的逻辑数据模型。ER模型与关系模型映射的目的是根据ER模型生成关系(表),并确定关系的属性(列)。,ER模型与关系模型的映射,映射原则 实体映射 每个独立实体映射为一个关系,即二维表,关系的键即为实体的键。,ER模型与关系模型的映射,映射原则 联系映射 一对一联系:在一对一联系中,两个实体转换为关系,在两实体对应的任一关系中多设一个属性作为外键(此外键是与之关联的实体的主键)。,ER模型与关系模型的映射,映射原则 联系映射 一对一联系,ER模型与关系模型的映射,映射原则 联系映射 一对多联系:在一对多联系中,两个实体转换为关系,把“一”方实体的主键加入“多”方实体对应的关系中作为外键,若联系包含属性,则将联系的属性也加入“多”方实体对应的关系中。,ER模型与关系模型的映射,映射原则 联系映射 一对多联系,实体联系模型的创建,思考 为什么不将学生表中的学号移至专业表?,ER模型与关系模型的映射,映射原则 联系映射 多对多联系:在多对多联系中,两个实体转换为关系,再为联系单独建立一个关系,联系的属性即为对应的关系的属性,该关系中包含联系双方实体的主键,关系的主键为各实体主键的组合。,ER模型与关系模型的映射,映射原则 联系映射 多对多联系,ER模型与关系模型的映射,映射原则 联系映射 多元联系:如果存在多元联系,则联系单独转换成一个关系,且该关系中包含各个关联实体的主键和联系的属性,关系的主键为各关联实体主键的组合。,ER模型与关系模型的映射,映射原则 关系合并 如果存在主键相同的关系,为了减少系统中关系表的个数,可以合并这些关系。,ER模型与关系模型的映射,实例分析:ER模型映射到关系模型 提出问题 将BigCollege网上选课系统的ER图映射为相应的关系模型。,ER模型与关系模型的映射,实例分析:ER模型映射到关系模型 分析问题 实体转换 Department (depNo, depName, depDeanName, depTel, depAddress) Major (majorNo, majorName, majorLeader, majorTotalCredit) Student (stuNo, stuName, stuSex, stuAge, stuTotalCredit) Classes (classNo, classCourseName, classStartTime, classLimitNum, classExistNum, classCredit, classTeacherName) ClassRoom (crNo, crBuildingName, crRoomNo, crNumberOfSeat),ER模型与关系模型的映射,实例分析:ER模型映射到关系模型 分析问题 联系转换 将关系Department的主键depNo加入关系Major中作为外键 将关系Major的主键majorNo加入关系Student中作为外键 将关系Department的主键depNo加入关系Classes中作为外键 将关系ClassRoom的主键crNo加入关系Classes中作为外键 实体学生(Student)和实体班级(Classes)之间是m:n联系,因此联系转换成一个新的关系模式Register,该关系的属性包括联系的属性和相关联的实体的主键,其主键为相关联的实体主键的组合,即关系Register属性包括stuNo、classNo和score,主键为(stuNo, classNo),外键为stuNo和classNo。,ER模型与关系模型的映射,实例分析:ER模型映射到关系模型 分析问题 关系合并 由于各个关系的主键均不相同,因此无需进行关系合并。,ER模型与关系模型的映射,实例分析:ER模型映射到关系模型 问题求解 Department (depNo, depName, depDeanName, depTel, depAddress) Major (majorNo, majorName, majorLeader, majorTotalCredit, depNo) Student (stuNo, stuName, stuSex, stuAge, stuTotalCredit, majorNo) Classes (classNo, classCourseName, classStartTime, classLimitNum, classExistNum, classCredit, classTeacherName, depNo, crNo) ClassRoom (crNo, crBuildingName, crRoomNo, crNumberOfSeat) Register (stuNo, classNo, score),实体联系模型的创建,思考 某公司的经营销售系统需要存储以下信息: (1) 客户信息:客户代码、客户名、地址、电话,其中客户代码惟一; (2) 产品信息:产品代码、产品名称、单价,其中产品代码惟一; (3) 订单信息:订单号、订货日期,其中订单号惟一。 该系统所涉及的数据存在如下约束: (1) 一个客户可以拥有多张订单,但是一张订单只能属于一个客户; (2) 一种产品可以出现在多张订单上,在一张订单上也可以订购多种产品,并记录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3D打印在髋臼骨折手术规划中应用-洞察阐释
- 3D钩编工艺造型突破-洞察及研究
- 未来三年发展计划
- 神武佛门孩子计划书
- 设备设施保养计划
- 蓬莱市区动迁计划
- 丁酸梭菌对育成期乌苏里貉生长性能、生理指标及肠道菌群的影响
- 2024年陕西建材科技集团股份有限公司招聘真题
- 池州市东至县总医院招聘专业技术笔试真题2024
- 湖南科技学院《金融统计》2023-2024学年第二学期期末试卷
- 化验员述职3个月转正报告
- 英语单词表必修二
- 消防课件自觉争做忠诚履职执法为民的合格消防军人
- 2025年医学影像科工作计划
- 金融企业呆账核销管理办法
- 2025年吉林省国资委出资企业招聘笔试参考题库含答案解析
- 中国食物成分表标准版第6版
- 自身免疫性脑炎课件
- 广东省广州市广大附中教育集团2022-2023学年九年级上学期自主招生数学试题
- 精神专科知识应知应会试题题库及答案
- 国开电大《组织行为学》形考任务1-4
评论
0/150
提交评论