1. 超键、候选键、主键的区别和联系?
超键(super key):在关系中,能唯一标识元组的属性或属性集。(可以有多余属性的候选键)
候选键(candidate key):不含有多余属性的超键。
主键(primary key):若一个关系中有多个候选键,则选其中的一个为关系的主键。
主属性(Primary Attribute):包含在任何一个候选键中的属性。
非主属性(Nonprimary Attribute)/非键属性(Non-key Attribute):不包含在任何候选键中的属性。
2. drop,delete与truncate的区别?
drop truncate delete
速度 高 中 低
应用范围 table table & view
删除对象 表(结构的约束触发器索引+数据,保留存储过程) 数据 数据
所占空间 释放掉 恢复初始大小 不减少占用空间
删除过程 一次性删除,不记录日志,删除行不可恢复(整表可恢复) 按行删除,作为事务记录日志,方便回滚
操作类型 DDL DDL DML(事务提交,触发)
使用场景 删除整表 删除数据,保留表(与事务无关) 删部分数据(与事务有关/触发器)