数据库笔记(1) EER图转relational schema

EER图转relational schema

  • 主键(prime key)为实线, 外键(foreign key)或者弱实体的主键为虚线, 连接线指向原实体.
  • 方框是实体, 菱形代表关系, 圈代表属性. 双线连接关系是完全参与(fully participation), 单线是部分参与(partial participation).

例题1

数据库笔记(1) EER图转relational schema_第1张图片

答案1

数据库笔记(1) EER图转relational schema_第2张图片

  • 这里的U是从属关系(subtype relationship),开口对着父实体. 子实体会继承父实体的主键. 另外, 子实体的主键在EER图中不需要写出.
  • 双线方框是弱实体(weak entity), 弱实体要完全参与弱关系(双线菱形), 且其主键画虚线.
  • 双圈是多值属性(multi-valued attribute), 在relational schema时要提出单独做表, 继承原实体的所有主键, 其自带的属性也作为主键之一.
  • 当出现NN关系(多对多, N-N relationship)时, 需建立新表, 并同时继承关系双方的所有主键.
  • 当出现1N关系(1-N relationship)时, 在N主体的表里添加1主体的主键作为外键(见例题3的B与C). 或者可以单独建表, 并从对应N的主体继承主键, 从对应1的主体继承外键(见例题5的Senior与Junior).

例题2

数据库笔记(1) EER图转relational schema_第3张图片

答案2

数据库笔记(1) EER图转relational schema_第4张图片

  • 当出现N元关系(N-ary relationship)时, 与NN关系类似, 建立新表, 所有主键由对应N的主体提供, 对应1的主体只提供外键.

例题3

数据库笔记(1) EER图转relational schema_第5张图片

答案3

数据库笔记(1) EER图转relational schema_第6张图片

  • 这里的圆圈带u为并集(union), 可以当做不交集(disjoint, 圆圈带d)的反义词. 也就是说E是D与A的共同的父集, 但D与A无相交. 所以在E中新建属性X, 分散到A与D中.
  • 实体间还有11关系(一一对应), 在schema中可以对任一实体的表中添加另一实体的主键作为外键.

例题4

数据库笔记(1) EER图转relational schema_第7张图片

答案4

数据库笔记(1) EER图转relational schema_第8张图片

  • 如果是圆圈带o, 则意为覆盖(overlapping). D为B和C的父集与交集, B与C之间可以重叠(实例见例题5).

例题5

数据库笔记(1) EER图转relational schema_第9张图片

答案5

数据库笔记(1) EER图转relational schema_第10张图片

  • 假设实体A通过disjoint分成实体B与实体C, 那么直接理解为B与C都是A的子实体就好了. 在作表时, overlapping与disjoint无区别.

你可能感兴趣的:(数据库技术笔记)