SQL Server 外键约束
时间: 2024-08-10 17:01:25 浏览: 121
SQL Server 中的外键约束是一种数据完整性规则,用于维护数据库表之间的一对一、一对多关系。当在一张表上创建外键时,系统会确保该表中的每一行都有匹配的有效值存在于另一张表(主表)对应的列上。这种约束能够防止数据丢失一致性,并保证了相关联的数据在两个表之间的协调性和准确性。
### 创建外键的基本语法
当你创建包含外键的表时,可以使用以下基本语法:
```sql
CREATE TABLE 子表名称 (
字段名 数据类型 PRIMARY KEY,
外键字段 名称 REFERENCES 主表名称(主键字段名)
);
```
例如,在 `Employee` 表和 `Department` 表中设置关联:
```sql
CREATE TABLE Department (
DepartmentID INT PRIMARY KEY,
DepartmentName VARCHAR(50)
);
CREATE TABLE Employee (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
DepartmentID INT,
FOREIGN KEY (DepartmentID) REFERENCES Department(DepartmentID)
);
```
### 外键的主要作用
1. **维护数据一致性**:确保引用的值在主表中存在,避免出现无效的参考。
2. **提高查询效率**:通过建立索引,可以加快涉及外键引用的查询速度。
3. **防止意外删除或更新**:外键约束阻止用户从主表中意外删除或更改记录,除非所有的依赖关系都被解除或更新。
### 使用场景
- **客户 - 订单** 关系:每个订单都属于某个特定的客户,这可以通过在外键字段上应用FOREIGN KEY约束来实现。
- **员工 - 部门** 关系:每个员工属于一个部门,外键约束可以帮助保持员工与部门之间的关联信息一致。
### 管理外键
- **添加外键**:在表创建时或者之后通过ALTER TABLE命令添加。
- **删除外键**:使用ALTER TABLE命令并指定CASCADE或RESTRICT等选项来控制删除操作如何影响相关表。
-
阅读全文