sql sever进阶测试题(含答案
- 格式:doc
- 大小:326.00 KB
- 文档页数:13
然后执行查询命令:
SELECT * FROM student;
SELECT * FROM VIEW_student;
假定上述命令全部执行成功,将各自返回()()行记录。
a)
10,10
b)
10,9
c)
9,10
a)
Drop
b)
Remove
c)
Truncate
d)
Delete
9)
表结构如下,#号打头字段代表主键或组合主键,一份订单可以订购多种产品。
产品:#产品编号,产品名称,产品价格;
订单:#订单编号,#产品编号,订购日期,订购数量;
该表最高符合第()范式。(选择一项)
a)
一
b)
二
c)
三
d)
未规范化的
10)
print @title
d)
declare @title char(20)
execbookproc@id=1,@title output
print @title
5)
假设需要设计一个表,记录各个作者著作的所有图书信息,表结构设计如下:
作者(作者名称、图书1、版本1、书价1、图书2、版本2、书价2、……),
表结构如下,#号打头字段代表主键或组合主键,一份订单可以订购多种产品。
产品:#产品编号,产品名称,产品价格;
订单:#订单编号,总价,支付类型编号,订购日期;
订单子项:#子项编号,订单编号,产品编号,订购数量;
该表最高符合第()范式。(选择一项)
a)
一
b)
二
c)
三
d)
未规范化的
11)
创建表sql语句如下:
select @id=100
select @price=$2.21
16)
已知有student表,studentid为主键,现在表中共有10行记录,studentid列值从1
到10。
创建试图:
CREATE VIEW dbo.VIEW_student
AS
SELECT *FROM dbo.student
接着执行如下命令:
set @price=$2.21
b)
DECLARE @id INT,@price MONEY
select @id=100,@price=2.21
c)
DECLARE @id INT,@price MONEY
set @id=100,@price=2.21
d)
DECLARE @id INT,@price MONEY
a)
select sname from student wherestudentIDin (selectstudentIDfrom score where score>60)
b)
select sname from student wherestudentID=(selectstudentIDfrom score where score>60)
25)
现有订单表orders,包含数据如下表。若查询既订购了产品P01,又订购了产品P02的顾客编号,可以执行以下()sql语句。(选择一项)
cid (顾客编号)
Pid(产品编号)
C01
P01
C01
P02
C02
P01
C03
P02
a)
selectdistinct(cid)from orders o1 where o1.pid in ('p01','p02')
该表最高符合第()范式。
a)
一
b)
二
c)
三
d)
未规范化的
6)
一个学生只能就读于一个班级,而一个班级可以同时容纳多个学生,学生与班级之间是()关系。(选择一项)
a)
一对一
b)
一对多
c)
多对一
d)
多对多
7)
E-R图中,关系集用下面()来表示。
a)
矩形
b)
椭圆形
c)
菱形
d)
圆形
8)
Sql server中,()命令用来删除表。(选择一项)
b)
selectdistinct(cid)from orders o1 where o1.pid='p01' and o1.pid='p02'
c)
select distinct(cid) from orders o1 where pid='p01' andexists(select*from orders where pid ='p02'and cid=o1.cid)
)
要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department表中已经存在的部门,最优的做法是()。(选择一项)
a)
把EmployeeID和DeptID设为组合主键。
b)
把EmployeeID设为主键,同时在DeptID列上创建一个外健约束。
c)
把EmployeeID设为主键,同时在DeptID列上创建一个检查约束。
d)
创建了聚焦索引的列不允许有重复值。
27)
关于视图,以下()说法是错误的。(选择一项)
a)
使用视图,可以简化数据的使用。
b)
使用视图,可以保护敏感数据。
c)
视图是一种虚拟表,视图中的数据只能来源于物理数据表,不能来源于其它视图。
d)
视图中只存储了查询语句,并不包含任何数据。
28)
常用的系统存储过程不包括()。(选择一项)
d)
事务必须使用begin transaction来明确指定事务的开始。
30)
分数表scores设计如下:
courseID(课程编号)
studentID(学生编号)
score(分数)
另有一个学生信息表student,包含studentID,sname(学生姓名)。
已知并非所有学生都参加了考试,现在查询所有及格学生的学生姓名,下面正确的是()。(选择一项)
ID(学号)
Name(姓名)
Address(家庭住址)
Department(所在系)
DepartmentHead(系主任)
该表最高满足第()范式。(选择一项)
a)
一
b)
二
c)
三
d)
不满足任何范式;
23)
为数据库中一个或多个表中的数据提供另一种查看方式的逻辑表被称为()。(选择一项)
a)
存储过程
b)
触发器
d)
9,9
17)
设计用户表时,身份证号为固定18位长,对该字段最好采用()数据类型。(选择一项)
a)
int
b)
char
c)
varchar
d)
text
18)
授予用户teacher对Score表的插入和修改的权限,正确的授权语句是()。(选择一项)
a)
GRANTINSERT,UPDATE TO TABLE Score ONteacher
b)
可以使用CHECK约束实现,默认值采用日期函数getDate()。
c)
入职时间必须设为日期类型。
d)
可以使用DEFAULT约束实现,默认值采用日期函数getDate()。
21)
为了加快对某表的访问速度,应对此表建立()。(选择一项)
a)
约束
b)
存储过程
c)
规则
d)
索引
22)
假设有表student的设计如下:
c)
视图
d)
表
24)
要建立一个教师表,包含姓名、职称、级别等字段。若插入数据时,级别字段如果不输入,缺省值为‘讲师’,最合适的实现方法是()。
a)
为 “级别” 字段建立default约束。
b)
为“级别”字段建立check 约束。
c)
在教师表上建立一个触发器 (trigger)。
d)
为教师表数据输入编写一个存储过程进行控制。
b)
一般来说,子查询都可以用表连接替换。
c)
相对于表连接,子查询适合于作为查询的筛选条件。
d)
相对于表连接,子查询适合于查看多表的数据。
4)
创建存储过程如下:
CREATE procedure bookproc
@id int, @title char(20) OUTPUT
as
select @title=title from bookwhere id= @id
a)
sp_tables
b)
sp_columns
c)
sp_stored_procedures
d)
sp_renametable
29)
对事务描述错误的是()。(选择两项)
a)
一个事务中的所有命令作为一个整体提交或回滚。
b)
如果两个并发事务要同时修改同一个表,有可能产生死锁。
c)
Sql server默认将每条单独的T-SQL语句视为一个事务。
d)
Uq_userid;检查
2)
运行如下T-SQL,结果返回包含()的记录集。
create tablescores
(
scoreid intidentity(1,2),
score numeric(4,2) not null,
courseid int
)
insert into scores values(90.5,null);