欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    2数据库设计与实现-基础ER图.ppt

    • 资源ID:3408036       资源大小:1.70MB        全文页数:89页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2数据库设计与实现-基础ER图.ppt

    2019年8月22日星期四,1,第2章:基础 E-R图,本章要求 理解E-R图是什么 掌握基本E-R图的画法 本章的主要内容 2.1:E-R图概览及在软件开发中的位置 2.2:基础E-R图及其要素 2.3:基础E-R图的几个复杂问题讨论 属性详解 联系的约束详解 使用实体还是使用属性 使用实体还是使用联系,2019年8月22日星期四,2,2.1:E-R图概览,一个E-R图示例:,2019年8月22日星期四,3,2.1:E-R图在软件开发中的位置,E-R 图的位置 数据分析、描述的工具 数据分析、描述以E-R 图为主 需要其它文档辅助 E-R图的作用 帮助澄清用户数据需求 分析员和用户对数据需求达成高度一致 数据逻辑模型设计的基础 E-R图的要求和评价标准 清晰、易懂 完整、精确、无二义,2.1E-R图基本概念,历史 -模型:Entity-Relationship Model 1976年,P.P.S.Chen提出-模型,用-图来描述概念模型 观点 世界是由一组称作实体(entities)的基本对象和这些对象之间的联系(relationships)构成的,2019年8月22日星期四,5,2.2:基础E-R图及其要素,2.2.1实体 实体的概念 实体的属性 实体的标识 2.2.2联系 联系的概念 联系和实体的关系 联系的度 联系的属性 二元联系的基数 基础E-R练习,2019年8月22日星期四,6,2.2.1实体的概念,实体: 可以相互区分的事物 事物:事件、物体、概念 学生:甲、乙、丙 课程:DB、DS、SE 实体集:同类型实体的集合 二年级一班的学生 DB,DS,SE 实体型:类型的特性和性质 学生、教师、课程、图书、货物订单,2019年8月22日星期四,7,2.2.1实体的属性,属性 来源于域,域是同类型值的集合 用来刻画实体的特征,2019年8月22日星期四,8,2.2.1实体的标识属性,标识属性的必要性 概念上,实体互异 数据库上,实体必须用属性区分、标识 标识属性、码 实体的标识属性,称为实体的码(Key) 能唯一标识实体的属性/属性组称作超码(Superkey) 其任意真子集都不能成为超码的最小超码称为候选码(Candidate Key) 实体可以有多个候选码 例如:sno、pid都是学生的候选码,2.2.1主码,主码 多候选码时,选择一个候选码,作为主码 一个实体集中任两个实体在主码上的取值不能相同 在E-R图中,主码使用下划线表示 多候选码时,一般选变化少的或习惯上的候选码作为主码 主码一旦选择,整个组织有效,2019年8月22日星期四,9,院系,dno,dname,2019年8月22日星期四,10,2.2.2联系的概念,联系 多个实体之间的关联关系 如:选课联系 联系实例 一个具体的多个实体间的相互关系 如:(甲,DS),(甲,OS),(乙,DS) 联系集 同类型联系的集合 (甲,DS)(甲,OS)(乙,DS),2019年8月22日星期四,11,2.2.2联系和实体的关系,实体和联系的关系 实体参与联系,扮演角色 一般地,扮演的角色是明确的,不需要显式指明 同型实体间的联系 同型实体间可以有联系 称作自环联系(recursive) 联系扮演的角色需要指明,2019年8月22日星期四,12,2.2.2联系的度,联系的度 两个实体参与的联系,称作二元联系 三个实体参与的联系,称作三元联系 三元以上(含三元)联系,习惯称作多元联系,2019年8月22日星期四,13,数据库系统概念-E-R,6.2.2联系的属性,联系可以有属性 属性是描述性属性 属性是一个联系所具有的某种性质 例如,选课联系可以有属性:成绩 思考:下列特征,是选课联系的属性吗? 选课门数 选课学生的学号 所选课程的编号,2019年8月22日星期四,14,数据库系统概念-E-R,2.2.2联系的属性,联系属性 属性是描述性属性 下述内容,不是联系的属性 实体参与联系的数目 参与联系的实体的属性(包括实体的主码),2.2.2联系的属性,假设联系集R是由实体集E1,E2,En形成的。联系集的属性包括:primary(E1) primary(E2) primary(En) a1,a2,am,2019年8月22日星期四,16,2.2.2二元联系的基数,多对多,m:n A中一个实体可以与B中多个实体相关联 反之亦然 一对多,1:m A中一个实体可以与B中多个实体相关联 B中一个实体至多可与A中一个实体相关联 多对一,m:1 一对一,1:1 A中一个实体至多可与B中一个实体相关联 反之亦然 不一定是完美对集 基数对联系的约束限制 m:n不对联系产生约束 1:m,m:1,1:1是联系的约束,2.2.2二元联系的基数表示方式,18,数据库系统概念-ER模型,2.2.2二元联系的基数表示方式-示例,One-To-Many,One-To- One,19,数据库系统概念-ER模型,2.2.2二元联系的基数表示方式-示例,Many-To-Many,Many-To-One,2019年8月22日星期四,20,数据库系统概念-E-R,2.2.2联系的全部参与约束,全部参与vs部分参与 如果每个实体,至少参与某联系集的一个联系中,称全部参与 否则,称作部分参与 全部参与是联系的一种约束 部分参与不是联系的约束 全部参与使用双线段表示,2019年8月22日星期四,21,数据库系统概念-E-R,2.2.2联系基数的上下界约束,基数约束 基本的基数约束: 1:1,m:1,m:n 更精确的基数约束: 给出上下界约束 lh 0*等价于“多” 01等价于“一” 示例: 一个学生要学3到5门课,2019年8月22日星期四,22,2.2练习一:一个简单学校系统,Step1:希望建设一个学校管理系统 学校下设若干院系,开设若干课程 院系有院系名称,并有院系编号作为标识 课程有课程名称,同时有课程编号 关注学校教师的姓名、年龄、教师编号及身份证号,并关注哪个教师能够上哪些课 每个教师,均隶属于一个院系 请画出E-R图,2019年8月22日星期四,23,2.2练习一:一个简单学校系统,Step1:希望建设一个学校管理系统 参考E-R图(一),2019年8月22日星期四,24,2.2练习一:一个简单学校系统,Step1:希望建设一个学校管理系统 参考E-R图(二),参考E-R图(二)比(一)更合适 对一个机构建设系统,一般不必绘制机构本身对应的实体,2019年8月22日星期四,25,2.2练习一:一个简单学校系统,Step2:在前述系统的基础上 关注课程的先行课,即:要学习一门课,必须先学习哪些课程; 一门课,可以有一门先行课,也可以有多门先行课,当然可以没有先行课。 请画出E-R图 (请在step1的E-R图基础上绘制),2019年8月22日星期四,26,2.2练习一:一个简单学校系统,Step2:在前述系统的基础上,关注先行课 参考E-R图:,2019年8月22日星期四,27,2.2练习一:一个简单学校系统,Step3:在前述系统的基础上,绘制E-R图: 关注学生、学生隶属院系的关系以及学生选课情况 即将step2的E-R图与例题E-R图合并,参考E-R图:,2019年8月22日星期四,28,2.2练习一:一个简单学校系统,Step3:增加关注学生、隶属院系、选课情况 参考E-R图:,2019年8月22日星期四,29,2.2练习一:一个简单学校系统,Step4:在前述系统的基础上 增加关注班级情况,即:学生分作若干班级,一个学生属于一个班级,一个班级属于一个院系,一个班级有多名学生。 请画出E-R图 (请在step3的E-R图基础上修改绘制),2019年8月22日星期四,30,2.2练习一:一个简单学校系统,Step4:在前述系统的基础上,关注班级情况 参考E-R图(一),2019年8月22日星期四,31,2.2练习一:一个简单学校系统,Step4:在前述系统的基础上,关注班级情况 参考E-R图(二),2019年8月22日星期四,32,2.2练习一:一个简单学校系统,Step5:在前述系统的基础上 关注班主任情况:每个班级有一名教师任班主任 请画出E-R图 (请在step4的E-R图基础上修改绘制),2019年8月22日星期四,33,2.2练习一:一个简单学校系统,Step5:在前述系统的基础上,关注班主任 参考E-R图:,2.2练习一:一个简单学校系统,Step6:在前述系统的基础上 关注学生之间的管理关系,即学生中有班长和普通学生 请画出E-R图 (请在step5的E-R图基础上修改绘制),2.2练习一:一个简单学校系统,Step6:在前述系统的基础上,关注学生之间的管理关系 参考E-R图:,2019年8月22日星期四,36,2.2练习二,一个工厂需要管理下列信息: 工厂有许多职工,每个职工有职工号、姓名、年龄、性别; 工厂内有多个车间,每个车间有车间号、车间地址和电话,一个车间有一名车间主任,多名职工,一个职工不能同时属于多个车间; 一个车间生产多种产品,产品有产品号和价格 一个产品由多种零件组成,一种零件也可以参与装配多种产品; 产品与零件均存入仓库中; 一个工厂有多个仓库,仓库有仓库号、仓库地址和电话;每个仓库有一名仓库主任进行管理,同时可以有多名职工担任仓库保管。 请画出该系统的E-R图,2.2练习二,2.2练习三,一个网上书店需要管理下列信息: 网上书店的的主营业务是图书销售,每本书由唯一的ISBN编号标识,其余的信息包括书名、出版年份和价格; 每本书有一个或者多个作者,每个作者也可以撰写多本书,作者由作者的URL标识,其余的信息包括作者的姓名和住址; 每本书都由一个出版社出版,一个出版社可以出版很多书籍,出版社有唯一的URL标识,其余信息包括出版社名称、地址和电话; 网上书店拥有多个仓库,每个仓库存储大量图书,仓库由仓库编号唯一标识,其余的信息包括仓库地址和电话 网上书店拥有自己的客户,每个客户用电子邮件进行唯一标识,其余的信息包括姓名、住址和电话。 客户在网上书店购物时,需要使用购物车,一个客户只能拥有一个活动的购物车,用于存放挑选好的多本书籍,购物车由购物车编号唯一标识 请画出网上书店的ER图,2.2练习三,2019年8月22日星期四,40,2.3基础E-R图的若干问题研究,本节主要讨论: 2.3.1属性详解 2.3.2多元联系 2.3.3使用实体?还是使用属性?还是使用联系?,2019年8月22日星期四,41,2.3.1属性详解,属性分类 简单属性vs复合属性 单值属性vs多值属性 基属性vs派生属性,2.3.1简单属性vs复合属性,简单属性 (Sample Attribute) 不可再分的属性 如学号、年龄、性别 复合属性(Composite Attribute) 可以划分为更小的属性 可以把相关属性聚集起来,使模型更清晰 如: addr=city+street+postal_code 复合属性的表示,2019年8月22日星期四,42,2.3.1简单属性vs复合属性,复合属性可以嵌套 如: addr=city+street+postal_code street=street_name+street_number 思考: 下列属性是简单属性,还是复合属性? 姓名=姓+名 电话号码=区号+本地号码,2019年8月22日星期四,43,2.3.1简单属性vs复合属性,简单属性vs复合属性 多数情况下,界限并不清晰 需要看应用环境关注的内容 分析:姓名=姓+名 如果不关注姓和名的区分,是简单属性 如果只关注姓和名,不关注姓名组合含义,还可以看做两个简单属姓和名,而不要复合属性姓名,2019年8月22日星期四,44,2.3.1单值属性vs多值属性,单值属性(Single-valued Attribute) 每一个特定的实体在该属性上的取值唯一 如学生的学号、姓名、出生日期等 多值属性(Multi-valued Attribute) 某个特定的实体在该属性上的有多个取值 如学生实体集中的phone-number属性 多值属性的表示 双椭圆,2019年8月22日星期四,45,2.3.1基属性vs派生属性,派生(Derived)属性与基(Base)属性 可以从其他属性推出来的属性称为派生属性 否则,称为基属性,或存储属性 如年龄可以从出生日期推出,称age派生属性 数据库中,可以只存基属性值,派生属性用到时再从基属性中计算出来;也可以基属性和派生属性均保存在数据库,以冗余换取效率 派生属性的表示 虚椭圆,2019年8月22日星期四,46,2.3.1属性的表示,属性在E-R图中表示方法总结 复合属性 多值属性 派生属性,2019年8月22日星期四,47,2019年8月22日星期四,48,数据库系统概念-E-R,练习:请分析论文实体的属性,工作流应用研究 甲(1) 乙(1,2) 丙(2) (1山东大学计算机学院 2山东省计算中心) 摘 要 (摘要部分) 关键字:工作流,流程管理,应用 分类号:TP391 1 引言 (正文部分) 参考文献 1E.J Ellman,Resear on ,Computer Aided Design,2005.10 2 ,2019年8月22日星期四,49,数据库系统概念-E-R,2.3.1属性在E-R图中的表示方法,一个E-R图示例: 图中,只标出了一个实体的部分属性 思考:如果标出全部属性,E-R图如何?,2019年8月22日星期四,50,数据库系统概念-E-R,2.3.1属性在E-R图中的表示方法,示例:一个实际E-R方案 E-R图中,不标明属性 属性使用表格另行描述(见下页),2019年8月22日星期四,51,数据库系统概念-E-R,2.3.1属性在E-R图中的表示方法,需求条目字典是需求说明书的重要组成部分 属性在条目字典中表述,作为对E-R的补充 需求条目字典示例:,2.3.1属性在E-R图中的表示方法,属性在E-R图中的表示方法 E-R图中直接表示属性 E-R中省略属性,属性另行使用表格表示 直接表示vs使用表格表示 E-R直接表示属性,语义清晰,但图复杂 省略属性,可以使E-R更好地突出逻辑模型的骨架,适用于全局E-R图或复杂E-R图 在简单的局部E-R图中,可以直接在E-R中表示关键属性,帮助理解数据语义,2019年8月22日星期四,52,练习:属性在E-R图中的表示,对下面E-R图 请画出省略属性E-R图,并给出表示属性的表格 体会两种E-R图的优劣,2019年8月22日星期四,53,2.3.2多元联系,联系的度(元) 参加联系的实体的数目,称作联系的度(元) 两个实体参与的联系,称作二元联系 三个实体参与的联系,称作三元联系 三元以上(含三元)联系,习惯称作多元联系 多元联系 多个实体间的联系 一个联系涉及多个实体 思考:多元联系能有属性吗?,2019年8月22日星期四,54,2.3.2多元联系:练习,请绘制排课系统的E-R图 排课系统的业务,以自己理解为准 排课要出两种课表,分别供教师和学生使用,2019年8月22日星期四,55,2.3.2多元联系:练习(续),2019年8月22日星期四,56,学生用课程表示例:,2.3.2多元联系:练习,排课系统 参考答案(一) 注:忽略了实体的属性,2019年8月22日星期四,57,2.3.2多元联系:练习,排课系统 参考答案(二) 注:忽略了实体的属性,2019年8月22日星期四,58,2.3.2多元联系:练习,排课系统 参考答案(三) 注:忽略了实体的属性,2019年8月22日星期四,59,2.3.2多元联系:参考答案分析,排课系统参考答案分析 几种方案均可以接受 各有利弊,哪个更好? 请体会分析的过程 实际分析过程中,用户不会专门陈述数据的关系,然后我们去画E-R图;很多时候需要分析用户的表单、报表等文件,理解含义,认知数据关系,然后使用E-R图进行表述,2019年8月22日星期四,60,2.3.2多元联系的基数约束,多元联系中多对一的含义 对n个实体集E1 , E2 , , En 之间的联系R,若对于 E1 , , Ei-1, Ei+1 , , En ,分别给定实体e1 , , ei-1 , ei+1 , , en 时,至多有一个实体ei Ei与之相联系,则称R是从E1 , , Ei-1 , Ei+1 , , en到Ei的多对一联系 在E-R图中,使用指向Ei的箭头表示,2019年8月22日星期四,61,2.3.2多元联系的基数约束,示例 一个班的一门课只能有一个老师讲授,2019年8月22日星期四,62,2.3.2多元联系的基数约束,思考: 下图表示的基数约束语义是什么?,2019年8月22日星期四,63,2.3.2多元联系的基数约束,上图表示的基数约束是: (class,course) teacher (teacher,class)course,2019年8月22日星期四,64,2.3.2三元联系 vs 二元联系,思考: 三元联系能被多个二元联系代替吗? 高元联系能被多个低元联系代替吗?,2.3.2三元联系 vs 二元联系,分析示例:,2.3.2三元联系 vs 二元联系,二元 Vs 多元 多元转换为二元 新构建一个实体集E,若R有属性,则将其赋予E,为E添加一个标识属性作为主码,构造三个新联系集RA , RB , RC ,对每个( ai , bi , ci )R,在E中创建一个新实体ei ,然后在RA , RB , RC中分别加入联系(ei , ai ),(ei , bi ),(ei , ci ),2.3.2三元联系 vs 二元联系,2.3.2高元联系vs低元联系,三元联系 vs 二元联系 三元联系不能被多个二元联系代替 高元联系vs低元联系 高元联系不能被多个低元联系代替 三元(高元)联系的判定方法 基本方法 按照语义判定 辅助方法 试着用多个二元联系表示 能被多个二元联系表示,则不是三元联系 能用多个低元联系表示,则不是高元联系,2.3.2三元联系 vs 二元联系,练习: 请用E-R表述孩子和父母的关系 思考: 如何看待孩子和父母的联系? 是三元联系还是两个二元联系?,2019年8月22日星期四,70,2.3.2三元联系 vs 二元联系,孩子和父母是两个二元联系 一句话中涉及三个实体并不一定是三元联系 孩子和父母之间的关系不是三元联系,2019年8月22日星期四,71,父亲,母亲,孩子,父子,母子,2019年8月22日星期四,72,2.3.3实体vs属性vs联系,实体vs属性vs联系 E-R中应当使用实体?还是属性?或者应该使用联系? 很多时候并不清晰 本节分别讨论: 使用实体还是使用属性? 使用实体还是使用联系? 使用联系还是使用属性?,2.3.3.1实体vs属性,使用实体还是使用属性? 很多情况下,实体和属性都可以接受; 能用属性,一般不用实体,可以简化E-R图 用属性不足以清晰表述时,要用实体 使用属性: 使用实体:,73,2.3.3.1实体vs属性,重新研究排课系统的几种方案,思考: 教室应该用实体还是属性? 上课节次该用实体还是属性?,74,2.3.3.1实体vs属性,排课系统的几种方案,哪个更好? 答案并不明确,需要看关注的内容 教室应该用实体,还是用属性? 如果关注教室的条件、能容纳的学生数量等信息,教室需要用实体表示 如果不关注上述信息,教室可以是实体,也可以是属性,此时使用属性,E-R会略微简洁、易懂 上课节次该用实体,还是属性? 一般意义下,用实体的必要性不是太强,用属性表示更合适一些 如果需要以节次为核心研究某些议题,也许节次用实体表示会显得更好,75,2.3.3.1实体vs属性,练习: 请在如下描述学校数据关系的E-R图中,增加排课信息,即增加关注哪个老师给哪个班级上哪门课; 为简单起见,可以省略属性表示,2019年8月22日星期四,76,2.3.3.2实体vs联系,使用实体还是使用联系? 很多情况下,实体和联系都可以接受; 此时能用联系不用实体,以图简化E-R; 使用联系: 使用实体: 用联系不足以清晰表述时,要用实体,77,2.3.3.2实体vs联系,练习 对排课系统,假设E-R图如下所示: 如果上课联系,被看作是上课条目实体,试给出相应的E-R图,并对比说明二图的优缺点,2019年8月22日星期四,78,2.3.3.2实体vs联系,排课系统中,上课看作实体,相应的E-R图 (参考答案) 思考:实体上课条目有哪些属性?,2019年8月22日星期四,79,2.3.3.2实体vs联系,请分析: 对上述课表中,2008-3、4班同时上课,在上述两张E-R图中,分别是如何表示的? 哪个更清晰? 综合分析两图的优缺点,2019年8月22日星期四,80,2.3.3.2实体vs联系,练习: 对如下E-R图,请把上课联系,替换成上课条目实体,给出结果E-R图 试述两张E-R图的优缺点,2019年8月22日星期四,81,2.3.3.3联系 vs属性,请绘制E-R,表示商店和职工的关系: 连锁店有许多商店,一个商店可以多名职工,其中一位职工任经理 有几种表示方法? 试分析各方法的妥与不妥、优与劣,82,2.3.3.3联系 vs属性,商店与职工关系 示例E-R图(一) 请分析,该E-R图是否妥当?,2019年8月22日星期四,83,2.3.3.3联系 vs属性,商店与职工关系示例图(一)存在错误: 不能使用职工的主码,作为商店的属性,来表示商店和职工两个实体之间的经理联系 实体间关系的表示 两实体之间的关联关系要使用联系表示 不可以将一个实体的主码作为另一个实体的属性,以表示两个实体间的关系,2019年8月22日星期四,84,2.3.3.3联系 vs属性,商店与职工关系 示例E-R图(二) 请分析该E-R图是否妥当,2019年8月22日星期四,85,2.3.3.3联系 vs属性,商店与职工关系 示例E-R图(三) 请分析该E-R图是否妥当,2019年8月22日星期四,86,2.3.3.3联系 vs属性,商店与职工关系 示例图(一)违背了E-R图的基本原则,不能接受 示例图(二)、 (三)都是可以接受的 示例E-R图(二)、 (三)各有优缺点 图三相对简洁 图三没有能表示出商店只能有一个经理的约束,表示的约束不完整;但没有表示出来的约束可以在需求条目字典中予以补充,因此,图三依然是可以接受的 图(二)、 (三)都可以接受,相对来说,图二更理想,2019年8月22日星期四,87,2.3.3.3联系 vs属性,实体间关系的表示 两实体之间的关联关系要使用联系表示 不可以将一个实体的主码作为另一个实体的属性,以表示两个实体间的关系,88,2.3.3.3属性的位置,属性是实体的属性?还是联系的属性? 对多元联系: 一般是显然的 不容易混淆 对二元多对多联系: 一般是显然的 不容易混淆 对二元多对一联系: 不容易区分 不影响最终设计结果,没有必要执意区分,classroom,89,

    注意事项

    本文(2数据库设计与实现-基础ER图.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开