首页 > 数据库技术 > 详细

规范数据库设计

时间:2021-05-16 14:14:49      阅读:10      评论:0      收藏:0      [点我收藏+]

规范数据库设计

  • 为什么需要设计

  • 当数据库比较复杂的时候,我们需要设计了

    • 糟糕的数据库设计:

      • 数据冗余,浪费空间
      • 数据库插入和删除都会很麻烦、异常【屏蔽使用物理外键】
      • 程序的性能差

      良好的数据库设计:

      • 节省内存空间
      • 保证数据库的完整性
      • 方便我们开发系统

三大范式

  • 为什么需要数据规范化

    • 信息重复
    • 更新异常
    • 插入异常
      • 无法正常显示信息
    • 删除异常
      • 丢失有效的信息

三大范式

第一范式(1NF):要求数据库表的每一列都是不可分割的原子数据项

原子性:保存每一列不可再分

第二范式(2NF)确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)

前提:满足第一范式

每张表只描述一件事情

第三范式(3NF)确保数据表中的每一列数据都和主键直接相关,而不能间接相关

前提:满足第一范式和第二范式

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

规范性和性能问题

关联查询的表不得超过三张表

  • 考虑商业化的需求和目标,(成本,用户体验!)数据库的性能更加重要
  • 在规范性能的问题的时候,需要适当的考虑一下规范性!
  • 故意给某些表怎加一些冗余的字段(从多表查询中变为单表查询)
  • 故意增加一些计算列(从大数据量降低为小数据量的查询:索引)

规范数据库设计

原文:https://www.cnblogs.com/saxonsong/p/14773279.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!