Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
数据完整性
数据完整性是关系数据库的一个重要特征,一般包含实体完整性、参照完整性和用户自定义完整性 3 种
实体完整性
实体完整性:规定表中的每一条记录在表中都是唯一的,主要通过主键来实现
参照完整性
参照完整性:指一个表的主键和另外一个表的外键应该对应一致
这确保了有主键的表中包含的数据,都在其对应的外键表中有对应的数据存在,即保证表之间的数据一致性,防止数据丢失或无意义的数据在数据库中传播
用户自定义完整性
用户自定义完整性:针对某一具体情况给出的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
例如,学生考试的成绩一般取值范围在 0~100
数据表本身只支持数据的存储操作,不过这些数据一般都是从外部获取的,由于种种原因,会产生无效数据的输入或者错误数据的输入等情况。
在数据库上为了保证数据表中的数据完整性,特别增加了约束,即数据需要满足若干条件之后才可以进行操作,例如,某些数据不能够重复。
假设定义用户信息,身份证编号绝对不可能重复。
数据库中的约束一共 6 种:数据类型、非空约束、唯一约束、主键约束、检查约束、外键约束
但是约束是一把双刃剑,约束的确是可以保证数据合法后再进行保存,但是如果在一张表中设置了过多的约束,那么更新的速度一定会比较慢。
所以在实际开发中,某些验证的操作还是强烈建议交给程序完成。