1,什么是数据库设计?
数据库设计就是将数据库中的数据实体及这些数据实体之间的关系进行规划和结构化的过程.
2,数据库设计非常重要
糟糕的数据库设计表现在以下两个方面:
(1),效率低下
(2),更新和检索数据时会出现许多问题
良好的数据库设计表现在以下方面
(1),效率高
(2),便于进一步扩展
(3),可以使应用程序的开发变得更容易
3,设计数据库的步骤
(1),需求分析阶段
(2),概要设计阶段
(3),详细设计阶段
4,在进行数据库的系统分析时,可以参考下列步骤
(1),收集信息
(2),标识实体
(3),标识每个实体需要存储的详细信息
(4),标识实体之间的关系
5,实体-关系模型
(1),实体:一般是名词,对应表中一行数据,严格的说,实体指表中一行特定数据,但在开发时,也常常把整个表称为一个实体,用方形来标识
(2),属性:可以理解为实体的特征,用椭圆形来标识
(3),关系:它是两个或多个实体之间的关联关系,一般是动词,用菱形来表示
(4),直线用来连接属性和实体集,也用来连接实体集和联系集
6,映射基数
(1),一对一,也可表示为 1:1
(2),一对多,也可表示为 1:N
(3),多对多,也可表示为 M:N
7,关系数据库模式
R(U)或者R(A,B)
R表示关系名; U表示属性集合; A,B表示U中的属性
(1),一对一的转换:把任意实体的逐渐放到另一个实体的关系模式中
(2),一对多的转换:把联系数量为1的实体的主键放到联系数量为N的实体关系模式中
(3),多对多的转换:把两个实体中的主键和联系的属性放到另一个关系模式中,注意要多生成一个关系模式
8,绘制数据库模型图的步骤
(1),新建数据库模型图
(2),添加实体
(3),添加数据列及相应的属性
(4),添加实体之间的映射关系
9,将所有信息放在一个表中很方便,但会具有下述问题
(1),信息重复
(2),更新异常
(3),插入异常(无法表示某些信息)
(4),删除异常(丢失有用的信息)
10,规范设计
(1),第一范式,目标是确保每列的原子性,即每列都是不可再分的最小数据单元
(2),第二范式,目标是确保表中的每列都和主键相关,除了主键以外的其他列全部依赖主键
(3),第三范式,目标是确保每列都和主键列直接相关,而不是间接相关