SQL Server初学者教程:建表与约束详解

0 下载量 31 浏览量 更新于2024-08-30 收藏 1.79MB PDF 举报
本文主要介绍了SQL Server中的基本概念,包括如何使用SQL命令创建表和设置约束,特别是聚焦于六种主要的约束类型:主键、外键、CHECK、DEFAULT、UNIQUE以及它们在数据完整性中的作用。此外,还强调了主键与外键之间的关系及其删除顺序的重要性。 在SQL Server中,理解和掌握表和约束的概念是数据库管理的基础。表是存储数据的基本单元,而约束则是确保数据质量与完整性的规则。 1. **主键(PK)约束**:主键是用于唯一标识表中每一行的字段或一组字段。它不允许有重复值,并且通常设置为NOT NULL,确保每个记录都有唯一标识。主键对于确保数据的一致性和准确性至关重要。例如,创建学生表时,可以将"学生ID"设为主键。 2. **外键(FK)约束**:外键是连接两个表的桥梁,它引用了另一个表的主键,确保了数据的一致性和参照完整性。外键确保了引用的记录在被引用的表中必须存在,防止了非法的数据插入。例如,"学生表"中的"班级ID"可以是外键,关联到"班级表"的主键。 3. **CHECK约束**:CHECK约束用于限制字段的值,确保其始终在特定范围内。它可以防止不符合条件的数据被插入或更新。例如,年龄字段可以设定为CHECK(age >= 0 and age <= 150),确保年龄的合理性。 4. **DEFAULT约束**: DEFAULT约束定义了一个字段的默认值,当插入新记录时,如果未提供该字段的值,系统会自动使用默认值。例如,"出生日期"字段可以设置默认值为当前日期。 5. **UNIQUE约束**:UNIQUE约束确保字段的值是唯一的,但允许出现NULL值。不同于主键,一个表可以有多个UNIQUE约束。例如,"邮箱"字段可以设置为唯一,但允许为空,防止重复的邮箱地址。 6. **NOT NULL约束**:NOT NULL约束确保字段不能为NULL,强制字段必须有值。这是保证数据完整性的一种方式,例如,"姓名"字段通常不允许为空。 在实际操作中,创建表的SQL语句可能如下所示: ```sql CREATE TABLE Students ( StudentID int PRIMARY KEY, Name nvarchar(100) NOT NULL, BirthDate datetime DEFAULT GETDATE(), Email nvarchar(100) UNIQUE, ClassID int FOREIGN KEY REFERENCES Classes(ClassID) ); ``` 在涉及主键和外键的删除时,一般遵循“先删除子表(引用外键的表),后删除父表(被引用的表)”的规则,以防止出现外键引用错误。 通过学习和实践这些基本概念,你可以更有效地管理和维护SQL Server数据库,确保数据的准确性和一致性。同时,了解这些知识也是进一步学习高级SQL概念和数据库设计的基础。