收藏 分销(赏)

ORACLE数据库设计规范样本.doc

上传人:二*** 文档编号:4576538 上传时间:2024-09-30 格式:DOC 页数:10 大小:33.03KB 下载积分:5 金币
下载 相关 举报
ORACLE数据库设计规范样本.doc_第1页
第1页 / 共10页
本文档共10页,全文阅读请下载到手机保存,查看更方便
资源描述
1 命名原则 1.1商定 ü  是指对数据库、数据库对象如表、字段、索引、序列、存储过程等命名商定; ü  命名使用富故意义英文词汇,尽量避免使用缩写,各种单词构成,中间如下划线分割 ü  避免使用Oracle保存字如LEVEL、核心字如TYPE(见Oracle保存字和核心字); ü  各表之间有关列名尽量同名; ü  除数据库名称长度为1-8个字符,别的为1-30个字符,Database link名称也不要超过30个字符; ü  命名只能使用英文字母,数字和下划线;   1.2表名 规则如下: 命名规则为xxx_yyy_TableName。xxx表达开发公司名称,最多五个字母构成,尽量用简称;yyy表达子系统中子模块名称(可以没有),最多五个字母构成,尽量用简称;TableName为表含义,最多十个字母构成,尽量用简称   TableName规则如下: ü  使用英文单词或词组作为表名,不得使用汉语拼音 ü  用名词和名词短语作表名 ü  不使用复数   对的命名,例如: fiber_sys_user fiber_biz_order   1.3存储过程 规则如下: 命名规则为xxx_yyy_StoredProcedureName。xxx表达开发公司名称,最多五个字母构成,尽量用简称;yyy表达子系统中子模块名称(可以没有),最多五个字母构成,尽量用简称; StoredProcedureName为存储过程含义,最多十个字母构成,尽量用简称   StoredProcedureName规则如下: ü  用动词或动词短语来命名,并带有宾语 ü  需要符合用Pascal 命名规则。 ü  尽量谨慎地使用缩写 ü  尽量不要和核心字重叠 ü  不要用任何名前缀 (例如 U,B) ü  StoredProcedureName内不使用下划线 ü  当操作依赖条件时,普通结尾使用 By+条件   存储过程对的命名,例如: sys_InsertUser sys_SearchUserByUserID sys_DeleteUserByUserID   1.4视图 规则如下: ü  视图命名采用xxx_yyy_ViewName_v。xxx表达开发公司名称,最多五个字母构成,尽量用简称;yyy表达子系统中子模块名称(可以没有),最多五个字母构成,尽量用简称;_v后缀表达视图,ViewName某些表达视图含义,最多十个字母构成,尽量用简称。   ViewName规则如下: ü  用名词和名词短语, ü  不使用复数 ü  用Pascal 命名规则 ü  尽量谨慎地使用缩写 ü  尽量不要和核心字重叠 ü  不要用任何名前缀 (例如 U,B) ü  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_fk    2 设计规范    2.1规范商定 1. 遵守数据设计规范3NF 规定 · 表内每一种值都只能被表达一次。 · 表内每一行都应当被唯一标记(有唯一键)。 · 表内不应当存储依赖于其她键非键信息。   2. 实体表都必要包括四个字段:编号(ID)、代码(Code)、创立人(Created By)、创立时间(Creation Time)、修改人(Modified By)、修改时间(Modification Time)、删除标志(Delete Status)。其含义如下: ü  编号是系统内唯一标记 ü  代码是客户为这个实体编码,这个字段看需要拟定与否保存 ü  创立人是是指数据库记录创立人 ü  创立时间是指数据库记录创立时间,默以为SYSDATE ü  修改人是是指数据库记录修改人 ü  修改时间是指数据库记录修改时间,默以为SYSDATE ü  删除标志是本条记录与否已删除标志(0:没有删除;1:已经删除),数据中数据不做真正删除,只设立这个标志 这五个字段命名规则如下 ü  实体名+字段名称,如user_id、user_code、created_by、creation_time、modified_by 、modification_time 、delete_status。 ü  这五个字段类型和长度规则如下 n  编号 INTEGER n  代码 VARCHAR2(30) n  创立人 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数据。 4. 在表查询中,作Order By排序时,优先使用主键列,索引列 5. 多表关联查询时,优先使用Where条件,再作表关联,并且需要保证被关联字段需要有索引。 6. 避免在WHERE字句中对列施以函数: 错误: SELECT service_id,service_name  FROM service_promotion WHERE TO_CHAR(gmt_modified,’yyyy-mm-dd’)  = ‘1-09-01’; 对的: SELECT service_id,service_name   FROM service_promotion WHERE gmt_modified  >= TO_DATE(‘-9-01’,’yyyy-mm-dd’) AND gmt_modified  < TO_DATE(‘-9-02’,’yyyy-mm-dd’); 1. 避免使用数据库类型自动转换功能: 错误: SELECT category_id,category_name FROM category WHERE category_id = ‘123’;-- id’s type is number    对的: SELECT category_id,category_name FROM category WHERE category_id = 123;-- id’s type is number    3.4删除 1. 删除记录时,必要有Where唯一条件 2. 当有主从表时,要先删除从表记录,在删除主表记录   3.5修改 1. 修改记录时,必要有Where唯一条件   4 Oracle保存字和核心字 ACCESS DECIMAL INITIAL ON START ADD NOT INSERT ONLINE SUCCESSFUL ALL DEFAULT INTEGER OPTION SYNONYM ALTER DELETE INTERSECT OR SYSDATE AND DESC INTO ORDER TABLE ANY DISTINCT IS PCTFREE THEN AS DROP LEVEL PRIOR TO ASC ELSE LIKE PRIVILEGES TRIGGER AUDIT EXCLUSIVE LOCK PUBLIC UID BETWEEN EXISTS LONG RAW UNION BY FILE MAXEXTENTS RENAME UNIQUE FROM FLOAT MINUS RESOURCE UPDATE CHAR FOR MLSLABEL REVOKE USER CHECK SHARE MODE ROW VALIDATE CLUSTER GRANT MODIFY ROWID VALUES COLUMN GROUP NOAUDIT ROWNUM VARCHAR COMMENT HAVING NOCOMPRESS ROWS VARCHAR2 COMPRESS IDENTIFIED NOWAIT SELECT VIEW CONNECT IMMEDIATE NULL SESSION WHENEVER CREATE IN NUMBER SET WHERE CURRENT INCREMENT OF SIZE WITH DATE INDEX OFFLINE SMALLINT  CHAR VARHCAR VARCHAR2 NUMBER DATE LONG CLOB BLOB BFILE  INTEGER DECIMAL  SUM COUNT GROUPING AVERAGE TYPE
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服