Oracle数据库中的常见约束类型介绍(oracle中有哪些约束)

在Oracle数据库中,约束是用来保证数据完整性和一致性的重要机制。Oracle数据库提供了多种约束类型,本文将会介绍一些常见的约束类型。

1. NOT NULL约束

NOT NULL约束用来指定列不能为空,要求在插入或更新记录时必须给该列赋值。

例如,我们创建一个表格:

CREATE TABLE employees
(
Id INTEGER NOT NULL,
Name VARCHAR2(20),
Age INTEGER
);

在这个例子中,我们指定了Id列不能为空。如果我们尝试插入一个空值,Oracle会抛出错误。

2. UNIQUE约束

UNIQUE约束用来保证指定列的值不重复。

例如,我们创建一个表格:

CREATE TABLE employees
(
Id INTEGER NOT NULL UNIQUE,
Name VARCHAR2(20),
Age INTEGER
);

在这个例子中,我们指定了Id列的值必须唯一,如果我们尝试插入一个重复的值,Oracle会抛出错误。

3. PRIMARY KEY约束

PRIMARY KEY约束是一种特殊的UNIQUE约束,用来唯一标识表中的每一条记录。它要求指定一个或多个列作为主键,主键列的值必须唯一且不能为空。

例如,我们创建一个表格:

CREATE TABLE employees
(
Id INTEGER NOT NULL PRIMARY KEY,
Name VARCHAR2(20),
Age INTEGER
);

在这个例子中,我们指定了Id列为主键。

4. FOREIGN KEY约束

FOREIGN KEY约束用来指定一个或多个列必须是另一个表格的主键或唯一约束。它保证了表格之间的引用完整性。

例如,我们创建一个子表格:

CREATE TABLE orders
(
OrderId INTEGER NOT NULL PRIMARY KEY,
EmployeeId INTEGER NOT NULL,
ProductName VARCHAR2(20),
Quantity INTEGER,
FOREIGN KEY (EmployeeId) REFERENCES employees(Id)
);

在这个例子中,我们通过FOREIGN KEY约束指定了EmployeeId列必须是父表格employees的主键。

5. CHECK约束

CHECK约束用来指定列的值必须满足某些条件。它可以用来保证数据的合法性。

例如,我们创建一个表格:

CREATE TABLE employees
(
Id INTEGER NOT NULL PRIMARY KEY,
Name VARCHAR2(20) NOT NULL,
Age INTEGER CHECK (Age > 0 AND Age
);

在这个例子中,我们通过CHECK约束指定了Age列的值必须大于0且小于120。

6. DEFAULT约束

DEFAULT约束用来指定列的默认值,当插入或更新记录时如果没有指定该列的值则使用默认值。

例如,我们创建一个表格:

CREATE TABLE employees
(
Id INTEGER NOT NULL PRIMARY KEY,
Name VARCHAR2(20) NOT NULL,
Gender VARCHAR2(6) DEFAULT 'male',
HireDate DATE DEFAULT SYSDATE
);

在这个例子中,我们指定了Gender列的默认值为’male’,HireDate列的默认值为当前日期。

总结:Oracle数据库提供了多种约束类型,包括NOT NULL约束、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY约束、CHECK约束和DEFAULT约束。使用约束可以保证数据完整性和一致性,减少数据错误的发生,提高数据质量。


数据运维技术 » Oracle数据库中的常见约束类型介绍(oracle中有哪些约束)