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