• 数据库3、4、5章作业


    做以记录与分享

    第3,4,5章作业.xls

    题量: 38 满分: 100

    一. 单选题(共38题)

    1. (单选题)关于视图的属性列有如下说法,正确的说法是( )。

    • A. 组成视图的属性列名或者全部省略或者全部指定,别无选择
    • B. 组成视图的属性列名应该全部指定
    • C. 组成视图的属性列名应该全部省略
    • D. 组成视图的属性列名可以省略一部分或者指定一部分,其他隐含在子查询中

    我的答案: A :组成视图的属性列名或者全部省略或者全部指定,别无选择;

    2. (单选题)在关系数据库中,通常将能唯一标识元组的属性或最小属性组称为( )。

    • A. 索引
    • B. 主键
    • C. 字段
    • D. 标记

    我的答案: B :主键;

    3. (单选题)从SQL数据库的体系结构来看,用户可以用SQL语言的语句,对( )和基本表进行查询等操作。

    • A. 存储文件
    • B. 光标
    • C. 库文件
    • D. 视图

    我的答案: D :视图;

    4. (单选题)下列关于子查询的说法不正确的是( )。

    • A. 子查询总是在外部查询之后进行
    • B. 子查询可以嵌套多层
    • C. 子查询的结果是包含零个或多个元组的集合
    • D. 子查询可以向外部查询提供查询的条件值

    我的答案: A :子查询总是在外部查询之后进行;

    5. (单选题)在视图上一定不能完成的操作是( )。

    • A. 更新数据
    • B. 在视图上定义新的视图
    • C. 在视图上定义新的基本表
    • D. 查询数据

    我的答案: C :在视图上定义新的基本表;

    6. (单选题)设关系模式SCG(S#,C#,Grade)中,S#为学生学号,C#为课程号,Grade为某学号学生某号课程的考试成绩。要查询每门课程的平均成绩,且要求查询的结果按课程号降序排列,则用SQL语句应为( )。

    • A. Select C#, AVG(Grade) from SCG Group by C# Order by C# Desc
    • B. Select C#, AVG(Grade) from SCG Group by Grade Order by Desc C#
    • C. Select C#, AVG(Grade) from SCG Group by C# Order by Desc C#
    • D. Select C#, AVG(Grade) from SCG Group by Grade Order by C# Desc

    我的答案: A :Select C#, AVG(Grade) from SCG Group by C# Order by C# Desc;

    7. (单选题)请判断“如果新的视图是建立在老的视图基础上的,那么当老的视图被删除时,建立在它的基础上的新的视图也被删除”。

    • A. 错误
    • B. 正确

    我的答案: A :错误;

    8. (单选题)学生表S(S#,SN,SEX,AGE,DEPT)、课程表C(C#,CN)和学生选课表SC(S#,C#,GRADE),其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩(为tinyint类型)。检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是( )。

    • A. SELECT S# FROM SC WHERE C#=’C2’ AND GRADE IN (SELECT GRADE FROM SC WHERE C#=’C2’)
    • B. SELECT S# FROM SC WHERE C#=’C2’ AND GRADE= (SELECT max(GRADE) FROM SC WHERE C#=’C2’)
    • C. SELECT S# FROM SC WHERE C#=’C2’ AND GRADE NOT IN (SELECT GRADE FROM SC WHERE C#=’C2’)
    • D. SELECT S# FROM SC WHERE C#=’C2’ AND GRADE>= (SELECT GRADE FROM SC WHERE C#=’C2’)

    我的答案: B :SELECT S# FROM SC WHERE C#=’C2’ AND GRADE= (SELECT max(GRADE) FROM SC WHERE C#=’C2’);

    9. (单选题)SQL语言是( )语言。

    • A. 层次数据库
    • B. 网络数据库
    • C. 关系数据库
    • D. 非数据库

    我的答案: C :关系数据库;

    10. (单选题)在分组查询中,要去掉不满足条件的分组,则( )。

    • A. 先使用WHERE子句,再使用HAVING子句
    • B. 使用HAVING子句
    • C. 使用WHERE子句
    • D. 先使用HAVING子句,再使用WHERE子句

    我的答案: B :使用HAVING子句;

    11. (单选题)关系型数据库语言SQL基本的使用方式有2种,一种方式为单独使用,此时被称为( )语言。

    • A. 交互式
    • B. 宿主
    • C. 解释式
    • D. 嵌入式

    我的答案: A :交互式;

    12. (单选题)假设GRADE是某关系中的一个属性,其值可以为NULL。在SQL中,下列涉及空值的操作,不正确的是( )。

    • A. GRADE IS NOT NULL
    • B. NOT (GRADE IS NULL)
    • C. GRADE=NULL
    • D. GRADE IS NULL

    我的答案: C :GRADE=NULL;

    13. (单选题)如果表中学生的学号信息长度固定,则采用( )类型最为合适。

    • A. varchar
    • B. int
    • C. char
    • D. tinyint

    我的答案: C :char;

    14. (单选题)关于WHERE子句说法正确的是( )。

    • A. 它是条件子句,不能再包含查询子句
    • B. 在查询语句中,不是必须包括WHERE子句
    • C. WHERE子句中可以有统计函数
    • D. WHERE子句还可以嵌套查询子句,但嵌套层次不能超过3层

    我的答案: B :在查询语句中,不是必须包括WHERE子句;

    15. (单选题)若用SQL语句创建一个student表:CREATE TABLE student ( NO Char(4) NOT NULL, NAME Char(8) NOT NULL, SEX Char(2), AGE tinyint )。可以插入到student表中的是( )。

    • A. (NULL,’曾华’,’男’,’23’)
    • B. (’1031’,’曾华’,’男’,’23’)
    • C. (’1031’,’曾华’,NULL,NULL)
    • D. (’1031’,NULL,’男’,23)

    我的答案: C :(’1031’,’曾华’,NULL,NULL);

    16. (单选题)学生表S(S#,SN,SEX,AGE,DEPT)、课程表C(C#,CN)和学生选课表SC(S#,C#,GRADE),其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩(为tinyint类型)。检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是( )。

    • A. SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=’王华’)
    • B. SELECT SN, AGE, SEX FROM S WHERE SN=’王华’
    • C. SELECT SN, AGE, SEX FROM S WHERE AGE>王华.AGE
    • D. SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=’王华’)

    我的答案: A :SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=’王华’);

    17. (单选题)SQL语言的语句中,最核心的语句是( )。

    • A. 插入语句
    • B. 创建语句
    • C. 查询语句
    • D. 删除语句

    我的答案: C :查询语句;

    18. (单选题)若要删除数据库中已存在的关系Student,可用( )。

    • A. DROP Student
    • B. DELETE Student
    • C. DELETE TABLE Student
    • D. DROP TABLE Student

    我的答案: D :DROP TABLE Student;

    19. (单选题)设关系数据库中一个关系Student(Sno CHAR(6) NOT NULL UNIQUE, Sname VARCHAR(8), Grade float),若要在Student中增加一列CName(课程名),可用( )。

    • A. ALTER TABLE Student (ADD CName CHAR(8))
    • B. ALTER TABLE Student ADD (CName CHAR(8))
    • C. ADD TABLE Student(CName CHAR(8))
    • D. ADD TABLE Student ALTER (CName CHAR(8))

    我的答案: B :ALTER TABLE Student ADD (CName CHAR(8));

    20. (单选题)SQL语言中,实现数据检索的语句是( )。

    • A. UPDATE
    • B. SELECT
    • C. INSERT
    • D. DELETE

    我的答案: B :SELECT;

    21. (单选题)若某非主属性的值暂时不能确定也允许将其存入数据库,可将未定值用( )来代替。

    • A. ANY
    • B. ALL
    • C. NULL
    • D. NOT NULL

    我的答案: C :NULL;

    22. (单选题)视图创建完毕后,数据字典中存放的是( )。

    • A. 所应用的基本表的定义
    • B. 视图定义
    • C. 查询结果
    • D. 查询语句

    我的答案: B :视图定义;

    23. (单选题)学生表S(S#,SN,SEX,AGE,DEPT)、课程表C(C#,CN)和学生选课表SC(S#,C#,GRADE),其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩(为tinyint类型)。检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是( )。

    • A. SELECT S.SN, SC.C#, SC.GRADE FROM SC WHERE S.S#=SC.GRADE
    • B. SELECT S.SN, SC.C#, SC.GRADE FROM S JOIN SC ON S.S#=SC.S#
    • C. SELECT S.SN, SC.C#, SC.GRADE FROM S WHERE S.S#=SC.S#
    • D. SELECT S.SN, SC.C#, SC.GRADE FROM S, SC

    我的答案: B :SELECT S.SN, SC.C#, SC.GRADE FROM S JOIN SC ON S.S#=SC.S#;

    24. (单选题)SELECT语句中与HAVING子句同时使用的是( )子句。

    • A. GROUP BY
    • B. LIMIT
    • C. ORDER BY
    • D. WHERE

    我的答案: A :GROUP BY;

    25. (单选题)在关系数据库中,只存放视图的( )而不存放视图( ),视图是一个( )。

    • A. 定义;对应的数据;实表
    • B. 对应的数据;定义;实表
    • C. 对应的数据;定义;虚表
    • D. 定义;对应的数据;虚表

    我的答案: D :定义;对应的数据;虚表;

    26. (单选题)在基本SQL语言中,下面不能实现的是( )。

    • A. 修改基本表结构
    • B. 定义基本表
    • C. 并发控制
    • D. 查询视图或基本表

    我的答案: C :并发控制;

    27. (单选题)关于视图,下列说法正确的是( )。

    • A. 属于外模式
    • B. 属于概念模式
    • C. 属于内模式
    • D. 是基本表

    我的答案: A :属于外模式;

    28. (单选题)学生表S(S#,SN,SEX,AGE,DEPT)、课程表C(C#,CN)和学生选课表SC(S#,C#,GRADE),其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩(为tinyint类型)。检索学生姓名的选课情况(包括未选课)。正确的SELECT语句是( )。

    • A. SELECT S.SN, SC.C# FROM S RIGHT JOIN SC ON S.S#=SC.S#
    • B. SELECT S.SN, SC.C# FROM SC WHERE S.S#=SC.GRADE
    • C. SELECT S.SN, SC.C# FROM S JOIN SC ON S.S#=SC.S#
    • D. SELECT S.SN, SC.C# FROM S LEFT JOIN SC ON S.S#=SC.S#

    我的答案: D :SELECT S.SN, SC.C# FROM S LEFT JOIN SC ON S.S#=SC.S#;

    29. (单选题)假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系( )。

    • A. S
    • B. S,SC
    • C. S,C,SC
    • D. SC,C

    我的答案: C :S,C,SC;

    30. (单选题)用SQL语言定义基本表时,下列()类型必需定义长度。

    • A. text
    • B. varchar
    • C. float
    • D. int

    我的答案: B :varchar;

    31. (单选题)设关系模式SCG(S#,C#,Grade)中,S#为学生学号,C#为课程号,Grade为某学号学生某号课程的考试成绩。若要把“201721110001学生的C05号课程85分”插入SCG中,则可用( )。

    • A. INSERT INTO SCG VALUES ('201721110001','C05',85)
    • B. ALTER SCG ADD VALUES ('201721110001','C05',85)
    • C. ADD INTO SCG VALUES ('201721110001','C05',85)
    • D. UPDATE SCG ADD VALUES ('201721110001','C05',85)

    我的答案: A :INSERT INTO SCG VALUES ('201721110001','C05',85);

    32. (单选题)SELECT语句执行的结果是( )。

    • A. 表
    • B. 视图
    • C. 数据项
    • D. 元组

    我的答案: A :表;

    33. (单选题)WHERE子句的条件表达式中,可以匹配单个字符的通配符和0个到多个字符的通配符分别是( )。

    • A. ?和%
    • B. _和*
    • C. _和%
    • D. ?和*

    我的答案: C :_和%;

    34. (单选题)在下列的( )情况下必须明确指定组成视图的所有属性列名。(1)某个目标列不是单纯的属性名,而是集函数或列表达式;(2)多表连接时选出了几个同名列作为视图的字段;(3)需要在视图中为某个列启用新的更合适的名字。

    • A. (2)(3)
    • B. (1)(2)(3)
    • C. (1)(3)
    • D. (1)(2)

    我的答案: B :(1)(2)(3);

    35. (单选题)设关系模式SCG(S#,C#,Grade)中,S#为学生学号,C#为课程号,Grade为某学号学生某号课程的考试成绩。若要把“201721110001学生的C05号课程改为85分”,则可用( )。

    • A. UPDATE Grade=85 Where S#='201721110001' AND C#='C05'
    • B. ALTER Grade=85 Where S#='201721110001' AND C#='C05'
    • C. UPDATE SCG SET Grade=85 Where S#='201721110001' AND C#='C05'
    • D. ALTER SCG SET Grade=85 Where S#='201721110001' AND C#='C05'

    我的答案: C :UPDATE SCG SET Grade=85 Where S#='201721110001' AND C#='C05';

    36. (单选题)“年龄在18-25之间”这种约束属于数据库系统的( )措施。

    • A. 隔离性
    • B. 一致性
    • C. 完整性
    • D. 原子性

    我的答案: C :完整性;

    37. (单选题)SQL语言是( )的语言,易学习。

    • A. 导航式
    • B. 非过程化
    • C. 格式化
    • D. 过程化

    我的答案: B :非过程化;

    38. (单选题)下列SQL语句中,修改表结构的是( )。

    • A. INSERT
    • B. UPDATE
    • C. ALTER
    • D. CREATE

    我的答案: C :ALTER;

  • 相关阅读:
    promise用法
    tidb-系统内核调优及对比
    猿创征文 | 2023年必须掌握的DevOps工具推荐(一)
    社群用户不活跃怎么办?教你几招
    致敬逆行者网页设计作品 大学生抗疫感动专题网页设计作业模板 疫情感动人物静态HTML网页模板下载
    深拷贝浅拷贝的区别?如何实现一个深浅拷贝(非常详细哦)
    来自一位资深程序员的忠告
    使用 FFmpeg 将视频转换为 GIF 动画的技巧
    Worthington用于细胞收获的胰蛋白酶&细胞释放程序
    3.1 C++高级编程_抽象类_概念
  • 原文地址:https://blog.csdn.net/m0_74000148/article/details/133892242