1 数据库理论
1NF :第一范式。如果关系模式R的所有属性的值域都是不可再分解的值,则称R 属于第一范式
第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能使属性项组合或由组属性组成
2NF :第二范式。如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称R为第二范式模式。
如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。
3NF :第三范式。如果关系模式R是第二范式,则每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。如果某个数据库模式的每个关系模式
都是第三范式,则称为3NF数据库模式
BCNF :BC范式。如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R为BCNF模式
4NF:第四范式。设R是一个关系模式,D是R上的多值依赖集合。如果D中成立非平凡多值依赖X-》-》Y X必是R的超键,称R为第四范式的模式
关系R(s,d,m)
2 存储过程和函数的区别是什么?
存储过程是用户定义的一系列SQL语句集合,涉及特定表或其他对象的任务,用户可以调用存储过程。
函数通常是数据库已定义的方法,它接受函数并返回某种类型的值,并且不涉及特定用户表
3 什么是数据库事务?
数据库事务 指多个逻辑工作单元执行的一系列操作,这些操作要么全做要么全不做,是一个不可分割的工资单元。
事务的开始和结束可以有用户显示控制。如果用户没有显示地定义事务,则由DBMS按默认规定自动划分事务。
事务具有:原子性,一致性,独立性及持久性 等特点
4 游标的作用是什么,如何知道游标已经到了最后?
游标用于定位结构集的行。通过判断全局变量@@FETCH_STATUS可以判断其是否到了最后。通常此变量不等于0表示出错或到了最后。
5 触发器分为事前触发和事后触发,这两种触发有何区别?语句级触发和行级触发有何区别?
事前---运行于触发事件发生以前
事后--运行于触发事件发生之后
语句级--语句执行前或后执行
行级触发--所影响的每一行触发一次
6 聚集索引和非聚集索引之间的区别
聚集索引的解释是:聚集索引的顺序就是数据的物理存储顺序,而对非聚集索引的解释是索引顺序与数据物理排列顺序无关。正因为如此,所以一个表最多只能有一个
聚集索引。
在sql server中,索引是通过二叉树的数据结构来描述的,我们可以这么理解聚集索引:索引的叶节点就是数据节点。而非聚集索引的叶节点仍然是索引节点,只不过
有一个指针指向对应的数据块。
聚集索引确定表中数据的物理顺序。聚集索引类似电话本,后者按姓名排列数据,由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引,
但该索引可以包含多个列,像电话本按姓氏和名字进行组织一样。
使用非聚集索引,非聚集索引与课本中的索引类似。数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。索引中的项目按索引
键值聚集索引,则无法保证这些行具有任何特定的顺序
函数名
|
功能
|
COUNT
|