数据库E-R图

目录

三个核心概念:

实体集

联系集

属性

约束

映射基数

参与约束

删除冗余属性

E-R图的画法

基本结构

映射基数的表示

复杂属性的表示

角色

弱实体集

E-R图转换为关系模式

扩展的E-R特性

特化

概化

属性继承

概化上的约束

聚集

新特性转换为关系模式

效率度量方法


E-R模型就是实体-联系(entity-relationship)模型,旨在方便数据库的设计

三个核心概念:

实体集

实体是现实世界中可区别与所有其他对象的一个事物或者“对象”,比如大学里的每一个人都是一个实体。实体具有描述性属性,比如student实体具有学号id等。

实体集是相同类型即具有相同性质或属性的一个实体集合,比如大学里的所有学生的集合可以定义为实体集student。下图就是两个实体集。

 

实体集可以相交,比如一个person实体也可以同时是student实体,也可以是instructor实体。

联系集

联系是指多个实体之间的相互关联。比如我们可以定义instructor实体Kim和student实体Zhang之间的联系advisor。这一联系指明Kim是Zhang的老师。

联系集是相同类型的联系的集合。

 

实体集之间的关联称为参与。可以说实体集student和实体集instructor参与联系集advisor。

E-R模式中的一个联系实例表示命名实体间的一个关联。可以说instructor实体Kim和student实体Zhang参与到联系集advisor的一个联系实例中。

联系也可以像实体一样,具有描述性属性。比如实体集instructor和实体机student之间的联系集advisor,我们可以定义一个属性date与联系集advisor关联起来,表示教师称为学生的导师的日期。如下图所示。

 

一个实体集也可以参与到多于一个联系集中。设计两个实体集的联系集叫做二元联系集,比如上述的联系集advisor。大部分联系集都是二元的,当然也有三元的。

参与联系集的实体集的数目我们称之为联系集的度。二元联系的度就是2。

属性

每个属性都有一个可以取值的集合,称为该属性的(domain),或者值集。

E-R模型中的属性可以按照如下的属性类型划分:

  • 简单和复合属性。能够划分为更小部分的属性叫做复合属性,反之为简单属性。比如student的学号id就是简单属性;student的姓名name是复合属性,name可以划分为first_name,last_name。复合属性可以是有层次的,即复合属性address划分为street,city,state等,而street还可以继续往下划分。
  • 单值和多值属性。一个student对应一个学号id,那么id就是一个单值属性。一个学生可以有多个电话号码phone_number属性,那么phone_number属性就是一个多值属性。为了表示一个属性是多值的,我们用花括号将属性名括住,比如{ phone_number }。
  • 派生属性。这类属性的值可以从别的相关属性和实体中派生出来。比如student实体有一个属性age,还有一个属性birthday_date,那么我们可以利用当前的日期和出生日期算出age的值,因此age就是派生属性。在这里,birthday_date称为基属性,或存储的属性。派生属性的值不存储,而是在需要用的时候计算出来。

约束:

E-R模型中可以定义一些数据库中数据必须满足的约束。约束分为映射基数,参与约束,还有其他我们这里不讨论。

映射基数

映射基数,又叫基数比率,表示一个实体通过一个联系集能关联的实体个数。

对于实体集A和实体集B之间的二元联系集R来说,映射基数必是下面四种情况之一:

  • 一对一。A的一个实体最多与B的一个实体相关联,B的一个实体也最多与A的一个实体相关联。注意AB之中可以存在一个也不关联的实体。
  • 一对多。A的一个实体可以关联B中多个实体,而B的一个实体最多与A的一个实体相关联。比如一个班主任实体可以关联多个学生实体。
  • 多对一。B的一个实体可以关联A中多个实体,而A的一个实体最多与B的一个实体相关联。
  • 多对多。B的一个实体可以关联A中多个实体,反过来也一样。比如一个学生可以关联多个老师,一个老师可以关联多个学生。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值