一、判断题
1. 在非聚集索引中,每个索引并不是包含行记录的数据,而是数据行的一个指针。
A. 错误
B. 正确
正确答案:B
2. 每张表可以创建多个聚集索引,每个聚集索引需要仅仅20%的附加空间,以存放该表的副本和索引的中间页。
A. 错误
B. 正确
正确答案:A
3. 索引是与表(或视图)关联的页的集合,用于加速从表中检索或者用于强制实施的唯一性。
A. 错误
B. 正确
正确答案:B
4. FROM语句用于向已经存在的表中插入新的数据。
A. 错误
B. 正确
正确答案:A
5. 在聚集索引中,叶节点包含基础表的数据页。根节点与叶节点包含有索引行的索引页。
A. 错误
B. 正确
正确答案:B
6. DELETE语句不仅删除了表中的数据,而且删除该表。
A. 错误
B. 正确
正确答案:A
7. 视图类似基表,包含带有名称的行和列数据,但视图中不存储任何数据,行和列的数据均来于查询所基于的基表中。
A. 错误
B. 正确
正确答案:B
8. 对表数据的插入、修改和删除还可以通过T-SQL语句来进行,与界面 *** 作表数据相比,通过T-SQL语句 *** 作表数据更为灵活,功能更为强大。
A. 错误
B. 正确
正确答案:B
9. 在SQL Server中,索引是按B-Tree 结构进行组织的,B-Tree中的所有结点均称为叶结点。
A. 错误
B. 正确
正确答案:A
10. T-SQL创建数据库的主要语句是CREATE DATABASE….。
A. 错误
B. 正确
正确答案:B
二、单选题
1. 若要在基本表dept中增加一列CN,可用()语句。
A. add table dept(CN char(8))
B. add table dept alter(CN char(8))
C. alter table dept add CN char(8)
D. alter table add dept CN char(8)
正确答案:C
2. 您需要显示年龄从18到21的学生的姓名和年龄。学生表xsxx包含列“姓名”和列“年龄”,下面()语句能完成该功能。
A. SELECT 姓名, 年龄 FROM xsxx
B. SELECT 姓名, 年龄 FROM xsxx WHERE年龄 = 18 OR 年龄 = 21
C. SELECT 姓名, 年龄 FROM xsxx WHERE 年龄 BETWEEN 18 AND 21
D. SELECT 姓名, 年龄 FROM xsxx WHERE年龄 = 18 AND 年龄 != 21
正确答案:C
3. 由于业务量很大,订单表存放了大量的数据。你想查询3年以前的订购信息,下面()语句能够完成该任务。
A. select * FROM 订单表 WHERE 订购日期<DATEADD( YY, -3, GETDATE() )
B. select * FROM 订单表 WHERE 订购日期<DATEADD( YY, 3, GETDATE() )
C. select * FROM 订单表 WHERE 订购日期<GETDATE() - 3
D. select * FROM 订单表 WHERE 订购日期<GETDATE() + 3
正确答案:A
4. 学生表xsxx包含列“姓名”和列“年龄”等,想要按照年龄从大到小顺序查询出学生表的所有信息,下面()语句能完成该功能。
A. SELECT * FROM xsxx
B. SELECT * FROM xsxx ORDER BY 年龄 desc
C. SELECT * FROM xsxx ORDER BY 年龄 asc
D. SELECT 姓名, 年龄 FROM xsxx
正确答案:B
5. 在登记学生成绩时要保证列Score的值在0到100之间,下面()方法最简单。
A. 编写一个触发器来检查Score的值,如果在0和100之间,则撤消插入
B. 生成用户自定义类型type_Score和规则,将规则与数据类型type_Score相关联,然后设置列Score的数据类型类型为type_Score
C. 编写一个触发器来检查Score的值,如果不在0和100之间,则撤消插入
D. 在Score列增加检查限制
正确答案:D
6. 假设表xsxx的列x的类型是char,根据业务的发展需要改为整型(integer),应该使用下面的()语句。
A. ALTER COLUMN x integer FROM xsxx
B. ALTER TABLE xsxx ( x integer )
C. ALTER TABLE xsxx ALTER COLUMN x integer
D. ALTER COLUMN xsxx.x integer
正确答案:C
7. 在SQL中,建立表的命令是()。
A. DROP SCHEMA
B. CREATE TABLE
C. CREATE VIEW
D. DROP INDEX
正确答案:B
8. 有如下SQL语句:SELECT * FROM student where DeptID between 12 and 15,与该语句等价的是()。
A. SELECT * FROM student where DeptID<=15 and DeptID>=12
B. SELECT * FROM student where DeptID<=15 and DeptID>12
C. SELECT * FROM student where DeptID<15 and DeptID<=12
D. SELECT * FROM student where DeptID<15 and DeptID<12
正确答案:A
9. SELECT语句中,用于显示部分查询结果的TOP短语与()同时使用,可以显示出查询的排序效果。
A. ORDER BY
B. CREATE
C. DROP
D. USEFOR
正确答案:A
10. 一般情况下,下面()关键字不能影响SELECT语句返回的结果的行数。
A. TOP n
B. WHERE
C. ORDER BY
D. DISTINCT
正确答案:C
---1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话CREATE TABLE student
(
[id] [int] IDENTITY(1,1) NOT NULL,
[student_id] [nvarchar](50) NULL,
[studen_name] [nvarchar](50) NULL,
[age] [int] NULL ,
[sex] [nvarchar](5) NULL,
[address] [nvarchar](200) NULL,
[tel] [nvarchar](20) NULL
)
--2) 修改学生表的结构,添加一列信息,学历 education
alter table student add education nvarchar(10) NULL
--3) 修改学生表的结构,删除一列信息,家庭住址
alter table student drop column address
--5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”
update student set education='大专' where tel like '11%'
--6) 删除学生表的数据,姓名以C开头,性别为‘男’的记录删除
delete student where studen_name like 'C%' and sex='男'
--7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来
select studen_name,student_id from student
where age<12 and education='大专'
--8) 查询学生表的数据,查询所有信息,列出前25%的记录
select TOP 25 PERCENT * from student
--9) 查询出所有学生的姓名,性别,年龄降序排列
select studen_name,sex,age from studen order by age desc
--10) 按照性别分组查询所有的平均年龄
select avg(age) as age from studen group by sex
Microsoft SQL Server 2000 简答题及其答案1.在安装SQL Server 2000时,“仅客户端工具”、“服务器和客户端工具”及“仅连接”等安装定义有什么差别?
答:仅客户端工具:仅安装客户端工具。服务器和客户端工具:同时安装服务器和客户端工具。仅连接:仅安装客户端连接。
2.一个数据库中包含哪几种文件?
答:主数据库文件,辅助数据文件,事务日志文件。
3.事务文件和数据文件分开存放有什么好处?
答:因为利用事务日志备份可以将数据库恢复到特定的即时点(如输入不想要的数据之前的那一点)或故障发生点。在媒体恢复策略中应考虑利用事务日志备份。
4.什么是批处理?使用批处理有何限制?
答:包含一个或多个T-SQL语句的组,从应用程序将一次性发送到SQL Server执行,SQL Server批处理语句作为整体编译成一个可执行单元。
限制:如不能够在同一个批处理中更改表,然后引用新列。如在一个批处理程序中,有两条语句。第一条语句用来在一张表中插入一个字段,如在User表中插入员工的出生年月第二条语句则用来引用这个列,如根据身份z号码来推算出这个员工的出身年月并把这个值赋值给这个第一条语句创建的出身年月字段。
5.数据检索时,COMPUTE和COMPUTE BY产生的结果有何不同?
答:Compute:第一个为明细行 第二个为聚合函数的合计 Compute by:第一个为明细行第二个为聚合函数的小计
6.什么是索引?索引分为哪两种?各有什么特点?
答:1、数据库中的索引与书籍中的目录类似。在一本书中,利用目录可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。2、聚集索引和非聚集索引。
3、聚集索引的特点:行的物理位置和行在索引中的位置是相同的,每个表只能有一个聚集索引,聚集索引的平均大小大约为表大小的5%左右。
非聚集索引特点:若未指定索引类型,则默认为非聚集索引,叶节点页的次序和表的物理存储次序不同,每个表最多可以有249个非聚集索引,在非聚集索引创建之前创建聚集索引。
7.创建索引有什么优点和缺点?
答:优点:索引在数据库中的作用类似于目录在书籍中的作用,用来提高查找信息的速度。
使用索引查找数据,无需对整表进行扫描,可以快速找到所需数据。
缺点:索引需要占用数据表以外的物理存储空间。创建索引和维护索引要花费一定的时间。当对表进行更新 *** 作时,索引需要被重建,这样降低了数据的维护速度。
8.什么是视图?使用视图的优点和缺点是什么?
答:视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
优点:1隐蔽数据库的复杂性2控制用户提取数据3简化数据库用户管理 4简化查询
缺点:1性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由,一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也,把它变成一个复杂的结合体,需要花费一定的时间。2修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本,表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的,视图,可能是不可修改的。
9. 修改视图中的数据会受到哪些限制?
答:1、必须有权限 2、单表视图直接改
3、多表可在视图中定义 instead of 触发器.
4、对由多表连接成的视图修改数据时,不能同时影响一个以上的基表,也不能删除视图中的数据
5、对视图上的某些列不能修改,这些列是:计算列,内置函数列和行集合函数列
6、对具有NOT NULL 的列进行修改时可能会出错。通过视图修改或者插入数据时,必须保证未显示的具有NOT NULL 属性的列有值,可以是默认值,IDENTITY 等,否则不能像视图中插入数据行。
7、如果某些列因为规则或者约束的限制不能接受从视图插入的数据时,则插入数据可能会失败
8、删除基表并不删除视图,建议采用与表明显不同的名字命名规则
10. 什么是数据完整性?如果数据库不实施数据完整性会产生什么结果?
答:数据完整性是指数据的精确性和可靠性。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效 *** 作或错误信息而提出的。
11.数据完整性有哪几类?如何实施?
答:1、数据完整性分为四类:实体完整性、域完整性、参照完整性、用户定义的完整性。
2、数据库采用多种方法来保证数据完整性,包括外键、束约、规则和触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。
12. 什么是主键约束?什么是惟一约束?两者有什么区别?
答:主键约束:有一列或列的组合,其值能唯一的标识表中的每一行。
唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。
区别:一个表可以定义多个唯一约束,只能定义一个主键约束;空值得列上可以定义唯一约束,不能定义主键约束。
13.什么是外键,怎样建立外键约束?
答:外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
14.什么是存储过程?使用存储过程有什么好处?
答:1、是存储在服务器上的 Transact-SQL 语句的命名集合,是封装重复性任务的方法,支持用户声明变量、条件执行以及其他强有力的编程特性。
2、存储过程封装了商务逻辑,确保一致的数据访问和修改。若规则或策略有变化,则只需要修改服务器上的存储过程,所有的客户端就可以直接使用
屏蔽数据库模式的详细资料。用户不需要访问底层的数据库和数据库内的对象
提供了安全性机制。用户可以被赋予执行存储过程的权限,而不必在存储过程引用的所有对象上都有权限
改善性能。预编译的 Transact-SQL 语句,可以根据条件决定执行哪一部分
减少网络通信量。客户端用一条语句调用存储过程,就可以完成可能需要大量语句才能完成的任务,这样减少了客户端和服务器之间的请求/回答包
15.什么是触发器?触发器分有什么作用?
答:触发器是一类特殊的存储过程,不能被直接调用,也不传递或接受参数
作用:1、维护不可能在表创建时刻通过声明性约束进行的复杂的完整性约束限制。
2、通过记录所进行的修改以及谁进行了修改来审计表中的信息。
3、当表被修改的时候,自动给其他需要执行 *** 作的程序发信号。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)