【面试必备】数据库设计及ER图

数据库不符合范式会引发以下问题

 

【面试必备】数据库设计及ER图_第1张图片

1. 数据冗余

学院信息、院长信息都是冗余信息。

2. 修改异常

修改了一行,其他行还是原来的数据

3. 删除异常

删除信息会损失其他信息

4. 插入异常

如果没选课的学生信息需要插入,会导致异常。

 

 

数据库设计范式

 

1. 第一范式

数据属性不可再分。将数据属性划分到最小的粒度,不可以再分。

2. 第二范式

非主属性完全依赖于键码

【面试必备】数据库设计及ER图_第2张图片

将原表分解成两个表:

【面试必备】数据库设计及ER图_第3张图片

【面试必备】数据库设计及ER图_第4张图片

3. 第三范式

非主属性不传递函数依赖键码

【面试必备】数据库设计及ER图_第5张图片

Sno确定学院,确定院长需要学院信息辅助,所以再分解:

【面试必备】数据库设计及ER图_第6张图片

【面试必备】数据库设计及ER图_第7张图片

 

ER图

 

实体关系包含:实体,属性,联系

 

关系类型

 

一对一:双向箭头

一对多:单向箭头

多对多:无箭头

 

联系的多向性

 

一个教室有多门课,一个学生可以选多门课,一门课只有一个老师。

【面试必备】数据库设计及ER图_第8张图片

 

父类与子类

 

与子类父类公共的连接到父类,只与子类相关的连接到子类,父类与子类使用三角形表示继承关系。

实体使用矩形,属性使用椭圆,关系使用线段与箭头。继承关系使用三角形

【面试必备】数据库设计及ER图_第9张图片

你可能感兴趣的:(JAVA面试必备)