1) 在SQL Server 中,为数据库表建立索引能够( C )。

A. 防止非法的删除操作

B. 防止非法的插入操作

C. 提高查询性能

D. 节约数据库的磁盘空间

解析:索引的作用是通过使用索引,大大提高数据库的检索速度,改善数据库性能

2) 在SQL SERVER中,创建一个表使用(  C)语句。

A. INSERT

B. DROP

C. CREATE

D. ALERT

解析:A :insert 插入数据。   B: drop 进行删除操作 D:alter 添加约束

3) 在SQL SERVER中,下面关于视图说法错误的是(C  )。

A. 对查询执行的大多数操作也可以在视图上进行

B. 使用视图可以增加数据库的安全性

C. 不能利用视图增加,删除,修改数据库中的数据

D. 视图使用户更灵活的访问所需要的数据

解析:对视图进行增删改操作。(答题的话可以,面试不可以)

4) 在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的( B )阶段。

A. 需求分析

B. 概要设计

C. 逻辑设计

D. 物理设计

解析如下:

A:分析客户的业务和数据处理需求

B:概要设计  绘制数据库的E-R图,用于在项目团队内部、设计人员和客户之间进行沟通,确认需求信息的正确性和完整性

C:利用数据模型进行概念数据库的模式设计

D:将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。

5) 在SQL Server 数据库中,如果强制要求grades表中的学员必须是Students表中存在的学员,以下描述正确的是( A )。

A. 在grades表中创建外键约束

B. 在grades表中创建检查约束

C. 在grades表中创建唯一约束

D. 在grades表中创建默认约束

解析:

A:  外键约束 用于在两表之间建立关系,需要指定引用主表的哪一列

B:检查约束 某列的取值范围限制、格式限制等

C:唯一约束 要求该列的值必须唯一,允许为空 但只能出现一个空值

D:默认约束 某列的默认值

6) 在SQL Server 数据库中,下面的T-SQL语句段执行第三句时出现错误,数据库中的内容修改情况是(C  )。

BEGIN TRANSACTION

update Account set balance=7800 where id=1

update Account set balance=9000 where id=1

IF @@error <> 0

ROLLBACK TRANSACTION

ELSE

COMMIT TRANSACTION

A. Account表中id为1的记录中balance字段的值被修改为7800

B. Account表中id为1的记录中balance字段的值被修改为9000

C. Account表中id为1的记录中balance字段的值不变

D. 不可能发生这种情况

解析:第三句出现了错误,执行rollback tran 回滚事务,那么在begin tran 语句之后的所有更新数据都回滚到初始状态

7) 在SQL Server 数据库中,有关下列T-SQL语句的功能,说法正确的是( C )。

DECLARE @I int, @J int

SET @I=0

WHILE (@I < 2)指定循环两次

BEGIN

SELECT @J=COUNT(*) FROM stuMarks WHERE writtenExam<60统计学生考试没及格的数量

IF(@J>0)

UPDATE stuMarks SET writtenExam=writtenExam+5 WHERE writtenExam<60对没及格的学生加5分

ELSE

BREAK

SET @I = @I + 1改变循环变量,@I为1继续再循环一次!

END

SELECT stuNo,成绩=CASE

WHEN writtenExam<60 THEN '不及格'

ELSE '及格'

END

FROM stuMarks

A. 给不及格的学员反复提5分直到通过为止,最后展示所有学员是否及格的情况信息

B. 给不及格的学员提10分,最后展示所有学员是否及格的情况信息

C. 给不及格的学员提5分,提分后仍不及格的学员再提5分,最后展示所有学员是否及格的情况信息

D. 给不及格的学员提5分,最后展示所有学员是否及格的情况信息

8) 在SQL Server 数据库中,下面调用存储过程的语句错误的是(  B)。

A. EXEC proc_stu @sum OUTPUT,64,78

B. EXEC proc_stu  @sum OUTPUT,@total output,78

C. EXEC proc_stu  @sum OUTPUT,604

D. EXEC Calculate @sum OUTPUT,@total output

9) 在SQL SERVER中,下面关于子查询的说法你认为正确的是( CD )。

A. 应用简单子查询的SQL语句的执行效率比采用SQL变量的实现方案要低

B. 带子查询的查询执行顺序是,先执行父查询,再执行子查询

C. 表连接一般都可以用子查询替换,但有的子查询不能用表连接替换

所有的表连接都可以被替换成为子查询,但不是所有的子查询都可以被替换成为表连接

D. 如果一个子查询语句一次返回二个字段的值,那么父查询的where子句中应该使用NOT EXISTS关键字

10) 在SQL SERVER中,按以下要求创建学员表正确的SQL语句是(D  )。

学员表(stuTable)的要求是:学号为5位数字,自动编号;姓名最多为4个汉字,身份证号码最多为18位数字。

identity:自增 identity(标识种子,表示增量) numberic(18,0)指长度为十八,小数点后一位都没有

A. CREATE TABLE stuTable (

ID NUMERIC(6,0) NOT NULL,

Name VARCHAR(4),

Card INT

)

B. CREATE TABLE stuTable

(

ID INT IDENTITY(10000,1),

Name VARCHAR(4),

Card DECIMAL(18,0)

)

C. IF EXISTS(SELECT * FROM sysobjects WHERE name=' stuTable ')

DROP TABLE stuTable

GO

CREATE TABLE stuTable

(

ID NUMERIC(4,0) NOT NULL,

Name VARCHAR(4),

Card INT

)

D. IF EXISTS(SELECT * FROM sysobjects WHERE name=' stuTable ')

DROP TABLE stuTable

GO

CREATE TABLE stuTable

(

ID INT IDENTITY(10000,1),

Name VARCHAR(8),

Card NUMERIC(18,0)

)

11) 在SQL SERVER中,声明并创建以下存储过程,正确调用该存储过程的的语句是(  BC)。

CREATE PROCEDURE  PRO

@passNum int OUTPUT,

@passPoint int=60

AS

Select @passNum=count(*) From stuTable Where point >@passPoint

GO

A. Declare @sum int

EXEC PRO @passNum,70

B. Declare @sum int

EXEC PRO @sum output,70

C. Declare @sum int

EXEC PRO @sum output

D. EXEC PRO 70

解析:A:output表明参数是输出参数 D:未声明局部变量

12) 下面描述的四个阶段中,不是数据库设计过程中经历的阶段是( D )。

A. 需求分析阶段

B. 概要设计阶段

C. 详细设计阶段

D. 代码设计阶段

解析: 代码设计阶段不属于数据库设计过程中经历的阶段

13) 在SQL Server 中,对IN语句取反的方法是,在IN前面添加(  B)。

A. NONE

B. NOT

C. !

D. NO

解析:对in语句进行取反的方法是not  in

14) 在SQL Server 数据库中,以下对变量的定义错误的是(D  )。

A. DECLARE @username  varchar(10)

B. DECLARE @RowCount  varchar(30)

C. DECLARE @@username  varchar(10)

D. DECLARE @@RowCount  varchar(30)

15) 在SQL Server中,绘制E-R图时一般使用( B )表示实体的属性。

A. 矩形

B. 椭圆

C. 菱形

D. 三角形

解析:A:实体---矩形 C:联系--菱形

16) 在SQL SERVER中,运行下列语句,输出结果是( B )。

Create proc proc_Search

@myStuno varchar(8) is null

as

if @myStuno = null

begin

print '你忘记了传递学号'

return

end

Select * from stuinfo where stuno=@myStuno

go

exec proc_Search

A. 你忘记了传递学号

B. 编译错误

C. 显示空的记录

D. 调用存储过程proc_Search出错

解析:未声明变量 @myStuno

17) 下面关于SQL Server中变量的操作正确的是(AD  )。

A. DECLARE @name varchar(8)

SET @name='lkl'

print '姓名是'+@name

B. DECLARE name varchar(8)

SET name='lkl'

print '姓名是'+name

C. print  @@VERSION AS '版本', @@SERVERNAME AS '服务器'

D. SELECT @@VERSION AS '版本', @@SERVERNAME AS '服务器'

解析:B:name应该为局部变量 缺少@符号    C:语法错误

18) 下面选项中关于在SQL语句中使用的逻辑控制语句的说法正确的是(A  )。

A. 在IF-ELSE 条件语句中,IF为必选,而ELSE为可选

B. 在IF-ELSE 条件语句中,语句块使用{  }括起来

C. 在CASE多分支语句中不可以出现ELSE分支

D. 在WHILE循环语句中条件为false,就重复执行循环语句

19) 已知dept表有部门编号字段deptno、部门名称字段dname,员工表emp具有员工编号字段empno、员工姓名字段ename、电话字段phone和所属部门编号字段deptno,该字段参考dept表的deptno字段,要使用SQL语句查询 “研发部”部门所有员工的编号和姓名信息,下面选项中正确的是(B  )。

A. SELECT empno,ename FROM emp

WHERE empno=(SELECT empno FROM dept WHERE dname="研发部")

B. SELECT empno,ename FROM emp

WHERE deptno=(SELECT deptno FROM dept WHERE dname='研发部')

C. SELECT empno,ename FROM emp

WHERE deptno=(SELECT * FROM dept WHERE dname='研发部')

D. SELECT empno,ename FROM dept

WHERE deptno=(SELECT deptno FROM emp WHERE dname="研发部")

解析: 查询 “研发部”部门所有员工的编号和姓名信息 即排除AC 查询的信息是来自于部门表 排除D

20) 在SQL Server中,下面关于视图的描述,说法正确的是(  AD)。

A. 使用视图可以筛选原始物理表中的数据,增加了数据访问的安全性

B. 视图是一种虚拟表,数据只能来自一个原始物理表

C. CREATE VIEW语句中可以包含UPDATE语句

D. 为了安全起见,一般只对视图执行查询操作,不推荐在视图上执行修改操作

解析:

B: 视图是一种虚拟表。通常是作为来自一个或多个表的行或列的子集创建的

C:  CREATE VIEW语句中不可包含UPDATE语句

21) 在SQL Server中,创建如下存储过程:

create proc stu_exam

@writtenExam int=null

as

if @writtenExam is null

begin

print '请输入笔试成绩及格线'

return

end

select * from student where stu_id in

(select stu_id from stu_marks

where writtenExam>@writtenExam)

GO

下列选项正确的是( C )。

A. 执行EXEC stu_exam语句,控制台显示所有笔试成绩及格的学生信息记录集

B. 存储过程(stu_exam)代码存在语法错误

C. 执行EXEC stu_exam语句,控制台显示“请输入笔试成绩及格线”

D. 执行EXEC stu_exam 75语句,控制台显示“请输入笔试成绩及格线”

解析:有IF条件进行过滤,若果没有输出笔试成绩的话,将输出提示。

22) 下列选项中不属于SQL Server的逻辑控制语句的是(  B)。

A. IF-ELSE语句

B. FOR循环语句

C. CASE子句

D. WHILE循环语句

解析:SQL Server的逻辑控制语句包括 IF-ELSE语句、 CASE子句、WHILE循环语句三种

23) 在SQL SERVER中,关于聚集索引和非聚集索引的描述错误的是(B  )。

A. 一个表可以有多个非聚集索引,但只能有一个聚集索引

B. 非聚集索引的值顺序与数据表中记录的物理顺序完全相同

C. 在建立聚集索引的列上不允许有重复的值

D. 使用聚集索引查询的速度要比非聚集索引速度快

解析:聚集索引和表中记录的物理顺序一致  即B选项表述错误

24) 在SQL SERVER中,关于系统存储过程以下说法错误的是(  D)。

A. 系统存储过程提供了管理数据库和更新表的机制

B. 所有系统存储过程都以sp_开头

C. 所有系统存储过程都存放在master数据库中

D. 用户不能使用系统存储过程更新系统表,只能查询系统表

25) 在SQL Server 数据库中,从product表里查询出price(价格)高于pName(产品名称)为“一次性纸杯”所有记录中最高价格的产品的查询语句为( D )。

A. SELECT * FROM product WHERE max(price)>'一次性纸杯'

B. SELECT * FROM product WHERE price>(SELECT max(*) FROM product WHERE pName= '一次性纸杯')

 

C. SELECT * FROM product WHERE EXISTS pName='一次性纸杯'

D. SELECT * FROM product WHERE price>(SELECT max(price) FROM product WHERE pName='一次性纸杯')

解析:

AC:条件不明确

B:聚合函数sum为求和,必须包含数据包中的一列

优化MySchool总结习题的更多相关文章

  1. 优化MySchool数据库设计之【巅峰对决】

    优化MySchool数据库设计 之独孤九剑 船舶停靠在港湾是很安全的,但这不是造船的目的 By:北大青鸟五道口原玉明老师 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识 ...

  2. 优化MySchool数据库设计总结

    数据库的设计   一:什么是数据库设计? 数据库设计就是将数据库中的数据实体以及这些数据实体之间的关系,进行规范和结构化的过程. 二:为什么要实施数据库设计? 1:良好的数据库设计可以有效的解决数据冗 ...

  3. 优化MySchool数据库(二)

    优化School数据库(TSQL建库建表建约束) 使用T_sql代码建库.建表.建约束: 建库: Create database HotelManagerSystem on ( ---- 数据文件-- ...

  4. 优化MySchool数据库(一)

    <优化MyShcool数据库>:能够的独立的分析|设计|创建|运营|你的独立的数据库系统 设计--->实现--->TSQL--->查询优化---->性能优化技术-- ...

  5. 优化MySchool数据库设计

    第一章 数据库的设计 1.E-R图中: 矩形:实体 椭圆:属性 菱形:关系 直线:连接实体,属性和关系 2.映射基数 一对多 多对一 多对多 3.范式: 第一范式:确保每列的原子性 第二范式:确保表中 ...

  6. 优化MySchool数据库总结

  7. 优化MySchool数据库(存储过程)

    什么是“存储过程”: ---- 数据库中,用于存储“业务逻辑”的技术!(T-SQL代码当做数据一样保存到数据可) 语法 : [if exists(select * from sysobjects wh ...

  8. 优化MySchool数据库(事务、视图、索引)

    事务.视图.索引: 事务:当生活逻辑中的“一个步骤”,需要使用多条SQL去完成时,必须使用事务来确保其“完整性“. 视图:简化数据库结构,方便你编写SQL语句(简化SQL语句的编写) 索引:提高“数据 ...

  9. 优化MySchool数据库(四)

    关于“无法附件数据库”过程的遇到的问题: 1.数据文件本身,具有访问权限的限制 ---- 选中 数据库文件所在的文件夹---->右键菜单(属性)----> 安全 --->User用户 ...

随机推荐

  1. Servlet中的GET和POST之间的区别

    自己的感悟: get和post这是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串.post的 ...

  2. 利用canvas实现抽奖转盘---转载别人的

    功能需求 转盘要美观,转动效果流畅. 转盘上需要显示奖品图片,并且奖品是后台读取的照片和名字. 转动动画完成后要有相应提示. 获取的奖品具体算法在数据库里操作,前端只提供最后的效果展示.   知识要点 ...

  3. app分享时判断手机是否已安装微信或QQ客户端

    /** * 判断 用户是否安装微信客户端 */ public static boolean isWeixinAvilible(Context context) { final PackageManag ...

  4. 【设计模式】MVC模式

    MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式.这种模式用于应用程序的分层开发. Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO.它 ...

  5. 浏览器 - Firefox开发者附加组件

    Firefox开发者版本下载地址: https://www.mozilla.org/zh-CN/firefox/channel/desktop/#developer 教程: https://devel ...

  6. java出错

    某天cmd运行java突然莫名其妙的出错:(之前还好好的) Error occurred during initialization of VMjava/lang/NoClassDefFoundErr ...

  7. 常用eclipse 快捷键

    Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...

  8. express-11 表单处理(2)

    处理AJAX表单 用Express处理AJAX表单非常简单:甚至可以使用相同的处理程序来处理AJAX请求和常规的浏览器回退. HTML文件 (/views/newsletter.handlebars) ...

  9. 手持终端PDA应用固定资产管理系统(资产查询 盘点)软件程序系统

    一.产品概述 固定资产管理系统,是针对企事业单位内部资产管理中出现的工作量大.过程繁琐.追踪困难等一系列难题开发的一套先进管理软件.软件实现了对资产的多种方式管理,目前包括条形码.二维码.RFID管理 ...

  10. http://chenzhou123520.iteye.com/blog/1811340

    http://chenzhou123520.iteye.com/blog/1811340