SQLServer数据完整性与完整性约束

需积分: 9 42 下载量 40 浏览量 更新于2024-08-22 收藏 2.26MB PPT 举报
"该资源是北大青鸟ACCP6.0课程中关于HTML的一次回顾和作业点评,主要内容涉及数据库管理和数据完整性。" 在数据库管理领域,数据冗余是指存储在数据库中的相同或相似信息的重复。这可能导致数据不一致,增加存储需求,并可能引发更新异常。例如,如果一个数据库中,同一个用户的个人信息在多个表中出现,那么更新一处信息时可能忘记更新其他地方,导致数据冲突。减少数据冗余是数据库设计的关键原则,通常通过正常化过程来实现。 数据库的数据文件存储实际的数据库对象和数据,其扩展名在SQL Server中通常是.mdf。日志文件则记录所有对数据库的更改操作,它的扩展名是.ldf。这两个文件是数据库的核心组成部分,确保了数据的持久性和可恢复性。在某些情况下,如备份、迁移或故障修复,可能需要分离数据库(解除与数据库引擎的关联)以便移动或复制这些文件,然后附加到新的或原始的服务器上继续使用。 在以下情况下,可能需要分离和附加数据库: 1. 数据库备份和恢复:为了防止数据丢失,需要将数据库文件复制到安全位置。 2. 资源管理:分离数据库可以释放服务器资源,当某个数据库占用过多资源时,可以暂时移除。 3. 迁移数据库:在不同服务器之间移动数据库,例如从开发环境转移到生产环境。 4. 故障修复:如果数据库损坏,可能需要分离损坏的.mdf文件,替换为健康的副本,然后重新附加。 本章重点讨论了如何用表组织数据以及数据完整性的重要性。在SQL Server中,有多种数据类型,如整型、字符串、日期/时间等,选择正确的数据类型有助于确保数据的准确性。检查约束用于强制执行列级别的业务规则,例如年龄必须是正整数,性别只能是预定义的值。数据完整性分为几个类别: 1. 域完整性:确保单个字段的值符合特定规则,如限制数据类型、检查约束等。 2. 实体完整性:保证表中的每行都有唯一标识,通常通过主键约束或标识列实现。 3. 引用完整性:维护表间关系的完整性,通过外键约束确保引用的合法性。 4. 自定义完整性:用户自定义的完整性规则,如非空约束、默认值等。 创建表时,实施这些完整性约束可以预防错误数据的输入,保证数据库中的信息准确、可靠且无冗余。例如,学号要求为7位字符,可以设置唯一约束或主键约束确保其唯一性,同时限制数据类型为数字,以确保输入的准确性。而年龄、性别等字段可以通过检查约束来限制其输入范围。