规格化数据库

紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明

规格化:把原始数据库分解为表的过程。
规格化数据库
  规格化是去除数据库里冗余数据的过程。
  它是一组减少数据冗余来优化数据库的指导方针,具体的方针被称为规格形式。
  原始数据库
    原始数据库
  数据库逻辑设计确定原始数据库的信息组成
    定义:数据库逻辑设计(数学建模),是把数据安排到逻辑的、有组织的对象组,以便于维护。
    数据库逻辑设计应减少数据的重复(冗余),甚至完全消除。
    数据库逻辑设计也应该努力让数据库易于维护和更新,同时也要保持数据库里的命名规范和逻辑。
    终端用户需求:
      包括:数据库里应保存什么数据?
         用户如何访问数据库?
         用户需要什么样的权限?
         数据库里的数据如何进行分组?
         哪些数据最经常被访问?
         全部数据与数据库如何关联?
         采取什么措施保证数据的正确性?
         采取什么措施减少数据冗余?
         采取什么措施让负责维护数据的用户更易于使用数据库?
    数据冗余:重复的数据很多。
         数据应该没有冗余;这意味着重复的数据应保持最小。
  规格形式
    第一规格形式
      目标:把原始数据分解到表中。并指定主键。
      第一规格形式
    第二规格形式
      提取对主键仅有部分依赖的数据。
      第二规格形式以第一规格形式为基础,把表进一步划分为更明确的单元。
    第二规格化
    第三规格形式
      目标:删除表里不依赖于主键的数据
      第三规格形式
    命名规范
      名称是我们引用数据库对象的方式。对于命名就会有相印的规范。
    规格化的优点
      更好的数据库整体组织性(组织性由规格化产生)
      减少数据冗余
      数据库内部的数据一致性
      更灵活的数据库设计
      更好的处理数据库安全
      加强引用整体性的概念
    规格化的缺点
      降低了数据库性能(CPU使用率、内存使用率、I/O等)
  去规格化数据库
    定义:修改规格化数据库的表的构成,在可控制的数据冗余范围内提高数据库性能。
    去规格化是在数据库规格化基础上进行一些调整,因为规格化的数据库需要频繁地进行表的结合而降低了性能。
    工作方式:去规格化会把一些独立的表结合在一起,或是创建重复的数据,从而减少在数据检索时需要结合的表的数量,进而减少CPU时间和需要的I/O。
小结:规格化和去规格化在进行数据库设计时,如何选择是一个值得深入思考的问题。
   并不是规格化程度越高越好。要综合考虑各个方面。

猜你喜欢

转载自blog.csdn.net/xingyangs/article/details/84676309