数据库设计规范(三范式、ER模型、提高性能策略)

一、三范式:

第一范式:数据表中所有字段都是不可拆分的基本数据项。

第二范式:在满足第一范式的基础上,数据表中所有非主键字段,必须完全依赖全部主键字段,不能存在部分依赖主键字段的字段。

第三范式:在满足第二范式的基础上,数据表中不能存在可以被其他非主键字段派生出来的字段,或者说,不能存在依赖于非主键字段的字段。遵循范式的要求,可以减少冗余,结合外键约束,可以防止添加、删除、修改数据时产生数据的不一致问题。

二、ER模型:

要素

1、实体,可以看做是数据对象,往往对应于现实生活中

(1)强实体:不依赖于其他实体的实体的真实存在的个体
(2)弱实体:对另一个实体有很强的依赖关系的实体
2、属性,则是指实体的特性
3、关系,则是指实体之间的联系

(1)1对1:指实体之间的关系是一一对应的
(2)1对多:指一边的实体通过关系,可以对应多个另外一边的实体。相反,另外一边的实体通过这个关系,则只能对应唯一的一边的实体

(3)多对多:只关系两边的实体,通过关系,都可以对应多个对方的实体
4、区分实体和属性的原则 :

         从系统整体的角度出发,可以独立存在的是实体,不可再分的是属性 

把ER模型转换成具体的数据表的原则:
1、一个实体通常转换成一个数据表
2、一个多对多的关系,通常也转换成一个数据表
3、一个1对1,或者1对多的关系,往往通过表的外键来表达 而不是设计一个新的数据表
4、属性转换成表的字段

三、优化策略

1、添加索引

        索引是提升查询执行速度的关键,创建的原则是:所有的数据表都要创建索引;有可能作为筛选条件的字段,都要用来创建索引。

2、修改数据类型以节省存储空间;

3、在利大于弊的情况下增加冗余字段;

4、把大表中查询频率高的字段和查询频率低的字段拆分成不同的表;

5、尽量使用非空约束。

6、垂直分表所谓垂直分表,就是把一个有很多字段的表,按照使用频率的不同,拆分成 2 个或多个表。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值