《数据库系统概论——实体联系模型ER图.pptx》由会员分享,可在线阅读,更多相关《数据库系统概论——实体联系模型ER图.pptx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、An Introduction to Database Systems数据库系统概论An Introduction to Database Systems第二章 实体-联系模型 第1页/共39页An Introduction to Database Systems概念模型概念模型概念模型的用途概念模型用于信息世界的建模概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次是数据库设计的有力工具是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力较强的语义表达能力能够方便、
2、直接地表达应用中的各种语义知识能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解简单、清晰、易于用户理解第2页/共39页An Introduction to Database Systems概念模型概念模型看待世界的眼光:事物是客观存在的事物是相互区别的事物是普遍联系的第3页/共39页An Introduction to Database Systems一、信息世界中的基本概念一、信息世界中的基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念可以是具体的人、事、物或抽象的概念。(2)属性(A
3、ttribute)实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。唯一标识实体的属性集称为码。第4页/共39页An Introduction to Database Systems信息世界中的基本概念信息世界中的基本概念(续续)(4)域(Domain)属性的取值范围称为该属性的域属性的取值范围称为该属性的域。(5)实体型(Entity Type)用用实实体体名名及及其其属属性性名名集集合合来来抽抽象象和和刻刻画画同同类类实实体体称称为为实体型实体型(6)实体集(Entity
4、 Set)同一类型实体的集合称为实体集同一类型实体的集合称为实体集第5页/共39页An Introduction to Database Systems信息世界中的基本概念信息世界中的基本概念(续续)(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系。中反映为实体内部的联系和实体之间的联系。实体内部实体内部的联系通常是指组成实体的各属性之间的联系的联系通常是指组成实体的各属性之间的联系实体之间实体之间的联系通常是指不同实体集之间的联系的联系通常是指不同实体集之间的联系第6页/
5、共39页An Introduction to Database Systems联系中的一个重要概念联系中的一个重要概念映射基数映射基数映射基数指明通过一个联系集能同时与另一实体相联系的实体数目第7页/共39页An Introduction to Database Systems二、两个实体型之间的联系二、两个实体型之间的联系实体型A联系名实体型B111:1联系实体型A联系名1n1:n联系实体型A实体型B联系名mnm:n联系实体型B用图形来表示两个实体型之间的这三类联系 第8页/共39页An Introduction to Database Systems二、两个实体型之间的联系(续)二、两个实
6、体型之间的联系(续)一对一联系(1:1)实例一个班级只有一个正班长一个班级只有一个正班长一个班长只在一个班中任职一个班长只在一个班中任职定义:定义:如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中至至多多有有一一个个(也也可可以以没没有有)实实体体与与之之联联系系,反反之之亦亦然然,则则称称实实体体集集A与与实实体体集集B具具有有一一对对一一联联系系,记记为为1:1 班级班级-班长班长111:1联系第9页/共39页An Introduction to Database Systems两个实体型之间的联系两个实体型之间的联系(续续)一对多联系(1:n)实例一个班级中
7、有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习每个学生只在一个班级中学习定义:如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于实体)与之联系,反之,对于实体集集B中的每一个实体,实体集中的每一个实体,实体集A中至多只有一个中至多只有一个实体与之联系,则称实体与之联系,则称实体集实体集A与实体集与实体集B有一对有一对多联系,记为多联系,记为1:n班级组成学生1n1:n联系第10页/共39页An Introduction to Database Systems两个实体型之间的联系两个实体型之间的联系(
8、续续)多对多联系(m:n)实例课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门课程一个学生可以同时选修多门课程定义:如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中有有n个个实实体体(n0)与与之之联联系系,反反之之,对对于于实实体体集集B中中的的每每一一个个实实体体,实实体体集集A中中也也有有m个实个实体体(m0)与与之之联联系系,则则称称实实体体集集A与与实实体体B具有多对多联系,记为具有多对多联系,记为m:n课程选修学生mnm:n联系第11页/共39页An Introduction
9、to Database Systems三、两个以上实体型之间的联系三、两个以上实体型之间的联系两个以上实体型之间一对多联系若实体集若实体集E1,E2,.,En存在联系,对于实体集存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和)中的给定实体,最多只和Ei中的一个实体中的一个实体相联系,则我们说相联系,则我们说Ei与与E1,E2,.,Ei-1,Ei+1,.,En之间的联之间的联系是一对多的系是一对多的第12页/共39页An Introduction to Database Systems两个以上实体型之间的联系两个以上实体型之间的联系(续续)实例 课程、教
10、师与参考书三个实体型课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,一门课程可以有若干个教师讲授,使用若干本参考书,使用若干本参考书,每一个教师只讲授一门课程,每一个教师只讲授一门课程,每一本参考书只供一门课程使用每一本参考书只供一门课程使用课程讲授教师1m两个以上实体型间1:n联系参考书n第13页/共39页An Introduction to Database Systems两个以上实体型之间的联系两个以上实体型之间的联系(续续)多个实体型间的一对一联系两个以上实体型间的多对多联系实例 供应商、项目、零件三个实体型供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件一个供
11、应商可以供给多个项目多种零件每个项目可以使用多个供应商供应的零件每个项目可以使用多个供应商供应的零件每种零件可由不同供应商供给每种零件可由不同供应商供给供应商供应项目mp两个以上实体型间m:n联系零件n第14页/共39页An Introduction to Database Systems四、单个实体型内的联系四、单个实体型内的联系一对多联系实例 职工实体型内部具有领导与被领导的联系职工实体型内部具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系一对一联系 职工领
12、导1n单个实体型内部1:n联系第15页/共39页An Introduction to Database Systems单个实体型内的联系单个实体型内的联系实体型1联系名mn单个实体型内的m:n联系v多对多联系第16页/共39页An Introduction to Database Systems五、五、概念模型的一种表示方法概念模型的一种表示方法实体联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型第17页/共39页An Introduction to Database SystemsE-R图图实体型用矩形表示,矩形框内写明实体名。属性用椭圆形表示,并用无向边将
13、其与相应的实体连接起来学生教师学生学号年龄性别姓名第18页/共39页An Introduction to Database SystemsE-R图图(续续)联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(接起来,同时在无向边旁标上联系的类型(1:1、1:n或或m:n)第19页/共39页An Introduction to Database Systems联系的表示方法联系的表示方法实体型A联系名实体型B111:1联系实体型A联系名1n1:n联系实体型A实体型B联系名mnm:n
14、联系实体型B第20页/共39页An Introduction to Database Systems联系的表示方法示例联系的表示方法示例班级班级-班长班长111:1联系课程选修学生mnm:n联系班级组成学生1n1:n联系第21页/共39页An Introduction to Database Systems联系的属性联系的属性课程选修学生mn成绩v联系的属性:联系本身也是一种实体型,也 可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来 第22页/共39页An Introduction to Database Systems复杂复杂E-R图图参考 Abraham Silb
15、erschatz,Henry F.Korth,S.Sudarshan:Database System Concepts(Ed.4)数据库系统概念数据库系统概念 杨冬青杨冬青 唐世渭等译唐世渭等译 机械工业出版社机械工业出版社自学第23页/共39页An Introduction to Database Systems建立概念模型的一般方法建立概念模型的一般方法1.找出当前问题/应用涉及到的所有实体型2.分析实体型的属性3.找出实体型之间的联系4.确定联系的映射基数以及是否具有属性5.画图E-R图第24页/共39页An Introduction to Database Systems例例1.工厂物
16、资管理系统工厂物资管理系统1.找出当前问题/应用涉及到的所有实体型2.分析实体型的属性仓库:仓库号、面积、电话号码零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号码、帐号项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称第25页/共39页An Introduction to Database Systems3.找出实体型之间的联系4.确定联系的映射基数以及是否具有属性(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。此联系的属性是库存量第26页/共39页An Introductio
17、n to Database Systems(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系(3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。(4)供应商、项目和零件三者之间具有多对多的联系,此联系的属性是供应量第27页/共39页An Introduction to Database Systems画画E-R图图第28页/共39页An Introduction to Database Systems例例2.学生信息管理系统学生信息管理系统1.找出当前问题/应用涉及到的所有实体型2.分析实体型的属性学生:学号、
18、姓名、性别、系别、出生日期、入学日期、奖学金课程:课程号、课程名、教师、学分、类别第29页/共39页An Introduction to Database Systems3.找出实体型之间的联系4.确定联系的映射基数以及是否具有属性(1)学生与课程之间具有选课的联系。一个学生可以选修多门课程,一门课程可以被多个学生选修。多对多联系。此联系的属性是成绩第30页/共39页An Introduction to Database Systems画画E-R图图学生性别系别奖学金姓名学号出生日期入学日期课程学分教师类别课程号课程名成绩选课mn第31页/共39页An Introduction to Data
19、base Systems例例3.图书借阅管理系统图书借阅管理系统1.找出当前问题/应用涉及到的所有实体型2.分析实体型的属性图书:图书编号、图书名称、图书分类号、作者、出版社、图书价格读者:编号、状态、姓名、工作单位、读者类型、办证日期、身份证号第32页/共39页An Introduction to Database Systems3.找出实体型之间的联系4.确定联系的映射基数以及是否具有属性(1)一个读者可以借阅多本图书,一本图书只能被一个读者借阅。读者和图书具有一对多的联系。该联系的属性比较多,由于要处理还书,续借,罚金等,该联系的属性包括:借书日期,还书日期,更新日期,罚金第33页/共3
20、9页An Introduction to Database Systems画画E-R图图图书出版社图书价格作者图书分类号图书名称图书编号读者工作单位办证日期身份证号编号姓名还书日期借阅n1状态罚金更新日期借书日期第34页/共39页An Introduction to Database Systems随堂练习随堂练习医院病房计算机管理系统其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。第35页/共39页An Introduction to Database Systemsn病人入住病房1病房号床位号工作证号姓 名性 别病历号n医生从属科室1科 名科电话科地址职 称年 龄姓 名诊治组成n1n1第36页/共39页An Introduction to Database Systems作业作业1.12 1.13第37页/共39页An Introduction to Database Systems 下课了。下课了。追求休息一会儿。第38页/共39页An Introduction to Database Systems谢谢您的观看!第39页/共39页