SQL 实体完整性: 定义、删除和验证
SQL 实体完整性: 定义、删除和验证
实体完整性是关系数据库设计的基本原则,它确保每个实体(表中的行)都可以被唯一标识。这通过使用主键来实现,主键是表中的一列或多列的组合,其值在表中的每一行中必须是唯一的且不能为 NULL。
本指南将带你了解如何在 SQL 数据库中定义和删除实体完整性约束,并提供验证其功能的示例。
定义实体完整性
你可以在创建新表时或在现有表创建后定义实体完整性。让我们探讨这两种方法:
1. 创建表时定义实体完整性
在创建表时定义实体完整性的最常见方法是使用 PRIMARY KEY 约束。考虑以下示例:sqlCREATE TABLE Customers ( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(255), ContactName VARCHAR(255), Address VARCHAR(255), City VARCHAR(255));
在这个例子中,CustomerID 列被定义为主键。这意味着 CustomerID 中的值必须对表中的每一行都是唯一的,并且不能包含 NULL 值。
2. 创建表后定义实体完整性
如果你忘记在创建表时定义主键或需要向现有表添加主键,可以使用 ALTER TABLE 语句和 ADD CONSTRAINT 子句。请参考以下示例:sqlALTER TABLE CustomersADD CONSTRAINT PK_Customers PRIMARY KEY (CustomerID);
此 SQL 语句将 CustomerID 列定义为 Customers 表的主键。
删除实体完整性
虽然不推荐这样做,但如果你需要删除主键约束,可以使用 ALTER TABLE 语句和 DROP CONSTRAINT 子句。请参考以下示例:sqlALTER TABLE CustomersDROP CONSTRAINT PK_Customers;
这将从 Customers 表中删除名为 PK_Customers 的主键约束。
警告: 在删除主键约束之前请务必谨慎,因为它可能会导致数据不一致。
验证实体完整性约束
为了验证实体完整性约束是否有效,你可以尝试插入违反约束的数据。例如,尝试在 Customers 表中插入具有重复 CustomerID 的新行。数据库将不允许插入,并将返回错误消息,确认实体完整性约束有效。
以下是一些测试实体完整性约束的方法:
- 尝试插入具有与现有行相同主键值的新行。* 尝试将主键列中的值更新为与现有行中已存在的值相同的值。* 尝试将主键列中的值设置为 NULL。
如果实体完整性约束有效,数据库将在所有这些情况下阻止操作并返回错误。
结论
实体完整性是关系数据库设计中的一个关键概念。通过使用主键,你可以确保数据库中的每一行都可以被唯一标识,这有助于维护数据完整性和准确性。理解如何在 SQL 数据库中定义、删除和验证实体完整性约束对于任何数据库开发人员或管理员都是至关重要的。
原文地址: https://www.cveoy.top/t/topic/f4pM 著作权归作者所有。请勿转载和采集!