1、关系型数据库是以表为实体,以主键和外键的关联关系作为系的数据结构。
2、DELETE会记录日志,意味着删除后的数据还可以恢复,但是效率低。TRNCATE不会记录日志,删除后的数据不能恢复,但是效率高。
3、为了防止垃圾数据的产生,从而影响数据库的执行效率,数据完整性 :可靠性加准确性 就是数据完整性。
4。数据完整性的分类:
①实体完整性、保证一行数据也是有效的。
②域完整性,保证一列数据也是有效的
③引用完整性
④用户自定有完整性
5、为什么要保证实体完整性?
保证每行所代表的实体能互相区别,不能存在两条一模一样的记录。
什么事是实体完整性?
表中的一行数据如果与他所代表的实体完全一致,则具备实体完整性。
实现方法。。。
1、主键约束。逐渐咧不能为空,也不能重复。一个表中只能有一个主键。
2、唯一约束。唯一约束是指给定列的所有值必须唯一,该列在表中每一行的值必须唯一。它和主键约束区别在于该列可以为空,并且可以在一张表中给多个类设置唯一约束。
6、什么叫域完整性
域完整性是指定列的输入有效
实现方法。
非空约束: not null
默认约束: default
检查约束: check(MySQ不支持)
7、引用约束-外键约束
从表外键中出现的数据,必须在表中的主键列中出现。
外键与外键约束。
外键是指从某列与主表的某列存在依附关系。
外键约束是指关联主键上强制加上的一个约束,如果违反该约束,则不予许该条数据修改。
需要注意的是:没有外键约束不等于没有外键。
8、使用聚合函数进行统计汇总
COUNT:统计行数量
SUM:获取某个列的合计值
AVG:计算某个列的平均值
MAX:计算列的最大值
MIN:计算列的最小值
9、SQL执行顺序
第一步:执行 FROM
第二步:WHERE 条件过滤
第三部:GROUP BY分组
第四步:执行 SELECT 投影列
第五步:HAVING 条件过滤
第六步:执行ORDER BY 排序
10、HAVING和WHERE区别
二者都是过滤条件,WHERE运行在分组前,因此不能执行任何聚合函数。HAVING是运行在分组后。只能用做聚合函数的过滤。