数据库设计的概念

瘦欲@ 提交于 2019-11-28 12:52:48
一 、   数据库设计的概念
 
1.1 数据库设计的流程
 
在数据库设计的流程上,我们通常根据需求,画出数据的ER.然后在通过ER图生成数据库的建库脚本。
ER图,所谓的ER图就是数据库关系图
 
1.2 为什么我们使用ER图来实现数据库设计的设计呢?
  1. 可见即可得.使用ER图可以通过图形的方式展示表与表直接的关系
  2. 可以根据设置的数据库,方便生成不同的数据库的SQL建库脚本
  3. 可以快速的生成数据库文档
 
二   、 数据库设计的基础理论
 
 
2.1   数据库设计的步骤
 
数据库设计师根据需求进行设计的
第一步:标识表的设计
 
第二步:表字段的设计
 
第三布:表与表之间的设计
 
 
2.2  标识表的注意事项
 
表分为实体表以及业务表
 
  1. 实体表:记录中描述一个对象的表,就是名词,例如用户、商品、订单等
 
  1. 业务表:就是需求中一个行为,关注、收藏等(大部分是中间表)
 
  1. 但我们通常在标识表时会先标识实体表,再标识业务表.
 
  1. 因为业务表一般是用于标识实体表与另一个实体的多对多的关系的.
 
2.3 标识字段要符合数据库三大范式
 
  1. 第一范式:确保标识的字段的原值性,字段的概念分得不能再分。如:姓名可以分为姓和名。
  2. 第二范式:确保标识的字段与表有依赖的关系,在用户表定义一个商品价格
  3. 第三方范式:确保标识的字段与表有直接依赖的关系,用户表,用户类型的名称
 

1.第一范式(确保每列保持原子性)

第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。

2.第二范式(确保表中的每列都和主键相关)

第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

 

3.第三范式(确保每列都和主键列直接相关,而不是间接相关)

 

第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

 

 

 
三大范式解决了什么问题呢?
使用三大范式的原则标识的数据库字段,保证了字段在数据库表中的唯一性.从而避免了数据库的数据的冗余.
 
 
 
三 、 总结
 
 
1. 数据库设计就是建立项目的表结构
2. 基于数据的复杂性,一般数据库数据库是先画ER图的。
3. 数据库设计的步骤是:标识表,标识字段,标识表与表之间关系
标识表,先标识实体表,在标识业务表
实体表(名词,没有行为)
业务表(包括业务动作,一般就是一个中间表)
标识字段,必须要求理解三大范式
为什么需要三大范式,避免数据的冗余,导致数据的异常。
数据库设计总体上要符合三大范式,但是基于业务需求和性能要求,有时候可以有少许的冗余
数据设计冗余,设计者必须要说明原因
标识表与表之间的关系
1. 有哪些表与表之间关系,一对多,多对一,一对一,多对多
2. 表与表之间的关系是由需求决定,讨论表之间的关系前,必须要先确定需求
3. 关系数据库是不能直接支持多对多的业务关系的,如果出现多对多必须要拆分一个中间表,原因是数据库里面的字段不能存储一个集合数据。
 
 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!