约束用于确保数据库数满足业务规则。
约束包括:NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY以及CHECK等5种类型。
建立主键约束和唯一约束时,Oralce会基于约束列自动建立唯一索引;主键约束不允许为NULL,唯一约束允许为NULL。
一张表只能建立一个主键约束。
建表约束:NOT NULL只能在列级定义;其它4种既可以在列级定义,也可以在表级定义。复合主键约束只能在表级定义。
维护约束:增加NOT NULL约束时必须使用MODIFY子句,而增加其它约束时需要使用ADD子句。
第一, 定义约束
---------------------------------------------
语法:
CREATE TABLE [SCHEMA.]table_name(
column_name datatype [DEFAULT expr] [column_constraint],
...
[table_constraint][, ...]
);
例子:
CREATE TABLE tt_user_info
(
ID VARCHAR2(20 BYTE),
NAME VARCHAR2(20 BYTE) NOT NULL,
category_id VARCHAR2(20 BYTE) REFERENCES tb_out_service(serviceid),
remark VARCHAR2(1000)
);
ALTER TABLE tt_user_info ADD (
CHECK ( LENGTH(NAME)>2),
PRIMARY KEY (ID),
UNIQUE (NAME)
);
说明:
1. NOT NULL,非空约束
not null
2. UNIQUE,唯一约束
UNIQUE (COL_NAME)
3. PRIMARY KEY,主键约束
primary key (col_name1 [, col_name2])
4. FOREIGN KEY,外键约束
它有三种类型:
references primary_table(primary_col)
on delete cascade
on delete set null
5. CHECK,检查约束
check (money > 1000)
第二, 维护约束
----------------------------------------
1. 增加约束
NOT NULL使用ALTER MODIFY子句,其它的使用ALTER ADD子句
-------------------------------
CREATE TABLE tt_user(NAME VARCHAR2(20));
ALTER TABLE tt_user MODIFY user_name NOT NULL;
ALTER TABLE tt_user ADD CONSTRAINT constraint_name UNIQUE(NAME);
ALTER TABLE tt_user ADD CONSTRAINT constraint_name PRIMARY KEY(NAME);
ALTER TABLE tt_user ADD parentid VARCHAR2(20)
CONSTRAINT constraint_name
REFERENCES tb_out_service(serviceid);
2. 修改约束名
ALTER TABLE table_name RENAME CONSTRAINT old_constraint_name TO new_constraint_name
3. 删除约束
ALTER TABLE table_name DROP CONSTRAINT constraint_name
4. 禁止约束
ALTER TABLE table_name DISABLE CONSTRAINT constraint_name [CASCADE];
5.激动约束
ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;
第三. 显示约束信息
所有约束信息
SELECT *
FROM user_constraints
用户约束所对应的表列
SELECT *
FROM user_cons_columns;
分享到:
相关推荐
Oracle 数据库约束笔记 Oracle 数据库约束是一种机制,用于确保数据库数据的完整性和一致性。约束是指在数据库中强制执行某些规则,以确保数据的正确性和一致性。Oracle 数据库提供了多种类型的约束,包括 NOT NULL...
总结,Oracle数据库约束是数据完整性的重要保证,理解并正确使用各种约束,能确保数据的准确无误,同时在设计和管理数据库时,需充分考虑其对性能的影响。通过深入学习“Oracle电子文档:数据库约束”,你将能够更...
以上是对Oracle数据库体系结构的基本介绍,深入学习还包括对Oracle的SQL语法、存储过程、触发器、视图、约束、分区表等特性的理解和应用。通过理解这些核心概念,可以更好地管理和优化Oracle数据库,提升系统的稳定...
【Oracle数据库基础】 Oracle数据库是一种广泛应用于企业的关系型数据库管理系统,由Oracle公司开发,以其高效、稳定和强大的功能著称。本节将深入解析Oracle数据库的基础知识。 1. 数据库概念: 数据是数据库中...
数据库开发 Oracle数据库 SQL开发教程 第14章 约束(共33页).pdf 数据库开发 Oracle数据库 SQL开发教程 第15章 视图(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第16章 序列、索引、同义词(共34页).pdf ...
创建表和约束是指创建 Oracle 数据库中的表和约束的操作。表是 Oracle 数据库中的基本存储单元,约束是指对表中的数据进行限制和校验的规则。 数据操纵语言(DML) 数据操纵语言(DML)是指用于操作 Oracle 数据库...
Oracle数据库指南为用户提供了学习和掌握Oracle数据库技术的宝贵资源,文档中涉及的知识点不仅包括了数据库的基本操作和管理,还涵盖了高级功能如网格计算、数据处理的事务控制,以及对软件使用的法律约束等重要信息...
Oracle数据库是一种广泛应用于企业级数据管理的高性能关系型数据库系统,尤其在大型企业和金融机构中有着广泛应用。本"Oracle数据库实例视频教程01"是针对初学者和希望深化Oracle知识的人员设计的一系列教学资源,...
Oracle数据库是业界广泛使用的大型关系型数据库系统,其对象管理及备份与恢复机制对于数据库管理员来说至关重要。本文将详细介绍Oracle数据库的对象管理、数据类型、触发器、索引和分区策略,以及备份与恢复的相关...
Oracle数据库是世界上最流行的关系型数据库管理系统之一,广泛应用于企业级数据管理、数据分析和应用程序开发。以下将详细阐述Oracle的一些核心知识点。 1. **基础概念和术语**: - **关系型数据库**: 数据以表格...
数据库最大连接数修改与 Oracle 多实例启动在 Linux 系统下 一、修改 Oracle 数据库允许的最大连接数 Oracle 数据库的最大连接数可以通过修改参数文件或使用 alter system 语句来实现。下面是修改最大连接数的步骤...
Oracle 数据库支持五种类型的完整性约束: 1. NOT NULL(非空):防止 NULL 值进入指定的列,在单列基础上定义,默认情况下,Oracle 允许在任何列中有 NULL 值。 2. CHECK(检查):检查在约束中指定的条件是否得到...
Oracle数据库查询语句大全 Oracle数据库查询语句大全是一篇关于Oracle数据库的查询语句总结的文章,文章包含了各种查询语句,包括查询表名、查询用户、查询数据库参数、查询实例名、查询数据库域名、查询服务名、...
Oracle数据库则是由甲骨文公司开发的一款企业级数据库系统,它支持大型复杂应用,提供了高度的可扩展性和安全性。Oracle支持多种数据类型,包括标准SQL类型以及自定义对象类型。其数据库结构包含表、视图、索引、...
《张立国oracle数据库教程》是一份全面介绍Oracle数据库系统的教育资源,由知名专家张立国精心编撰。这个教程共分为六个章节,旨在帮助初学者和有经验的IT专业人士深入理解Oracle数据库的核心概念和技术。 第一章...
SQL数据操作和查询是Oracle数据库操作的核心,包括了解Oracle数据类型、创建表和约束、数据操纵语言(DML)、操作符以及高级查询技术。掌握这些知识可以帮助用户高效地管理数据,并执行复杂的查询来提取所需信息。 ...
《LIB图书管理系统:Java与Oracle数据库的协同应用》 在信息技术日益发达的今天,图书管理系统的建设已经成为图书馆信息化建设的重要组成部分。"LIB图书管理系统"就是这样一款利用Java编程语言与Oracle数据库相结合...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据了重要的地位。以下是对"Oracle数据库经典教程"的部分内容的详细说明: **走进Oracle** Oracle数据库系统由Oracle公司开发,...
### Oracle数据库的完整性约束规则详解 #### 一、概述 Oracle数据库通过实施一系列的完整性约束规则来维护数据的准确性和一致性。这些约束规则是数据库设计中的核心组成部分,旨在防止不符合预定义规则的数据进入...