DB Chapter 8:ER model


  • 实体:
    学校,学生
    
  • 实体联系
    学校has学生
    
  • 属性
    学生的学号、姓名.... 
    
  • 实例
    学生中的jack,学校中的牛津  
    

entity

实体entity type

有共同属性的,现实生活中存在的,每个实例可以独立存在的。
矩形表达,一般来讲是个名词

实例entity occurrence

实体下的,现实生活中存在的,可以唯一独立标示的一个。

联系relationship

联系的类 relationship type

   学生和课程之间有选课联系  
   用一根线表示,线上写联系的名字,一般用动词表达

联系的实例 relationship occurrence

   张三选了毛概、马原,李四没选课,王五选了英语  
   举例:学生实体、老师实体,有教课联系,辅导员联系        、、、有各种各样的实体有各种各样的联系,你要清楚        ,你要的是哪个

联系的度 degree of a relation type

参与联系的实体的个数
联系可能存在在一个实体之间(单元),也可能两个实体之间(二元),也可能多个实体之间(多元)。

多元联系需要一个棱形的来连接

递归联系 recursive relational

就是单元联系

一个例子在goodnote45页

属性 attribute

attribute

有一个例子在goodnote 46页
矩形下面的再来一个框,写出属性的名字 描述实体的数据项 在表中就是一个字段

  • simple attribute
    不可再分,原子属性
  • composite attribute

还可分为

  • single-valued attribute
  • multi-valued attribute

还有

  • 导出属性 derived attribute
    身份证号(原始属性)-->出生日期 和 出生地 (导出属性)

还有

  • candidate key

     描述实体的一组属性,如果可以唯一标示一个实例,且它的任何真子集都不能...
    
     table -- 实体    
     tuple -- 实例
    
  • primary key 在er模型中没有外键(那是关系模型的概念)

  • comp

    attribute domain

强实体

不依赖另一个实体的存在而存在

      客户一定存在  

弱实体

依赖另一个实体存在而存在

      偏好依赖于客户的存在而存在

都是强实体,无所谓外键在哪个表
一个强一个弱,把外键放在

正像实体可以用属性描述一样,联系也可以用实体描述
也是像实体一样的双矩形,但是上面那个矩形没有名字,用虚线连接一个联系(也就是一条实线)

结构化约束

多样性原则:最多最少问题

一个学生能学几门课,一门课可以给几个学生学

多样性 -- 业务 -- 联系规则 -- 联系方式(一对一,一对多,多对多)

明确业务 ==理出==> a..b联系基数 <===> 最少a,最多b
最大基数 <===> 联系方式(一对一,一对多,多对多)
多元联系里的最大最小基数 ==> 其他的实体组合起来再和那一个看最大最小基数

基数cardinality约束

最大基数 ==> 决定一对一,一对多,多对多

参与participation约束

最小基数 ==> 决定强制参与还是可选参与

如何将ER图转化为表结构

规则 1.一个实体对应一张表。
2.一个一对多的联系不单独成表,把联系归与多方:一个 一对多 的联系转换成表的时候 在多方那一边对应的实体中加入一方的主键作为外键。把联系的属性也加在多方对应的表中。
3.一个多对多的联系单独成表,这个表的字段由参与这个联系的实体的主键和联系本身的属性组成。

一个例子在goodnote p47

results matching ""

    No results matching ""