Mysql数据库设计规范(三大范式)

数据库设计规范

具体规范:

  1. 表中要避免字段数据为空,要设置默认值,字符型的默认值为一个空字符值串,数字型的默认值为数值0。
  2. 尽可能的存取单一实体的属性,避免数据冗余、操作数据复杂。
  3. 表中每一条数据都必需有唯一表示符,即每个表都必需有主键
  4. 表中字段要有统一前缀,让人容易读懂
  5. 尽可能的去遵守三大范式(为了某些目的,提升效率,可以进行反范式设计)

设计规范的原因:

  1. 遵循范式能够减少数据的冗余,减少储存空间。
  2. 保持表的简洁,对表的增删改查清晰
  3. 能够更加明确表内容是什么
  4. 减少每张表的索引使用,因为通过索引进行非聚集索引查询效率较聚集索引低。维护索的树结构消耗性能

数据库设计三大范式:

   范式即我们在创建数据库时应该遵守的规律。

      第一范式:
        数据库中所有字段数据都要具有原子性(即不可再分)。如:不能写一个学生字段,把姓名、性别、专业等属性写成一个字段。这个原子性是主观的,有些属性是不需要拆开写的,这样会提高效率。

     第二范式:
        在符合第一范式的基础上,还要满足表中的每一条数据都是唯一的、可标识的,即可以根据主键查询到任意一条唯一数据。并且非主键字段属性都必需完全依赖主键,即不能部分依赖主键。要确切的查询到某一条数据中的某个字段数据,需要知道这条数据主键的全部数据,不能根据主键中某一字段就能查询到。这样的话会导致数据的冗余,要将其拆分为多个表,使其符合第二范式。

     第三范式:
        再符合第二范式的基础上,还要满足非主属性字段(不包含在任何候选键的字段)不能对其他非主属性字段产生依赖,即不能根据非主属性字段就能查询到想要得到的某个数据。

范式的优缺点

优点:

  • 减少数据的冗余。
  • 让数据之间的结构更加明确
  • 第三范式被认为在空间和时间(效率)上达到了最好的平衡。

缺点:

  • 范式级别越高,所需要建立的表越多,则导致多表操作次数变多,这导致效率降低
  • 但有的时候为了提高数据库的效率,通过增加一定的冗余数据,提高效率。达到我牺牲空间换取效率的效果,称为反范式化。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值