数据库设计规范
第一章 目的
规范数据库设计。
第二章 概述
从数据库的设计原则 设计文档几方面论述数据库设计的规范思想及命名规则。
第三章 数据库设计原则
3.1 结构原则
用户只可修改名称,不能修改代码,修改后的名称与原名称应代表相同的意义。
用此种方法录入的信息,录入的信息与选择列表不存在约束关系,列表只是作为文字录入的一种辅助手段。
使用编码表的好处是在应用程序界面中,不同的地方出现同一种数据的录入(如录入数据或查询过滤条件)
时只需定义一次选择列表,不会出现两处冲突的现象,方便编程。
--实体表-- --实体-分类表-- --分类表--
实例1 实例 分类 分类1->类别1.1
实例2 1对N ... 1对N 分类1->类别1.2
实例3 ... 分类2->类别2.1
一个业务流程应作为一个事务(在数据库管理系统中的定义),要保证这一事务的完整性。首先一个事务要有一个标识,在这个事务进行过程中所产生的一切数据都应打上事务标识作为标记。可以‘回滚’整个事务,或‘回滚’(从后向前)到事务进行的某一点上,然后再继续进行直到完成事务。
3.2 命名原则
系统信息表:TS_
基本编码表:TB_
决策数据表:TD+业务模块缩写_
业务数据表:业务模块缩写_
+业务模块缩写:不同的业务以不同的缩写(2-4个字符)开始,如‘TCRM_’
视图:在表命名的基础上加前缀改为V_
后缀:主-明细结构的表,主表为 _M;明细表为 _L
单词首写字母要大写,多个单词间不用任何连接符号如:TCRM_UserType
注意:表命名尽量用英名描述,特殊情况可以用拼音,坚决不得使用汉字。
3.3 列命名规则
需命名的字段只来自于业务,尽量表达出列的含义
各字段的命名请先查询公司提供的《业务名称字典》,如字典上提供了该字段含义的命名,则采用字典上的定义
如有特殊要求可在字段后面直接跟特定词组(如:有一系列与rate有关字段,为编程和以后扩展方便,可定义为 rate0、rate1...)
如《业务名称字典》无该含义字段,则按该字段的英文名称定义,并请求维护入《业务名称字典》。特殊情况可使用拼音定义,坚决不得使用汉字。
书写时单词第一个字母大写,复合含义的其他单词首字母大写,其余小写。
3.4 过程、函数、触发器命名原则
过程:SP_
函数:FN_
触发器:TR_表名_[后面插入加I,修改加U,删除加D],操作前触发器(INSTEAD OF): TR_表名_OF[后面插入加I,修改加U,删除加D]
3.5 自定义数据类型、默认、规则命名原则
自定义数据类型:UD_
默认: DF_,对于非绑定的默认可取系统默认的名字
规则:RU_,对于非绑定规则(约束) 可取系统默认的名字
主键: 采用后缀 表名_PK
外键关系:采用后缀 _主表_从表_FK
索引: 采用后缀 列名_IDX, 符合索引列名间用_隔开