Oracle数据库开发设计禁止项

合集下载

oracle数据库开发规范

oracle数据库开发规范

编程规范1:所有数据库关键字和保留字都大写;字段、变量的大小写2:程序块采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2/4个。

必须使用空格,不允许使用【tab】键。

3:当同一条语句暂用多于一行时,每行的其他关键字与第一行的关键字进行右对齐。

4:不允许多个语句写到一行,即一行只写一条语句。

5:避免把复杂的SQL语句写到同一行,建议要在关键字和谓词处换行。

6:相对独立的程序块之间必须加空行。

BEGIN、END独立成行。

7:太长的表达式应在低优先级操作符处换行,操作符或关键字应放在新行之首。

不同类型的操作符混合使用时,用括号隔离,使得代码清晰。

8: 不同类型的操作符混合使用时,应使用括号明确的表达运算的先后关系。

9:运算符以及比较符左边或者右边只要不是链接的括弧,则空一格。

10:if 后的条件要用括号括起来,括号内每行最多两个条件。

11:减少控制语句的检查次数,如在else( if..else)控制语句中,对最常用符合条件,尽量往前被检查到。

尽量避免使用嵌套的if 语句,在这种情况应使用多个if 语句来判断其可能。

命名规范1:不使用数据库关键字和保留字,为了避免不必要的冲突和麻烦。

2:严禁使用带空格的名称来给字段和表命名,会出错误而终止。

3:用户自定义数据库对象:表,视图,主外键,索引,触发器,函数,存储过程,序列,同义词,数据库连接,包,包体风格要保持一致。

数据库名称1-8个字符,其他对象1-30个字符,数据库连接不操过30个字符。

使用英文字母、数字、下划线。

除表外,其他对象命名最好用不同的前缀来区别。

表tbl_/t_视图v_序列seq_簇c_触发器trg_存储过程sp_/p_函数f_/fn_物化视图mv_包和包体pkg_类和类体typ_主键pk_外键fk_唯一索引uk_普通索引idx_位图索引bk_4:PL/SQL对象和变量命名规则输入变量i_输出变量o_输入输出变量io_普通变量v_全局变量gv_常量大写游标cur_用户自定义类型type_保存点spt_不允许使用中文和特殊字符用户对象命名应全部为小写,且不允许使用控制符号强制转换对象为小写字符变量命名,要有具体含义,能表明变量类型。

oracle严禁的语句

oracle严禁的语句

(1)基本方针・查询表时,所有的字段前面都要加表的别名・用WHERE代替HAVING○SELECT A.REGION,AVG(A.LOC_SI ZE) F ROM L OCATI ON AWHERE A.REGION !=’SYDNEY’ GROUP BY A.REGION;×SELECT A.REGI ON,AVG(A.L OC_SIZE) FROM LOCATION AGROUP BY A.REGI ON HAVING A.REGION !=’SYDNEY’・NOT EXISTS代替NOT IN○SELECT ……FROM EMP E WHERE NOT EXISTS(SELECT ‘X’FROM DEPT DWHERE D.DEPT_NO = E.DEPT_NO AND D.DEPT_CAT=’A’);×SELECT ……FROM EMP E WHERE E.DEPT_NO NOT IN(SELECT D.DEPT_NO FROM DEPT DWHERE D.DEPT_CAT=’A’);・使用联接查询推荐使用表的结合,而不是子查询(2)为使SQL共享的方针为避免SQL语句在重复调用时的多余解析,制定规则如下:・同一内容的SQL文要统一全部大写或者全部小写→本系统统一大写・使用半角空格・换行也统一例)SELECT ……FROM EMP;≠SELECT ……FROM EMP;・只有比较符号右边不相等的SQL语句,要把右边来作为绑定变量例)SELECT ……FROM EMP E WHERE E.EMP_NO = 10;SELECT ……FROM EMP E WHERE E.EMP_NO = 50;↓SELECT ……FROM EMP E WHERE E.EMP_NO = :BIND; (3)使用索引时的SQL语句的方针・部在索引列使用NOT例)○SELECT ……FROM AAAA A WHERE A.DEPT_CODE <= 0;×SELECT ……FROM AAAA A WHERE A.DEPT_CODE NOT >0;・基本上不用OR作为替代,可用IN、UNION。

oracle约束条件

oracle约束条件

oracle约束条件(最新版)目录1.Oracle 约束条件的概念和作用2.Oracle 约束条件的分类3.Oracle 约束条件的实现方法4.Oracle 约束条件的优缺点分析5.Oracle 约束条件在实际应用中的案例正文Oracle 约束条件是指在 Oracle 数据库中,对表的数据进行限制和控制的规则。

它可以保证数据的完整性、一致性和可靠性,从而确保数据库的正确运行。

一、Oracle 约束条件的概念和作用在 Oracle 数据库中,约束条件是用来限制表中数据的添加、修改和删除操作的规则。

它可以防止无效数据的插入和修改,确保数据的正确性和完整性。

约束条件可以分为主键约束、外键约束、唯一约束、检查约束和默认约束等。

二、Oracle 约束条件的分类1.主键约束:主键约束是用来唯一标识表中的记录的,一个表只能有一个主键。

主键可以是一列或多列,可以是数值型、字符串型或日期型等。

2.外键约束:外键约束是用来建立表与表之间关系的,它可以保证数据的一致性和完整性。

外键约束可以参考其他表的主键,也可以参考其他表的唯一约束。

3.唯一约束:唯一约束是用来保证某列或多列的值唯一的,可以防止重复数据的插入。

唯一约束可以与主键一起使用,也可以单独使用。

4.检查约束:检查约束是用来保证某列或多列的值满足指定的条件的,可以防止无效数据的插入。

检查约束可以是数值型、字符串型或日期型等。

5.默认约束:默认约束是用来为列设置默认值的,当插入数据时,如果没有为该列设置值,系统会自动将默认值插入该列。

三、Oracle 约束条件的实现方法在 Oracle 数据库中,可以使用 ALTER TABLE 语句来添加、修改或删除约束条件。

例如,可以使用以下语句添加主键约束:```ALTER TABLE table_nameADD PRIMARY KEY (column_name);```使用以下语句添加唯一约束:```ALTER TABLE table_nameADD UNIQUE (column_name);```使用以下语句添加检查约束:```ALTER TABLE table_nameADD CONSTRAINT constraint_nameCHECK (column_name > value);```使用以下语句添加默认约束:```ALTER TABLE table_nameALTER COLUMN column_name SET DEFAULT default_value;```四、Oracle 约束条件的优缺点分析约束条件的优点是可以保证数据的完整性、一致性和可靠性,从而确保数据库的正确运行。

ORACLE设计规范

ORACLE设计规范

ORACLE设计规范1、数据库模型设计方法规范1.1、数据建模原则性规范1.2、实体型之间关系认定规范1.3、范式化1NF的规范1.4、范式化2NF的规范1.5、范式化3NF的规范1.6、反范式化冗余字段使用规范1.7、数据库对象命名基本规范第一:长度规范:凡是需要命名的对象其标识符均不能超过30个字符,也即:Oracle中的表名、字段名,函数名,过程名,触发器名,序列名,视图名的长度均不能超过30个字符;第二:构成规范:数据库各种名称必须以字母开头,但严禁使用SYS开头;名称只能含有字母,数字和下划线“_”三类字符,“_”用于间隔名称中的各语义字段;不要使用DUAL作表名;第三:大小写规范:构成Oracle数据库中的各种名称(表明,字段名,过程名,视图名等等)的所有字符,必须使用大写,也就是不能在脚本中,对任何名称添加双引号“”来设定字符的大小写形式,只要不采用“”限制,Oracle自动会将各名称转化成大写。

2、表的设计规范2.1、表的主键规范遵循如下三点原则:第一:有无原则:除临时表和外部表,以及流水表,日志表外,其他表都要建立主键;第二:构成原则:主键不能使用含有实际语义的列,应该增加一个xx_id字段做主键,类型为number,取值来自序列sequence;第三:创建原则:对于500万以上的表,请数据组参与设计实施,采用先建唯一索引再添加主键约束的方式来创建主键;2.2、表的主键列规范对于实体表,主键就是一列,就是没有任何语义的自增的NUMBER列,对于关系表,主键就是相关实体表主键形成的复合主键,是多列;2.3、使用注释的规范2.4、一个表所含字段总长度的规范2.5、一个表所含字段访问频繁度的规范2.6、一个表所含数据量的规范2.7、大对象字段(BLOB,CLOB)使用规范2.8、增量同步表的设计规范字典信息表和需要使用增量同步的表必须增加如下属性:2.9、表的表空间使用规范2.10、索引的表空间使用规范3、设计分区表的规范3.1、RANGE分区的规范3.2、LIST分区的规范3.3、HASH分区的规范3.4、RANGE-LIST分区的规范3.5、RANGE-HASH分区的规范4、索引的设计规范4.1、主键索引的规范4.2、唯一约束索引的规范4.3、外键列索引的规范4.4、复合索引的规范4.5、函数索引的规范4.6、位图索引的规范4.7、反向索引的规范4.8、分区索引的规范4.9、索引重建的规范5、SQL访问规范5.1、避免SELECT *程序中不能出现SELECT*,即使是选择全部选择项,也需要全部指明,这主要出于如下原因:第一:使用*相对比较慢,因为Oracle 需要遍历更多的内部字典信息;第二:为避免以后相关表增加字段造成程序错误,比如INSERT INTO SELECT和SELECT INTO语句会报错;5.2、避免笛卡尔运算多表关联查询不能出现笛卡尔积,如果在报表中为集聚表(或称中间表)生成多个维度组成的复合主键需要使用迪克尔积的,必须请数据组确认性能。

ORACLE数据库安全规范

ORACLE数据库安全规范

数据库安全规范1概述1.1适用范围本规范明确了Oracle数据库安全配置方面的基本要求。

1.2符号和缩略语2 ORACLE安全配置要求本规范所指的设备为ORACLE数据库。

本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。

本规范从ORACLE数据库的认证授权功能和其它自身安全配置功能提出安全要求。

2.1账号ORACLE应提供账号管理及认证授权功能,并应满足以下各项要求。

2.1.1按用户分配帐号2.1.2删除或锁定无关帐号2.1.3用户权限最小化要求内容在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。

grant 权限to user name; revoke 权限 from user name;2、补充操作说明用第一条命令给用户赋相应的最小权限用第二条命令收回用户多余的权限业务测试正常4、检测操作业务测试正常5、补充说明2.1.4使用ROLE 管理对象的权限1. 使用Create Role 命令创建角色。

2.使用用Grant 命令将相应的系统、对象或 Role 的权限赋予应用用户。

2、补充操作说明对应用用户不要赋予 DBA Role 或不必要的权限。

4、检测操作 1.以DBA 用户登陆到 sqlplus 中。

2.通过查询 dba_role_privs 、dba_sys_privs 和 dba_tab_privs 等视图来检查 是否使用ROLE 来管理对象权限。

5、补充说明操作指南1、参考配置操作检测方法3、判定条件要求内容使用数据库角色(ROLE )来管理对象的权限。

操作指南1、参考配置操作检测方法 3、判定条件2.1.5控制用户属性可通过下面类似命令来创建 Profile ,并把它赋予一个用户CREATE P ROFILE <p rofile_name>LIMIT FAILED_LOGIN_ATTE MPTS 6PASSWORD REUSE TIME 60P ASSWORD_REUSE_MAX 5P ASSWORD_VERIFY_FUNCTIONvenfy_fu nctionP ASSWORD_LOCK_TIME 1/24;ALTER USER<user_name> P ROFILE <p rofile_ name 〉; 2、补充操作说明4、检测操作2.查询视图dba_profiles 和dba_usres 来检查profile 是否创建。

数据库设计规范与命名规则

数据库设计规范与命名规则

数据库设计规范、技巧与命名规范一、数据库设计过程数据库技术是信息资源管理最有效的手段。

数据库设计是指:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。

数据库设计的各阶段:A、需求分析阶段:综合各个用户的应用需求(现实世界的需求)。

B、在概念设计阶段:形成独立于机器和各DBMS产品的概念模式(信息世界模型),用E-R图来描述。

C、在逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。

然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。

D、在物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。

1. 需求分析阶段需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。

需求分析的重点:调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。

需求分析的方法:调查组织机构情况、各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。

常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。

分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。

自顶向下的结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。

数据流图表达了数据和处理过程的关系。

系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。

2. 概念结构设计阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。

概念模型用于信息世界的建模。

概念模型不依赖于某一个DBMS支持的数据模型。

概念模型可以转换为计算机上某一DBMS 支持的特定数据模型。

oracle新课程标准

oracle新课程标准

oracle新课程标准Oracle 新课程标准引言:随着信息技术的迅猛发展,人们对于技术人才的需求不断增加。

作为全球领先的数据库管理系统供应商,Oracle 不仅提供了强大的技术产品和解决方案,还致力于培养和发展技术人才。

为了适应不断变化的技术环境和满足市场需求,Oracle 决定推出全新的课程标准,以确保培养出更具竞争力的数据库专业人才。

一、课程目标:新课程标准的主要目标是培养具备全面数据库管理和开发能力的专业人才。

这包括以下几个方面:1.理论基础:培养学员对数据库管理和开发的基本概念、原理和方法的理解和掌握。

2.技术能力:学员应具备使用Oracle 数据库管理系统和相关工具进行数据库管理、SQL 开发、性能优化等方面的技术能力。

3.实践经验:学员应具备在实际项目中应用所学知识和技能解决问题的实践经验。

二、课程内容:新课程标准包括三个层次的课程,即基础课程、进阶课程和高级课程。

1.基础课程:基础课程旨在培养学员对数据库管理和开发的基本概念和技能的掌握。

(1)数据库基础知识:包括数据库的概念、模型、体系结构等基础知识。

(2)SQL 开发:包括SQL 语法、查询优化、数据操作等方面的基础知识和技能。

(3)数据模型设计:包括关系数据库设计、ER 模型设计等方面的基础知识和技能。

2.进阶课程:进阶课程旨在进一步提升学员的数据库管理和开发能力,培养他们具备独立解决复杂问题的能力。

(1)高级 SQL 开发:包括SQL 的高级特性、高级查询优化等方面的知识和技能。

(2)数据库性能优化:包括索引设计、查询优化、缓存调优等方面的知识和技能。

(3)数据仓库和商业智能:包括数据仓库的设计和实现、OLAP 等方面的知识和技能。

3.高级课程:高级课程旨在培养学员成为数据库领域的专家,具备独立设计和实施复杂数据库项目的能力。

(1)数据库架构设计:包括数据库拓扑结构设计、高可用性设计等方面的知识和技能。

(2)大数据处理:包括Hadoop、Spark 等大数据处理框架的知识和技能。

Oracle数据库规划设计和运行维护方案

Oracle数据库规划设计和运行维护方案

Oracle数据库规划设计和运行维护方案()目录1.前言.编写目的.......................................................... .方案说明.......................................................... .预期读者..........................................................2.数据库部署模式.单机模式.......................................................... .双机热备模式(HA模式)........................................... .集群模式(RAC)................................................... .主从模式(DataGuard)............................................. .混合模式(DataGrard+RAC)......................................... .数据库运行模式选择................................................3.系统特点和数据库类型.业务系统的特点....................................................OLTP特点.................................................OLAP特点................................................. .数据库的规模...................................................... .数据库版本建议....................................................4.数据库运行环境规划.主机规划.......................................................... .网络规划.......................................................... .存储规划..........................................................5.数据库安装部署规划.软件安装路径...................................................... .表空间设计........................................................业务数据量估算............................................表空间使用规则............................................表空间的概念和分配原则....................................表空间的参数配置..........................................Undo/temp表空间的估算....................................表的参数设置..............................................索引的使用原则............................................ .文件设计..........................................................RAC配置文件..............................................参数文件..................................................控制文件..................................................重做日志文件..............................................6.数据库应用规划.数据库用户设计....................................................用户权限规划..............................................用户安全实现..............................................用户类型及角色命名规范.................................... .数据库分区........................................................数据库分区介绍............................................逻辑分割..................................................物理分割..................................................数据分区的优点............................................数据分区的不足............................................Oracle分区技术...........................................分区使用建议..............................................分区索引.................................................. .数据库实例配置.................................................... .数据库参数设置....................................................必须修改的初始化参数......................................建议修改的初始化参数......................................不可修改的初始化参数......................................建议不可修改的初始化参数..................................与并行有关的参数.......................................... .数据库连接服务....................................................专用服务器连接............................................共享服务器连接............................................连接服务建议.............................................. .数据库安全建议.................................................... .数据库备份和恢复..................................................RMAN备份.................................................EXP/IMP备份..............................................存储级备份................................................数据库恢复................................................ .数据库网络配置....................................................监听器的使用配置原则......................................TNSNAMES的使用配置原则...................................RAC环境下TNSNAMES的配置.................................7.业务系统开发建议.数据库模型设计规范................................................命名规则..................................................数据库对象................................................ .PLSQL开发规则....................................................总体开发原则...............................................SQL语句编写规则..................................................查询语句的使用原则........................................DML语句的调整原则........................................8.数据库体系结构.整体结构.......................................................... .内存结构..........................................................系统全局区(SGA).........................................程序全局区(PGA).........................................后台进程.................................................. .存储结构..........................................................物理结构..................................................逻辑结构..................................................9.数据库基本管理.参数文件管理...................................................... .表空间管理........................................................用户表空间管理............................................临时表空间管理............................................回滚段表空间管理.......................................... .重做日志文件管理..................................................增加重做日志文件组........................................添加重做日志文件组成员....................................改变重做日志文件组成员....................................删除重做日志文件组成员....................................删除重做日志文件组........................................重做日志切换..............................................重做日志清理..............................................重做日志切换次数查询...................................... .归档模式设置......................................................单实例数据库设置归档模式..................................RAC数据库设置归档模式....................................归档路径设置.............................................. .控制文件重建...................................................... .内存参数管理......................................................Oracle内存管理发展阶段...................................自动内存管理AMM..........................................自动共享内存管理ASMM.....................................自动PGA管理.............................................. .其它管理内容......................................................查看数据库版本............................................数据库字符集..............................................创建密码文件..............................................关闭数据库审计功能........................................账号管理..................................................10.数据库集群(RAC)管理.RAC状态检查......................................................检查守护进程..............................................检查资源状态.............................................. .RAC启动与关闭.................................................... .管理OCR..........................................................OCR盘状态查看............................................OCR备份与恢复............................................查看OCR内容..............................................指定OCR盘................................................增加OCR盘................................................删除OCR盘................................................ .管理VOTING DISK..................................................检查Voting Disl盘........................................VOTING DISK备份与恢复....................................添加VOTING DISK盘........................................删除VOTING DISK盘........................................ .CSS管理.......................................................... .SRVCTL管理工具...................................................管理实例..................................................管理监听程序..............................................管理ASM..................................................管理service.............................................. .修改RAC的IP及VIP...............................................修改外网IP和心跳IP......................................修改VIP..................................................查看与删除IP............................................. .管理ASM..........................................................管理DiskGroup............................................ASM兼容性管理............................................ASM中添加disk的方法.....................................ASMCMD管理命令介绍.......................................ASM常用视图..............................................11.数据库备份.备份概念说明......................................................脱机备份..................................................联机备份..................................................RMAN备份................................................. .备份策略规划...................................................... .RMAN备份和恢复案例...............................................归档模式下的完全恢复......................................归档模式下的不完全恢复....................................12.数据库运维管理.运维职责.......................................................... .运维要求.......................................................... .技能要求.......................................................... .运维内容..........................................................检查数据库运行情况........................................检查操作系统和数据库日志文件..............................检查Oracle对象状态.......................................检查数据库相关资源的使用..................................检查数据库备份............................................检查数据库的性能..........................................数据库安全性检查.......................................... 前言编写目的随着以使用Oracle数据库的应用系统不断增加,为了加强应用系统在规划、开发、实施、维护等环节工作的规范化,特编写本文档,力求对实际的设计、实施工作起到规范和指导作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle数据库开发设计禁止项
一、版本合规
1、禁止应用的数据库版本不符合公司软件版本要求;
2、禁止数据库的字符集不符合数据库开发设计规范;
二、安全合规
3、禁止应用运行不支持公司数据库权限分离规范;
4、禁止应用连接数据库硬编码在程序代码中;
5、禁止应用将连接到数据库的口令明文写在配置文件中;
三、命名合规
1、禁止数据库对象命名不符合数据库开发设计规范;
四、数据字典合规
1、禁止开发过程中无数据字典的设计;
2、禁止开发过程中数据字典调整不经过开发DBA审核和批准;
五、表设计合规
1、禁止表列数据类型选择低效、过时、不规范的数据类型;
2、禁止交易系统交易表记录的长度超过标准数据块的大小(8K);
3、禁止存放变长字符串值列设计为char类型,char(100)以上使用varchar2代替;
4、禁止大表无分区设计、无数据归档方案设计;(大表定义:记录数超过2千万或表
数据占用空间超过10GB);
5、禁止表在交易时间的并行度不为0;
6、禁止程序运行过程中创建正式表和删除正式表,如在批处理中需要用存储过程来
truncate指定的一张表;
六、索引设计合规
1、禁止业务处理表无主键索引;
2、禁止组合索引的列数量超过三个或索引列数量超过三个未经过开发DBA审核;
3、禁止表索引数量超过五个或索引数量超过五个未经过开发DBA审核;
4、禁止索引在交易时间的并行度不为0;
七、SQL语句合规
1、禁止SQL书写大小写和格式不符合规范;
2、禁止SQL语句不使用绑定变量或不使用绑定变量未经过开发DBA审核;
3、禁止用select * from。

select语句中写出必要的要选择的全部列名;
4、禁止使用select * … for update语句;
5、禁止写复杂的SQL语句;(复杂SQL定义标准:1、SQL语句长度大于等于4000字符
或SQL语句中使用到五表及以上的SQL 2、在运维中发现SQL执行时间超过5分钟且执行计划出现异常、出现大表全表扫描而影响应用正常运行的SQL);
6、禁止大表相关的SQL语句未经过开发DBA对执行计划的验证和确认;
7、禁止出现两个以上大表关联的SQL语句,防止索引对象失效或者执行计划改变导致
系统的性能直接失控;
8、禁止隐性多表关联,禁止显式多表关联;
八、其他
1、禁止语法允许的前提下,在对对象(如表、索引、试图、同义词,序列等)进行处
理时,没有指明对象的属主owner;
2、禁止表及索引设计不指定表空间;
3、禁止禁止直接修改char类型字段的长度,如确实必须将其改成varchar2类型,避
免出现补充空格的情况;
4、禁止无统一出错处理机制;禁止出现程序结束不提交事务;禁止出现程序异常或失
败不回滚事务;
5、禁止单条SQL语句一次性实时返回超过20000条以上的数据结果;
6、禁止使用DBLink、触发器、物化视图;。

相关文档
最新文档