必须会的SQL语句(八) 数据库的完整性约束

一、数据库的完整性约束

数据库完整性约束是一些规则和限制,以确保数据库中数据的精确性和一致性。它们可以帮助防止不合法的数据插入到数据库中,保证数据的正确性。完整性约束的主要类型包括实体完整性、域完整性和引用完整性。

1. 实体完整性

实体完整性规定了数据库中的表必须有一个主键,每个表中的记录必须能够唯一地由主键来识别。在实体完整性约束中还定义了一些其他规则:

主键不能包含 NULL 值。

主键必须是唯一的,不能出现重复值。

每个表必须至少有一个主键。

下面是一个实体完整性的例子:

CREATE TABLE users (

id INT PRIMARY KEY,

name VARCHAR(255),

email VARCHAR(255) UNIQUE,

age INT

);

在这个例子中,id字段是主键,并且不能包含 NULL 值。同时,email字段是唯一的,确保每个用户只能有一个电子邮件地址。

2. 域完整性

域完整性是指对表中字段的取值范围进行限制。域完整性可以通过 CHECK 约束来实现。

下面是一个域完整性的例子:

CREATE TABLE products (

id INT PRIMARY KEY,

name VARCHAR(255),

price DECIMAL(10, 2) CHECK (price >= 0),

quantity INT CHECK (quantity >= 0)

);

在这个例子中,pricequantity字段都有 CHECK 约束。这些约束确保了价格和数量不能为负数。

3. 引用完整性

引用完整性确保了表之间的关系的正确性和一致性。它通过 FOREIGN KEY 约束实现。在一个表中,FOREIGN KEY 字段指向了另一个表中的主键。

下面是一个引用完整性的例子:

CREATE TABLE orders (

order_id INT PRIMARY KEY,

customer_id INT,

order_date DATE,

FOREIGN KEY (customer_id) REFERENCES customers(customer_id)

);

在这个例子中,orders表的 customer_id 字段是一个外键,指向了 customers 表的主键。

了解数据库完整性约束是非常重要的,因为它们可以保证数据库中数据的完整性和一致性,并防止不合法的数据被插入到数据库中。

数据库标签