198.
主键
超键
候选键
外键
主键:数据库表中对存储数据对象予以唯一和完整标识的数据列或属性的组
合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值
(Null).
超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以
作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和
主键。
候选键:是最小超键,即没有冗余元素的超键。
外键:在一个表中存在的另一个表的主键称此表的外键。
199.
视图的作用,视图可以更改么?
视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的
查询
;
不包含任何列或数据。使用视图可以简化复杂的
sql
操作,隐藏具体的细
节,保护数据
;
视图创建后,可以使用与表相同的方式利用它们。
视图不能被索引,也不能有关联的触发器或默认值,如果视图本身内有
order
by
则对视图再次
order by
将被覆盖。
创建视图:
create view xxx as xxxxxx
对于某些视图比如未使用联结子查询分组聚集函数
Distinct Union
等,是可以
对其更新的,对视图的更新将对基表进行更新
;
但是视图主要用于简化检索,保
护数据,并不用于更新,而且大部分视图都不可以更新。
200.drop,delete
与
truncate
的区别
drop
直接删掉表,
truncate
删除表中数据,再插入时自增长
id
又从
1
开始,
delete
删除表中数据,可以加
where
字句。
1.delete
语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除
操作作为事务记录在日志中保存以便进行回滚操作。
truncate table
则一次性地
从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不
能恢复的。并且在删除的过程中不会激活与表有关的删除触发器,执行速度
快。