• 优化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 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为求和,必须包含数据包中的一列

  • 相关阅读:
    606. Construct String from Binary Tree
    696. Count Binary Substrings
    POJ 3255 Roadblocks (次短路)
    POJ 2823 Sliding Window (单调队列)
    POJ 1704 Georgia and Bob (博弈)
    UVa 1663 Purifying Machine (二分匹配)
    UVa 10801 Lift Hopping (Dijkstra)
    POJ 3281 Dining (网络流之最大流)
    UVa 11100 The Trip, 2007 (题意+贪心)
    UVaLive 4254 Processor (二分+优先队列)
  • 原文地址:https://www.cnblogs.com/zhangkeyu/p/6657701.html
Copyright © 2020-2023  润新知