关系型数据库是以表作为实体,以主键和外键的关联作为联系的数据库结构。
delete表名 和truncate表名 都可以删除表,但是delete会记录日志,可以恢复,效率低,而truncate效率高,不能恢复。
为了防止垃圾数据的产生,从而影响数据库的执行效率,要保证数据的完整性
可靠性+准确性==完整性
数据完整性的分类:1.实体完整性 保证每一行数据是有效的 保证每行所代表的实体能相互区别,不能存在两条一模一样的记录
实现方法:a.主键约束,主键列不能为空,也不能重复,一个表中只有一个主键
b.唯一约束:给定列的所有制必须唯一,改列在表中的每一行的值必须唯一,它和主键约束的区别在于可 以为空,并且可以在一张表的多个列设置成唯一约束。
2.域完整性:保证一列数据是有效的。指定列的输入有效性。实现方法:非空约束not null 默认约束default 检查约束:check (mysql不支持)
3.引用完整性:保证引用的编号是有效的
4.用户自定义完整性
从表外键中出现的数据,必须出此案在主表的主键列中出现
外键是指从表的某列与主表的某列存在依附关系
外键约束是指在外键关联主键上强制加上一个约束,如果违反该约束,则不允许该条数据的修改。
delete表名 和truncate表名 都可以删除表,但是delete会记录日志,可以恢复,效率低,而truncate效率高,不能恢复。
为了防止垃圾数据的产生,从而影响数据库的执行效率,要保证数据的完整性
可靠性+准确性==完整性
数据完整性的分类:1.实体完整性 保证每一行数据是有效的 保证每行所代表的实体能相互区别,不能存在两条一模一样的记录
实现方法:a.主键约束,主键列不能为空,也不能重复,一个表中只有一个主键
b.唯一约束:给定列的所有制必须唯一,改列在表中的每一行的值必须唯一,它和主键约束的区别在于可 以为空,并且可以在一张表的多个列设置成唯一约束。
2.域完整性:保证一列数据是有效的。指定列的输入有效性。实现方法:非空约束not null 默认约束default 检查约束:check (mysql不支持)
3.引用完整性:保证引用的编号是有效的
4.用户自定义完整性
从表外键中出现的数据,必须出此案在主表的主键列中出现
外键是指从表的某列与主表的某列存在依附关系
外键约束是指在外键关联主键上强制加上一个约束,如果违反该约束,则不允许该条数据的修改。