【数据库】关系数据模型及转换

该博客围绕数据库设计展开,介绍了数据库设计流程,阐述了ER图、关系模型与数据库的关联及转换情况。还讲解了实体集合、属性、关系的基本处理,表结合、弱实体集合转换等特殊处理方法,以及关系的三类完整性约束。

目录

一、背景知识。

1、数据库设计流程

2、ER图、关系模型与数据库

3、ER图转为关系数据模型的情况总结

二、基本处理。

1、实体集合(entity set)&属性(attribute)

2、关系(relationship)

3、案例

三、特殊处理。

1、表的结合

2、弱实体集合(双边矩形)的转换

3、子类层次结构的转换

(1)OO转换法(面向对象的转换方式)

(2)ER转换法

(3)空值转换法

四、关系的三类完整性约束。

五、总结&思维导图。


一、背景知识。

1、数据库设计流程

  1. 根据应用场景明确需求与结构
  2. 用概念设计语言(如ER图)建模
  3. 转化为关系模式(表的集合)
  4. 存入磁盘(设计文件组织方式与索引结构)

2、ER图、关系模型与数据库

ER图关系数据模型数据库
实体、关系、属性等组成表名+属性名+域的关系所有表的模式的集合
属性必须为原子类型R(A1: int, A2: real)R1(A1, A2)  R2(A3, A4)
图形化界面表格,其实例为元组的集合n个表的实例的集合

3、ER图转为关系数据模型的情况总结

二、基本处理。

1、实体集合(entity set)&属性(attribute)

为每个矩形即实体集合创建一张表,表中属性即实体集合的属性。

2、关系(relationship)

为每个关系即菱形创建一张表,表中属性即关系的属性与连接的实体集合的主键。

3、案例

三、特殊处理。

1、表的结合

原因:同样的信息存储在一张表中的查找信息比分散于多张表中快。

核心:one to one、many to one关系中,relationship对应的表可以合并到one端实体集合的表中。

但many to many关系不能合并,否则会造成冗余。

2、弱实体集合(双边矩形)的转换

原因:弱实体集合自身的主键无法对其实例进行唯一性标识,需要其他实体集合的主键辅助。因此其主键由自身的主键与其支撑实体集合的主键共同组成。可知其支撑联系不需要单独转换一张表。

核心:不为支撑联系单独构建表。

(PS. 弱实体集合并非所有联系都是支撑联系,只有双边菱形代表的才是支撑联系。)

3、子类层次结构的转换

(1)OO转换法(面向对象的转换方式)

原因:任何一个子类层次结构能够表示的实体只属于一张表,因此需要为子类层次结构中所有实体的层次结构新建一张表。

核心:为子类层次结构中任何一棵包含根结点的子树创建一张表。不同子类之间再创建一张包含所有所有属性的表。

(2)ER转换法

原因:在ER模型中,一个实体可以属于多个实体类型,因此为了表示一个实体,可将实体所属的每一个实体类型集合集合起来。

核心:在子类层次结构中,为每个矩形/实体集合都生成一张表。

(3)空值转换法

核心:仅生成一张表,包含所有所有属性。

四、关系的三类完整性约束。

实体完整性:主键约束(都要有)

参照完整性:外键约束(不能无中生有)

用户定义的完整性:自定义的约束条件

五、总结&思维导图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值