0
点赞
收藏
分享

微信扫一扫

数据库学习笔记(第六章)

前程有光 2022-05-01 阅读 63

第六章:使用E-R模型的数据库设计

1.数据库设计的特点:
①工程性
②有基本的对错问题
③不能简单以对/错论述问题
-不同的工程方法都可以达到工程目的
-“对/错”的概念被弱化
④强调优/劣、好/坏
-“好/优”的工程可以以较小代价,获得较好/高的成果
-反之则不然
⑤强调多数人的看法和评价
-依靠评审对数据库设计进行评价

2.E-R图的作用和地位:
在这里插入图片描述在这里插入图片描述

3.基本E-R图示例:
在这里插入图片描述

4.基本概念——实体:
实体(Entity)
-客观存在并可相互区分的事物叫实体(唯一标识)
实体集(Entity Set)
-是具有相同类型及即具有相同性质(属性)的实体集合
-组成实体集的各实体称为实体集的外延(Extension)
-实体集可相交
属性(Attribute)
-定义:实体集中每个成员具有的描述性性质
-一个实体可以由若干个属性来刻画和描述
-例如,学生可由学号、姓名、年龄、性别等属性描述
域(Domain/Value Set)
-属性的取值范围
-例如,性别的域为(‘0’、‘1’),月份的域为1到12的整数

5.属性的类型:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
派生(Derived)属性与基(Base)属性
-可以从其他相关的属性或实体派生出来的属性值
-如教师(编号,姓名,出生日期,年龄),其中年龄即为派生属性
-数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计算出来。但是不排除基属性和派生属性均保存在数据库中的现象

6.基本概念——码:
在这里插入图片描述

7.基本概念——联系:
在这里插入图片描述

在这里插入图片描述

8.基本概念——参与:
参与(Participation)
-实体集之间的关联称为参与,即实体参与联系
-如“王军”选修“数据库系统”,表示实体“王军”与 实体“数据库系统”参与了联系“选修”
-如果实体集E中的每个实体都参与到联系集R中的至少一个联系,则称E全部参与R
-如果实体集E中只有部分实体参与到联系集R的联系中,则称E部分参与R
-如课程和院系之间的“建设”联系,每门课都由一个学院负责建设,课程全部参与“建设”联系;但是有些学院可以不负责建设课程,学院部分参与“建设”联系。

在这里插入图片描述

9.基本概念——角色:
角色(Role)
-实体在联系中的作用称为实体的角色
-由于参与一个联系的实体集通常是互异的,角色是隐含的一般不需要指定
-当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式,需要显式指明其角色
-如学生与学生间的“班长”关系,职工与职工之间的“管理”关系,课程之间的“先行”关系

在这里插入图片描述
10.映射基数:
映射的基数(Mapping Cardinalities)
-实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目
-可以有一对一的(1:1),一对多的(1:m),多对多的(m:n)几种情况
-用箭头或线段来表示联系的映射基数,除了课本的表示方法以外,还有其他的表示方法
在这里插入图片描述

11.二元联系集的映射基数(重要):
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
12.一个实体集内的二元联系
在这里插入图片描述
13.多个实体集间联系的情况:
在这里插入图片描述
在这里插入图片描述

14.基数约束:
在这里插入图片描述
在这里插入图片描述

15.弱实体集(有点懵):
弱实体定义
-一个实体的所有属性合在一起都不足以形成主码,则称这样的实体为弱实体;同一类型的弱实体形成弱实体集
-反之称为强实体
-弱实体需要依赖属主实体而存在,不能独立存在
弱实体提出的背景
-存在一些需求场景,需要研究:
-一个实体的属性与其它实体之间的关系
-或者属性之间相互的关联关系
-E-R图中联系是实体与实体之间的联系
-在研究属性参与的联系时,需要进行属性实体化
-某些属性实体化之后,实体可以独立标识,如电话;
-某些属性实体化之后,实体自身无标识属性,如账户交易;
-属性实体化后,不能独立标识,形成弱实体

在这里插入图片描述

(个人理解:转账 如果没有账户 就不存在“转账”这种说法,所以“转账”依赖于“账户”这个实体集)

在这里插入图片描述

双菱形——弱实体关系

在这里插入图片描述
在这里插入图片描述

通过为弱实体集加上合适的属性,可转变为强实体集,为什么还要使用弱实体集?
在这里插入图片描述
弱实体集的引入
-作为层次结构的一部分
-实体集的一些多值、复合属性可以抽取出来作为弱实体集
如果弱实体集不但参与和强实体集之间的标识性联系,而且参与和其它实体集的联系,或者弱实体集本身含有很多属性,则将其表述为弱实体集
-如果弱实体集只参与和强实体集之间的标识性联系,或者弱实体集本身属性不多,则将其表述为属性

在这里插入图片描述

16.根据E-R图建立数据库模式的步骤(重要)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果实体集的主码重名,怎么办?
如果在不同的实体集中出现了主码属性名称不唯一的情况,应该以实体的名字加上属性的名字形成唯一的属性名;如果一个实体集不止一次地参加了某个联系集,则角色名可代替实体集的名字形成唯一的属性名。

17.E-R模型向关系模式的转换
二元一对一联系
-联系转化的表可以与任一端实体转化成的表进行合并
-二元一对一联系不能导致相关实体转化成的表合并

未完待续……

举报

相关推荐

0 条评论