数据库理论(五)——数据库设计

E-R图描述显示世界的概念模型

用图形化的方法表示数据的结构,用到三个主要的元素

  1. 实体(Entity):某种抽象对象(构成实体集),用长方形表示

  2. 联系(relationship):两个或多个实体集的链接,用菱形表示

    1. 二元关系:联系两个实体集
      1. 多路联系:链接多个实体集
  3. 属性:实体集中实体具有的属性,联系也可以有属性,用椭圆形表示

联系实体集和他的属性,联系和实体

实体之间的联系

1对1联系:对于实体集A中的每个实体,实体集B中至多有1个实体与之联系,反之亦然,则实体集A和实体集B具有1:1联系

1对多联系:对于实体集A中的每个实体,实体集B中有n个实体与之联系,反之实体集B中的每个实体,在实体集A中至多有一个实体与之联系,则实体集A和实体集B具有1:n联系

多对多联系:对于实体集A中的每个实体,实体集B中有m个实体与之联系,反之实体集B中的每个实体,在实体集A中有n个实体与之联系,则实体集A和实体集B具有m:n联系

将实体联系转化成关系模式

转化规则

  1. 1:1的联系(S,T)
    1. 选中其中一个关系,假设选S,将T的主码作为S的外码,然后将联系的单值属性加入到S中
    2. R,S是完全参与时,将两个实体集联系合并为一个关系
  2. 1:n联系
    1. 将1端的主码作为N端的外码,将联系R的所有单属性值加入N端
  3. m:n联系
    1. 转化为一个独立的关系模式:关系模式的属性包括联系两端实体的码和联系本身的属性
    2. 联系中两端实体的码的组合是组合关系模式的码
  4. 三个或三个以上实体间的多元联系
    1. 转化为一个独立的关系模式,改关系模式要包含三个实体的码和关系本身的属性
    2. 举个例子,老师,学生,课程三个实体之间的讲授关系,那么这个关系要形成一个关系模式讲授(课程号,学号,教师编号)

合并原则

合并具有相同码的关系模式

目的:减少系统中的关系个数

合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名,也可能不同名),并适当调整属性的次序。

复杂关系的转化

1:1:1:可以在三个实体类型转阿虎成的三个关系模式中任意一个关系模式的属性中加入另两个关系模式的键(作为外键)和联系类型的属性。

1:1:N:在N端实体类型转化成的关系模式中加入两个1端实体类型的键(作为外键)和联系类型的属性

1:M:N:将联系类型也和钻花成关系模式,其属性为m端和n端实体类型的键(作为外键)加上联系类型的属性,而键为M端和N端实体键的组合

M:N:P:将联系类型也转化成关系模式,其属性为三段实体类型的键(作为外键)加上联系类型的属性,而键为三端实体键的组合

讲了这么多做个题吧

image-20210525140405463

image-20210525140351375