1.了解什么是数据完整性
答:数据完整性是指存储在数据库中的数据,应该保持一致性和可靠性。
假如银行卡余额,正常没钱是0,但却是负的,说明没钱了还能取钱,这就存在很大漏洞了。
2.关系模型允许定义三类数据约束
答:它们是实体完整性、参照完整性以及用户定义的完整性约束,其中前两种完整性约束由关系数据库系统自动支持。
【实体完整性】:实体就是现实世界中具体的某个对象,RDBMS中一行代表一个实体,
实体完整性是保证每一个实体都能被区别。例如人对应的身份证。
举例:201603主键重复,不可导入。
约束方法:唯一性约束,主键约束,标识列,其实都是同个意思。
【参照完整性】:主要是表与表之间的关系,可以通过外键来实现。例如学生在成绩排名表A找得到成绩,
而在成绩表B找不到,通额外的表来参照。参照完整性要求关系中不允许引用不存在的实体。
举例:主表A无学号2016088的学生,无法在从表B中导入2016088的数据。
约束方法:外键约束(外键就是其他表的主键)
【用户自定义完整性】:借助存储过程和触发器实现。例如限定账户余额是大于等于0的。
举例:由于设置了账户余额大于0,数据李四账户余额小于,0,无法导入。
约束方法:规则,存储过程,触发器
【域完整性】:通过对列的输入进行限制,保证不能输入无效的值。如数据类型,格式,或值的范围。如果一个人活过了上千岁,正常不。
约束方法:限制数据类型,检查约束,默认值,非空