SQL Server 数据完整性:约束与类型

需积分: 9 42 下载量 26 浏览量 更新于2024-08-22 收藏 2.26MB PPT 举报
"该资源是北大青鸟ACCP6.0课程中的HTMLTP07预习检查内容,主要涉及SQL Server的数据类型和完整性约束的应用。" 在SQL Server中,数据类型是存储数据的基础,用于定义列的性质和限制。至少有三种主要的数据类型: 1. **数值型**:例如`INT`(整数)、`DECIMAL`(十进制数)和`FLOAT`(浮点数),用于存储数学计算的数值。 2. **字符型**:如`VARCHAR`(可变长度字符串)和`CHAR`(固定长度字符串),用于存储文本数据。 3. **日期/时间型**:包括`DATE`(日期)、`TIME`(时间)和`DATETIME`(日期和时间)等,用于记录日期和时间信息。 检查约束是确保数据完整性的一种机制,它限制了特定列可以接受的数据范围。以下是一些使用检查约束的情况: 1. **年龄验证**:如果一个应用需要用户输入年龄,可以设置检查约束来确保输入的年龄值在0至150之间,防止输入不合理的年龄值。 2. **性别规范**:在性别字段上设置检查约束,确保输入只能是“男”或“女”,避免输入其他无效值。 3. **身份证号码验证**:可以通过检查约束验证身份证号码的格式和长度,比如必须是18位数字。 4. **价格范围**:在商品价格字段上设置检查约束,确保价格不能为负数或超出某个特定范围。 数据完整性分为不同类型,包括: 1. **实体完整性**:确保每条记录都有唯一标识,通常通过主键实现。例如,学生表中每个学生的学号应该是唯一的,不能有重复。 2. **域完整性**:保证列值符合特定的数据类型或格式。例如,学号应为7位数字,地址字段应为文本,不能包含数字或其他特殊字符。 3. **引用完整性**:确保引用的外键存在于被引用的表中,防止出现悬挂引用。例如,一个学生表可能有一个教师ID,这个ID必须对应教师表中的有效ID。 4. **自定义完整性**:除了上述约束之外,还可以根据业务规则自定义其他约束,如检查约束,确保数据满足特定条件,例如,学生的出生日期必须早于入学日期。 在创建数据库表时,实施这些完整性约束是非常重要的,因为它们能防止错误数据的输入,保持数据的准确性和可靠性。使用SQL Server Management Studio (SSMS) 可以方便地创建和管理这些约束,以确保数据的正确组织和存储。在本章的学习中,学生将学习如何建立学生数据库表,掌握使用SSMS创建和完善表结构的技能,从而更好地理解和应用数据完整性概念。