• 数据库设计规范


    --数据库的设计

    --数据库的优化从设计开始,一个好的设计能够给开发代码很大的优势

    --数据涉及的范式(三大范式、五大范式)

    https://www.cnblogs.com/knowledgesea/p/3667395.html

    第一范式:确保表中每列的原子,这个列是不可再分割的列,进行列拆分

    第二范式:数据库表中的每一列都应该跟主键相关,每个表只描述一件事情

    第三范式:数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系,通过外键关联表

    --数据设计步骤

    1、收集信息:分析需求,分析出需求记录的信息

    2、标识对象:将收集的信息进行分类,分成多张表

    3、标识对象的属性:分析对象拥有的属性,就是分析表的字段

      数据列:储存实实在在的对象属性数据信息

      分类列:用于分类用的

      标识符列:一般标识对象所属状态

      关系列或引用列:标识对象关系的一个列

    4、标识对象之间的关系

      表示对象之间关系如:一对一  一对多  多对一  多对多(一般采用第三张表去维护关系)

    --数据库设计规范

    1、命名规范:

      1.表的命名:模块下划线开头,公开的模块以comm_,不建议使用驼峰命名,而使用下划线连接,名字不能太长。

      2.字段命名规范:多个单词用下划线连接

      3.FK_  PK_  CK_  UQ_  INDEX_  TR_  PROC_  FUNC_

       VIEW_  SQ_  PACKAGE_

    2、

    2, 标识对象关系,有必要的建立字典表(基表)
    3, 建立主键和索引,一张有且要有一个主键,不建议使用业务字段
    4, 避免使用联合主键,外键关联主表唯一(很多公司不推荐使用主键关系)
    5, 主键系统生成sys_guid(),如果非要使用业务键做主键,则业务也不能被修改的键
    6,表必须要有索引,索引的目的是提高查询效率
    7,具有原子性 原始性 稳定性(表结构的稳定) 演绎性(数据的输入输出)
    8,必须满足第一二范式 尽量满足第三范式
    9,需要画E-R
    10, 建立必要的约束,确保数据完整性
    11, 建立视图,增强程序的灵活性 和 安全性,也能简化开发


    --数据设计经验
    1,在满足需求的前提下,表的个数越少越好,联合主键越少越好,字段个数越少越好
    总的来说表不能太细
    2,分析可变字段,避免使用索引
    3,避免使用关键字,以免引起不必要的冲突
    4, 建议使用标记删除的字段
    5,避免使用触发器
    6,满足于第四,五范式,如果存在重复数据的情况下,建立新表进行关联
    7,尽量每张表示都使用四个字段,创建时间 创建人 修改时间 修改人,(对于关键表可以使用历史记录表)
    建表的时候可以预留一些字段,以防业务扩展的需求
    8,要去满足第一个范式
    9,建立中间表维护多对多关系

    --数据库的优化(主要是SQL语句优化)
    建索引的原则
    1,在频繁作为条件索引的列上建立索引,建议一个表的索引 5 左右
    2,在需要排序,分组的列使用索引(分组建立位图索引)
    3,查询作为连接条件的字段使用索引
    4,索引单独放在一个表空间
    5,大型索引使用 nologging 子句创建索引??
    6, 定期索引整理,提高索引效率
    7,区分度(80%)不高列,不要建立索引
    8, 数据量不大的 不要建立索引,优化器认为全表扫描效率更高

  • 相关阅读:
    美国在线CEO:雅虎被Verizon收购或导致裁员
    美国在线CEO:雅虎被Verizon收购或导致裁员
    在CentOS 7中安装配置JDK8
    在CentOS 7中安装配置JDK8
    在CentOS 7中安装配置JDK8
    在CentOS 7中安装配置JDK8
    库克再访华受到深圳书记市长接待 要建研发中心
    库克再访华受到深圳书记市长接待 要建研发中心
    他变行商为坐商,打造天津港屈指可数的民营运输企业
    放弃市场经理位置,小伙搞医药策划实现创业梦想
  • 原文地址:https://www.cnblogs.com/2839888494xw/p/12986281.html
Copyright © 2020-2023  润新知