📜  DBMS 中的域约束(1)

📅  最后修改于: 2023-12-03 15:00:22.044000             🧑  作者: Mango

DBMS 中的域约束

在数据库管理系统(DBMS)中,域约束是用于限制数据输入或操作的规则,以确保数据的完整性和一致性。

常见的域约束
  1. NOT NULL 约束:用于确保某个列不允许为空值。例如,CREATE TABLE 语句中的 NOT NULL 关键字可以添加到列定义中。
CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  age INT NOT NULL
);

在上面的例子中,nameage 列都有 NOT NULL 约束,这意味着在插入或更新行时,它们不能是空的。

  1. UNIQUE 约束:用于确保每行的某个列具有唯一值。例如,UNIQUE 关键字可以添加到列定义中。
CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(50) UNIQUE
);

在上面的例子中,email 列具有 UNIQUE 约束,因此不能有重复的值。

  1. PRIMARY KEY 约束:用于标识表中唯一的行。一个表只能有一个主键约束,它可以由一个或多个列组成。在 CREATE TABLE 语句中,主键约束可以添加到列定义中。
CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(50) UNIQUE
);

在上面的例子中,id 列是主键列。主键列的值不能重复,并且不能为空。如果您试图插入具有相同 id 值的两个行,数据库管理系统将引发错误。

  1. CHECK 约束:用于确保插入或更新行时,某个列的值满足某个条件。例如,CHECK 关键字可以添加到列定义中。
CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  age INT NOT NULL CHECK (age >= 18 AND age <= 60)
);

在上面的例子中,age 列具有 CHECK 约束,它必须是 18 到 60 的整数。

总结

域约束是 DBMS 中用于确保数据完整性和一致性的重要工具。本文介绍了一些常见的域约束,包括 NOT NULLUNIQUEPRIMARY KEYCHECK 约束。了解这些约束对于设计和管理数据库模式至关重要。