zoukankan      html  css  js  c++  java
  • 数据库的结构优化

    数据库结构优化的目的

    • 减少数据冗余
    • 避免数据维护中出现更新、插入和删除异常
      • 插入异常:如果表中的某个实体随着另一个实体而存在
      • 更新异常:如果更新表中的某个实体的单独属性时,需要对多行进行更新
      • 删除异常:如果删除表中的某一实体则会导致其他实体的消失
    • 节约数据存储空间
    • 提供查询效率

    数据库结构设计的步骤

    • 需求分析:全面了解产品设计的存储需求,数据处理需求,数据的安全性和完整性
    • 逻辑设计:设计数据的逻辑存储结构,数据实体之间的逻辑关系,解决数据冗余和数据维护异常
    • 物理设计:根据所使用的数据库特点进行表结构设计
    • 维护优化:根据实际情况对索引、存储结构等进行优化

    数据库设计三范式

    • 第一范式:
      • 数据库表中的所有字段都只具有单一属性
      • 单一属性的列是由基本的数据类型所构成的
      • 设计出来的表都是简单的二维表
    • 第二范式:
      要求一个表中只具有一个业务主键,也就是说不能存在非主键列只对部分主键的依赖关系
    • 第三范式:
      指每一个非主属性既不部分依赖于也不传递依赖于业务主键,也就是在第二范式的基础上消除了非主属性对主键的传递依赖

    范式化设计

    优点:
      * 可以尽量的减少数据冗余
      * 更新操作比反范式化更快
      * 表通常比反范式化更小
    缺点:
      * 对于查询需要对多个表进行关联
      * 更难进行索引优化
    

    反范式化设计

    优点:
      * 可以减少表的关联
      * 更好的进行索引优化
    缺点:
      * 存在数据冗余及数据维护异常
      * 对数据的修改需要更多的成本
  • 相关阅读:
    Nginx无缝升级
    ajax form提交的问题
    Ubuntu下pecl_http的安装
    提高PHP的运行效率的方法
    php.ini中文对照
    类似 TP中 eq 标签
    PHP身份证验证程序
    mysql在php中的应用
    如何添加JavaScript到Joomla模板中去
    USACO / Controlling Companies (类似BFS)
  • 原文地址:https://www.cnblogs.com/jiaoran/p/14422217.html
Copyright © 2011-2022 走看看