文档介绍:数据库设计规范化反规范化
==============================================================
*作者:bingghost(只是学部分内容来源于网络)
*邮箱:443530836@
*贴吧:Radasm吧(按Ctrl+鼠标点击进入)
==============================================================
(Entity-relation diagram)
(1).实体实质客观存在的事物,,汽车,学校等.
(2).实体关系图是表示实体及实体间关系的图解形式,-R图
(3).实体关系图的表现形式:
实体:矩形框
属性:椭圆
关系:菱形框
-关系图(E-R)示例
大学与校长的关系
员工与部门的关系
顾客与商品的关系
关系的实现是用转换规则把E-R图转换成表.
(1)对于实体,把实体名转换成表名,把实体中的属性转换成表中的字段
(2)对于实体间的关系,把实体关系名转换为关系表名,把相关实体的主键和关系属性转换成表中的字段
(3)把具有相同主键的表合并
1、一对一的关系
可把任一实体的主键放入另一实体中,成为外键。
2. 一对多的关系
把一实体中的主键放入到多实体中,成为其外键。
3、多对多的关系
把相关实体中的主键放入到一个新实体中,成为新实体的组合主键。
学生信息表:
学生表
Sno
Sname
Ssex
001
李明
男
002
王华
男
003
陈洁
女
课程表:
课程表
Cno
Cname
001
语文
002
数学
003
英语
成绩表:
成绩表
Sno
Cno
Score
001
002
80
002
001
75
001
003
62
002
002
68
001
005
99
003
005
100
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。
在实际开发中最为常见的设计范式有三个:
(确保每列保持原子性)
第一范式是最基本的范式。数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。
上表所示的用户信息遵循了第一范式的要求,这样在对用户使用城市进行分类的时候就非常方便,也提高了数据库的性能。
(确保表中的每列都和主键相关)
,而不能只与主键的某一部分相关(主要针对联合主键而言)。(表中的属性必须是由于2个主键(复合,联合)确定的)
这样就产生一个问题