数据库设计与实现基础ER.ppt
《数据库设计与实现基础ER.ppt》由会员分享,可在线阅读,更多相关《数据库设计与实现基础ER.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、20 五月 20231第第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使用实体还是使用联系20 五月 202322.1:E-R图概览图概览l一个E-R图示例:仓库仓库存放存放供应商供应商零件零件生产生产项目项目供应供应职工职工管理管理属属参与参与属属领导领导属属领导领导员工员工20 五月 202332.1:E-R图在软件开发中的位置图在软件开发中的位置lE-R 图的位置数据分析、描述的工具数
2、据分析、描述以E-R 图为主需要其它文档辅助lE-R图的作用帮助澄清用户数据需求分析员和用户对数据需求达成高度一致数据逻辑模型设计的基础lE-R图的要求和评价标准清晰、易懂 完整、精确、无二义转换、设计转换、设计理解、表达理解、表达现实世界现实世界概念模型:概念模型:E-R逻辑模型:逻辑模型:DBSchema2.1E-R图基本概念图基本概念l历史-模型:Entity-Relationship Model1976年,提出-模型,用-图来描述概念模型l观点世界是由一组称作实体实体(entities)(entities)的基本对象和这些对象之间的联系联系(relationships)(relatio
3、nships)构成的20 五月 202352.2:基础:基础E-R图及其要素图及其要素l实体实体的概念实体的属性实体的标识l联系联系的概念联系和实体的关系联系的度联系的属性二元联系的基数l基础E-R练习20 五月 20236实体的概念实体的概念l实体:可以相互区分的事物事物:事件、物体、概念学生:甲、乙、丙课程:DB、DS、SEl实体集:同类型实体的集合二年级一班的学生DB,DS,SEl实体型:类型的特性和性质学生、教师、课程、图书、货物订单20 五月 20237实体的属性实体的属性l属性来源于域,域是同类型值的集合用来刻画实体的特征院系院系dnodname课程课程cnocname学生学生ag
4、esnonamepid20 五月 20238实体的标识属性实体的标识属性 l标识属性的必要性概念上,实体互异数据库上,实体必须用属性区分、标识l标识属性、码实体的标识属性,称为实体的码(Key)能唯一标识实体的属性/属性组称作超码(Superkey)其任意真子集都不能成为超码的最小超码称为候选码(Candidate Key)实体可以有多个候选码例如:sno、pid都是学生的候选码学生学生agesnonamepid主码主码l主码多候选码时,选择一个候选码,作为主码一个实体集中任两个实体在主码上的取值不能相同在E-R图中,主码使用下划线表示多候选码时,一般选变化少的或习惯上的候选码作为主码主码一旦
5、选择,整个组织有效20 五月 20239院系院系dnodname课程课程cnocname学生学生agesnonamepid20 五月 202310联系的概念联系的概念 l联系多个实体之间的关联关系如:选课联系l联系实例一个具体的多个实体间的相互关系如:(甲,DS),(甲,OS),(乙,DS)l联系集同类型联系的集合(甲,DS)(甲,OS)(乙,DS)甲甲乙乙丙丙丁丁DBDSOS20 五月 202311联系和实体的关系联系和实体的关系l实体和联系的关系实体参与联系,扮演角色一般地,扮演的角色是明确的,不需要显式指明l同型实体间的联系同型实体间可以有联系称作自环联系(recursive)联系扮演的
6、角色需要指明仓库仓库存存放放供应商供应商零件零件生生产产项目项目供供应应职工职工管管理理参参与与领领导导属属领导领导员工员工20 五月 202312联系的度联系的度l联系的度两个实体参与的联系,称作二元联系三个实体参与的联系,称作三元联系三元以上(含三元)联系,习惯称作多元联系仓库仓库存放存放供应商供应商零件零件生产生产项目项目供应供应职工职工管理管理参与参与领导领导属属领导领导员工员工20 五月 202313数据库系统概念-E-R联系的属性联系的属性l联系可以有属性属性是描述性属性属性是一个联系所具有的某种性质例如,选课联系可以有属性:成绩l思考:下列特征,是选课联系的属性吗?选课门数选课学
7、生的学号所选课程的编号8580甲甲乙乙丙丙丁丁DBDSOS学生学生课程课程学习学习属属snonamecnocnamescore20 五月 202314数据库系统概念-E-R联系的属性联系的属性l联系属性属性是描述性属性l下述内容,不是联系的属性实体参与联系的数目参与联系的实体的属性(包括实体的主码)8580甲甲乙乙丙丙丁丁DBDSOS学生学生课程课程学习学习属属snonamecnocnamescore联系的属性联系的属性l假设联系集R是由实体集E1,E2,En形成的。联系集的属性包括:primary(E1)primary(E2)primary(En)a1,a2,am20 五月 202316二元
8、联系的基数二元联系的基数 l多对多,m:nA中一个实体可以与B中多个实体相关联反之亦然l一对多,1:mA中一个实体可以与B中多个实体相关联B中一个实体至多至多可与A中一个实体相关联l多对一,m:1l一对一,1:1A中一个实体至多至多可与B中一个实体相关联反之亦然不一定是完美对集 l基数对联系的约束限制m:n不对联系产生约束1:m,m:1,1:1是联系的约束课程课程学习学习学生学生院系院系隶属隶属院长院长领导领导二元联系的基数表示方式二元联系的基数表示方式多方实体集多方实体集单方实体集单方实体集联系联系R R从从A A到到B B是一是一对一或多对一对一或多对一A AB BR R联系联系R R从从
9、A A到到B B是多对是多对多或一对多多或一对多ABR18数据库系统概念-ER模型二元联系的基数表示方式二元联系的基数表示方式-示例示例One-To-ManyOne-To-One19数据库系统概念-ER模型二元联系的基数表示方式二元联系的基数表示方式-示例示例Many-To-ManyMany-To-One20 五月 202320数据库系统概念-E-R联系的全部参与约束联系的全部参与约束l全部参与vs部分参与如果每个实体,至少参与某联系集的一个联系中,称全部参与否则,称作部分参与全部参与是联系的一种约束部分参与不是联系的约束全部参与使用双线段表示作者作者编著编著图书图书出版社出版社出版出版20
10、五月 202321数据库系统概念-E-R联系基数的上下界约束联系基数的上下界约束l基数约束基本的基数约束:l1:1,m:1,m:n更精确的基数约束:l给出上下界约束 l.hl0.*等价于“多”l0.1等价于“一”l示例:一个学生要学3到5门课l.hABR3.5学生学生课程课程学习学习20 五月 2023222.2练习一练习一:一个简单学校系统一个简单学校系统lStep1:希望建设一个学校管理系统学校下设若干院系,开设若干课程院系有院系名称,并有院系编号作为标识课程有课程名称,同时有课程编号关注学校教师的姓名、年龄、教师编号及身份证号,并关注哪个教师能够上哪些课每个教师,均隶属于一个院系l请画出
11、E-R图20 五月 2023232.2练习一练习一:一个简单学校系统一个简单学校系统lStep1:希望建设一个学校管理系统参考E-R图(一)age院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepid学校学校隶属隶属隶属隶属开设开设20 五月 2023242.2练习一练习一:一个简单学校系统一个简单学校系统lStep1:希望建设一个学校管理系统参考E-R图(二)age院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidl参考E-R图(二)比(一)更合适对一个机构建设系统,一般不必绘制机构本身对应的实体
12、20 五月 2023252.2练习一练习一:一个简单学校系统一个简单学校系统lStep2:在前述系统的基础上关注课程的先行课,即:要学习一门课,必须先学习哪些课程;一门课,可以有一门先行课,也可以有多门先行课,当然可以没有先行课。l请画出E-R图(请在step1的E-R图基础上绘制)20 五月 2023262.2练习一练习一:一个简单学校系统一个简单学校系统lStep2:在前述系统的基础上,关注先行课参考E-R图:age院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepid先行课先行课20 五月 2023272.2练习一练习一:一个简单学校系统一个
13、简单学校系统lStep3:在前述系统的基础上,绘制E-R图:关注学生、学生隶属院系的关系以及学生选课情况即将step2的E-R图与例题E-R图合并age院系院系隶属隶属属属学生学生课程课程学习学习属属dnodnamesnonamecnocnametimescorepid参考E-R图:20 五月 2023282.2练习一练习一:一个简单学校系统一个简单学校系统lStep3:增加关注学生、隶属院系、选课情况参考E-R图:隶属隶属属属学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课
14、先行课20 五月 2023292.2练习一练习一:一个简单学校系统一个简单学校系统lStep4:在前述系统的基础上增加关注班级情况,即:学生分作若干班级,一个学生属于一个班级,一个班级属于一个院系,一个班级有多名学生。l请画出E-R图(请在step3的E-R图基础上修改绘制)20 五月 2023302.2练习一练习一:一个简单学校系统一个简单学校系统lStep4:在前述系统的基础上,关注班级情况参考E-R图(一)隶属隶属属属学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课先行
15、课班级班级classnameclassno隶属隶属属属隶属隶属属属20 五月 2023312.2练习一练习一:一个简单学校系统一个简单学校系统lStep4:在前述系统的基础上,关注班级情况参考E-R图(二)学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课先行课班级班级classnameclassno隶属隶属属属隶属隶属属属20 五月 2023322.2练习一练习一:一个简单学校系统一个简单学校系统lStep5:在前述系统的基础上关注班主任情况:每个班级有一名教师任班主任l请画
16、出E-R图(请在step4的E-R图基础上修改绘制)20 五月 2023332.2练习一练习一:一个简单学校系统一个简单学校系统lStep5:在前述系统的基础上,关注班主任参考E-R图:班主任班主任属属学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课先行课班级班级classnameclassno隶属隶属属属隶属隶属属属2.2练习一练习一:一个简单学校系统一个简单学校系统lStep6:在前述系统的基础上关注学生之间的管理关系,即学生中有班长和普通学生l请画出E-R图(请在ste
17、p5的E-R图基础上修改绘制)2.2练习一练习一:一个简单学校系统一个简单学校系统lStep6:在前述系统的基础上,关注学生之间的管理关系参考E-R图:班主任班主任属属学生学生学习学习属属scoreage院系院系隶属隶属属属教师教师课程课程讲授讲授属属dnodnametnonamecnocnamepidagesnonamepid先行课先行课班级班级classnameclassno隶属隶属属属隶属隶属属属管理管理20 五月 2023362.2练习二练习二l一个工厂需要管理下列信息:工厂有许多职工,每个职工有职工号、姓名、年龄、性别;工厂内有多个车间,每个车间有车间号、车间地址和电话,一个车间有一
18、名车间主任,多名职工,一个职工不能同时属于多个车间;一个车间生产多种产品,产品有产品号和价格一个产品由多种零件组成,一种零件也可以参与装配多种产品;产品与零件均存入仓库中;一个工厂有多个仓库,仓库有仓库号、仓库地址和电话;每个仓库有一名仓库主任进行管理,同时可以有多名职工担任仓库保管。l请画出该系统的E-R图2.2练习二练习二2.2练习三练习三l一个网上书店需要管理下列信息:网上书店的的主营业务是图书销售,每本书由唯一的ISBN编号标识,其余的信息包括书名、出版年份和价格;每本书有一个或者多个作者,每个作者也可以撰写多本书,作者由作者的URL标识,其余的信息包括作者的姓名和住址;每本书都由一个
19、出版社出版,一个出版社可以出版很多书籍,出版社有唯一的URL标识,其余信息包括出版社名称、地址和电话;网上书店拥有多个仓库,每个仓库存储大量图书,仓库由仓库编号唯一标识,其余的信息包括仓库地址和电话网上书店拥有自己的客户,每个客户用电子邮件进行唯一标识,其余的信息包括姓名、住址和电话。客户在网上书店购物时,需要使用购物车,一个客户只能拥有一个活动的购物车,用于存放挑选好的多本书籍,购物车由购物车编号唯一标识l请画出网上书店的ER图2.2练习三练习三20 五月 2023402.3基础基础E-R图的若干问题研究图的若干问题研究l本节主要讨论:属性详解多元联系使用实体?还是使用属性?还是使用联系?2
20、0 五月 202341属性详解属性详解l属性分类简单属性vs复合属性单值属性vs多值属性基属性vs派生属性birthdayage学生学生snonamerelativepidnamerelationcitystreetaddrtelnopostal_code简单属性简单属性vs复合属性复合属性l简单属性 (Sample Attribute)不可再分的属性如学号、年龄、性别l 复合属性(Composite Attribute)可以划分为更小的属性可以把相关属性聚集起来,使模型更清晰如:addr=city+street+postal_codel复合属性的表示20 五月 202342学生学生snona
21、mecitystreetaddrpostal_code简单属性简单属性vs复合属性复合属性l复合属性可以嵌套如:addr=city+street+postal_code street=street_name+street_numberl思考:下列属性是简单属性,还是复合属性?l姓名=姓+名l电话号码=区号+本地号码20 五月 202343学生学生snonamecitystreetaddrpostal_codestreet_namestreet_number简单属性简单属性vs复合属性复合属性l简单属性vs复合属性多数情况下,界限并不清晰需要看应用环境关注的内容l分析:姓名=姓+名如果不关注姓和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 实现 基础 ER
限制150内