数据库设计规范
- 格式:pdf
- 大小:233.70 KB
- 文档页数:4
第 1 页 共 4 页 数据库设计规范 1. 引言 1.1 目的 本规范强制规定了做数据库设计时必须遵循的标准和要求。 1.2 适用范围 本规范适用于关系数据库设计。 2. 命名规范 2.1 数据对象命名规范 2.1.1 命名规范总则 所有的表名、视图名等以及它们的字段名中,每个英文单词的第一个字母要大写。 2.1.2 数据库的命名 数据库名称采用项目代号,例如tis。 2.1.3 表等对象的命名 数据表的表名或者视图的视图名等,必须用一个或多个能表示其意思的英文单词或者汉语拼音来表示,优先使用英文单词,无法找到合适的英文单词时才使用汉语拼音。命名规则是: 1. 使用英文单词的: 项目简代字(一般3个字符)+“_”+对象标识+英文单词。英文单词的第一个字母要大写。 2. 使用汉语拼音的:项目简代字(一般3个字符)+“_”+对象标识+其余汉字的拼音首字母。模块简称为前两个汉字的拼音首字母。 3. 明细表的命名为:父表名+“_”+dt。 4. 各对象的对象标识:表:t。视图:v。存储过程:p。函数:f。规则:r。 说明:项目简代字必须要有; 要求:命名不能太长,建议不要超过20个字符,因为太长的名称一方面不容易记住,另一方面在编程时也耗费输入时间。若使用的英文单词或汉语拼音太长,可使用其缩写。 如摄像头信息表名为:tis_tCameraInfo。tis:变电站综合信息管理系统的项目简代字。 2.1.4 字段的命名 主键字段:表名去掉<项目简代字(一般3个字符)=+Id。例如:tis_ tCameraInfo(摄像头信息表)的主键为:CameraInfoId。 其它字段的命名为英语单词或汉语拼音,优先使用英语单词。
第 2 页 共 4 页 布尔型字段的命名:Is+英语单词或汉语拼音。如:IsDisplay。 2.1.5 索引的命名 主键索引:表名+“_”+PK。如:摄像头信息表的主键索引为tis_tCameraInfo_PK。 外键索引:表名+[序号] +“_”+FK。若只有一个外键,则不需要序号。若有多个外键,则序号从2开始递增。如摄像头信息表的第一个外键索引为tis_tCameraInfo_FK,第二个外键索引为tis_tCameraInfo2_FK。 其它索引:表名+[序号] +“_”+IDX。若只有一个其它索引,则不需要序号。若有多个其它索引,则序号从2开始递增。如摄像头信息表的第一个其它索引为tis_tCameraInfo_IDX,第二个其它索引为tis_tCameraInfo2_IDX。 2.2 数据对象注释规范 表、存储过程、函数都必须作相关的注释说明。并且如果数据对象是存储过程,还必须说明作者,功能和创立时间(修改时间)等信息。例如: 某个存储过程的注释如下: -- 用途:读取一个企业枚举项下的项目评估统计年报表 -- 用于效绩评价和保值增值考核 -- 变更历史 -- 时间人员描述 -- 2002-12-6 yangzy 创建 -- 2002-12-6 yzy 修改 对字段的注释: 1. 枚举型或布尔型的注释要列出它所有的值和含义。 2. 不容易理解的字段要写上注释。 3. 数据类型使用 3.1 定义域(Domain) 短字符域:ShortStringDomain,VarChar(50) 长字符域:LongStringDomain,VarChar(250) 大字符域:LargeVarcharDomain,VarChar(3000) 大文本域:LargeTextDomain,Text 布尔域:BoolenDomain,Boolean 序号域:SerialNoDomain,Integer 枚举域:EnumDomain,int
第 3 页 共 4 页 编号域: NumberDomain,VarChar(25) 主键域:PKDomain, varchar(40),采用Guid 数量域:AmountDomain,decimal(8,2) 日期时间域:DateTimeDomain,Date & Time 金额域:MoneyDomain,Money 4. 设计原则 4.1 表设计原则 数据模型尽量达到范式3的要求。可用如下简单方式验证是否达到范式3: 表内的每一个值都只能被表达一次。 表内的每一行都应该被唯一的标识(有唯一键)。 表内不应该存储依赖于其他键的非键信息。 对于多对多的关系,把其关系作为一个关联实体,以分解成两个一对多的关系。 需要维护的字典类型数据作为数据表,不变化、不需维护的类型数据作为系统常量。 4.2 字段设计原则 主要的表中增加四个字段: 创建人。字段命名:Creator;字段类型:varchar(40)。创建该条记录的用户,使用系统的当前用户,用户不可修改。 创建时间。字段命名:CreateDate;字段类型:datetime。该条记录写入数据库表的时间,用户不可修改。 最近修改人。字段命名:Updator;字段类型:varchar(40)。最近修改该条记录的用户,使用系统的当前用户,用户不可修改。 最近修改时间。字段命名:UpdateDate;字段类型:datetime。该条记录最近的修改时间,用户不可修改。 字典类型表中增加如下字段: 简代码。字段命名:ShortName;字段类型:varchar(10)。用于保存字典数据的代码。 状态。字段命名:Is_Valid;字段类型:bit。true:有效,false:无效。用于保存字典数据的状态,有效为可用,无效为不可用。 序号。字段命名:SerialNo;字段类型:int。用于调整各字段的显示顺序。 4.3 主键设计原则 不要使用业务数据字段作为主键。
第 4 页 共 4 页 使用系统生成的主键值。 尽量避免使用复合主键。 4.4 索引设计原则 一定要为主键、外键建立索引。 不要索引大型字段。 不要索引小型表,如:数据量不大的字典类型表。 4.5 完整性设计原则 父表中删除数据:级联删除子表的数据 父表中插入数据:受限插入;递归插入 父表中更新数据:级联更新;受限更新;置空值