搜档网
当前位置:搜档网 › ORACLE数据库设计规范

ORACLE数据库设计规范

ORACLE数据库设计规范
ORACLE数据库设计规范

1命名原则

1.1约定

u是指对数据库、数据库对象如表、字段、索引、序列、存储过程等的命名约定;

U命名使用富有意义的英文词汇,尽量避免使用缩写,多个单词组成的,中间以下划线分割

u避免使用Oracle的保留字如LEVEL、关键字如TYPE (见Oracle保留字和关键字);

u各表之间相关列名尽量同名;

u除数据库名称长度为1 — 8个字符,其余为1 — 30个字符,Database link 名称也不要超过30个字符;

u命名只能使用英文字母,数字和下划线;

1.2表名

规则如下:

命名规则为xxx_yyy_TableName 。xxx表示开发公司的名称,最多五个字母构成,尽量用简称;yyy 表示子系统中的子模块的名称(可以没有),最多五个字母构成,尽量用简称;TableName 为表含义,最多十个字母构成,尽量用简称

TableName 规则如下:

u使用英文单词或词组作为表名,不得使用汉语拼音

u用名词和名词短语作表名

u不使用复数

正确的命名,例如:

fiber_sys_user

fiber_biz_order

1.3存储过程

规则如下:

命名规则为xxx_yyy_StoredProcedureName 。xxx表示开发公司的名称,最多五个字母构成,尽量用

简称;yyy表示子系统中的子模块的名称(可以没有),最多五个字母构成,尽量用简称;

StoredProcedureName 规则如下:

u用动词或动词短语来命名,并带有宾语

u需要符合用Pascal命名规则。

u尽量谨慎地使用缩写

u尽量不要和关键字重合

u不要用任何名前缀(例如U , B)

u StoredProcedureName 内不使用下划线

u当操作依赖条件时,一般结尾使用By+条件

存储过程正确的命名,例如:

sys_lnsertUser

sys_SearchUserByUserlD

sys_DeleteUserByUserlD

1.4视图

规则如下:

u视图的命名采用xxx_yyy_ ViewName_v 。xxx表示开发公司的名称,最多五个字母构成,尽量用简称;yyy表示子系统中的子模块的名称(可以没有),最多五个字母构成,尽量用简称;_v后缀表示视图, ViewName 部分表示视图的含义,最多十个字母构成,尽量用简称。

ViewName 规则如下:

u用名词和名词短语,

u不使用复数

u用Pascal命名规则

u尽量谨慎地使用缩写

u尽量不要和关键字重合

u不要用任何名前缀(例如U,B)

u ViewName 中使用下划线

视图正确的命名,例如:

sys_UserView_v

biz_UserOrderView_v

1.5索引

规则如下:

table_name_column_name_idx 。

多单词组成的 column name ,取前几个单词首字母,加末单词组成column_name 如:

tst_sample 表 member_id 上的索弓丨:tst_sample_mid_idx

sys_news 表 title 上的索弓丨:sys_news_titile_idx ;

1.6序列

规则如下:

table_name_seq ;

如:

tst_sample 表的序列:tst_sample_seq

1.7主键

主键命名:table_name_pk ;

如:

tst_sample 表的主键:tst_sample_pk

1.8外键

夕卜键命名:table_name_column_name_fk ;

多单词组成的 column name ,取前几个单词首字母,加末单词组成column_name

如:

tst_sample 表 user_id 字段的外键:tst_sample_uid_fk

tst_sample 表 type_id 字段的外键:tst_sample_tid」k

2设计规范

2.1规范约定

1.遵守数据的设计规范 3NF规定

?表内的每一个值都只能被表达一次。

?表内的每一行都应该被唯一的标识(有唯一键)。

?表内不应该存储依赖于其他键的非键信息。

2.实体表都必须包含四个字段:编号(ID )、代码(Code )、创建人(Created By )、创建时间(Creation Time )、修

改人(Modified By )、修改时间(Modification Time )、删除标志(Delete Status )。其含义如下:

u编号是系统内的唯一标识

U代码是客户为这个实体的编码,这个字段看需要确定是否保留

u创建人是是指数据库记录创建人

u创建时间是指数据库记录创建时间,默认为SYSDATE

u修改人是是指数据库记录修改人

u修改时间是指数据库记录修改时间,默认为SYSDATE

u删除标志是本条记录是否已删除的标志( 0 :没有删除;1 :已经删除),数据中的数据不做真正删除,

只设置这个标志

这五个字段的命名规则如下

u 实体名+ 字段名称,女口user_id 、user_code 、created_by 、creation_time 、modified_by 、modification_time 、delete_status 。

u这五个字段的类型和长度规则如下

n 编号 INTEGER

n 代码 VARCHAR2 (30 )

n仓U建人INTEGER

n 创建时间DATE

n 修改人INTEGER

n修改时间DATE

n 删除标志CHAR(1)

2.2字段规范

1.一行记录必须表内唯一,表必须有主键。

2.枚举类型使用 NUMBER,且需要说明枚举类型的各个不同取值的含义

3.ID结尾的字段为仅由数字组成,Code结尾的字段为仅由字母或数字组成

4.用CHAR ( 1 )表示布尔值的取大写:“ Y,” “ N”

5.应尽量使用 VARCHAR2 代替CHAR类型;

6.VARCHAR(2)最多 4000 字符;

7.DATE精确到秒,而非天;

8.使用 CLOB 代替 LONG,BLOB 代替 LONG RAW ;

9.使用NUMBER数据类型时请给定长度,例如:NUMBER(5,2) 表示整数部分最大3位,小数部

分为2位;

3使用规范

3.1综合

1.如果开发过程中需要建立索引,需要提交书面的更改请求,说明所需索引的定义(名称、字段列表、

顺序、索引类型)以及建立的理由。数据库管理员统一维护索引并将提交的请求更改。

2.数据库各表的初始数据(包含各代码表、配置表)需要提交给数据库管理员。

3.不得使用触发器。

4.涉及到数据库多表数据的更改 (Insert/Delete/Update) 必须使用数据库事务进行控制,并且必须

有完整事务开始和提交/回滚机制。不能使用范围事务

5.尽量避免Union操作的使用,需要使用时,请向数据库管理员咨询使用Union操作的影响。

6.SQL语句和存储过程,尽量使用PL/SQL Develper 的代码美化器美化。

7.属于ORACLE的关键字大小,表名、列名等小写。

3.2查询

1.在表查询中,一律不要使用 *作为查询的字段列表,需要哪些字段必须显式写明

2.在表查询中,必须有 Where条件,除非此表为非增长表

3.在表查询中,一次最多返回的记录条数不要超过1000条或记录内容不要大于 1MB的数据。

相关主题