E-R图和关系数据库设计.ppt
《E-R图和关系数据库设计.ppt》由会员分享,可在线阅读,更多相关《E-R图和关系数据库设计.ppt(122页珍藏版)》请在咨信网上搜索。
1、第二章E-R图和关系数据库设计2.1实体-联系模型(E-R图)2.1.1基本概念n n 实体联系模型(ER模型)为数据库建模 提 供 了 3个 基 本 的 语 义 概 念:实 体(Entity)、联系(Relationship)、属性(Attributes)。n n 实体是指客观存在的、对于建立数据库有意义的、能够被清晰地辨识的事物或概念,实体用它的若干属性来描述的。【例例】实体实体“学生学生”,具有属性,具有属性“学号学号”、“姓姓名名”、“性别性别”、“年龄年龄”。基本概念n n所谓所谓属性属性是指事物的某一方面的特征,属性可是指事物的某一方面的特征,属性可以是基本属性或导出属性。例如,以
2、是基本属性或导出属性。例如,学生的学号学生的学号是一个简单属性;学生的家庭地址是一个复合是一个简单属性;学生的家庭地址是一个复合属性,它由简单属性属性,它由简单属性“城市城市”、“街道街道”、“门牌号门牌号”等组成。等组成。n n 属属性性可可以以是是基基本本属属性性或或导导出出属属性性。例例如如,一一个个人人的的生生日日是是基基本本属属性性,年年龄龄是是导导出出属属性性,年年龄龄可以根据生日和当前日期导出。可以根据生日和当前日期导出。n n 属性值的取值范围称为值域(属性值的取值范围称为值域(DomainDomain),),例例如人的年龄值域为如人的年龄值域为02500250,图书馆的馆藏资
3、料,图书馆的馆藏资料类型的值域为(书籍、杂志、会议录、内部资类型的值域为(书籍、杂志、会议录、内部资料)。料)。基本概念n n ERER模模型型中中的的联联系系是是指指实实体体类类型型之之间间的的联联系系。例例如如,教教师师教教学学生生,“教教”就就是是实实体体类类型型“教教师师”和和“学生学生”之间的联系。之间的联系。n n联联系系也也可可以以有有属属性性。例例如如,学学生生实实体体与与课课程程实实体体之之间间的的联联系系“选选课课”,可可以以有有属属性性学学号号、课课程程号、成绩等。号、成绩等。2.1.2ER图的组成n n在在ERER图图(E-R E-R DiagramDiagram)中中
4、,基基本本的的图图形形元元素素有有3 3个个:实实体体集集合合框框,联联系系集集合合框框和和属属性性框框。实实体体集集合合框框用用矩矩形形框框表表示示,实实体体之之间间的的联联系系用用菱菱形形框框表表示示,属性属性用用椭圆形框椭圆形框(或圆形框)表示。(或圆形框)表示。ER图示例基数比约束n n基数比约束(CardinalityRatioConstraint)是对参与联系的实体的一种约束。一个联系的基数(Cardinality)是指,对应于该联系的另一方的实体集的单个实体,本实体集的实体的数量。ER模型支持的实体之间的一对一、一对多、多对多的联系。基数比约束示例参与约束n n 参与约束是对参与
5、约束是对实体参与度实体参与度的约束。在一个给定的的约束。在一个给定的联系中的实体称为该联系的联系中的实体称为该联系的参与者参与者。n n所谓所谓实体参与度实体参与度是指实体参与联系的是指实体参与联系的最小和最大最小和最大的次数的次数。参与的次数可以用一个整数偶对(。参与的次数可以用一个整数偶对(min,min,maxmax)来表示,其中)来表示,其中minmin和和maxmax分别是实体参与联分别是实体参与联系的最小和最大的次数。系的最小和最大的次数。ER图的联系类型(1)n nER图中的联系类型有:递归联系、二元联系和多元联系。n n递归联系,即一个实体集合与其本身的联系。n n二元联系是指
6、两个实体集合之间的联系。ER图的联系类型(2)n n多元联系是指三个以上实体集合之间的联系。如何建立ER模型n n在在建建立立ERER模模型型中中,首首先先确确定定实实体体集集合合,然然后后确确定定联系联系集合,最后给出实体和联系的集合,最后给出实体和联系的属性属性。n n下面的一些下面的一些启发性规则启发性规则可以帮助确定实体:可以帮助确定实体:对于汇集和维护企业组织的数据有重要意义的、确定的、可以对于汇集和维护企业组织的数据有重要意义的、确定的、可以标识的对象可以指定为实体;标识的对象可以指定为实体;每个实质性的确定的对象,如人员、位置、事物等可指定为实每个实质性的确定的对象,如人员、位置
7、、事物等可指定为实体;体;抽象概念如部门或通信干线等可指定为实体;抽象概念如部门或通信干线等可指定为实体;在由唯一的术语标识的环境中的非实质性的概念,也可指定为在由唯一的术语标识的环境中的非实质性的概念,也可指定为实体,例如信用货款备忘录中的信用度,可作为一个实体。实体,例如信用货款备忘录中的信用度,可作为一个实体。ER图示例民航航班管理数据模型 首首先先选选择择实实体体集集及及相相应应的的属属性性。为为表表示示方方便便,约定如下符号:约定如下符号:n nCHAR(CHAR(n n)长度为长度为n n的字符串的字符串n nINT(INT(n n)n n位数字的整数位数字的整数 实体集和属性选择
8、如下。实体集和属性选择如下。n n 实体集实体集11旅客旅客 PASSENGERSPASSENGERS属性:属性:姓名姓名 NAMENAME:CHAR(30)CHAR(30)住址住址 ADDRESSADDRESS:CHAR(30)CHAR(30)电话电话 PHONEPHONE:INT(10)INT(10)NAMENAME和和ADDRESSADDRESS组成本实体集的关键组成本实体集的关键字。字。民航航班管理数据模型n n实体集2航班FLIGHTS属性:航班号NUMBER:INT(3)出 发 地 SOURCE:CHAR(3)目 的 地 DEST:CHAR(3)开点 DEP-TIME:INT(4)
9、到点 ARR-TIME:INT(4)n n为简化起见,假设是直达航班。本实体集可用NUMBER作关键字,也可用SOURCE与DEP-TIME组成关键字。民航航班管理数据模型n n实体集实体集33航次航次DEPARTURESDEPARTURES 属性:属性:日期日期DATEDATE:INT(3)INT(3)本实体集的每一个实体是在某日起飞的航次。本实体集的每一个实体是在某日起飞的航次。n n实体集实体集44机型机型PLANESPLANES 属性:属性:制造厂制造厂 MANUFACTURERMANUFACTURER:CHAR(10)CHAR(10)型号型号MODEL-NOMODEL-NO:CHAR
10、(10)CHAR(10)这两个属性组成实体集的关键字。这两个属性组成实体集的关键字。n n实体集实体集55飞机飞机AIRCRAFTAIRCRAFT 属性:属性:序号序号SERIAL-NOSERIAL-NO:INT(5)INT(5)民航航班管理数据模型n n实体集6职工PERSONNEL属性:职工号EMP-NO:INT(6)姓名NAME:CHAR(30)住址ADDRESS:CHAR(30)工资SALARY:INT(6)职工号EMP-NO是本实体集的关键字。n n实体集7飞行员PILOTS实体集PILOTS无属性。民航航班管理数据模型实体集之间的实体集之间的联系集联系集定义如下:定义如下:(1 1
11、)ISA(PILOTSISA(PILOTS,PERSONNEL)PERSONNEL)用用于于指明具体的飞行员个人,它是一对一联系。指明具体的飞行员个人,它是一对一联系。(2 2)BOOKED-ON(PASSENGERSBOOKED-ON(PASSENGERS,DEPARTURES)DEPARTURES)表示订票,它是多对多联系。表示订票,它是多对多联系。(3 3)INSTANCE-OF(DEPARTURESINSTANCE-OF(DEPARTURES,FLIGHTS)FLIGHTS)表表 示示 一一 次次 飞飞 行行 航航 班班,从从DEPARTURESDEPARTURES到到FLIGHTSF
12、LIGHTS是多对一联系。是多对一联系。民航航班管理数据模型(4)ASSIGNED-TO(PERSONNEL,DEPARTURES)表示每个航次的空中乘务员,它是多对多联系。(5)CAN-FLY(PILOTS,PLANES)表示能驾驶飞机的飞行员,是多对多联系。(6)TYPE(AIRCRAFT,PLANES)从AIRCRAFT到PLANES是多对一联系,表示每架飞机的机型。实体间的依赖n n如果如果一个实体集合的存在与否一个实体集合的存在与否是是依赖于依赖于另一个实另一个实体集合的体集合的,那么称这两个实体集合之间存在依赖,那么称这两个实体集合之间存在依赖关系。关系。【例例】家属和职工、病房和
13、医院家属和职工、病房和医院n n前者称为前者称为依赖实体集合依赖实体集合,又叫作,又叫作弱实体集合弱实体集合可用可用双矩形框双矩形框表示弱实体集合(或用带圆角的矩形框表示弱实体集合(或用带圆角的矩形框表示)。表示)。n n后者叫作后者叫作主实体集合或强实体集合主实体集合或强实体集合,用单个矩形,用单个矩形框表示。框表示。n n主实体集合与它的弱实体集合之间的联系称为主实体集合与它的弱实体集合之间的联系称为弱弱联系集合联系集合或或依赖联系依赖联系。在表示联系的菱形框内。在表示联系的菱形框内加加上字符上字符E E,可表示弱联系集合(或用,可表示弱联系集合(或用双菱形框双菱形框表示)表示)。n n用
14、一个指向弱实体集合框的箭头表示用一个指向弱实体集合框的箭头表示依赖联系依赖联系。【例】实体间的依赖2.2实体-联系模型转换为关系模型把一个E-R模型转化为关系模型,可遵守下列规则:转换规则1n n规规则则1 1:每每一一个个实实体体集集转转换换为为一一个个关关系系。实实体体集集中中的的实实体体的的属属性性成成为为该该关关系系的的属属性性。实实体体的的标标识识符符成成为为该该关关系系的的关关键字。每个实体由该关系的一个元组表示。键字。每个实体由该关系的一个元组表示。n n例如实体集例如实体集productproduct转换成关系转换成关系PRODUCT(PRODUCT(product-numbe
15、rproduct-number,product-name,cost-,product-name,cost-price)price)。转换规则2n n规规则则2 2:每每一一个个联联系系集集转转换换成成一一个个关关系系,该该联联系系集集自自身身所所拥拥有有的的属属性性,加加入入到到该该关关系系中中去去,而而该该关关系系的的主主关关键键字字由由该联系集所联系的实体集的关键字组成。该联系集所联系的实体集的关键字组成。n n例如联系集例如联系集Warehouse-product-orderWarehouse-product-order转换成关系转换成关系 n nWAREHOUSE-PRODUCT-OR
16、DER(WAREHOUSE-PRODUCT-ORDER(warehouse-no,warehouse-no,product-no,order-noproduct-no,order-no,quantity-order),quantity-order)转换规则3n n规规则则3 3:如如果果一一个个联联系系集集的的两两侧侧标标明明的的基基数数比比是是1 1 N N(一一对对多多联联系系),且且联联系系无无自自身身的的属属性性,则则在在1 1侧侧的的实实体体集集的的关关键键字字应应加加入入到到另另一一侧侧的的实实体体转转换换成的关系中,成的关系中,联系集联系集本身可本身可不必不必单独转换成关系。单独
17、转换成关系。n n例例如如下下图图实实体体集集CUSTOMERCUSTOMER的的关关键键字字应应加加入入到到对对应应于于实实体体集集ORDERORDER的的关关系系中中去去。经经过过转转换换后后可可得得关系模式为:关系模式为:n n CUSTOMER(CUSTOMER(cus-nocus-no,cus-name),cus-name)n nORDER(ORDER(order-noorder-no,order-date,order-date,cus-nocus-no)其中,对于关系其中,对于关系ORDERORDER,属性,属性cus-nocus-no是外来关键字。是外来关键字。转换规则3n n
18、1 1 1 1的联系也可以的联系也可以类似处理类似处理。如果。如果1 1 n n的的n n一方的一方的实体是实体是部分参与部分参与联系,为了联系,为了避免避免在转换后的关系在转换后的关系中的中的外来关键字出现空值外来关键字出现空值(NULLNULL),可以分别把),可以分别把实体集和联系集按照规则实体集和联系集按照规则1 1、2 2转换转换成关系。成关系。【转换示例】【例】一个简单的足球队数据模型。【例】一个简单的足球队数据模型。实体集选择如下:实体集选择如下:(1 1)球员)球员PLAYERSPLAYERS属性:姓名属性:姓名NAMENAME籍贯籍贯BPLACEBPLACE生日生日BDATE
19、BDATENAMENAME为关键字。为关键字。(2 2)位置)位置POSITIONSPOSITIONS属性:名称属性:名称POSNAMEPOSNAME人数人数POSNUMBERPOSNUMBERPOSNAMEPOSNAME或或POSNUMBERPOSNUMBER均可作关键字,一般用均可作关键字,一般用POSNAMEPOSNAME。【转换示例】(3 3)球队)球队TEAMSTEAMS属性:球队名属性:球队名TEAM-NAMETEAM-NAME城市城市CITYCITY年年YEARYEARTEAM-NAMETEAM-NAME和和YEARYEAR组成关键字。组成关键字。上述实体集之间的联系集有:上述实
20、体集之间的联系集有:(1 1)打打球球PLAYS(PLAYERSPLAYS(PLAYERS,POSITIONS)POSITIONS)从从PLAYERSPLAYERS到到POSITIONSPOSITIONS是多对多联系。是多对多联系。(2 2)参赛)参赛SEASON(PLAYERSSEASON(PLAYERS,TEAMS)TEAMS)从从PLAYERSPLAYERS到到TEAMTEAM是多对一联系。它有一个属性是多对一联系。它有一个属性BABA,表示比赛场次。,表示比赛场次。【转换示例】由上述实体集和联系集构成的ER图如图所示,它所转换成的关系模型具有如下5个关系:n nPLAYERS(NAME
21、,BPLACE,BDATE)PLAYERS(NAME,BPLACE,BDATE)n nTEAMS(TEAM-NAME,CITY,YEAR)TEAMS(TEAM-NAME,CITY,YEAR)n nPOSITIONSPOSITIONS(POSNAME,POSNUMBER)(POSNAME,POSNUMBER)n nPLAYS(NAME,POSNAME)PLAYS(NAME,POSNAME)n nSEASON(NAME,TEAM-SEASON(NAME,TEAM-NAME,YEAR,BA)NAME,YEAR,BA)2.3关系数据库设计理论基础概述n n关系数据库设计的核心是关系模式的设计,即按照一
22、定的原则,从数量众多而又相互关联的数据中,构造出一组既能较好地反映现实世界、又具有良好性能的关系模式。关系范例的描述n nSCTSCT(S(S,C C,CNCN,GRADEGRADE,TNAMETNAME,BDATEBDATE,SALARY).SALARY).n n其中的属性依次代表学号、课程号、课程名、成绩、任课教师姓名、教师出生日期和工资。n n规定:每个学生选修每门课只有一个成绩;每门课只有唯一的课程号,并且由一个教师担任。【示例】问题n nSCT(学号,课程号,课程名,成绩,任课教师姓名,教师出生日期和工资)n n通过分析不难发现SCT存在如下问题。1数据冗余度问题(如教师姓名)2修改
23、问题(如修改教师工资)3插入问题(如未开课的教师信息)4删除问题(如教师调离学校)【示例】改进如果把SCT分为如下三关系模式:n n选课关系:选课关系:SC(SC(学号学号,课程号课程号,成绩成绩)n n课程关系:课程关系:C(C(课程号课程号,课程名课程名,教师姓名教师姓名)n n教师关系:教师关系:T(T(教师姓名教师姓名,教师出生日期教师出生日期,工资工资)则上述问题便都得到解决。函数依赖(1)n n设设R R(U U)是是属属性性集集U U上上的的一一个个关关系系模模式式,X X和和Y Y均均为为U U A A1 1,A A2 2,A An n 的的子子集集,r r为为R R的的任任一
24、一个个关关系系。如如果果对对于于r r中中的的任任意意两两个个元元组组u u、v v,只只要要有有u u X X v v X X ,就就有有u u Y Y v v Y Y,则则称称X X 函函数数决决定定Y Y或或称称Y Y函函数数依依赖赖于于X X,记记为为X X Y Y。其其中中X X 称称为为决定因素(决定因素(DeterminantDeterminant)。)。n n即即对对于于关关系系模模式式R R中中的的属属性性子子集集X X的的每每一一个个值值,任任何时候都只有一个确定的何时候都只有一个确定的Y Y值与之对应。值与之对应。函数依赖示意图n n但是S#和C#、S#和TNAME间不存
25、在函数依赖关系。函数依赖(2)n n在R(U)中,如果XY,并且对于X的任何真子集X 都有X Y,则称Y完全函数依赖于X,记作(简记为XY)。【例】C#CNn n如果XY,且X中存在一个真子集X ,使得X Y成立,则称Y部分函数依赖于X,记作。【例】(S#,C#)CN根据联系确定函数依赖关系n n如果X和Y之间的联系是1:1的,则存在函数依赖XY和YX。【如】C#和CNn n如果X和Y之间的联系是n:1的,则它们之间只存在函数依赖XY。【如】C#TNAMEn n如果X和Y之间的联系是m:n的,则它们之间不存在函数依赖。【如】C#和S#关键字n n设R(U)为一关系模式,F为R的函数依赖集,X为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。