Oracle基础知识_第十二讲

合集下载

Oracle 12c数据库基础教程-Oracle 12c数据库办公事务管理系统(Visual C#)

Oracle 12c数据库基础教程-Oracle 12c数据库办公事务管理系统(Visual C#)
CREATE TABLE C##OFFICESYS.MeetingRooms ( RoomNo VARCHAR2(20),
RoomName VARCHAR2(50) , RoomSize NUMBER, Resources VARCHAR2(500) );
表Information的结构
编 号 字段名称 数据结构
说明 培训编号 创建日期 培训主题 当前状态,包括创建、发布、培训开始、培 训结束 培训类型,0表示内部培训、1表示外部培训 培训地点 培训讲师 培训开始日期 培训结束日期 报名开始日期 报名结束日期 参加人 是否免费,0表示免费、1表示不免费 培训费/人 培训介绍 参加人员姓名列表
创建表Training的脚本
创建表Information的脚本
CREATE TABLE C##rmation ( InfoNo VARCHAR2(20) NOT NULL , InfoName VARCHAR2(100), InfoType VARCHAR2(50) , ICount NUMBER, IPrice NUMBER, Detail VARCHAR2(2000), CreateDate VARCHAR2(50) );
表InfoLend的结构
编号 1 2 3 4 5
6
字段名称 Id InfoNo LendDate EmpName LendCount
Flag
数据结构 NUMBER VARCHAR2 (20) VARCHAR2 (50) VARCHAR2(40) NUMBER
NUMBER
说明 借阅号 资料编号 借阅日期 借阅员工姓名 借阅数量 标记,0表示借阅,1表示借阅确认,2表示 归还,3表示归还确认
4.用户管理。
p 修改密码。 p 切换用户。

Oracle12 数据库导入以及数据源设置

Oracle12 数据库导入以及数据源设置

Oracle12c 数据库导入以及数据源设置1.数据库的的导入数据库是Oracle10的备份,直接导入到Oracle12c中。

如上图,把备份的文件foodmart.dmp放到c:\Douuments and Setting\Administrator这个文件夹中,然后进入命令行运行如上的命令。

这个数据库就能导入进oracle12中2.数据源的设置如上图:Server Name:安装oracle12的机器的ip地址Port:Oracle默认的监听端口为1521SID:是oracle的实例的名字。

在SQL-Plus中使用命令:select instance_name from v$instance;查询实例名字。

Default Username:就是oracle的用户名。

和使用导入数据库的时候的用户名相同。

Default Password:对应的密码注意:1.这里在连接数据源之前,应该去安装oracle的机器启动oracle的监听服务,进入cmd命令行,输入命令:lsnrctl start2.安装ABX的时候,系统的jdk为1.7的话,选择jdbc的时候使用ojdbc7.jar,把其他的ojdbc全部都删除。

至此,数据库的导入和数据源的连接就完成了。

附加资料:1.orale 新建账户:create user 用户名 identified by 密码;grant create session to 用户名;grant create table to 用户名;grant create tablespace to 用户名;grant create view to 用户名;grant unlimited tablespace to 用户名;2.相关命令以下DOS下操作如下:DOS下启动监听: lsnrctl start启动对应的数据库服务: net start OracleServiceTIANSHAN连接到对应的数据库: sqlplus ts/ts@tianshan as sysdba 或者 sqlplus "/ as sysdba"修改密码: sql> alter user ts identified by xxxxx;查询对应的数据库名: SQL> select name from v$database查询对应的实例名: SQL> select instance_name from v$instance;查看用户下所有的表: SQL>select * from user_tables;创建用户: SQL> create user tsxy identified by tsxy;分配权限: SQL>grant dba to tsxy;查看有哪些数据库实例: SQL>select instance_name from v$instance; 【查看有哪些实例】查看有哪些用户: SQL> select username from dba_users; 【查看对应的用户】退出: SQL> exit停止服务: net stop OracleServiceTIANSHAN停止监听:lsnrctl stopDOS下面导入导出:导出: exp 用户名/密码@实例名 file=路径 owner=用户导入: imp 用户名/密码@实例名 file=路径 full=y具体请参考如下图:查看字段命令窗口:desc 表名或者sql窗口select * from user_tab_columns where table_name=大写表名重启数据库Shutdown immediate;startup;3.Oracle的特点Oracle一般情况下,只有一个数据库,这个特点和其他的数据库不同。

Oracle基础知识

Oracle基础知识

学习改变命运,知 识创造未来
Oracle基础知识
学习改变命运,知 识创造未来
Oracle基础知识
Oracle Instance-SGA
Oracle instance 包含SGA内存结构和管理数据库的一些后台进程。 Instance被看成使用各个操作系统的特定方法 instance 只能同时打开 和使用一个database 。
特点
高性能、伸缩性 安全性:角色、权限、用户 并发控制:表锁定、行锁定 海量数据:表空间、空间数据构件 TB级 数据完整性:日志、回滚段 分布式数据库:数据库连接
学习改变命运,知 识创造未来
Oracle基础知识
发展和构成
发展史
6.0 性能不如sybase 7.0 分区技术支持分段的大型数据库 8.0 面向对象 8.1.6 面向internet 支持java 、webserver、jdeveloper 9i portal 手机上网
数据库 文件
Oracle基础知识
Oracle instance
实例 = 内存分配 + 一组后台进程 如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,
启动oracle前提应先启动instance..内存被分配,进程被启动
学习改变命运,知 识创造未来
SGA
background process
– • System Monitor (SMON) 检查数据库的一致性,必要的情况下 ,在数据库打开时执行恢复。
– • Process Monitor (PMON)用户进程失败时,进程监控程序实现 进程恢复。
– • The Checkpoint Process (CKPT) 负责更新数据库的控制文件( control files )中的状态信息。在数据缓存永久写入数据库时。

跟我学Oracle从入门到精通培训教程——Oracle 数据库基础及概述

跟我学Oracle从入门到精通培训教程——Oracle 数据库基础及概述

4、数据库管理系统所支持的语言的基本功能要求 (1)数据定义语言 数据定义语言(Data Definition Language, 简称为 DDL) 是SQL语言集中负责数据表结构定义与数据库对 象定义的语言, 主要由Create(创建)、Alter(修改)与Drop(删除) 三条语句所组成,负责数据的模式定义与数据的物理 存取构建。 (2)数据操纵语言 ห้องสมุดไป่ตู้数据库系统的用户通过数据操纵语言(Data Manipulation Language,简称为DML)可以实现对数 据库中的数据的基本操作。 主要涉及对数据库表中数据的插入、删除、修改和查 询(包括排序操作)等方面的功能操作。
3、Oracle 数据库系统软件中自带的软件工具 (1)开发工具——如Sql*plus和iSql*plus等开发工具
(2)企业管理方面的工具 OEM(Oracle Enterprise Management) 10G之前为C/S模式的程序, 而在10G之后改变为B/S模式 的页面。 4、与Oracle数据库系统有关 的第三方软件工具 目前最主流的第三方软 件工具有PLSQL Developer工 具,它类似于MS SQLServer 的企业管理器程序,如下为 PLSQL Developer工具的登录 界面局部截图。
(3)数据库系统(Database Systems) 数据库系统是指在计算机系统中引入数据库后,并由 数据库及其相关的管理软件所组成的一个软件系统。 它不仅是一个实际可运行的存储、维护和为企业应用 系统提供数据的软件系统,也是存储介质、处理对象 和管理系统的集合体。 目前有许多数据库系统产品,如商业化的Oracle、 Sybase、Informix、Microsoft SQL Server等大型的数据 库产品,也有如MySQL等开源的小型的数据库系统。 2、了解数据库系统的基本组成 由于数据库系统是指在计算机系统中引入数据库后的 系统,因此数据库系统要维持正常的运转,需要硬件、软 件和人员三方面的共同支持和协作——物理存储设备、数 据库管理系统和DBA管理人员。

oracle基础知识

oracle基础知识

oracle基础知识预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制一.数据库审计:1.默认情况下,oracle会自动审计具有SYSOPER、SYSDBA权限用户所执行的特权操作,即连接数据库、关闭启动数据库并将特权操作的现骨干记录到操作系统审计跟踪中,如果要审计特权用户的其他数据库操作,就必须将初始化参数AUDIT_SYS_OPERATIONS设置成TRUE:SQL> CONNECT SYS/PASSWORD AS SYSDBA已连接SQL> ALTER SYSTEM SET2 AUDIT_SYS_OPERATIONS=TRUE SCOPE=SPFILE;系统已更改SQL> STARTUP FORCE 重新启动数据库,使设置生效如果要审计普通用户所执行的数据库操作,必须将初始化参数AUDIT_TRAIL设置成某个值,以便按照某种存放审计记录的方式启用数据库审计,另外还需要制定审计的用户、要审计的数据库操作、如何审计等选项。

2.应用审计:数据库审计只能记录执行审计操作的用户名、审计的操作、操作的对象、操作的时间、使用的终端等信息,而不能记录列一级的、数据值的变化(因为这与应用的具体表相关,所以oracle是不可能做这件事的)如果要审计跟踪某些列的数据值得变化,就必须使用应用审计,即通过客户极端的代码、服务器端的存储过程或触发器将这些记录到专门为此设计的表中。

3.创建用户:create user myuser1 identified by user1pswdDefault tablespace usersQuota 2M on users;4.默认情况下,oracle为了节省资源,减少I/O操作,通常是禁用审计功能,必须将初始化参数AUDIT_TRAIL设置成某个非NONE值,以便按照某种存放审计记录的方式启用数据库审计。

DB(或TRUE)启用审计,将审计记录存放到SYS方案的AUD$审计表中。

Orcle数据库基础知识华为内部培训资料

Orcle数据库基础知识华为内部培训资料

课程 IL001100 ORACLE数据库基础知识ISSUE1.0开心Java整理目录课程说明 .........................................................................................................................................课程介绍.........................................................................................................................................课程目标.........................................................................................................................................相关资料.........................................................................................................................................第1章ORACLE数据库概述.........................................................................................................1.1 产品概述..................................................................................................................................1.1.1 产品简介 .......................................................................................................................1.1.2 基本概念 .......................................................................................................................1.2 ORACLE系统结构...................................................................................................................1.2.2 ORACLE物理结构 ........................................................................................................1.2.3 系统全局区....................................................................................................................1.2.4 进程 ..............................................................................................................................1.3 存储管理..................................................................................................................................1.3.2 逻辑结构 .......................................................................................................................1.3.3 表(Table)..................................................................................................................1.3.4 视图(View) ...............................................................................................................1.3.5 索引(Index) ..............................................................................................................1.3.6 同义词(Synonym) ....................................................................................................1.3.7 序列(Sequence).......................................................................................................1.3.8 数据库链(Database Link).........................................................................................第2章管理ORACLE数据库........................................................................................................2.1 基本概念..................................................................................................................................2.1.1 数据字典 .......................................................................................................................2.1.2 事务管理 .......................................................................................................................2.1.3 数据库管理员(DBA)......................................................................................................2.1.4 ORACLE的四种状态.....................................................................................................2.2 SQL*Plus方式的ORACLE数据库启动和关闭........................................................................2.2.1 启动数据库....................................................................................................................2.2.2 关闭数据库....................................................................................................................2.3 svrmgrl方式的ORACLE数据库启动和关闭............................................................................2.3.1 启动数据库....................................................................................................................2.3.2 关闭数据库....................................................................................................................2.4 应用开发工具(SQL * Plus)..................................................................................................2.4.1 SQL ...............................................................................................................................2.4.2 PL/SQL..........................................................................................................................2.4.3 数据库管理工具 ............................................................................................................2.5 ORACLE用户及权限管理........................................................................................................2.5.1 ORACLE的用户管理.....................................................................................................2.5.2 ORACLE的权限管理.....................................................................................................2.6 ORACLE数据库的备份与恢复.................................................................................................2.6.1 Export 转入程序............................................................................................................2.6.2 Import 转入程序............................................................................................................2.6.3 增量卸出/装入...............................................................................................................第3章ORACLE数据库的网络应用..............................................................................................3.1 SQL*Net产品介绍 ...................................................................................................................3.2 配置客户机/服务器结构...........................................................................................................3.2.1 配置listener.ora............................................................................................................3.2.2 配置tnsnames.ora文件 ...............................................................................................第4章常用任务示例 .....................................................................................................................4.1 如何恢复被误删的数据文件.....................................................................................................4.2 如何杀掉吊死session .............................................................................................................4.3 如何修改字符集.......................................................................................................................4.4 如何追加表空间.......................................................................................................................4.5 如何加大表的maxextents值...................................................................................................4.6 如何查询无效对象 ...................................................................................................................4.7 怎样分析SQL语句是否用到索引............................................................................................4.8 怎样判断是否存在回滚段竞争 .................................................................................................4.9 怎样手工跟踪函数/存储过程执行情况 .....................................................................................4.10 多种业务使用同一数据库如何分配回滚段.............................................................................4.11 怎样倒出、倒入文本数据 ......................................................................................................4.11.1 倒出 ............................................................................................................................4.11.2 倒入 ............................................................................................................................4.12 如何更新当前数据库日志备份方式为archive........................................................................4.13 Unix环境下如何实现自动备份...............................................................................................4.13.1 设置运行环境..............................................................................................................4.13.2 倒出数据 .....................................................................................................................4.13.3 异地备份 .....................................................................................................................4.13.4 启动备份进程..............................................................................................................4.14 怎样分析ORACLE故障........................................................................................................小结................................................................................................................................................. 附录A ORACLE数据字典与视图 ................................................................................................ 附录B 动态性能表 ....................................................................................................................... 附录C SQL语言运算符与函数 ..................................................................................................课程说明课程介绍本课程对应的产品版本为:Oracle 8.1.7。

2024版ORACLE基础知识培训PPT资源

2024版ORACLE基础知识培训PPT资源

ORACLE基础知识培训PPT资源contents •ORACLE数据库概述•ORACLE数据库体系结构•ORACLE数据库基本操作•SQL语言在ORACLE中的应用•ORACLE数据库性能优化•ORACLE数据库安全管理目录CHAPTERORACLE数据库概述1977年,Larry Ellison和Bob Miner创立Software Development Laboratories(SDL)。

1979年,SDL更名为Relational Software,Inc. (RSI),并发布了第一个商用SQL数据库管理系统Oracle V2。

1982年,RSI更名为Oracle Corporation。

2007年,Oracle 发布了Oracle 11g,提供了网格计算和自动存储管理等特性。

2013年,Oracle发布了Oracle 12c,引入了多租户架构和内置的云支持。

2001年,Oracle发布了Oracle9i,提供了对XML和Web服务的支持。

高可用性跨平台性安全性高性能可扩展性ORACLE 数据库特点与优势数据库是企业级应用的首选数据库之一,支持大量并发用户和复杂企业级应用数据库可以处理海量的物联网数据,提供实时的数据分析和处理功物联网Oracle 数据库提供了强大的数据仓库功能,支持数据挖掘、分析和报表等应用。

数据仓库云计算Oracle 以与移动设备无缝集成,提供实时的移动应用0201030405ORACLE 数据库应用领域CHAPTERORACLE数据库体系结构物理存储结构存储数据的物理文件,如表数据和索引数据。

记录数据库的物理结构的文件,包括数据库的名称和创建时间戳等。

记录数据库所有更改的文件,用于数据库恢复。

当数据库运行在归档模式下时,重做日志文件会被转移到归档日志文件中。

数据文件控制文件重做日志文件归档日志文件逻辑存储结构01020304表空间段区数据块内存结构系统全局区(SGA)程序全局区(PGA)缓冲缓存共享池用户进程服务器进程后台进程030201进程结构CHAPTERORACLE数据库基本操作安装ORACLE数据库软件01创建数据库实例02配置监听器03使用SQL*Plus连接数据库使用SQL Developer连接数据库断开数据库连接创建与管理表空间创建表空间使用CREATE TABLESPACE语句创建表空间,指定表空间名称、数据文件路径和大小等参数。

ORACLE基本知识培训教材

ORACLE基本知识培训教材

ORACLE 基本知识培训教材前言本教材主要是介绍 ORACLE 的基本知识,目的是为了让新员工快速了解 ORACLE 的基本知识, 本教材培训及学习时间为一天,培训方式采用课堂讲课、自己学习、考试的方式。

本书只作为入门指南,另附有一些专题学习书,供大家进阶学习用。

ORACLE 的环境介绍每一个 Oracle 数据库都是一个数据的集合,这些数据包含在一个或多个文件中。

数 据库有物理和逻辑两种结构。

在开发应用程序的过程中,用户创建表和索以便于数据进行保存和快速检索。

用户 可以为对象的名称创建方便的同义词,通过将数据库链接到不同的数据库中查看对 象,并且能够限制对象的访问权限。

用户还可以使用外部表访问当前数据库之外的文件中的数据,就像访问表中的数据 一样。

Oracle 实例由被称为系统全局区(system global area,SGA)的内存区域和相应的 后台进程组成。

这些后台进程负责 SGA 和数据库磁盘文件之间的交互。

在 Oracle RAC 中,可以有多个实例同时使用同一个数据库。

这些实例通常位于不 同的服务器上,并且保持着高速互联。

数据库中的所有逻辑结构都必须存储在数据库中的某个地方。

Oracle 系统提供 了一个记录与所有对象(对象所有者、定义、相关的优先级等)相关的元数据的 数据字典。

对于需要物理空间保存的对象, Oracle 系统会在一个表空间中为其 分配空间。

表空间由一个或多个文件组成,数据文件可能是表空间的全部,也可能是一个 表空间的一部分。

为了支持事务,Oracle 系统能够动态地创建、管理、撤销数据段。

Oracle Database 10g 系统提出的回收站概念,使得表空间和数据文件对空间 的需求发生了变化。

在 Oracle 系统的体系结构中,有许多不同的内存区域。

不同的内存区域用于 不同的目的。

Oracle 的服务器进程和许多后台进程负责在内存区域中写入、 更 新、读取和删除数据。

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

引用完整性约束
在关系型数据库中, 在关系型数据库中,不同的表可以依据其共同的列产 生关联关系,数据库需要确保数据遵从列关系的规则。 生关联关系,数据库需要确保数据遵从列关系的规则。 引用完整性规则,就是用于确保列关系的规则。 引用完整性规则,就是用于确保列关系的规则。
引用完整性约束( 引用完整性约束(续)
约束条件检查的设置( 约束条件检查的设置(续)
延迟开始( 延迟开始(initially deferred)与立即开始( )与立即开始( initially immediate) )
延迟开始,指的是在默认情况下, 延迟开始,指的是在默认情况下,只在事务处理结 束时强制使用的约束条件 立即开始,指的是在默认情况下,约束条件必须用 立即开始,指的是在默认情况下, 作即时约束,除非另外显示进行了设置 作即时约束,

使用set constraints … 语句可以对约束条件 使用 的检查进行设置
约束条件的检查
exceptions表 表
表EXCEPTIONS 记录着任何违反已启用约束的行 的信息 使用EXCEPTIONS表检测违反约束的数据 : 使用 表检测违反约束的数据
a. 如果尚未创建 如果尚未创建EXCEPTIONS,则通过运行 , utlexcpt.sql 脚本来创建例外表。 脚本来创建例外表。
d. 纠正错误。 纠正错误。
UPDATE table_name SET … WHERE rowid='...'
e. 截断 截断EXCEPTIONS 表,并重新执行 并重新执行ALTER TABLE 以启用约 束。 TRUNCATE TABLE system.exceptions;
ALTER TABLE table_name ENABLE VALIDATE CONSTRAINT const_name EXCEPTIONS INTO system.exceptions;
如何强制实现数据完整性
使用完整性约束的好处
声明即用 规则集中化 应用程序开发效率最大化 即时向用户反馈 性能优势 数据加载时的灵活性 对违反完整性的数据的识别
使用完整性约束的影响
将带来一定的性能损失 一般来说, 一般来说,完整性约束造成的性能损失与进行 约束检查所需执行的 SQL 语句大体相当
主键约束
包含于 PRIMARY KEY 完整性约束定义内的列被称为主键。 完整性约束定义内的列被称为主键。 表内的每行数据可以被唯一确定 表内不存在重复的数据行
主键约束( 主键约束(续)
Oracle 使用索引来强制实现 PRIMARY KEY 约束。 约束。 例如: 列上定义了主键约束, 例如:deptno 列上定义了主键约束,Oracle 的实现方式是隐式地创建索引 在此列上创建唯一索引( index) 在此列上创建唯一索引(unique index) constraint( 在此列上定义 NOT NULL constraint(约 束) 隐式创建的索引名称与主键约束名称相同。 隐式创建的索引名称与主键约束名称相同。
约束条件检查的设置
可延迟的( 可延迟的(deferrable)与不可延迟的(not )与不可延迟的( deferrable) )
可延迟的,指的是提交事务处理时才检查约束条件。 可延迟的,指的是提交事务处理时才检查约束条件。 如果在提交时检测到任何违反约束条件的情况, 如果在提交时检测到任何违反约束条件的情况,则会 回退整个事务处理 不可延迟的,又称为即时约束,是在每个DML语句结 不可延迟的,又称为即时约束,是在每个 语句结 束时强制执行的。 束时强制执行的。违反约束条件会导致语句的回滚 定义为“非延迟” 定义为“非延迟”的约束条件不能更改为延迟的约束 条件
完整性规则的类型( 完整性规则的类型(续)
引用完整性规则: 引用完整性规则:其作用是确保任意键值都能 与相关表的某一键值(即引用值)相匹配。 与相关表的某一键值(即引用值)相匹配。
复杂完整性检查
其作用是依据数据行的列值来允许或禁止插入, 其作用是依据数据行的列值来允许或禁止插入, 更新, 更新,或删除此数据行
引用完整性约束的规则( 引用完整性约束的规则(续)
check完整性约束 完整性约束
要求数据行满足用户定义的检查条件
检查条件
布尔表达式 子查询,序列,SYSDATE UID, ,SYSDATE, 子查询,序列,SYSDATE,UID,USER, USERENV 等 SQL 函数 LEVEL 或 ROWNUM 虚列
非空约束
默认情况下, 默认情况下,表的所有列都允许为空值 空值的含义是未输入值。 空值的含义是未输入值。 约束要求表列内只能包含非空值。 约束要求表列内只能包含非空值。
唯一性约束
key完整性约束要求列或列集的值唯一 完整性约束要求列或列集的值唯一, UNIQUE key完整性约束要求列或列集的值唯一, 数据表任意两行某列或某个列集的值不重复。 数据表任意两行某列或某个列集的值不重复。 Oracle 使用索引来强制实现唯一完整性约束 。
Exceptions表(续) 表
使用EXCEPTIONS表检测违反约束的数据 : 表检测违反约束的数据 使用
c. 使用 使用EXCEPTIONS 上的子查询定位包含无效数据的行 SELECT rowid, … FROM table_name WHERE ROWID in (SELECT row_id FROM system.exceptions) FOR UPDATE;
通过本章的学习,应达到: 通过本章的学习,应达到:
了解数据完整性的概念 了解完整性约束的类型 了解完整性约束的工作机制 知道如何管理和维护数据的完整性 知道如何查看完整性约束的相关信息
引用完整性约束的规则
限制:不允许对引用值进行更新与删除 限制 不允许对引用值进行更新与删除 置空:当引用值被更新或删除后 当引用值被更新或删除后, 置空 当引用值被更新或删除后,所有受影响的 依赖值都将被赋予一个默认值。 依赖值都将被赋予一个默认值。 当引用值被更新或删除后, 置默认值 :当引用值被更新或删除后,所有受影 当引用值被更新或删除后 响的依赖值都将被赋予一个默认值。 响的依赖值都将被赋予一个默认值。 串联操作:当引用值被更新后 当引用值被更新后, 串联操作 当引用值被更新后,所有受影响的依 赖值也将被更新为相同的值。当引用数据行( 赖值也将被更新为相同的值。当引用数据行( referenced row)被删除后,所有受影响的依 )被删除后, 赖数据行(dependent row)也将被删除。 赖数据行( )也将被删除。
第十二讲 数据完整性
二零一零年六月
目标
学习此章,需要掌握以下知识: 学习此章,需要掌握以下知识:
了解数据完整性的概念和作用 了解完整性约束的类型 了解完整性约束的工作机制 知道如何管理和维护数据的完整性 知道如何查看完整性约束的相关信息
概述
数据完整性是指数据库内的数据必须遵从的一 套预定义规则。 套预定义规则。 此规则是由数据库管理员或应用程序开发者确 定的。 定的。 Oracle 使用完整性约束防止用户向数据库的 基表中插入无效数据。 基表中插入无效数据。 完整性约束的作用是确保数据库内存储的信息 遵从一定的业务规则。 遵从一定的业务规则。
完整性规则的类型
空规则:定义在某一列上的规则, 空规则:定义在某一列上的规则,其作用是允 许或禁止将要被插入或更新的数据行此列的值 为空值( ),即没有值 为空值(null),即没有值 ), 唯一列值:其作用是确保将要被插入或更新的 唯一列值: 数据行此列(或列集) 数据行此列(或列集)的值是唯一的 主键值规则: 主键值规则:其作用是确保表内的每一数据行 都可以由某一个键值唯一地确定。 都可以由某一个键值唯一地确定。
创建约束
可以在创建表或修改表的时候创建约束
查看约束的信息
视图
DBA_CONSTRAINTS ALL_CONSTRAINTS USER_CONSTRAINTS DBA_CONS_COLUMNS ALL_CONS_COLUMNS USER_CONS_COLUMNS
描述 描述约束定义
描述约束中的列
总结
SQL> @?/rdbms/admin/utlexcpt.sql
b. 执行带有 执行带有EXCEPTIONS 选项的 选项的ALTER TABLE 语句。 语句。
ALTER TABLE table_name ENABLE VALIDATE CONSTRAINT const_name EXCEPTIONS INTO system.exceptions;
多重 CHECK 约束
多个, 多个,不受限制 不冲突
约束条件的状态
约束条件的状态( 约束条件的状态(续)
NOVALIDATE:不检查新数据和现有数据, DISABLE NOVALIDATE:不检查新数据和现有数据,因此 这些数据可能不符合约束条件。 这些数据可能不符合约束条件。 VALIDATE:如果约束条件处于此状态, DISABLE VALIDATE:如果约束条件处于此状态,则不允 许对有约束条件的列进行任何修改。 许对有约束条件的列进行任何修改。 NOVALIDATE:新数据符合约束条件, ENABLE NOVALIDATE:新数据符合约束条件,但现有数 据处于未知状态。 据处于未知状态。 VALIDATE:新数据与现有数据均符合约束条件。 ENABLE VALIDATE:新数据与现有数据均符合约束条件。 这是约束条件的典型状态和默认状态。 这是约束条件的典型状态和默认状态。
相关文档
最新文档