当前位置:文档之家› SCCE 2010综合测试试题(SQLServer)

SCCE 2010综合测试试题(SQLServer)

装订线**学院课程考试试卷课程名称:《SQLServer:数据库设计和高级查询》(A)卷年级:班级:姓名:_______________ 学号:_________________ 考试(考查) 闭卷1. 授予用户teacher对Score表的插入和修改的权限,正确的授权语句是( c )。

A. GRANT INSERT,UPDATE TO TABLE Score ON teacherB. GRANT INSERT AND UPDATE TO TABLE Score ON teacherC. GRANT INSERT,UPDATE ON Score TO teacherD. GRANT INSERT AND UPDATE ON Score TO teacher2. 建立如下数据库表:CREATE TABLE department(DeptID int NOT NULL primary key,DeptName varchar (20) NOT NULL)CREATE TABLE Employee(EmployeeID int NOT NULL,DeptID int NOT NULL,Name varchar (20) NOT NULL)要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department表中已经存在的部门,最佳的做法是( b )。

A. EmployeeID 和DeptID 设为组合主键B. EmployeeID设为主键,同时在DeptID列上创建一个外键约束C. EmployeeID设为主键,同时在DeptID列上创建一个检查约束D. 在DepartmentID列上创建一个唯一约束,同时在DeptID列上创建一个外键约束3. 建立一张员工表(employee),当向表中插入数据时,若不提供入职时间(beginTime),就把系统当前时间自动作为员工入职时间插入数据库中,以下说法正确的是( d )。

A. 约束中不能使用各种函数,所以只能使用触发器来实现B. 可以使用CHECK约束实现,默认值采用日期函数getDate()C. 入职时间必须设为日期类型D. 可以使用DEFAULT 约束实现,默认值采用日期函数getDate()4. 为了加快对某表的访问速度,应对此表建立( d )。

A. 约束B. 存储过程C. 规则D. 索引5. 假设有表student的设计如下:ID(学号)Name(姓名)Address(家庭住址)Department(所在系)DepartmentHead(系主任)该表最高满足第( a )范式。

A. 1NFB. 2NFC. 3NFD. 不满足任何范式6. 为数据库中一个或多个表的数据提供另一种查看方式的逻辑表被称为( c )。

A. 存储过程B. 触发器C. 视图D. 表7. 要建立一张教师表,包含姓名、职称、级别等字段。

插入数据时,如果不输入级别字段,缺省值为“讲师”,最合适的实现方法是( a )。

A. 为“级别”字段建立default约束B. 为“级别”字段建立check 约束C. 在教师表上建立一个触发器(trigger)D. 为教师表插入数据编写一个存储过程进行控制8. 现有订单表orders,包含数据如下表。

若查询既订购了产品P01,又订购了产品P02的顾客编号,可以执行以下( c )sql语句。

cid (顾客编号) Pid (产品编号)C01 P01C01 P02C02 P01C03 P02A. select distinct(cid) from orders o1 where o1.pid in ('p01','p02')B. select distinct(cid) from orders o1 where o1.pid='p01' and o1.pid='p02'C. select distinct(cid) from orders o1 where pid='p01' and exists (select * fr om orders--------------------------------------装--------------------------------------订------------------------------线------------------------------------------------------------------------------装--------------------------------------订------------------------------线----------------------------------------where pid ='p02' and cid=o1.cid)D. select distinct(cid) from orders o1,orders o2 where o1.pid='p01' and o2.pid='p02'9. 关于聚焦索引,以下说法错误的有(cd )。

【选两项】A. 一个表最多只能创建一个聚焦索引B. 聚焦索引比非聚焦索引有更快的访问速度C. 主键一定是聚焦索引D. 创建了聚焦索引的列不允许有重复值10. 关于视图,以下说法错误的是( c )。

A. 使用视图,可以简化数据的使用B. 使用视图,可以保护敏感数据C. 视图是一种虚拟表,视图中的数据只能来源于物理数据表,不能来源于其它视图D. 视图中只存储了查询语句,并不包含任何数据11.常用的系统存储过程不包括( d )。

A. sp_tablesB. sp_columnsC. sp_stored_proceduresD. sp_renametable12. 对事务描述错误的是( bd )。

【选两项】A. 一个事务中的所有命令作为一个整体提交或回滚B. 如果两个并发事务要同时修改同一个表,有可能产生死锁C. Sql Server 默认将每条单独的T-SQL 语句视为一个事务D. 事务必须使用begin transaction 来明确指定事务的开始13. 分数表scores 设计如下: courseID(课程编号) studentID(学生编号) score(分数)另有一个学生信息表student ,包含studentID ,sname(学生姓名)。

已知并非所有学生都参加了考试,现在查询所有及格学生的学生姓名,下面正确的是( a )。

A. select sname from student where studentID in (select studentID from score where score>60)B. select sname from student where studentID = (select studentID from score where score>60)C. select sname from student where studentID not in (select studentID from score where score<=60)D. select sname from student where exists (select studentID from score where score>60)14. 关于触发器,说法错误的有( bc )。

【选两项】A. 触发器是一种特殊类型的存储过程B. 可以使用触发器来响应对数据的select 、insert 、update 、delete 操作C. 一个表上的触发器不可以包含对另外一个表的数据操作,以免造成死循环D. 触发器和触发它的语句构成一个事务15. 在( ad )的列上更适合创建索引。

【选两项】A. 需要对数据进行排序B. 具有默认值C. 频繁更改D. 频繁搜索16. SQL Server 数据库有两种登录认证方式。

其中在( c )方式下,需要客户端应用程序连接时提供登录需要的用户标识和密码。

A. Windows 身份验证B. 以超级用户身份登录时C. SQL Server 身份验证D. 以系统身份登录时17. SQL Server 数据库中,下列不属于T-SQL 事务管理语句的是( b )。

A. BEGIN TRANSACTIONB. END TRANSACTIONC. COMMIT TRANSACTIOND. ROLLBACK TRANSACTION18. 要建立一个约束,保证用户表(user )中年龄(age )必须在16岁以上,下面语句正确的是(a )。

A. Alter table user add constraint ck_age CHECK(age>16)B. Alter table user add constraint df_age DEFAULT(16) for ageC. Alter table user add constraint uq_age UNIQUE(age>16)D. Alter table user add constraint df_age DEFAULT(age>16)19. 银行系统中有账户表和交易表,账户表中存储了各存款人的账户余额,交易表中存储了各存款人每次的存取款金额。

为保证存款人每进行一次存、取款交易,都正确的更新了该存款人的账户余额,以下选项中正确的做法是( b )。

A. 在账户表上创建insert 触发器B. 在交易表上创建insert 触发器C. 在账户表上创建检查约束。

D. 在交易表上创建检查约束。

20. SQL Server 数据库中,包含两个表:Order 订单表、Item 订单子项目表。

当一个新定单被加入时,数据要分别保存到Order 和Item 表中,要保证数据完整性,可以使用以下( b )语句。

A. BEGIN TRANSACTIONINSERT INTO Order VALUES (此处省略)--------------------------------------装--------------------------------------订------------------------------线----------------------------------------INSERT INTO Item VALUES (此处省略)END TRANSACTIONB. BEGIN TRANSACTIONINSERT INTO Order VALUES (此处省略)INSERT INTO Item VALUES (此处省略)IF (@@ERROR = 0)COMMIT TRANSACTIONELSEROLLBACK TRANSACTIONC. BEGIN TRANSACTIONINSERT INTO Order VALUES (此处省略)IF (@@ERROR = 0)INSERT INTO Item VALUES (此处省略)IF (@@ERROR = 0)COMMIT TRANSACTIONELSEROLLBACK TRANSACTIONELSEROLLBACK TRANSACTIOND. BEGIN TRANSACTIONINSERT INTO Order VALUES (此处省略)INSERT INTO Item VALUES (此处省略)IF (@@ERROR <> 0)ROLLBACK TRANSACTION21. 有一个学生信息表student,包含主键studentID (学生编号);又有分数表scores,包含studentID(学生编号)、score(考试分数)。

相关主题