技术文摘
如何设置 SQL 完整性约束
2025-01-14 18:43:13 小编
如何设置 SQL 完整性约束
在数据库管理中,SQL 完整性约束至关重要,它确保了数据的准确性、一致性和可靠性。以下将详细介绍几种常见的完整性约束及其设置方法。
实体完整性约束
实体完整性通过主键(PRIMARY KEY)来实现。主键是表中的一个或多个字段,其值唯一标识表中的每一行记录。在创建表时,可以这样设置主键:
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT
);
这里,StudentID 被定义为主键,任何试图插入重复 StudentID 值的操作都会被数据库拒绝。
域完整性约束
域完整性规定了表中列的数据类型、取值范围等。数据类型在创建表时指定,例如:
CREATE TABLE Employees (
EmployeeID INT,
Salary DECIMAL(10, 2)
);
Salary 列被定义为 DECIMAL(10, 2) 类型,这意味着它可以存储最多 10 位数字,其中 2 位是小数。还可以通过 CHECK 约束来限制取值范围:
CREATE TABLE Products (
ProductID INT,
Price DECIMAL(10, 2),
CHECK (Price > 0)
);
这确保了 Price 列的值始终大于 0。
参照完整性约束
参照完整性通过外键(FOREIGN KEY)来维护。外键用于建立两个表之间的关联,确保相关数据的一致性。例如,有 Orders 表和 Customers 表:
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
CustomerName VARCHAR(50)
);
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
在 Orders 表中,CustomerID 是外键,它引用了 Customers 表中的 CustomerID。这意味着 Orders 表中插入的 CustomerID 必须是 Customers 表中已存在的值。
用户定义完整性约束
除了上述几种完整性约束,用户还可以根据具体业务需求自定义约束。例如,使用 UNIQUE 约束确保列中的值唯一,但与主键不同的是,UNIQUE 列可以接受空值:
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
Email VARCHAR(100) UNIQUE
);
通过合理设置这些 SQL 完整性约束,能够有效提高数据库的质量,减少数据错误和不一致性,为企业的业务运营提供坚实的数据保障。无论是小型项目还是大型企业级应用,正确运用完整性约束都是数据库设计的关键环节。
- Facebook 推出全新 VR 虚拟形象定制系统 捏脸精致且增手势追踪
- Vue 服务端渲染的原理与入门
- .NET Core 中 gRPC 服务消息文件(Proto)的设计方法
- 六年工作经历后对软件开发的新见解
- 漫话:为女友解释 Java 中“1000==1000”为 false 而“100==100”为 true 的原因
- ASP.NET Core 单元测试中 Url.Page() 的 Mock 方法
- Github 获 7.9K 标星!程序员必备命名宝典登场
- Java 并发中面试必问的 CAS 原理,你掌握了吗?
- API 网关的好处不止简单性和稳定性
- Vue3 升级显著提高开发运行效率
- 以下 7 个程序员在线工具,用过半数算优秀
- 微服务的落地实践:一个服务一个数据库模式(二)
- 基于 React 与 Vue 构建微应用
- Nacos 源码中使用 String.intern 方法的原因
- Java 编程核心 - 数据结构与算法之二分查找非递归