当前位置:文档之家› 大型数据库期末试题以及答案

大型数据库期末试题以及答案

一、选择题1、下面(_B___)描述是正确的。

A、视图是一种常用的数据库对象,使用视图不可以简化数据操作。

B、使用视图可以提高数据库的安全性。

C、视图和表一样是由数据构成的。

D、视图必须从多个数据表中产生才有意义。

2、下面(__D__)组命令,将变量count值赋值为1。

A、DIM @count intSELECT @count=1B、DIM count=1 intC、DECLARE count intSELECT count=1D、DECLARE @count intSELECT @count=13、你要为一个向全世界出口产品的物流公司开发一个数据库。

这个公司有关销售信息的资料都存储在一个名为sales的表格内。

消费者的名字都被存放一个名为Customers的数据库内。

以下是创建表格的脚本代码。

CREATE TABLE Customers( CustomerID int NOT NULL,CustomerName varchar (30) NOT NULL,ContactName varchar (30) NULL,Phone varchar (20) NULL,Country varchar (30) NOT NULL)通常每个国家只有1,2名顾客。

然而, 有些国家有多达20 名顾客。

公司的营销部门想要对超过10个顾客的国家做广告。

你要为营销部门创建一个包含这些国家的名单列表。

你应该使用哪个代码? ( A )A. SELECT Country FROM Customers GROUP BY CountryHAVING COUNT (Country) > 10B. SELECT TOP 10 Country FROM CustomersC. SELECT TOP 10 Country FROM CustomersFROM (SELECT DISTINCT Country FROM Customers) AS XGROUP BY Country HAVING COUNT(*) > 10D. SET ROWCOUNT 10SELECT Country , COUNT(*) as “NumCountries”FROM Customers GROUP BY Country ORDER BY NumCountries Desc4、下列关于数据库、文件和文件组的描述中,错误的是( B )。

A)一个文件或文件组只能用于一个数据库B)一个文件可以属于多个文件组C)一个文件组可以包含多个文件D)数据文件和日志文件放在同一个组中5、学生成绩表包含列“学号”、“课程代号”、“成绩”、“考试时间”等。

列“成绩”的值为NULL 表示该学生缺考这门课。

请用SELECT语句查询学号为“”的学生所有缺考的课程数( A )。

A、SELECT COUNT(*) FROM 学生成绩表WHERE 学号= '98120001' AND 成绩IS NULLB、SELECT COUNT(成绩) FROM 学生成绩表WHERE 学号= '98120001' AND 成绩IS NULLC、SELECT COUNT(*) FROM 学生成绩表WHERE 学号= '98120001' AND 成绩=NULLD、SELECT COUNT(成绩) FROM 学生成绩表WHERE 学号= '98120001' AND 成绩= NULL6、在录入公司业务信息时,要确保字段“业务量”的值在100到200之间,需要使用下列哪种约束( D )。

A)DEFAULT B)PRIMARY KEY C)UNIQUE D)CHECK7、以下不是SQL Server 2005触发器类型的是(_B___)。

A、INSERT触发器B、SELECT触发器C、UPDATE触发器D、DELETE触发器8、在学生成绩表tblCourseScore中的列Score用来存放某学生学习某课程的考试成绩(0~100分,没有小数), 用下面的哪种类型最节省空间?( C )。

A) intB) smallintC) tinyintD) decimal(3,0)9、以下哪个不能用于处理缺失的信息.( A )A. inner joinB. left outer joinC. right outer joinD. full outer join10、修改存储过程使用的语句是(_B___)。

A、INSERT PROCEDUREB、ALTER PROCEDUREC、DROP PROCEDUED、DELETE PROCEDUE11、在Insert Into语句中某些列是可以不插入值,给出列时,可以省略这些列,以下说法不正确的是:( D )A. 具有Identity属性的列,可以省略;B. 具有默认值的列,可以省略;C. 允许为空的列,可以省略;D. 设置为主键的列,可以省略12、下列条目中,哪个不属于ALTER TABLE的功能 ( D )A.增加表的完整性约束 B.修改表中列的定义C.增加表中的列 D.修改表中的记录13、创建如下存储过程:CREATE PROCEDURE my_proc_def@first int = NULL,@second int = 2,@third int = 3ASSELECT @first, @second, @thirdGO以下调用存储过程得到的结果错误的是 ( D )。

A、EXECUTE my_proc_def 结果值:NULL 2 3B、EXECUTE my_proc_def 10, 20, 30 结果值:10 20 30C、EXECUTE my_proc_def @second = 500 结果值:NULL 500 3D、EXECUTE my_proc_def 40, @third = 50 结果值:40 500 5014、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(_D___)。

A、SELECT,INTOB、SELECT,FROMC、SELECT,GROUPD、仅SELECT15、在Transact-SQL语法中,使用关键字(_A___)可以把重复行屏蔽。

A、DISTINCTB、UNIONC、ALLD、TOP16、在Transact-SQL语法中,将多个查询结果返回一个结果集合的运算符是(__B__)。

A、JOINB、UNIONC、INTO C、LIKE17、在Transact-SQL语法中,可以对查询结果进行排序的子句是(_C___)。

A、GROUP BYB、COMPUTE BYC、ORDER BYD、COMPUTE18、在创建视图时,可以用来将包含创建此视图的文本加密的选项是(_B___)A、WITH SCHEMABINDINGB、WITH ENCRYPTIONC、WITH CHECK OPTIOND、WITH VIEW_METADATA19、一个数据库可以有几个主文件。

(__C__)A、可以0个B、至少一个C、有且仅有一个D、可以0个,也可以多个20、在聚合函数中,即使每行都包含空值,仍会计算所有行的函数是(_C___)。

A、SUMB、MAXC、COUNT(*)D、COUNT21、在数据库中创建表可以通过(_D___)等方法来实现。

A、企业管理器B、查询分析器C、OSQLD、企业管理器和CREATE TABLE语句22、左外联接中TABLE1 LEFT OUTER JOIN TABLE2 ON JOIN_CONDITION如果现在TABLE2中没有相应的行,则返回( D )。

A、没有返回B、两个表所有行C、TABLE2中所有行D、TABLE1中所有行23、LIKE’[A-C]%’匹配的内容是什么( B )A.匹配以A或C开头的字符串B.匹配以A到C当中任何一个字母开头的字符串C.匹配以A或C开头的字符串,且字符串仅包含了两个字符D.匹配以A到C当中任何一个字母开头的字符串,且字符串仅包含了两个字符24、关于默认值和规则,下列描述不正确的是( C )A. 列的默认值必须符合绑定到此列上的任何规则和CHECK 约束B. 不能为已有默认绑定的列创建DEFAULT 约束C. 创建的规则可检查出先前已经存在于数据库中的不符合规则的数据D. 一个列或者用户定义数据类型只能被一个规则绑定25、下面哪些语句属于数据定义语言(DDL)是( D )。

A.SELECT B.INSERT C.UPDATE D.DROP26、>ALL (1, 2, 3) 表示 3,>ANY (1, 2, 3) 表示 1( A)。

A、大于,大于B、大于,小于C、小于,小于D、小于,大于27、以下哪些不是SQL Server的系统数据库(D)。

A、masterB、modelC、tempdbD、Northwind28、已知,SQL Server中的触发器使用两种特殊的表:deleted 表和 inserted 表。

那么下面的描述中那一个说法是错误的( D )。

A、在执行 DELETE 语句时,行从触发器表中删除,并传输到 deleted 表中。

B、在执行 INSERT 语句时,新建行被同时添加到 inserted 表和触发器表中。

C、在执行 UPDATE 语句时,首先旧行被复制到 deleted 表中,然后新行被复制到触发器表和 inserted 表中。

D、虽然Microsoft® SQL Server™ 2005 自动创建和管理deleted 表和 inserted 表,但是还是允许我们直接对表中的数据进行更改。

29、定单表Orders的列OrderID的类型是小整型(smallint),根据业务的发展需要改为整型(integer),应该使用下面的哪条语句(C)。

A、ALTER COLUMN OrderID integer FROM OrdersB、ALTER TABLE Orders ( OrderID integer )C、ALTER TABLE Orders ALTER COLUMN OrderID integerD、ALTER COLUMN Orders.OrderID integer30、执行下面脚本,共有多少条记录插入到表tblTemp中( D )。

CREATE TABLE tblTemp( TempID integer not null,TempDate datetime not null)goDECLARE @count integerSET @count = 1WHILE @count <=10BEGINIF (SELECT COUNT(*) FROM tblTemp ) >= 10BREAKELSEBeginINSERT tblTemp VALUES(@count,GETDATE())SET @count = @count + 1endENDA、0B、8C、9D、10二、判断题1、insert into tableA select * from where address=’福建省福州市’,要正确运行如上语句,tableA可以不存在,在查询的过程中生成。

相关主题