ORACLE数据库设计规范.doc
《ORACLE数据库设计规范.doc》由会员分享,可在线阅读,更多相关《ORACLE数据库设计规范.doc(7页珍藏版)》请在咨信网上搜索。
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’) = ‘20001-09-01’; 正确: SELECT service_id,service_name FROM service_promotion WHERE 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 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- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ORACLE 数据库 设计规范
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文