数据库笔试题
数据库
1.基础知识点:
1NF:第一式。如果关系模式 R 的所有属性的值域中每一个值都是不可再分解的值,
则称 R 属于第一式模式。第一式的模式要求属性值不可再分裂成更小部分,即属
性项不能是属性组合或由组属性组成。2NF:第二式。如果关系模式 R 为第一式,
并且 R 中每一个非主属性完全函数依赖于 R 的某个候选键,则称 R 为第二式模式。
(如果 A 是关系模式 R 的候选键的一个属性,则称 A 是 R 的主属性,否则称 A 是
R 的非主属性。) 3NF:第三式。如果关系模式 R 是第二式,且每个非主属性都不
传递依赖于 R 的候选键,则称 R 是第三式的模式。 BCNF:BC 模式。如果关系模
式 R 是第一式,且每个属性都不传递依赖于 R 的候选键,那么称 R 为 BCNF 的模
式。4NF:第四式。设 R 是一个关系模式,D 是 R 上的多值依赖集合。如果 D 中成
立非平凡多值依赖 X→→Y 时,X 必是 R 的超键,那么称 R 是第四式的模式。
2.试题
1) 设有关系 R(S,D,M),其函数依赖集 F={S→D,D→M}。则关系 R 至多满足 2NF。
解析:属于依赖关系,所有至多满足第二式。
2) 找出表 ppp 里面 num 最小的数,不能使用 min 函数。 答:select * from ppp
where num<=all(select num from ppp) 或者:select top 1 num from ppp order
by num。
3) 找出表 ppp 里面最小的数,可以使用 min 函数。 答:select * from ppp where
num=(select Min(num) from ppp)。
4) 选择表 ppp2 中 num 重复的记录。 答: select * from ppp2 where num
in(select num from ppp2 group by num having(count(num)>1))。
5) 写出复制表、拷贝表和四表联合的 SQL 语句。 答:复制表(只复制结构,源
表名:A,新表名:B): select * into B from A where 1=0 拷贝表(拷贝结构,
源表名:A,新表名:B): select * into B from A 四表联查: select * from
A,B,C,D where 关联条件
6) 在 SQL Server 中如何用 SQL 语句建立一临时表? 答: create table #Temp(字
段 1 类型,字段 2 类型…) 注意,临时表要在表名前面加 “#”。
7) %代表任意长度(长度可以为 0)的字符串,_ 代表任意单个字符。如果用户要
查询的语句本身就含有%或_,这时就要使用 escape’<换码字符>’短语对通配
符进行转义了。
8) 集函数 SUM,AVG 中的列必须是数值型。
综合的是选择题
9) 每一个部门的每个工种的工资最大值? select
dept_id,job_cat,max(salary)from employee group by dept_id,job_cat;
10) 在 primary 和 unique 两种约束的情况下,Oracle 数据库会隐形创建一个唯
一索引。
11) 在 select 语句中包含一个 where 关键词,group by 关键词一般在 where 关
键词之后,order by 关键词一般在 select 语句中所有关键词之后。