sql域完整性 举实例说明
时间: 2024-10-23 12:17:15 浏览: 12
基于SQL Server触发器的数据完整性应用.pdf
SQL域完整性是一种数据库约束规则,用于确保特定字段(域)中的数据满足预设条件。它有助于维护数据质量和一致性。常见的域完整性包括:
1. **NOT NULL**: 确保字段不允许有空值。例如,如果你有一个用户表,`email`字段应该设置为NOT NULL,因为用户电子邮件不能为空。
```sql
CREATE TABLE Users (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE
);
```
在这个例子中,`email`字段设置了UNIQUE约束,同时不允许NULL值。
2. **唯一性约束 (UNIQUE)**: 只允许每个值在该字段上是唯一的。如上例中的`email`字段。
3. **检查约束 (CHECK)**: 定义自定义的数据验证条件。比如,限制年龄只能是非负整数,并且不超过150岁。
```sql
CREATE TABLE Students (
id INT PRIMARY KEY,
age INT CHECK (age >= 0 AND age <= 150)
);
```
4. **范围约束 (EXPLICIT/BETWEEN)**: 对数值类型的字段指定一个范围,如日期或价格。
```sql
CREATE TABLE Orders (
order_id INT PRIMARY KEY,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
price DECIMAL(10, 2) BETWEEN 0 AND 10000
);
```
阅读全文