数据库-概念模型
一、概念模型
1、概念结构设计
- 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。
- 概念结构设计是数据库设计的关键。
- 现实世界->概念模型->逻辑模型->物理模型
2、信息世界中的基本概念
- 实体(Entity)
- 客观存在并可相互区别的事物称为实体。
- 可以是具体的人、事、物或抽象的概念。
- 属性(Attribute)
- 实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
- 码(Key)
- 唯一标识实体的属性集称为码。
- 实体型(Entity Type)
- 用实体名及其属性名集合来抽象和刻画同类实体称为实体型
- 实体集(Entity Set)
- 同一类型实体的集合称为实体集
- 联系(Relationship)
- 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系+实体之间的联系
- 实体之间的联系有一对一(1:1)、一对多(1:m)和多对多(m:n)等多种类型
3、实体-联系方法(Entity-Relationship Approach)
- E-R图可以用来描述现实世界的概念模型
- E-R方法也成为E-R模型
二、E-R模型
1、实体间的联系
(1) 一对一联系(1∶1)
- 如果对于实体集A中的每一个实体,实体集B中最多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1∶1。
- eg:一个班级只有一个班主任,一个班主任只属于一个班级,则班级与班主任之间存在一对一的关系。
(2)一对多联系(1:n) - 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1∶n。
- eg:一个班级中有若干个学生,但是一个学生只属于一个班级。班级与学生之间的关系是一对多。
(3)多对多联系(m:n) - 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m∶n。
- 一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。
2、E-R图:提供了表示实体型、属性和联系的方法
- 实体型:用矩形表示,矩形框内写明实体名。
- 属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。
- 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1∶1,1∶n 或m∶n)。
联系可以具有属性