《MySchool数据库设计优化》内部测试
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 transaction 语句之后的所有更新数据都回滚到初始状态
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 //小于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中,下面关于子查询的说法你认为正确的是( C )。
A. 应用简单子查询的SQL语句的执行效率比采用SQL变量的实现方案要低
B. 带子查询的查询执行顺序是,先执行父查询,再执行子查询
C. 表连接一般都可以用子查询替换,但有的子查询不能用表连接替换
D. 如果一个子查询语句一次返回二个字段的值,那么父查询的where子句中应该使用NOT EXISTS关键字
10) 在SQL SERVER中,按以下要求创建学员表正确的SQL语句是(D )。
学员表(stuTable)的要求是:学号为5位数字,自动编号;姓名最多为4个汉字,身份证号码最多为18位数字。
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)
)
解析:D: identity:自增 numberic(18,0)指身份证号码最多为18位数字,varchar(8) 姓名最多为4个汉字 条件满足
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,就重复执行循环语句
解析:
B:在SQL中 if-else条件语句中 语句块使用begin-end括起来
C:case多分支语句中可出现else 作为条件
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:查询的是最高价格的产品,并非所有的。因此错误
转载于:https://www.cnblogs.com/WJ-163/p/5295939.html
《MySchool数据库设计优化》内部测试相关推荐
- 优化MySchool数据库设计(SQL Server)
优化MySchool数据库设计 学东西要学活学透,用对方能理解的方式讲解(最好以贴近生活的方式讲解)怎么用 编程思维:用空间换时间 项目的开发包括以下几个阶段: 需求分析:分析客户的业务和数据处理需 ...
- 数据库设计优化(来自十年经验架构师的课堂)
昨天听了一节公开课,上课的人是一个有十年左右开发经验的架构师,讲的是数据库的设计优化以及SQL语句优化,讲的很浅显易懂,在这里先把数据库设计优化分享给大家. 1.适度违反范式. 如果严格遵循三大范式, ...
- S2--《优化MySchool数据库设计》总结
第一章 数据库的设计 1.1 数据库设计 数据库中创建的数据库结构的种类,以及在数据实体之间建立的复杂关系是决定数据库系统效率的重要因素. 糟糕的数据库设计表现在以下两个方面: *效率低下 * ...
- 数据库设计优化经验谈(转载)
慎用游标(Cursor) 游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作.而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个 ...
- 熟悉mysql数据库设计和性能优化_Mysql数据库性能优化
Mysql数据库性能优化,可以从下面三点入手: 数据库设计 SQL语句优化 架构优化 一.数据库设计优化 1.适度的违反范式,适度 遵循三大范式就会带来查询时经常需要join,导致查询效率降低 ...
- Java面试题——数据库的优化
数据库优化是指通过对数据库系统进行适当的配置和监控,以及对数据库设计.查询和操作等方面进行优化,从而提高数据库系统的性能.可用性和可扩展性.具体来说,可以从以下几个方面入手进行数据库优化: 数据库设计 ...
- SQL Server 数据库性能优化
对一个数据库来说,只能做到更优,不可能最优,并且根据实际需要,优化方案也是有所差异的,大概需要我们关心的有它的读取速度.存储空间.可维护性以及可扩展性等,而这些方面往往又是相互矛盾的,那么本文就着重讲 ...
- 后端思维之数据库性能优化方案
前言 毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问题.如果我们有一套成熟的方法论,能让大家快速.准确的去选择出合适的优化方案,我相 ...
- 8大数据库性能优化方案,YYDS
目录 前言 为什么数据库会慢? 应该站在哪个层面思考优化? 八大方案总结 结束 前言 毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问 ...
最新文章
- win7能用的matlab,win7环境下使用matlab7.0(R14)方法
- python 字典去除空值
- 集成显卡+独立显卡实现三屏显示
- 关于jQuery获取Action返回的JSON数据 项目真实案例 记录(Struts2)
- python多线程多进程多协程_python 多进程、多线程、协程
- java如何实例化集合_如何在java中实例化一个Queue对象?
- linux 查看软连接的源头,linux 软连接怎么查看原始地址
- linux常用命令之文件管理
- Linux system函数返回值
- 基于SOC方案的嵌入式开发-远程定时设备
- 七年师大,青春永不毕业
- mysql比较两个表中count_mysql两个表统计查询问题?
- Egret入门学习日记 --- 第十八篇(书中 8.5~8.7 节 内容)
- Java appium iOS_Appium+iOS环境搭建
- 304.二维区域和检索-矩阵不可变
- 计算机地址输入法教案,计算机教案(输入法
- 使用函数求余弦函数的近似值
- python 基于smb通信协议实现NAS服务器文件上传和下载
- 学而思网校怎么查看回放 学而思网校查看回放教程
- 利用android开源库android-gif-drawable加载gif格式图片