书签 分享 收藏 举报 版权申诉 / 89
上传文档赚钱

类型数据库设计与实现基础ER图课件.ppt

  • 上传人(卖家):ziliao2023
  • 文档编号:5925192
  • 上传时间:2023-05-16
  • 格式:PPT
  • 页数:89
  • 大小:1.70MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《数据库设计与实现基础ER图课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 设计 实现 基础 ER 课件
    资源描述:

    1、2023年5月16日星期二1第第2章章:基础基础 E-R图图l本章要求 理解E-R图是什么 掌握基本E-R图的画法l本章的主要内容 2.1:E-R图概览及在软件开发中的位置 2.2:基础E-R图及其要素 2.3:基础E-R图的几个复杂问题讨论l属性详解l联系的约束详解l使用实体还是使用属性l使用实体还是使用联系2023年5月16日星期二22.1:E-R图概览图概览l一个E-R图示例:仓库仓库存放存放供应商供应商零件零件生产生产项目项目供应供应职工职工管理管理属属参与参与属属领导领导属属领导领导员工员工2023年5月16日星期二32.1:E-R图在软件开发中的位置图在软件开发中的位置lE-R 图

    2、的位置 数据分析、描述的工具 数据分析、描述以E-R 图为主 需要其它文档辅助lE-R图的作用 帮助澄清用户数据需求分析员和用户对数据需求达成高度一致 数据逻辑模型设计的基础lE-R图的要求和评价标准 清晰、易懂 完整、精确、无二义转换、设计转换、设计理解、表达理解、表达现实世界现实世界概念模型:概念模型:E-R逻辑模型:逻辑模型:DBSchema2.1E-R图基本概念图基本概念l历史-模型:Entity-Relationship Model 1976年,P.P.S.Chen提出-模型,用-图来描述概念模型l观点 世界是由一组称作的基本对象和这些对象之间的构成的2023年5月16日星期二52.

    3、2:基础:基础E-R图及其要素图及其要素l2.2.1实体 实体的概念 实体的属性 实体的标识l2.2.2联系 联系的概念 联系和实体的关系 联系的度 联系的属性 二元联系的基数l基础E-R练习2023年5月16日星期二62.2.1实体的概念实体的概念l实体:可以相互区分的事物 事物:事件、物体、概念 学生:甲、乙、丙 课程:DB、DS、SEl实体集:同类型实体的集合 二年级一班的学生 DB,DS,SEl实体型:类型的特性和性质 学生、教师、课程、图书、货物订单2023年5月16日星期二72.2.1实体的属性实体的属性l属性 来源于域,域是同类型值的集合 用来刻画实体的特征院系院系dnodnam

    4、e课程课程cnocname学生学生agesnonamepid2023年5月16日星期二82.2.1实体的标识属性实体的标识属性 l标识属性的必要性 概念上,实体互异 数据库上,实体必须用属性区分、标识l标识属性、码 实体的标识属性,称为实体的码(Key)能唯一标识实体的属性/属性组称作超码(Superkey)其任意真子集都不能成为超码的最小超码称为候选码(Candidate Key)实体可以有多个候选码 例如:sno、pid都是学生的候选码学生学生agesnonamepid2.2.1主码主码l主码 多候选码时,选择一个候选码,作为主码 一个实体集中任两个实体在主码上的取值不能相同 在E-R图中

    5、,主码使用下划线表示 多候选码时,一般选变化少的或习惯上的候选码作为主码 主码一旦选择,整个组织有效2023年5月16日星期二9院系院系dnodname课程课程cnocname学生学生agesnonamepid2023年5月16日星期二102.2.2联系的概念联系的概念 l联系 多个实体之间的关联关系 如:选课联系l联系实例 一个具体的多个实体间的相互关系 如:(甲,DS),(甲,OS),(乙,DS)l联系集 同类型联系的集合(甲,DS)(甲,OS)(乙,DS)甲甲乙乙丙丙丁丁DBDSOS2023年5月16日星期二112.2.2联系和实体的关系联系和实体的关系l实体和联系的关系 实体参与联系,

    6、扮演角色 一般地,扮演的角色是明确的,不需要显式指明l同型实体间的联系 同型实体间可以有联系 称作自环联系(recursive)联系扮演的角色需要指明仓库仓库存存放放供应商供应商零件零件生生产产项目项目供供应应职工职工管管理理参参与与领领导导属属领导领导员工员工2023年5月16日星期二122.2.2联系的度联系的度l联系的度 两个实体参与的联系,称作二元联系 三个实体参与的联系,称作三元联系 三元以上(含三元)联系,习惯称作多元联系仓库仓库存放存放供应商供应商零件零件生产生产项目项目供应供应职工职工管理管理参与参与领导领导属属领导领导员工员工2023年5月16日星期二13数据库系统概念-E-

    7、R6.2.2联系的属性联系的属性l联系可以有属性 属性是描述性属性 属性是一个联系所具有的某种性质 例如,选课联系可以有属性:成绩l思考:下列特征,是选课联系的属性吗?选课门数 选课学生的学号 所选课程的编号8580甲甲乙乙丙丙丁丁DBDSOS学生学生课程课程学习学习属属snonamecnocnamescore2023年5月16日星期二14数据库系统概念-E-R2.2.2联系的属性联系的属性l联系属性 属性是描述性属性l下述内容,不是联系的属性 实体参与联系的数目 参与联系的实体的属性(包括实体的主码)8580甲甲乙乙丙丙丁丁DBDSOS学生学生课程课程学习学习属属snonamecnocnam

    8、escore2.2.2联系的属性联系的属性l假设联系集R是由实体集E1,E2,En形成的。联系集的属性包括:primary(E1)primary(E2)primary(En)a1,a2,am2023年5月16日星期二162.2.2二元联系的基数二元联系的基数 l多对多,m:n A中一个实体可以与B中多个实体相关联 反之亦然l一对多,1:m A中一个实体可以与B中多个实体相关联 B中一个实体至多至多可与A中一个实体相关联l多对一,m:1l一对一,1:1 A中一个实体至多至多可与B中一个实体相关联 反之亦然 不一定是完美对集 l基数对联系的约束限制 m:n不对联系产生约束 1:m,m:1,1:1是

    9、联系的约束课程课程学习学习学生学生院系院系隶属隶属院长院长领导领导2.2.2二元联系的基数表示方式二元联系的基数表示方式多方实体集多方实体集单方实体集单方实体集联系联系R R从从A A到到B B是一是一对一或多对一对一或多对一A AB BR R联系联系R R从从A A到到B B是多对是多对多或一对多多或一对多ABR18数据库系统概念-ER模型2.2.2二元联系的基数表示方式二元联系的基数表示方式-示例示例One-To-ManyOne-To-One19数据库系统概念-ER模型2.2.2二元联系的基数表示方式二元联系的基数表示方式-示例示例Many-To-ManyMany-To-One2023年5

    10、月16日星期二20数据库系统概念-E-R2.2.2联系的全部参与约束联系的全部参与约束l全部参与vs部分参与 如果每个实体,至少参与某联系集的一个联系中,称全部参与 否则,称作部分参与 全部参与是联系的一种约束 部分参与不是联系的约束 全部参与使用双线段表示作者作者编著编著图书图书出版社出版社出版出版2023年5月16日星期二21数据库系统概念-E-R2.2.2联系基数的上下界约束联系基数的上下界约束l基数约束 基本的基数约束:l1:1,m:1,m:n 更精确的基数约束:l给出上下界约束 l.hl0.*等价于“多”l0.1等价于“一”l示例:一个学生要学3到5门课l.hABR3.5学生学生课程

    11、课程学习学习2023年5月16日星期二222.2练习一练习一:一个简单学校系统一个简单学校系统lStep1:希望建设一个学校管理系统 学校下设若干院系,开设若干课程 院系有院系名称,并有院系编号作为标识 课程有课程名称,同时有课程编号 关注学校教师的姓名、年龄、教师编号及身份证号,并关注哪个教师能够上哪些课 每个教师,均隶属于一个院系l请画出E-R图2023年5月16日星期二232.2练习一练习一:一个简单学校系统一个简单学校系统lStep1:希望建设一个学校管理系统参考E-R图(一)age院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepid学校

    12、学校隶属隶属隶属隶属开设开设2023年5月16日星期二242.2练习一练习一:一个简单学校系统一个简单学校系统lStep1:希望建设一个学校管理系统参考E-R图(二)age院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidl参考E-R图(二)比(一)更合适 对一个机构建设系统,一般不必绘制机构本身对应的实体2023年5月16日星期二252.2练习一练习一:一个简单学校系统一个简单学校系统lStep2:在前述系统的基础上 关注课程的先行课,即:要学习一门课,必须先学习哪些课程;一门课,可以有一门先行课,也可以有多门先行课,当然可以没有先行课。l请

    13、画出E-R图(请在step1的E-R图基础上绘制)2023年5月16日星期二262.2练习一练习一:一个简单学校系统一个简单学校系统lStep2:在前述系统的基础上,关注先行课 参考E-R图:age院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepid先行课先行课2023年5月16日星期二272.2练习一练习一:一个简单学校系统一个简单学校系统lStep3:在前述系统的基础上,绘制E-R图:关注学生、学生隶属院系的关系以及学生选课情况 即将step2的E-R图与例题E-R图合并age院系院系隶属隶属属属学生学生课程课程学习学习属属dnodnames

    14、nonamecnocnametimescorepid参考E-R图:2023年5月16日星期二282.2练习一练习一:一个简单学校系统一个简单学校系统lStep3:增加关注学生、隶属院系、选课情况 参考E-R图:隶属隶属属属学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课先行课2023年5月16日星期二292.2练习一练习一:一个简单学校系统一个简单学校系统lStep4:在前述系统的基础上 增加关注班级情况,即:学生分作若干班级,一个学生属于一个班级,一个班级属于一个院系,一个

    15、班级有多名学生。l请画出E-R图(请在step3的E-R图基础上修改绘制)2023年5月16日星期二302.2练习一练习一:一个简单学校系统一个简单学校系统lStep4:在前述系统的基础上,关注班级情况 参考E-R图(一)隶属隶属属属学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课先行课班级班级classnameclassno隶属隶属属属隶属隶属属属2023年5月16日星期二312.2练习一练习一:一个简单学校系统一个简单学校系统lStep4:在前述系统的基础上,关注班级情况

    16、 参考E-R图(二)学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课先行课班级班级classnameclassno隶属隶属属属隶属隶属属属2023年5月16日星期二322.2练习一练习一:一个简单学校系统一个简单学校系统lStep5:在前述系统的基础上 关注班主任情况:每个班级有一名教师任班主任l请画出E-R图(请在step4的E-R图基础上修改绘制)2023年5月16日星期二332.2练习一练习一:一个简单学校系统一个简单学校系统lStep5:在前述系统的基础上,关注班主任

    17、 参考E-R图:班主任班主任属属学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课先行课班级班级classnameclassno隶属隶属属属隶属隶属属属2.2练习一练习一:一个简单学校系统一个简单学校系统lStep6:在前述系统的基础上 关注学生之间的管理关系,即学生中有班长和普通学生l请画出E-R图(请在step5的E-R图基础上修改绘制)2.2练习一练习一:一个简单学校系统一个简单学校系统lStep6:在前述系统的基础上,关注学生之间的管理关系 参考E-R图:班主任班主任属

    18、属学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课先行课班级班级classnameclassno隶属隶属属属隶属隶属属属管理管理2023年5月16日星期二362.2练习二练习二l一个工厂需要管理下列信息:工厂有许多职工,每个职工有职工号、姓名、年龄、性别;工厂内有多个车间,每个车间有车间号、车间地址和电话,一个车间有一名车间主任,多名职工,一个职工不能同时属于多个车间;一个车间生产多种产品,产品有产品号和价格 一个产品由多种零件组成,一种零件也可以参与装配多种产品;产品与零件

    19、均存入仓库中;一个工厂有多个仓库,仓库有仓库号、仓库地址和电话;每个仓库有一名仓库主任进行管理,同时可以有多名职工担任仓库保管。l请画出该系统的E-R图2.2练习二练习二2.2练习三练习三l一个网上书店需要管理下列信息:网上书店的的主营业务是图书销售,每本书由唯一的ISBN编号标识,其余的信息包括书名、出版年份和价格;每本书有一个或者多个作者,每个作者也可以撰写多本书,作者由作者的URL标识,其余的信息包括作者的姓名和住址;每本书都由一个出版社出版,一个出版社可以出版很多书籍,出版社有唯一的URL标识,其余信息包括出版社名称、地址和电话;网上书店拥有多个仓库,每个仓库存储大量图书,仓库由仓库编

    20、号唯一标识,其余的信息包括仓库地址和电话 网上书店拥有自己的客户,每个客户用电子邮件进行唯一标识,其余的信息包括姓名、住址和电话。客户在网上书店购物时,需要使用购物车,一个客户只能拥有一个活动的购物车,用于存放挑选好的多本书籍,购物车由购物车编号唯一标识l请画出网上书店的ER图2.2练习三练习三2023年5月16日星期二402.3基础基础E-R图的若干问题研究图的若干问题研究l本节主要讨论:2.3.1属性详解 2.3.2多元联系 2.3.3使用实体?还是使用属性?还是使用联系?2023年5月16日星期二412.3.1属性详解属性详解l属性分类 简单属性vs复合属性 单值属性vs多值属性 基属性

    21、vs派生属性birthdayage学生学生snonamerelativepidnamerelationcitystreetaddrtelnopostal_code2.3.1简单属性简单属性vs复合属性复合属性l简单属性 (Sample Attribute)不可再分的属性 如学号、年龄、性别l 复合属性(Composite Attribute)可以划分为更小的属性 可以把相关属性聚集起来,使模型更清晰 如:addr=city+street+postal_codel复合属性的表示2023年5月16日星期二42学生学生snonamecitystreetaddrpostal_code2.3.1简单属性

    22、简单属性vs复合属性复合属性l复合属性可以嵌套 如:addr=city+street+postal_code street=street_name+street_numberl思考:下列属性是简单属性,还是复合属性?l姓名=姓+名l电话号码=区号+本地号码2023年5月16日星期二43学生学生snonamecitystreetaddrpostal_codestreet_namestreet_number2.3.1简单属性简单属性vs复合属性复合属性l简单属性vs复合属性 多数情况下,界限并不清晰 需要看应用环境关注的内容l分析:姓名=姓+名 如果不关注姓和名的区分,是简单属性 如果只关注姓和名

    23、,不关注姓名组合含义,还可以看做两个简单属姓和名,而不要复合属性姓名2023年5月16日星期二442.3.1单值属性单值属性vs多值属性多值属性l单值属性(Single-valued Attribute)每一个特定的实体在该属性上的取值唯一 如学生的学号、姓名、出生日期等l多值属性(Multi-valued Attribute)某个特定的实体在该属性上的有多个取值 如学生实体集中的phone-number属性l多值属性的表示 双椭圆2023年5月16日星期二45birthday学生学生snonametelno2.3.1基属性基属性vs派生属性派生属性l派生(Derived)属性与基(Base)

    24、属性 可以从其他属性推出来的属性称为派生属性 否则,称为基属性,或存储属性 如年龄可以从出生日期推出,称age派生属性 数据库中,可以只存基属性值,派生属性用到时再从基属性中计算出来;也可以基属性和派生属性均保存在数据库,以冗余换取效率l派生属性的表示 虚椭圆2023年5月16日星期二46birthdayage学生学生snoname2.3.1属性的表示属性的表示l属性在E-R图中表示方法总结 复合属性 多值属性 派生属性2023年5月16日星期二47birthdayage学生学生snonamerelativepidnamerelationcitystreetaddrtelnopostal_co

    25、de2023年5月16日星期二48数据库系统概念-E-R练习:请分析论文实体的属性练习:请分析论文实体的属性工作流应用研究甲(1)乙(1,2)丙(2)(1山东大学计算机学院 2山东省计算中心)摘 要 (摘要部分)关键字:工作流,流程管理,应用分类号:TP3911 引言 (正文部分)参考文献1E.J Ellman,Resear on,Computer Aided Design,2005.102 2023年5月16日星期二49数据库系统概念-E-R2.3.1属性在属性在E-R图中的表示方法图中的表示方法l一个E-R图示例:图中,只标出了一个实体的部分属性 思考:如果标出全部属性,E-R图如何?仓库

    26、仓库存放存放供应商供应商零件零件生产生产项目项目供应供应职工职工管理管理属属参与参与属属领导领导属属领导领导员工员工birthdayageEnonamerelativepidnamerelationcitystreetaddrtelno2023年5月16日星期二50数据库系统概念-E-R2.3.1属性在属性在E-R图中的表示方法图中的表示方法l示例:一个实际E-R方案 E-R图中,不标明属性 属性使用表格另行描述(见下页)仓库仓库存放存放供应商供应商零件零件生产生产项目项目供应供应职工职工管理管理属属参与参与属属领导领导属属领导领导员工员工2023年5月16日星期二51数据库系统概念-E-R2

    27、.3.1属性在属性在E-R图中的表示方法图中的表示方法l需求条目字典是需求说明书的重要组成部分l属性在条目字典中表述,作为对E-R的补充l需求条目字典示例:条目类别条目类别条目名称条目名称条目内容条目内容实体实体职工职工Eno,name,birethday,telno*,Addr(city,street),Relative(pid,relation,name)*实体实体项目项目Id,name,实体实体仓库仓库实体实体联系联系供应供应Quantity,price联系联系参与参与约束约束约束约束职工的年龄要介于职工的年龄要介于18到到60岁之间岁之间2.3.1属性在属性在E-R图中的表示方法图中的

    28、表示方法l属性在E-R图中的表示方法 E-R图中直接表示属性 E-R中省略属性,属性另行使用表格表示l直接表示vs使用表格表示 E-R直接表示属性,语义清晰,但图复杂 省略属性,可以使E-R更好地突出逻辑模型的骨架,适用于全局E-R图或复杂E-R图 在简单的局部E-R图中,可以直接在E-R中表示关键属性,帮助理解数据语义2023年5月16日星期二52练习:属性在练习:属性在E-R图中的表示图中的表示l对下面E-R图 请画出省略属性E-R图,并给出表示属性的表格 体会两种E-R图的优劣2023年5月16日星期二53班主任班主任属属学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课

    29、程课程讲授讲授属属dnodnametnonamecnocnamepidsnonamepid先行课先行课班级班级classnameclassno隶属隶属属属隶属隶属属属birthdayagerelativepidnamerelationcitystreetaddrtelnopostal_code2.3.2多元联系多元联系l联系的度(元)参加联系的实体的数目,称作联系的度(元)两个实体参与的联系,称作二元联系 三个实体参与的联系,称作三元联系 三元以上(含三元)联系,习惯称作多元联系l多元联系 多个实体间的联系 一个联系涉及多个实体l 思考:多元联系能有属性吗?2023年5月16日星期二54供应商

    30、供应商零件零件项目项目供应供应2.3.2多元联系:练习多元联系:练习l请绘制排课系统的E-R图 排课系统的业务,以自己理解为准 排课要出两种课表,分别供教师和学生使用2023年5月16日星期二55山东大学山东大学2010-2011学年第二学期教师用本科课程表学年第二学期教师用本科课程表教师姓名:甲课程名称班级学分教室上课时间周一周二周三周四周五数据库系统概论2008-3班2008-4班51区2081212软件工程2008.1班35区307 56上课时间:上午8:00 下午2:00(国庆节后,下午上课时间改为1:30)2.3.2多元联系:练习(续)多元联系:练习(续)山东大学软件学院山东大学软件

    31、学院20102010级工程硕士第二学期课程表级工程硕士第二学期课程表 适用班级:脱产班(全日制班)序号序号课程课程名称名称学分学分课时课时教室教室任课任课 教师教师上课时间(节次)上课时间(节次)备注备注一一二二三三四四五五1数据库设计345区308甲1-42软件需求分析345区308乙1-43商务智能245区308丙5-82023年5月16日星期二56l学生用课程表示例:2.3.2多元联系:练习多元联系:练习l排课系统 参考答案(一)注:忽略了实体的属性2023年5月16日星期二57教师教师课程课程班级班级上课上课classroomtime2.3.2多元联系:练习多元联系:练习l排课系统 参

    32、考答案(二)注:忽略了实体的属性2023年5月16日星期二58教师教师课程课程班级班级上课上课time教室教室2.3.2多元联系:练习多元联系:练习l排课系统 参考答案(三)注:忽略了实体的属性2023年5月16日星期二59教师教师课程课程班级班级上课上课教室教室上课节次上课节次2.3.2多元联系:参考答案分析多元联系:参考答案分析l排课系统参考答案分析 几种方案均可以接受 各有利弊,哪个更好?l请体会分析的过程 实际分析过程中,用户不会专门陈述数据的关系,然后我们去画E-R图;很多时候需要分析用户的表单、报表等文件,理解含义,认知数据关系,然后使用E-R图进行表述2023年5月16日星期二6

    33、02.3.2多元联系的基数约束多元联系的基数约束l多元联系中多对一的含义 对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的箭头表示2023年5月16日星期二612.3.2多元联系的基数约束多元联系的基数约束l示例 一个班的一门课只能有一个老师讲授2023年5月16日星期二62教师教师课程课程班级班级上课上课2.3.2多元联系的基数约束多元联系的基数约束l思考:下图表示的基数约束语义是什么?

    34、2023年5月16日星期二63教师教师课程课程班级班级上课上课2.3.2多元联系的基数约束多元联系的基数约束l上图表示的基数约束是:(class,course)teacher(teacher,class)course2023年5月16日星期二64教师教师课程课程班级班级上课上课2.3.2三元联系三元联系 vs 二元联系二元联系l思考:三元联系能被多个二元联系代替吗?高元联系能被多个低元联系代替吗?教师教师课程课程班级班级上课上课2.3.2三元联系三元联系 vs 二元联系二元联系l分析示例:上课(上课(T-S-C)教师教师班级班级课程课程甲甲1DB甲甲2DS乙乙1DS乙乙2DB教师教师课程课程T

    35、-C班级班级上课上课S-TS-CS-TS-CT-C教师教师班级班级班级班级课程课程教师教师课程课程甲甲11DB甲甲DB甲甲22DS甲甲DS乙乙11DS乙乙DS乙乙22DB乙乙DB2.3.2三元联系三元联系 vs 二元联系二元联系l二元 Vs 多元 多元转换为二元多元转换为二元l新构建一个实体集新构建一个实体集E,若若R有属性,则将其赋予有属性,则将其赋予E,为为E添添加一个标识属性作为主码,构造三个新联系集加一个标识属性作为主码,构造三个新联系集RA ,RB ,RC,对每个对每个(ai,bi,ci)R,在在E中创建一个新实体中创建一个新实体ei,然后在然后在RA ,RB ,RC中分别加入联系中

    36、分别加入联系(ei ,ai),(ei ,bi),(ei ,ci)BCARBCARAERBRC2.3.2三元联系三元联系 vs 二元联系二元联系ABC123427483EA112434EB122238EC1327332.3.2高元联系高元联系vs低元联系低元联系l三元联系 vs 二元联系 三元联系不能被多个二元联系代替l高元联系vs低元联系 高元联系不能被多个低元联系代替l三元(高元)联系的判定方法 基本方法l按照语义判定 辅助方法l试着用多个二元联系表示l能被多个二元联系表示,则不是三元联系 能用多个低元联系表示,则不是高元联系2.3.2三元联系三元联系 vs 二元联系二元联系l练习:请用E-

    37、R表述孩子和父母的关系l思考:如何看待孩子和父母的联系?是三元联系还是两个二元联系?2023年5月16日星期二702.3.2三元联系三元联系 vs 二元联系二元联系l孩子和父母是两个二元联系 一句话中涉及三个实体并不一定是三元联系 孩子和父母之间的关系不是三元联系2023年5月16日星期二71父亲父亲母亲母亲孩子孩子父子父子母子母子2023年5月16日星期二722.3.3实体实体vs属性属性vs联系联系l实体vs属性vs联系 E-R中应当使用实体?还是属性?或者应该使用联系?很多时候并不清晰l本节分别讨论:使用实体还是使用属性?使用实体还是使用联系?使用联系还是使用属性?2.3.3.1实体实体

    38、vs属性属性l使用实体还是使用属性?很多情况下,实体和属性都可以接受;能用属性,一般不用实体,可以简化E-R图 用属性不足以清晰表述时,要用实体 使用属性:使用实体:学生学生电话电话拥有拥有snonameTelno学生学生snonameTelno732.3.3.1实体实体vs属性属性l重新研究排课系统的几种方案,思考:教室应该用实体还是属性?上课节次该用实体还是属性?教师教师课程课程班级班级上课上课classroomtime教师教师课程课程班级班级上课上课time教室教室教师教师课程课程班级班级上课上课教室教室上课节次上课节次742.3.3.1实体实体vs属性属性l排课系统的几种方案,哪个更好

    39、?答案并不明确,需要看关注的内容l教室应该用实体,还是用属性?如果关注教室的条件、能容纳的学生数量等信息,教室需要用实体表示 如果不关注上述信息,教室可以是实体,也可以是属性,此时使用属性,E-R会略微简洁、易懂l上课节次该用实体,还是属性?一般意义下,用实体的必要性不是太强,用属性表示更合适一些 如果需要以节次为核心研究某些议题,也许节次用实体表示会显得更好752.3.3.1实体实体vs属性属性l练习:请在如下描述学校数据关系的E-R图中,增加排课信息,即增加关注哪个老师给哪个班级上哪门课;为简单起见,可以省略属性表示2023年5月16日星期二76班主任班主任属属学生学生学习学习属属院系院系

    40、隶属隶属属属教师教师课程课程讲授讲授属属先行课先行课班级班级隶属隶属属属隶属隶属属属班主任班主任属属学生学生学习学习属属院系院系隶属隶属属属教师教师课程课程讲授讲授属属先行课先行课班级班级隶属隶属属属隶属隶属属属上课上课2.3.3.2实体实体vs联系联系l使用实体还是使用联系?很多情况下,实体和联系都可以接受;此时能用联系不用实体,以图简化E-R;使用联系:使用实体:l用联系不足以清晰表述时,要用实体学生学生课程课程学习学习属属score学生学生修课记录修课记录课程课程idscore772.3.3.2实体实体vs联系联系l练习 对排课系统,假设E-R图如下所示:如果上课联系,被看作是上课条目实

    41、体,试给出相应的E-R图,并对比说明二图的优缺点2023年5月16日星期二78教师教师课程课程班级班级上课上课2.3.3.2实体实体vs联系联系l排课系统中,上课看作实体,相应的E-R图(参考答案)思考:实体上课条目有哪些属性?2023年5月16日星期二79教师教师课程课程班级班级上课条目上课条目2.3.3.2实体实体vs联系联系l请分析:对上述课表中,2008-3、4班同时上课,在上述两张E-R图中,分别是如何表示的?哪个更清晰?综合分析两图的优缺点2023年5月16日星期二80山东大学山东大学2010-2011学年第二学期教师用本科课程表学年第二学期教师用本科课程表教师姓名:甲课程名称班级

    42、学分教室上课时间周一周二周三周四周五数据库系统概论2008-3班2008-4班51区2081212软件工程2008.1班35区307 56上课时间:上午8:00 下午2:00(国庆节后,下午上课时间改为1:30)2.3.3.2实体实体vs联系联系l练习:对如下E-R图,请把上课联系,替换成上课条目实体,给出结果E-R图 试述两张E-R图的优缺点2023年5月16日星期二81班主任班主任属属学生学生学习学习属属院系院系隶属隶属属属教师教师课程课程讲授讲授属属先行课先行课班级班级隶属隶属属属隶属隶属属属上课上课2.3.3.3联系联系 vs属性属性l请绘制E-R,表示商店和职工的关系:连锁店有许多商

    43、店,一个商店可以多名职工,其中一位职工任经理 有几种表示方法?试分析各方法的妥与不妥、优与劣822.3.3.3联系联系 vs属性属性l商店与职工关系 示例E-R图(一)请分析,该E-R图是否妥当?2023年5月16日星期二83职工职工工作工作属属商店商店EnoNameStoreNoStoreNameManagerEno2.3.3.3联系联系 vs属性属性l商店与职工关系示例图(一)存在错误:不能使用职工的主码,作为商店的属性,来表示商店和职工两个实体之间的经理联系l实体间关系的表示 两实体之间的关联关系要使用联系表示 不可以将一个实体的主码作为另一个实体的属性,以表示两个实体间的关系2023年

    44、5月16日星期二84职工职工工作工作属属商店商店EnoNameStoreNoStoreNameManagerEno2.3.3.3联系联系 vs属性属性l商店与职工关系 示例E-R图(二)请分析该E-R图是否妥当2023年5月16日星期二85职工职工工作工作属属商店商店EnoNameStoreNoStoreName经理经理属属2.3.3.3联系联系 vs属性属性l商店与职工关系 示例E-R图(三)请分析该E-R图是否妥当2023年5月16日星期二86职工职工工作工作属属商店商店EnoNameStoreNoStoreNameRole2.3.3.3联系联系 vs属性属性l商店与职工关系 示例图(一)

    45、违背了E-R图的基本原则,不能接受 示例图(二)、(三)都是可以接受的l示例E-R图(二)、(三)各有优缺点 图三相对简洁 图三没有能表示出商店只能有一个经理的约束,表示的约束不完整;但没有表示出来的约束可以在需求条目字典中予以补充,因此,图三依然是可以接受的 图(二)、(三)都可以接受,相对来说,图二更理想2023年5月16日星期二872.3.3.3联系联系 vs属性属性l实体间关系的表示 两实体之间的关联关系要使用联系表示 不可以将一个实体的主码作为另一个实体的属性,以表示两个实体间的关系882.3.3.3属性的位置属性的位置l属性是实体的属性?还是联系的属性?对多元联系:l一般是显然的l不容易混淆 对二元多对多联系:l一般是显然的l不容易混淆 对二元多对一联系:l不容易区分l不影响最终设计结果,没有必要执意区分院系院系隶属隶属学生学生课程课程学习学习scoreTime?Time?教师教师课程课程班级班级上课上课classroom89

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:数据库设计与实现基础ER图课件.ppt
    链接地址:https://www.163wenku.com/p-5925192.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库