您好,欢迎访问三七文档
错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page1of21修订历史记录日期版本说明作者2006/12/151.0创建任晓山2006/12/191.1初审任晓山2008/9/181.2增加字段长度规范要求,以及操作日志的规范要求Powerdesigner报表生成刘恒辉2009/11/251.3增加字符串字段要求,修改不正确的地方刘恒辉2010/8/27补充之前未定义的内容,整理文档格式。姚同锋编制部门:产品研发部发放范围:产品研发部错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page2of21目录1.概述52.数据库设计的基本原则63.数据库建模73.1数据分析73.2数据关系分析73.3数据量分析73.4扩展性分析73.5数据字典(参考)73.5.1数据项73.5.2数据结构73.5.3数据流73.5.4数据存储83.5.5处理过程83.6E-R图83.7分析描述工具84.数据库对象设计94.1表的设计原则94.1.1命名规则94.1.2公用包的命名规则94.1.3表说明94.2字段设计原则94.2.1命名规则94.2.2字段说明94.2.3字段的一致性94.2.4建议字段94.2.5日期时间字段104.2.6数字和文本字段104.3键和索引104.3.1命名规则104.3.2键设计原则104.4视图设计原则(参考)104.4.1命名规则104.4.2视图说明114.5物化视图114.5.1命名规则114.5.2物化视图说明114.6触发器114.6.1命名规则114.6.2触发器说明114.7临时表设计原则114.7.1命名规则114.7.2临时表说明12错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page3of214.8有效组织数据库对象124.8.1存储过程分包存储124.9包设计原则124.9.1命名规则124.9.2包说明124.10存储过程设计原则(参考)124.10.1命名规则124.11函数设计原则(参考)134.11.1命名规则135.数据完整性设计(参考)135.1完整性实现机制135.2用约束而非商务规则强制数据完整性135.3强制指示完整性135.4使用查找控制数据完整性135.5采用视图136.数据库安全性设计146.1保证数据的完整性146.2保证数据可恢复性146.3其他安全原则147.数据库的物理实现157.1数据库的选择157.1.1数据库和版本的选择157.1.2其他数据库和版本比较157.1.3数据库版权157.2数据库运行环境157.2.1数据库硬件配置157.2.2数据库运行操作系统和版本167.2.3数据库运行操作系统的版权167.3数据库应用环境的物理结构(参考)167.3.1存储结构设计167.3.2数据存放位置167.3.3存取方法设计167.4数据库性能和测试方法(参考)177.4.1数据库性能177.4.2测试方法178.数据库的管理188.1数据库管理员188.2数据库导入、导出188.3数据库备份、恢复188.4数据库记录清除188.5数据库维护189.数据库的升级199.1数据库升级方式19错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page4of21附录209.2附录一数据库设计文档说明209.2.1命名规则209.2.2数据库表创建文本209.2.3全部应用SQL语句列表209.2.4数据库设计文档必须有版本号209.3附录二数据库设计说明书评审表20错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page5of21数据库设计标准(产品部)1.概述本文档是数据库设计执行标准,其所涉及的内容是数据库设计部分,不包括应用程序中数据库访问实现。错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page6of212.数据库设计的基本原则数据库设计三个范式规定;第一范式(1NF):不存在多值字段第二范式(2NF):非主键字段依赖于主键的整体第三范式(3NF):非主键字段只依赖于主键错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page7of213.数据库建模3.1数据分析根据项目的《需求分析》列出全部数据,包括:1)输入数据:原始数据。2)输出数据:用户需要检索的数据,包括原始数据和派生的数据。3.2数据关系分析1)数据分类:根据应用将数据表分类。2)类关系:表之间的相互关系。3)数据关系:表之间字段之间的关系。3.3数据量分析1)数据量分析:最大可能的记录数量。适当考虑记录信息的备份、过期删除等。2)数据流量分析:结合于用户需求的单位时间可能进出的数据量分析。3)响应速度分析:为满足用户需求的响应速度分析。3.4扩展性分析1)在项目《需求分析》的基础上,充分考虑用户未来可能的需求,在设计上为这种需求保留余地和可能的更改措施。2)注意考虑的内容是“结构”性的,而不是“内容”性的。3.5数据字典(参考)3.5.1数据项1)数据项名2)数据项含义说明3)别名4)数据类型5)长度6)取值范围7)取值含义8)与其他数据项的逻辑关系3.5.2数据结构1)数据结构名2)含义说明3)组成:数据项或数据结构3.5.3数据流1)数据流名2)说明3)数据流来源4)数据流去向5)组成:数据结构6)平均流量7)高峰期流量错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page8of213.5.4数据存储1)数据存储名2)说明3)编号4)流入的数据流5)流出的数据流6)组成:数据结构7)数据量8)存取方式3.5.5处理过程1)处理过程名2)说明3)输入:数据流4)输出:数据流5)处理:简要说明3.6E-R图1)E-R图也即实体-关系图(EntityRelationshipDiagram),提供了表示实体型、属性和关系的方法,用来描述现实世界的概念模型。2)要遵循E-R的设计规范,例如:实体(Entity):用矩形表示属性(Attribute):用椭圆形表示关系(Relationship):用菱形表示,菱形框内写明关系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。3.7分析描述工具1)统一使用PowerDesign。2)使用PowerDesign生成报表工具生成文档错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page9of214.数据库对象设计4.1表的设计原则4.1.1命名规则1)只允许使用英文字母“A-Z”、数字“0-9”和符号“_”。2)全部大写,不允许大小写混合。3)格式“[应用名][_类型名]_表单词1[_表单词2]”。4)尽量使用英文单词或英文缩略语,各英文单词或缩略语中间使用符号“_”分割开,如“T_USER_MESSAGE”。5)不允许使用描述不明确的字母或数字。6)长度限制在20字节内。7)表示表名称的单词限定为2个。4.1.2公用包的命名规则1)础公用包相关表,命名以SY_开头2)业务公用包相关表,以业务名_开头,业务名原则上不长于4个字符,例:SHOP_(商城,=4)4.1.3表说明每个表需要中文说明,该说明最终放到数据库中。1)版本标记增加一个版本表,或在同类表中增加一个版本字段,用于说明当前数据库的版本。2)尽量不要使用数据库特殊功能不要过多的依赖后台数据库系统软件的某些特殊功能。4.2字段设计原则4.2.1命名规则1)只允许使用英文字母“A-Z”、数字“0-9”和符号“_”。2)格式:单词1[_单词2][_单词3]3)尽量使用英文单词或英文缩略语,各英文单词或缩略语中间使用符号“_”分割开,如“USER_TYPE”,不建议使用汉语拼音。4)不允许使用描述不明确的字母或数字。5)字段名长度限制在20字节内。6)表示字段名称的单词限定为3个。4.2.2字段说明如果数据库允许的话,每个字段需要附加中文名称或简短说明,该说明最终放到数据库中。4.2.3字段的一致性相同属性的字段,要保证在各个表中的一致。1)名称一致。2)类型一致。3)长度一致。4.2.4建议字段1)主键:每个表必须提供主键,可以采用UUID(32位字符串)或SEQUENCE来作为主键,建议一般项目用UUID,便于维护,“XXX_ID”。错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2000Page10of212)创建时间:添加记录的当前时间。名称统一为“CREATE_TIME”。“日期时间”类型;默认当前时间;3)删除标记:使用删除标志,而不是直接删除记录。名称统一为“DELETE_SIGN”。布尔型;默认为“false”;如果是oracle数据库则使用NUMBER(1)来存储0/1。4)最后变更时间,具体看实际应用决定是否添加。如需考虑操作日志相关信息,必须新增操作日志表。5)说明:一般的表中应该包含上述字段,对临时或小型反复操作的表除外。记录的删除,通过统一机制完成,比如“清除”等功能实现。4.2.5日期时间字段尽量使用“DATETIME”类型,在特殊情况下可以使用纯日期类型的字段,某些统计表中可以使用其他类型表示时间的字段。4.2.6数字和文本字段1)数字和文本字段要充分考虑长度。在设计文档中必须明确的说明用户需求可能的最大允许范围。2)数值型:除标志位字段(1位的数据),其他数值型字段设计为10位(为了扩展方便)。3)字符串:字符串默认设置长度为128位的VARCHAR2(保证字段足够长),标识性、标志性和类型的字段根据实际情况确定长度,必须使用CHAR(X)或NUMBER。4.3键和索引4.3.1命名规则1)只允许使用英文字母“A_Z”、数字“0-9”和符号“_”。2)不允许使用小写字母。3)主键“PK_表名_主键名”;外键“FK_表名_外键名”。4)尽量使用英文单词或英文缩略语,各英文单词或缩略语中间使用符号“_”分割开。5)不允许使用描述不明确的字母或数字。6)名称长度限制在30字节内。4.3.2键设计原则1)为关联字段创建外键。2)所有的键都必须唯一。3)避免使用复合键。4)外键总是关联唯一的键字段。5)使用系统生成的主键:尽量采用系统生成的键作为主键。6)不要用用户的键:用户输入或可编辑的数据字段不要用于键,保障键值的正确性。7)索引外键:表之间的关系通过外键相连接,这些字段应该增加索引。8)不要索引注释字段:不要索引memo/note字段,不要索引大型字段(有很多字符)。9)不要索引常用的小型表:不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了。10)建立索引主要是出于增强数据访问性能的考虑。索引的种类很多,需要根据实际情况来建立适合的索引。对于可选择范围较小的字段,如地市等字段可以使用位图索引;对于聚簇表,可以使用聚簇索引;对于复杂条件的情况,可以考虑使用函数索引等。4.4视图设计原则(参考)4.4.1命名规则1)只允许使用英文字母“A_Z”、数字“0-9”和符号“_”。错误!未指定书签。版本:1.1数据库设计标准(产品部)日期:2006年12月19日Confidential错误!未找到引用源。,2
本文标题:数据库设计规范
链接地址:https://www.777doc.com/doc-6242175 .html