数据库标准规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

建表规范
表和字段必须有comment中文注释。 表和字段必须有comment中文注释。 comment中文注释 对于用户表示类型,状态, 对于用户表示类型,状态,标志等意义的 字段,需要在common中说明每个标志的含义, common中说明每个标志的含义 字段,需要在common中说明每个标志的含义,比 案件类型: 无效1有效” 如“案件类型:0无效1有效”,不允许把中文状 态直接写到字段值中。 态直接写到字段值中。 为了保证表中数据的完整性,在设计表时, 为了保证表中数据的完整性,在设计表时, 必须考虑给各字段加上适当的约束。 必须考虑给各字段加上适当的约束。约束的类型 包括非空约束,唯一性约束,主键约束, 包括非空约束,唯一性约束,主键约束,外键约 check约束等 对于用户表示类型,状态, 约束等; 束,check约束等;对于用户表示类型,状态, 标志等意义的字段,需加上check约束, check约束 标志等意义的字段,需加上check约束,并在 common中说明每个标志的含义 比如“案件类型: 中说明每个标志的含义, common中说明每个标志的含义,比如“案件类型: 无效1有效” 0无效1有效”。
数据库标准规范
组长:胡嘉楠 副组长:王冬冬 组员:居益林 姜存根
数据库设计说明
1.引言
1.1编写目的 1.2背景 1.3定义 1.4参考资料
数据库设计说明
2.外部标识
2.1标识符和状态 2.2使用它的程序 2.3约定 2.4专门指导 2.5支持软件
3.3物理结构设计
数据库设计说明
3.结构设计
3.1概念结构设计 3.2逻辑结构设计 3.3物理结构设计
ຫໍສະໝຸດ Baidu
索引规范
为了提高查询效率, 为了提高查询效率,可以根 据不同的数据特点,建立适当的索引, 据不同的数据特点,建立适当的索引, TREE索引 位图索引,反向索引, 索引, 如B-TREE索引,位图索引,反向索引, 函数索引,降序索引,分区索引。 函数索引,降序索引,分区索引。
索引规范
索引的命名格式为:ix_+表名+_字段名 索引的命名格式为:ix_+表名+_字段名 表名+_ 或字段名组合 生产使用过程中,表的总数据量小于 生产使用过程中, 10000或者占用空间<2个block则不需要建索 或者占用空间<2 10000或者占用空间<2个block则不需要建索 引 创建索引需要选择查询频率高的SQL SQL所 创建索引需要选择查询频率高的SQL所 涉及的表和字段建立索引 需要选择数据区分度高的字段建立索引。 需要选择数据区分度高的字段建立索引。
• • • • •
工具规范
• 使用ERSTUDIO7作为标准数据库设计工具 使用ERSTUDIO7作为标准数据库设计工具 ERSTUDIO7 • 所有数据库的修改必须在逻辑图上修改,然后执 所有数据库的修改必须在逻辑图上修改, 行导出的SQL 行导出的SQL • 所有修改的SQL需要按照日期进行备份 所有修改的SQL需要按照日期进行备份 SQL
• • • •
触发器规范
由于触发器在后台运行,不易跟踪和监控, 由于触发器在后台运行,不易跟踪和监控,建 议尽量少使用trigger trigger。 议尽量少使用trigger。 命名规则: 命名规则: Trigger: tr_i/u/d_+表名 Before Trigger: tr_i/u/d_+表名 AfterTrigger: tr_aft_i/u/d_+表名 AfterTrigger: tr_aft_i/u/d_+表名 对于Trigger Trigger中每个功能模块需要加上注释 对于Trigger中每个功能模块需要加上注释 对于Trigger Trigger中每个功能模块需要加上开关控制模 对于Trigger中每个功能模块需要加上开关控制模 块是否启用 所有的Trigger必须要有错误控制, Trigger必须要有错误控制 所有的Trigger必须要有错误控制,错误控制必须 要明确是哪个功能模块抛出的异常。 要明确是哪个功能模块抛出的异常。
视图规范
视图创建语句中禁止使用for 视图创建语句中禁止使用for update 视图中禁止使用order 子句, 视图中禁止使用order by 子句, 会影响到视图查询的效率。 会影响到视图查询的效率。 尽量避免使用嵌套视图, 尽量避免使用嵌套视图,如果必须 使用,本地嵌套视图不能超过1 使用,本地嵌套视图不能超过1级。
建表规范
所有表必须有数据创建人,创建时间,修改人,修改时间这4 所有表必须有数据创建人,创建时间,修改人,修改时间这4个 字段。 字段。 除非外键的父表没有或极少的delete,update操作, delete,update操作 除非外键的父表没有或极少的delete,update操作,否则该外键 必须建立索引。如果没有对外键建立索引,则在对父表操作时, 必须建立索引。如果没有对外键建立索引,则在对父表操作时, 会对字表产生锁。 会对字表产生锁。 同一含义的字段在不同的表中,必须使用相同的名字,类型, 同一含义的字段在不同的表中,必须使用相同的名字,类型, 长度 单表数据量三年内超过500万或容量超过2G 必须分区。 500万或容量超过2G, 单表数据量三年内超过500万或容量超过2G,必须分区。
序列规范
• Sequence的命名格式为:seq+表名+_字段 Sequence的命名格式为:seq+表名+_字段 的命名格式为 表名+_ 名 • 所有的Sequence必须指定为循环模式 所有的Sequence Sequence必须指定为循环模式 cycle) (cycle) • 要求所有的Sequence都是用cache选项 要求所有的Sequence都是用cache Sequence都是用cache选项 • Sequence最大值不能超过字段宽度 Sequence最大值不能超过字段宽度 • 创建Sequence时,必须指定 创建Sequence时 Sequence minvalue,maxvalue,startwith,increment by,cache的值 by,cache的值
包规范 系统内通信或者系统间通信, 系统内通信或者系统间通信,尤其 是大数据量复杂操作,建议使用package package。 是大数据量复杂操作,建议使用package。 所有的procedure或者function需要放在 所有的procedure或者function需要放在 procedure或者function pkg中 pkg中。 对于package中的procedure或者function package中的procedure或者function, 对于package中的procedure或者function, 其大小不能超过3000 3000行 其大小不能超过3000行 系统间的package接口必须是一对一的, package接口必须是一对一的 系统间的package接口必须是一对一的, 禁止一对多的情况出现 提供给外关联系统调用的pkg pkg不能有事务语 提供给外关联系统调用的pkg不能有事务语 commit或者rollback) 或者rollback 句(commit或者rollback)
索引规范
禁止为大数据类型创建索引, 禁止为大数据类型创建索引,如果 varchar2类型字段宽度超过200, 类型字段宽度超过200 varchar2类型字段宽度超过200,不要建立 索引。 索引。 组合索引字段的顺序, 组合索引字段的顺序,最常用的字段 放在前面,同等常用的字段,再按区分度, 放在前面,同等常用的字段,再按区分度, 区分度高的放在前面。 区分度高的放在前面。
数据库设计说明
4.运用设计
4.1数据字典设计 4.2安全保密设计
数据库设计规范
1.建表规范 2.索引规范 3.视图规范 4.序列规范 5.包规范 6.触发器规范 7.工具规范
建表规范
表名和字段名由英文单词组成, 表名和字段名由英文单词组成,单词之间用 下划线隔开,不允许用汉语拼音, 下划线隔开,不允许用汉语拼音,尽量用单 词全称,不用缩写。 词全称,不用缩写。 表名第一个单词使用系统简称。 表名第一个单词使用系统简称。 表的设计必须遵循第一范式, 表的设计必须遵循第一范式,尽量达到第二 范式及第三范式。 即不允许字段出现二义性, 范式及第三范式。 即不允许字段出现二义性, 例如:字段的值由数位数字组成,第一位代 例如:字段的值由数位数字组成, 表客户,第二位代表渠道等等。 表客户,第二位代表渠道等等。 语句参数不能包含storage storage选 Create table 语句参数不能包含storage选 不能包含nologging选项(影响oracle nologging选项 oracle备 项,不能包含nologging选项(影响oracle备 份和恢复)。 份和恢复)。
视图规范
执行视图系统会占用资源,因此建议 执行视图系统会占用资源, 尽量少用视图。 尽量少用视图。使用视图会增加数据库对视图 的解析过程,会增加系统的开销。 的解析过程,会增加系统的开销。另外视图依 赖于其他数据库对象, 赖于其他数据库对象,这些依赖对象的改变会 影响视图的有效性。 影响视图的有效性。 创建视图时禁止使用“ 创建视图时禁止使用“select * from 表名”语句, 表名”语句,要求将用到的字段在视图语句中 列明。 列明。
建表规范
每个表的字段数目不允许超过50个 同时, 每个表的字段数目不允许超过50个,同时,表中一条记录所有 50 字段的长度不能超过数据库的db_block_size大小(缺省8K db_block_size大小 8K)。 字段的长度不能超过数据库的db_block_size大小(缺省8K)。 字段必须定义合适的数据类型, 字段必须定义合适的数据类型,以减少使用过程中的数据类型 转换。例如:日期型禁止用varchar2 varchar2, 转换。例如:日期型禁止用varchar2,否则影响索引及排序效 果。 不允许使用大对象类型字段(long,lob等),如果需要记录大 不允许使用大对象类型字段(long,lob等),如果需要记录大 数据,建议将数据保存到文件中,然后字段里记录文件的路径。 数据,建议将数据保存到文件中,然后字段里记录文件的路径。
相关文档
最新文档