##数据库完整性
为了防止垃圾数据的产生,从而影响数据库的执行效率
可靠性+准确性=数据完整
数据完整性的分类
1. 实体完整性:保证一行数据是有效的
保证每行所代表的实体能互相区别,不能存在两条一模一样的记录
主键列不能为空,也不能重复,一个表中只能有一个主键
唯一约束是指给定列的所有值必须唯一,该列在表中每一行的值必须
唯一。它和主键约束的区别在于该列可以为空,并且可以在一张表
中给多个列设置唯一约束
2. 域完整性:保证一列数据是有效的
指定列的输入有效性
3. 引用完整性:保证引用的编号是有效的
4. 用户自定义完整性:保证自定义规则
两个表之间如果存在外键约束,那么删除主表记录时,
由于有外键约束存在,无法删除有从表记录引用的主表记录
这时,删除主表记录有两种
1.级联删除:将主表记录对应的从表记录先做删除,再删除主表记
录
DELETE FROM t_room WHERE manId=1;
DELETE FROM t_man WHERE id=1;
2.外键设空:将主表记录对应的从表记录外间设置为bull,
在删除主表记录
UPDATE t_room SET manId=NULL WHERE manId=2;
DELETE FROM t_man WHERE id=2;
###外键与外键约束
外键是指从表的某列与主表的某列存在依附关系
外键约束是指在外键关联主键上强制加上一个约束,
如过违反该约束,则不允许该条数据的修改
注意:没有建立外键约束不等于没有外键
##内联接
内联接是指使用比较运算符根据每个表共有的列的值匹配两个表中的行
内联接的标准语法是INNER JOIN
##外联接
外联接是指不管有没有匹配,被定义了外联接的表数据都要出现在结果中
为了防止垃圾数据的产生,从而影响数据库的执行效率
可靠性+准确性=数据完整
数据完整性的分类
1. 实体完整性:保证一行数据是有效的
保证每行所代表的实体能互相区别,不能存在两条一模一样的记录
主键列不能为空,也不能重复,一个表中只能有一个主键
唯一约束是指给定列的所有值必须唯一,该列在表中每一行的值必须
唯一。它和主键约束的区别在于该列可以为空,并且可以在一张表
中给多个列设置唯一约束
2. 域完整性:保证一列数据是有效的
指定列的输入有效性
3. 引用完整性:保证引用的编号是有效的
4. 用户自定义完整性:保证自定义规则
两个表之间如果存在外键约束,那么删除主表记录时,
由于有外键约束存在,无法删除有从表记录引用的主表记录
这时,删除主表记录有两种
1.级联删除:将主表记录对应的从表记录先做删除,再删除主表记
录
DELETE FROM t_room WHERE manId=1;
DELETE FROM t_man WHERE id=1;
2.外键设空:将主表记录对应的从表记录外间设置为bull,
在删除主表记录
UPDATE t_room SET manId=NULL WHERE manId=2;
DELETE FROM t_man WHERE id=2;
###外键与外键约束
外键是指从表的某列与主表的某列存在依附关系
外键约束是指在外键关联主键上强制加上一个约束,
如过违反该约束,则不允许该条数据的修改
注意:没有建立外键约束不等于没有外键
##内联接
内联接是指使用比较运算符根据每个表共有的列的值匹配两个表中的行
内联接的标准语法是INNER JOIN
##外联接
外联接是指不管有没有匹配,被定义了外联接的表数据都要出现在结果中