文章目录
前言
这节课主要介绍数据的完整性,一致性约束,一致性约束的验证,有四种方法,分别是用使用数据应用程序,SQL脚本,存储程序以及触发器,ROLLBACK和COMMIT语句需要注意的点,备份当中的物理备份与逻辑备份以及这两个备份的区别,可以根据两者的区别使用在不同的场景。
一、数据完整性?它是什么?
•数据完整性是指数据的整体完整性、准确性和一致性
•这可以通过两个实例之间或数据记录的两次更新之间没有更改来表示,这意味着数据是完整和不变的
•“数据完整性”是指在数据的整个生命周期内维护和确保数据的准确性和一致性,是存储、处理或检索数据的任何系统的设计、实施和使用的关键方面
•数据完整性与数据损坏相反,数据损坏是一种数据丢失形式
•任何数据完整性技术的总体意图都是相同的:确保数据完全按照预期记录,并在以后检索时确保数据与最初记录时相同
•简而言之,数据完整性旨在防止存储在数据库中的信息发生意外更改
二、一致性约束
重点概念:
•一致性约束是一种属性,在数据库建模的真实世界片段中始终有效
•一致性约束是数据库的每个持久状态都必须满足的条件
例如:
-属性学生编号唯一标识每个学生
-属性“出生日期”的值必须始终存在
-员工恰好是一个部门的成员
-教授的薪水在x到y之间
- 键约束:主要键约束和候选键约束
- 参考(Referential)完整性约束:外键
- NULL/NOT NULL 约束
- 列类型约束
- 域约束
- 其他约束条件
- 数值约束:表EMPLOYEE中的总行数小于1000
- 排除限制:一个学生不能在研究生和研究生的同一时刻
- 分布式(多任务)引用完整性约束
三、一致性约束的验证
我们如何在数据库的内容中强制执行一致性约束?
第一,在数据库应用程序中实现一致性约束的验证
例如Java应用程序通过Java数据库连接(JDBC)访问关系数据库,在这种情况下,验证由数据库应用程序执行。
第二,可以通过SQL脚本验证一致性约束
例如:假设关系表员工包含所有员工共