Oracle数据开发规范.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle数据开发规范

ORACLE数据库开发规范 注:本规范基于ORACLE10G。对于其他数据库以及ORACLE数据库其他的版本,本规范并不一定合适。 目录 目录 3 1:字符集、字段类型 4 1.1:字符集 4 1.2:字段类型 4 2:命名规范 6 2.1:命名规则表 6 2.2:命名规范: 7 3:书写规范 9 3.1:缩进风格与对齐 9 3.2:语句书写规则 9 3.3:其他 11 4:表 13 5:触发器 14 6:主键和外键: 15 7:索引 16 7.1:建立索引 16 7.2:使用索引 16 8:视图 18 9:存储过程和函数 19 10:注释规范 22 10.1:总则 22 10.2:存储过程、函数头注释 22 10.3:文件注释 23 11:脚本规范 25 12:SQL语句性能优化 27 13:冗余信息 31 14:异常处理 32 附录 33 数据库三个范式 33 1:字符集、字段类型 1.1:字符集 ORACLE的数据库实例有2个字符集设置:数据库字符集和国家字符集。 【规则1-1-1】数据库字符集设置为ZHS16GBK,国家字符集设置为AL16UTF16。 【规则1-1-2】不要试图修改数据库的字符集。如果需要不同字符集的数据库实例,那只能重新建立一个新的数据库实例。 1.2:字段类型 【规则1-2-1】定长文本型字段都要声明char,不定长文本型字段都要声明成varchar2(如果确实需要,也可以使用nvarchar2)类型。 例如: Create table t_test (name varchar2(10), department nvarchar2(20)); 请注意,在ZHS16GBK字符集下,每一个汉字是占用2个字节,而每一个英文字母和符号占用一个字节。上面的name字段可以最多存储5个汉字,或者是10个字母。而department字段可以最多保存20个字符,不论是汉字或者字母。 也可以如下声明: Create table t_test (name varchar2(10 char), department varchar2(20 char)); 这样的话,不论是汉字或者是字母,name字段就可以保存最多10个字符,。 【规则1-2-2】所有的日期型都要声明成文本型,形同:yyyyMMdd。其中,yyyy是4位数的年份,MM是两位数的月份,dd是两位数的日期。举例如下:示2005年1月份12日 【规则1-2-3】所有的时间型都要声明成文本型,形同:hh24:mi:ss。其中,hh24表示是24进制的小时,mi是分钟,ss是秒数。 举例如下: 11:12:13表示11点12分13秒。 【规则2-2-3】如果一个字段需要同时包含日期和时间,需要分成日期型和时间型两种类型的字段进行设计。 【规则1-2-4】bool型字段一律定义成char(1)类型,0 表示false,1 表示true。同时需要在该字段上面加约束,使合法的取值只能是0,1。 【规则1-2-5】所有的整型字段都应该声明为 number(n),n为整型字段有效长度。 比如 Create table t_test (age number(3)) 字段age能存储从-999 到 999的数字。当然,可以在这个字段上加约束,以约束它只能保存正数。不要如以下的方式定义整型: Create table t_test (age number)。 因为这样定义等价于: Create table t_test (age number(38)) 很显然,这个字段定义得实在太大太大了。不但没有必要,而且对数据库有负面影响。 【规则1-2-6】所有的浮点数定义为:number(p,s),其中的p是表示精度,或者总位数,取1-38中数字。S是小数位数,合法值为:-84--127。 比如: Create table table1 (salary number(8,2)) 这个salary字段表示,精确到小数点后面2位,总共最多有8位数字,这样算来,在小数点前面,最多能有6位数字。这个字段能表示的最大正数是999999.99,最大负数是-999999.99。 【规则1-2-7】如果一个字段保存的是一系列的编码(枚举型),则该字段必须定义成文本型。字段中保存的是大写字母。 举例如下: Customer表格有一个字段customer_type,该字段对应的是客户的类型编码,字段类型是char(1),其中,N表示普通客户,V表示VIP客户。同时必须增加约束,以保证枚举选择以外的值不能被插入。 【规则1-2-8】如无特殊需求,避免使用大字段(

文档评论(0)

ptaosqi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档