Oracle数据库开发和设计规范

上传人:1332****573 文档编号:115851914 上传时间:2022-07-04 格式:DOC 页数:6 大小:31.50KB
收藏 版权申诉 举报 下载
Oracle数据库开发和设计规范_第1页
第1页 / 共6页
Oracle数据库开发和设计规范_第2页
第2页 / 共6页
Oracle数据库开发和设计规范_第3页
第3页 / 共6页
资源描述:

《Oracle数据库开发和设计规范》由会员分享,可在线阅读,更多相关《Oracle数据库开发和设计规范(6页珍藏版)》请在装配图网上搜索。

1、 .wd.Oracle数据库开发和设计标准1命名原那么1.1约定 是指对数据库、数据库对象如表、字段、索引、序列、存储过程等的命名约定; 命名使用富有意义的英文词汇,尽量防止使用缩写,多个单词组成的,中间以下划线分割 防止使用Oracle的保存字如LEVEL、关键字如TYPE见Oracle保存字和关键字; 各表之间相关列名尽量同名; 除数据库名称长度为18个字符,其余为130个字符,Database link名称也不要超过30个字符; 命名只能使用英文字母,数字和下划线;1.2表名规那么如下:命名规那么为xxx_yyy_TableName。xxx表示子系统的名称,由三个字母构成;yyy表示子系

2、统中的子模块的名称可以没有;TableName为表含义TableName规那么如下: 使用英文单词或词组作为表名,不得使用汉语拼音 用名词和名词短语作表名 不使用复数正确的命名,例如:sys_userbiz_order1.3存储过程规那么如下:命名规那么为xxx_yyy_StoredProcedureName。xxx表示子系统的名称,由三个字母构成;yyy表示子系统中的子模块的名称可以没有;StoredProcedureName为存储过程含义StoredProcedureName规那么如下: 用动词或动词短语来命名,并带有宾语 需要符合用Pascal 命名规那么。 尽量慎重地使用缩写 尽量不要

3、和关键字重合 不要用任何名前缀 (例如 U,B) StoredProcedureName内不使用下划线 当操作依赖条件时,一般结尾使用 By+条件存储过程正确的命名,例如:sys_InsertUsersys_SearchUserByUserIDsys_DeleteUserByUserID1.4视图规那么如下: 视图的命名采用xxx_yyy_ViewName_v。xxx表示子系统的名称,由三个字母构成;yyy表示子系统中的子模块的名称可以没有;_v后缀表示视图,ViewName局部表示视图的含义。ViewName规那么如下: 用名词和名词短语, 不使用复数 用Pascal 命名规那么 尽量慎重地

4、使用缩写 尽量不要和关键字重合 不要用任何名前缀 (例如 U,B) ViewName中使用下划线视图正确的命名,例如:sys_UserView_vbiz_UserOrderView_v1.5索引规那么如下:table_name_column_name_idx。多单词组成的column name,取前几个单词首字母,加末单词组成column_name。如:tst_sample表member_id上的索引: tst_sample_mid_idxsys_news表title上的索引: sys_news_titile_idx;1.6序列规那么如下:table_name_seq;如:tst_sample

5、表的序列: tst_sample_seq1.7主键主键命名:table_name_pk;如:tst_sample表的主键: tst_sample_pk1.8外键外键命名:table_name_column_name_fk;多单词组成的column name,取前几个单词首字母,加末单词组成column_name。如:tst_sample表user_id字段的外键: tst_sample_uid_fktst_sample表type_id字段的外键: tst_sample_tid_fk2设计标准2.1标准约定1. 遵守数据的设计标准3NF 规定 表内的每一个值都只能被表达一次。 表内的每一行都应该

6、被唯一的标识有唯一键。 表内不应该存储依赖于其他键的非键信息。2. 实体表都必须包含四个字段:编号ID、代码Code、创立人Created By、创立时间Creation Time、修改人Modified By、修改时间Modification Time、删除标志Delete Status。其含义如下: 编号是系统内的唯一标识 代码是客户为这个实体的编码,这个字段看需要确定是否保存 创立人是是指数据库记录创立人 创立时间是指数据库记录创立时间,默认为SYSDATE 修改人是是指数据库记录修改人 修改时间是指数据库记录修改时间,默认为SYSDATE 删除标志是本条记录是否已删除的标志0:没有删除

7、;1:已经删除,数据中的数据不做真正删除,只设置这个标志这五个字段的命名规那么如下 实体名字段名称,如user_id、user_code、created_by、creation_time、modified_by 、modification_time 、delete_status。 这五个字段的类型和长度规那么如下n 编号 INTEGERn 代码 VARCHAR230n 创立人 INTEGERn 创立时间DATEn 修改人 INTEGERn 修改时间DATEn 删除标志 CHAR(1)2.2字段标准1. 一行记录必须表内唯一,表必须有主键。2. 枚举类型使用 NUMBER,且需要说明枚举类型的各

8、个不同取值的含义3. ID结尾的字段为仅由数字组成,Code结尾的字段为仅由字母或数字组成4. 用CHAR1表示布尔值的取大写:“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. 如果开发过程中需要建设索引,需要提交书面的更改请求,说明所需索引的定义(名称、字段列表、顺序、索引类型)以及建设的理由。数据库管理员统一

9、维护索引并将提交的请求更改。2. 数据库各表的初始数据(包含各代码表、配置表)需要提交给数据库管理员。3. 不得使用触发器。4. 涉及到数据库多表数据的更改(Insert/Delete/Update)必须使用数据库事务进展控制,并且必须有完整事务开场和提交/回滚机制。不能使用范围事务5. 尽量防止Union操作的使用,需要使用时,请向数据库管理员咨询使用Union操作的影响。6. SQL语句和存储过程,尽量使用PL/SQL Develper的代码美化器美化。7. 属于ORACLE的关键字大小,表名、列名等小写。3.2查询1. 在表查询中,一律不要使用* 作为查询的字段列表,需要哪些字段必须显式

10、写明2. 在表查询中,必须有Where条件,除非此表为非增长表3. 在表查询中,一次最多返回的记录条数不要超过1000条或记录内容不要大于1MB的数据。4. 在表查询中,作Order By排序时,优先使用主键列,索引列5. 多表关联查询时,优先使用Where条件,再作表关联,并且需要保证被关联的字段需要有索引。6. 防止在WHERE字句中对列施以函数:错误:SELECTservice_id,service_nameFROMservice_promotionWHERE TO_CHAR(gmt_modified,yyyy-mm-dd)= 20001-09-01;正确:SELECT service_

11、id,service_nameFROM service_promotionWHERE gmt_modified= TO_DATE(2001-9-01,yyyy-mm-dd)AND gmt_modified TO_DATE(2001-9-02,yyyy-mm-dd);1. 防止使用数据库的类型自动转换功能:错误:SELECT category_id, category_name FROM categoryWHERE category_id = 123; - ids type is number正确:SELECT category_id, category_name FROM categoryWH

12、ERE category_id = 123; - ids type is number3.4删除1. 删除记录时,必须有Where唯一条件2. 当有主从表时,要先删除从表记录,在删除主表记录3.5修改1. 修改记录时,必须有Where唯一条件4Oracle保存字和关键字ACCESS DECIMAL INITIAL ON STARTADD NOT INSERT ONLINE SUCCESSFULALL DEFAULT INTEGER OPTION SYNONYMALTER DELETE INTERSECT OR SYSDATEAND DESC INTO ORDER TABLEANY DISTIN

13、CT IS PCTFREE THENAS DROP LEVEL PRIOR TOASC ELSE LIKE PRIVILEGES TRIGGERAUDIT EXCLUSIVE LOCK PUBLIC UIDBETWEEN EXISTS LONG RAW UNIONBY FILE MAXEXTENTS RENAME UNIQUEFROM FLOAT MINUS RESOURCE UPDATECHAR FOR MLSLABEL REVOKE USERCHECK SHARE MODE ROW VALIDATECLUSTER GRANT MODIFY ROWID VALUESCOLUMN GROUP

14、NOAUDIT ROWNUM VARCHARCOMMENT HAVING NOCOMPRESS ROWS VARCHAR2COMPRESS IDENTIFIED NOWAIT SELECT VIEWCONNECT IMMEDIATE NULL SESSION WHENEVERCREATE IN NUMBER SET WHERECURRENT INCREMENT OF SIZE WITHDATE INDEX OFFLINE SMALLINTCHAR VARHCAR VARCHAR2 NUMBER DATE LONGCLOB BLOB BFILEINTEGER DECIMALSUM COUNT GROUPING AVERAGETYPE

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!