数据库系统原理例题之——SQL 与关系数据库基本操作

SQL 与关系数据库基本操作

  • 第四章 SQL 与关系数据库基本操作
    • 【例题】
      • 一 、单选题
      • 二 、填空题
      • 三 、简答题
      • 四 、设计题
    • 【答案&解析】
      • 一、单选题
      • 二、填空题
      • 三、简答题
      • 四、设计题
    • 【延伸知识点】
    • 【延伸知识点答案&解析】

第四章 SQL 与关系数据库基本操作

【例题】

一 、单选题

30.颁布 SQL2 标准的年份是( )
A.1982 年 B.1987 年 C.1989 年 D.1992 年

31.下列说法错误的是( )
A.SQL 是 1974 年由 Boyce 和 Chamberlin 提出的
B.SQL 在 1974 年成为国际标准的
C.SQL 是基于 System R 上实现的
D.SQL 标准不断地被丰富修正

32.可用于删除数据库对象的 SQL 语句( )
A.DELETE B.UPDATE C.DROP D.ALTER

33.在 MySQL 中, ENCODE()函数是( )
A.数学函数 B.加密函数 C.字符串函数 D.格式化函数

34.在 MySQL 中 ,用于修改已被创建数据库的语句是( )
A.DROP DATABASE B.SELECT DATABASE
C.ALTER DATABASE D.OPEN DATABASE

35.在 SQL 语言中 ,用于查看表中索引的语句是( )
A.SHOW INDEX B.LOOK INDEX
C.CREATE INDEX D.ALTER INDEX

二 、填空题

36.在 MySQL 中 ,___________ 值通常用于表示“没有值 ”、“无数据 ”等意义。

37.在 MySQL 中 ,变量名称前添加两个“@ ”符号的是 ________ 变量 。

38.在数据库中 ,查看表包括显示表的名称和显示表的_____________ 两种情形 。

39.从一个或几个基本表导出的表 ,其本身不独立存储在数据库中称为 _________ 。

三 、简答题

40.简述数据定义语言的功能及其包括的主要 SQL 语句 。

四 、设计题

41.某学生社团管理系统的数据库包含如下三个关系表:
学生(学号 ,姓名 ,年龄 ,性别 ,所在系)
协会(协会编号 ,协会名 ,办公地点 ,负责人)
入会(学号 ,协会编号 ,入会日期)
实现下列操作:
(1)使用关系代数查询“科技 ”协会的信息。

(2)使用关系代数查询学生的学号 ,姓名和所在系。

(3)使用 SQL 语句查询每个相同协会的入会学生数 ,并按学生数降序排列 。

(4)使用 SQL 语句查询加入协会编号为“XH4 ”的学号 、姓名和所在系 。

(5)使用 SQL 语句将“ 自愿者 ”协会的办公地点改为“ F109 ”。

【答案&解析】

一、单选题

30.【考点】SQL 的发展
答案: D
解析:SQL 标准的发展历程如下所示:
( 1 )1989:SQL-89
( 2 )1992:SQL-92(或称为 SQL2 )
( 3 )1999: SQL-99(或称为 SQL3 )
故本题选 D。

31.【考点】SQL 的发展
答案: B
解析: SQL 是于 1974 年由 Boyce 和 Chamberlin 提出的 , 并在 IBM 公司研制的关系数椐库管理系统原型 System R 上实现 。故 AC 正确 。最早的 SQL标准是 1986 年 10 月由美国国家标准局颁布的 。随后 , 国际化 标准组织于 1987 年 6 月也正式采纳它为国际标准 , 并在此基础上进行了补充 ,且于 1989 年 4 月 ISO 提出 了具有完整性特征的 SQL ,称之为 SQL-89 。故 B 错误 。而后 ,在 SQL-89 的基础上 ,SQL 标准得到不断 地丰富与修订 ,1992 年颁布的标准 SQL-92 , 以及 1999 年颁布的 SQL-99 。故 D 正确。

32.【考点】数据定义语言、数据操纵语言
答案: C
解析:对数据库及数据库中的各种对象进行操作的 SQL 语句:
( 1 )CREATE:用于创建数据库或数据库对象。
( 2 )ALTER:用于对数据库或数据库对象进行修改。
( 3 )DROP:用于删除数据库或数据库对象 。
故本题选 C。

【拓展】DELETE:用于从表或视图中删除数据 ,其中可根据条件删除指定的数据。

33.【考点】MySQL 中的 SQL
答案: B
解析: 内置函数:
(1) 数学函数 ,例如 ABS()函数、SORT()函数;
(2) 聚合函数 ,例如 COUNT()函数;
(3) 字符串函数 ,例如 ASCII()函数、CHAR()函数;
(4) 日期和时间函数 ,例如 NOW()函数、YEAR()函数;
(5) 加密函数 ,例如 ENCODE()函数、ENCRYPT()函数;
(6) 控制流程函数 ,例如 IF()函数、IFNULL()函数;
(7) 格式化函数 ,例如 FORMAT()函数;
(8) 类型转换函数 ,例如 CAST()函数;
(9) 系统信息函数 ,例如 USER()函数、VERSION()函数。
故本题选 B。

34.【考点】修改数据库
答案: C
解析:破题点:本题可从“修改 ”入手。
数据库操作的关键字:
(1) 创建数据库 CREATE DATABASE 或 CREATE SCHEMA
(2) 选择数据库 USE
(3) 修改数据库 ALTER DATABASE 或 ALTER SCHEMA
(4) 删除数据库 DROP DATABASE 或 DROP SCHEMA
(5) 查看数据库 SHOW DATABASES 或 SHOW SCHEMAS
故本题选 C。

35.【考点】索引的查看
答案:A
解析: CREATE INDEX —— 专门用于创建索引 SHOW INDEX —— 查看索引 ALTER INDEX 和 DROP INDEX——用于删除索引
B 为干扰项 ,故本题选 A。

二、填空题

36.【考点】MySQL 中的 SQL
答案: NULL
解析: 或空值 NULL 值通常用于表示“没有值” 、“无数据 ”等意义 ,与数字类型的“0 ”或字符串类型的 空字符串是完全不同的。

【拓展】布尔值的两个值:TRUE(数字值 1 )和 FALSE(数字值 0 )。

37.【考点】MySQL 中的 SQL
答案: 系统
解析: 变量分为:
( 1 )用户变量:在使用时 ,用户变量前常添加一个符号“@ ”用于将其与列名区分开 。
( 2 )系统变量: 大多数系统变量应用于其他 SQL 语句中时 ,必须在系统变量名称前添加两个“@ ”符号。

38.【考点】查看表
答案: 结构
解析: 查看表:
( 1 )显示表的名称:SHOW TABLES
( 2 )显示表的结构:SHOW COLUMNS

39.【考点】视图
答案:视图
解析:视图是从一个或多个表或者其他视图中通过查询语句导出的表。
视图与基本表的区别:
( 1 )视图不是数据库中真实的表 , 而是一张虚拟表。
( 2 )视图的内容是由存储在数据库中进行查询操作的 SQL 语句来定义的,它的列数据与行数据均来自于定 义视图的查询所引用的真实表 ,并且这些数据是在引用视图时动态生成的。
( 3 )视图不是以数据集的形式存储在数据库中 ,它所对应的数据实际上是存储在视图所引用的真实表中。
( 4 )视图是用来查看存储在别处的数据的一种虚拟表 , 而其自身并不存储数据。

三、简答题

40.【考点】数据定义语言(Data Definition Language ,DDL )
答案:数据定义语言主要用于对数据库及数据库中的各种对象进行创建、删除、修改等操作 。包括 SQL 语 句有:
1.CREATE:用于创建数据库或数据库对象。
2.ALTER:用于对数据库或数据库对象进行修改。
3.DROP:用于删除数据库或数据库对象。
解析: 功能:对对象进行创建、删除、修改等操作 SQL 语句:创建( CREATE )、删除(DROP) 、修改 ( ALTER )

四、设计题

41.( 1 )【考点】关系代数
答案: σ协会名=‘科技 ’(协会)
解析:选择( SELECT ):从指定关系中选取满足给定条件的若干元组组成的一个新关系 。选择表示为: σ F ® ,其中 ,F 为条件表达式 ,R 为指定的被运算关系名 。因为要查询“科技”协会的信息 ,所以选择运算
中的条件表达式是协会名= ’科技 ’,协会名在协会关系中 ,故查询的表是协会。

【技巧: 先确定结果要的是行还是列 ,再确定用什么关系代数 ,最后列出筛选条件和表名 。 】

( 2 )【考点】关系代数
答案: π学号,姓名,所在系(学生)
解析:投影( PROJECTION ):指从指定的关系中选取指定的若干属性值组成一个新关系 。投影表示为: πA( R ),其中 ,R 为被运算关系名 ,A 为属性序列 。 因为要查询学生的学号 ,姓名和所在系 ,所以投影
运算中的属性序列是学号 ,姓名和所在系 , 学号 ,姓名和所在系都在学生关系中 ,故查询的表是学生。

【技巧: 先确定结果要的是行还是列 ,再确定用什么关系代 ,最后列出筛选条件和表名 】

( 3 )【考点】SELECT 语句、GROUP BY 子句与分组数据、ORDER BY 子句
答案:

SELECT 协会编号,COUNT(*) AS ‘ 学生数 ’
FROM 入会
GROUP BY  协会编号
ORDER BY COUNT(*) DESC;

解析:在 MYSQL ,SELECT 语句的语法结构中,
( 1 )SELECT 子句用于指定输出的字段 , 即输出的字段为协会编号和学生数 ,其中学生数需要通过按协会 编号进行分组后 ,计算该协会编号的项数获得 , 即 COUNT(*); 且在SELECT 语句中添加 AS 子句到指定 的列名之后 , 以此来修改查询结果集中列的别名。
( 2 )FROM 子句用于指定数据的来源 ,因为协会编号和对应的学号都可以在入会表中获得,故查询的关系 是入会。
( 3 )GROUP BY 子句用于将结果集中的数据行根据选择列的值进行逻辑分组 ,即根据协会编号进行分组。 ORDER BY 子句用于输出排序顺序 。根据统计的学生数降序排列 。ASC 表示按升序排列 ,DESC 表示降序 排列 ,默认为 ASC 。降序排列可直接利用 DESC表示。

【第 3 小问一般考查普通的查询语句 ,常结合 GROUP BY、ORDER BY、HAVING、LIMIT 一起考查 。 】

( 4 )【考点】子查询
答案:

SELECT  学号,姓名,所在系FROM   学生
WHERE  学号  IN
(SELECT  学号  FROM   入会  WHERE    协会编号=‘XH4 ’);

解析: 因为是要查询加入协会编号为“XH4” 的学生的学号 、姓名 、所在系 ,所以可以利用子查询的方法 实现 ,先在关系表入会中查询协会编号是XH4 的学号 ,然后根据学号对关系表学生进行查询 ,即可查询出 加入协会编号为XH4 的学生的学号、姓名、所在系。

【第4 小问一般考查技巧查询 。常结合 WHERE 一起考查 。如子查询、比较运算、判定空值、嵌套查询等】

( 5 )【考点】修改数据
答案:

UPDATE 协会
SET  办公地点='F109'
WHERE 协会名=‘ 自愿者 ’;

解析:将“ 自愿者 ”协会的办公地点改为“ F109” , 即是对关系表协会进行数据修改。 ( 1 )使用 UPDATE 语句来修改更新一个表中数据 , 实现对表中数据进行修改。
( 2 )SET 子句用于指定表中要修改的列名及其列值 ,指定修改的列为“办公地点 ”。
( 3 )可选项 WHERE 子句用于限定表中要修改的行 , , 因为是将“ 自愿者 ”办公地点改为“ F109 ” ,所以 过滤条件为 WHERE 协会名=‘ 自愿者 ’。

【技巧:修改数据的关键字是: UPDATE+表名 SET+修改的列及值 WHERE+限定条件】

【延伸知识点】

1.有关 LAMP 构架方式描述错误的是( )
A.Linux 作为操作系统 B.Apache 作为 Web 服务器
C.MySQL 作为数据库管理系统 D.PowerShell 语言作为服务器脚本解释器

2.MySQL 中一个关系对应的基本表数量是()
A.1 个 B.2 个 C.3 个 D. 多个

3.模式、外模式和内模式中的基本对象不包括()
A.视图 B.索引 C.数据库模式 D.行列式

4.创建索引有三种方式 ,不包括()
A.使用 CREATE INDEX 语句创建索引 B.使用 CREATE TABLE 语句创建索引
C.使用 SHOW INDEX 语句创建索引 D.使用 ALTER TABLE 语句创建索引

5.在 SQL 语句中 ,用于过滤分组的子句是( )
A.HAVING B.LIMIT C.GROUP D.ORDER

6.MySQL 增加了部分扩展的语言要素: 包括常量、变量、运算符、 ________ 、函数、流程控制语句和注解等。

7.在 MySQL 中 ,选择数据库的使用语法是: " ________ db_name;"

8.在创建表的 CREATE TABLE 语句中 ,若添加可选项“TEMPORARY” 关键字 ,则表示使用该语句创建 的表为_________ 。

9.SQL 的特点有哪些?

【延伸知识点答案&解析】

1.答案: D
在这里插入图片描述

解析:
注意“错误 ”的是 ,故本题选 D。

2.【考点】MySQL 中的 SQL
答案:A
解析:基本表是本身独立存在的表 ,MySQL 中一个关系对应一个基本表 ,一个或多个基本表对应一个存储 文件 ,一个表可以有若干索引 ,索引也存放在存储文件中 。视图是从一个或几个基本表导出的表。

3.【考点】数据定义
答案: D
解析: 关系数据库系统支持三级模式结构 ,其模式、外模式和内模式中的基本对象有数据库模式、表、索 引、视图等。

4.【考点】索引的创建
答案: C
解析:
( 1 )索引的创建:

CREATE INDEX: 专门用于创建索引
CREATE TABLE:在创建表的同时一起创建索引( INDEX |KEYALTER TABLE:修改表的同时 ,可以向已有的表中添加索引( ADD INDEX

( 2 )索引的查看:SHOW INDEX
注意: “不包括” ,故本题选 C。

5.【考点】SELECT 语句
答案:A
解析:SQL 语句中各个字句的功能如下所示:
( 1 )SELECT: 指定输出的列或表达式(必需)
( 2 )FROM 子句:用于指定数据的来源(必需)
( 3 )WHERE 子句:用于指定数据的选择条件 ,行级过滤
( 4 )GROUP BY 子句:用于对检索到的记录进行分组
( 5 )HAVING 子句:用于指定组的选择条件 ,组级过滤
( 6 )ORDER BY 子句:用于对查询的结果进行排序
( 7 )LIMIT 子句:用于限制被 SELECT 语句返回的行数故本题选 A。

6.【考点】MySQL 中的 SQL
答案:表达式
解析:为方便用户编程,MySQL 在 SQL 标准的基础上增加了部分扩展的语言要素:包括常量、变量、运算 符、表达式、函数、流程控制语句和注解等。

7.【考点】选择数据库
答案: USE
解析:破题点:本题可从“选择 ”入手 。此知识点易与数据库的其他操作混淆:
数据库模式定义
( 1 )创建数据库: CREATE DATABASE 或 CREATE SCHEMA
( 2 )选择数据库: USE
( 3 )修改数据库:ALTER DATABASE 或 ALTER SCHEMA
( 4 )删除数据库: DROP DATABASE 或 DROP SCHEMA
( 5 )查看数据库:SHOW DATABASES 或 SHOW SCHEMAS

8.【考点】创建表
答案: 临时表
解析:破题点:本题可从“TEMPORARY”入手。
创建表( CREATE TABLE )的相关操作
( 1 )TEMPORARY:使用该语句创建的表为临时表 , 而若不选用该关键字创建的表则为持久表
( 2 )AUTO_INCREMENT: 为表中数据类型为整型的列设置自增属性
( 3 )DEFAULT: 为列指定默认值
( 4 )NULL 值: 没有值或缺值
( 5 )PRIMARY KEY:指定主键(唯一且不能为空)

9.【考点】SQL 的特点
答案:SQL 具有如下特点:
1.SQL 不是某个特定数据库供应商专有的语言 。
2.SQL 简单易学 。
3.SQL 尽管看 上去很简单 ,但它实际上是一种强有力的语言 ,灵活使用其语言元素 ,可以进行非常复杂和高级的数据库操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2659371.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

openmediavault(OMV) (19)云相册(3)mt-photos

简介 MT Photos是一款为Nas用户量身打造的照片管理系统。通过AI技术,自动将您的照片整理、分类,包括但不限于时间、地点、人物、照片类型。可以在任何支持Docker的系统中运行它。详情可查看mtmt.tech官网,mt-photos是付费订阅使用的,也可以一次性付费永久使用,具体使用mt…

关于MySQL、分布式系统、SpringCloud面试题

前言 之前为了准备面试,收集整理了一些面试题。 本篇文章更新时间2023年12月27日。 最新的内容可以看我的原文:https://www.yuque.com/wfzx/ninzck/cbf0cxkrr6s1kniv MySQL 索引 说一下有哪些锁? 行锁有哪些? 性能优化 分库分表…

【Redis】八、哨兵模式

文章目录 一、概述这里的哨兵有两个作用多个哨兵 二、哨兵测试1、配置哨兵配置文件 sentinel.conf2、启动哨兵3、断开Master节点 三、哨兵模式优点:缺点: 哨兵模式的全部配置 参考:狂神说Java bilibili哨兵模式 一、概述 自动选取老大的模式…

免费获取GPT-4的五种工具

不可否认,由OpenAI带来的GPT-4已是全球最受欢迎的、功能最强大的大语言模型(LLM)之一。大多数人都需要使用ChatGPT Plus的订阅服务去访问GPT-4。为此,他们通常需要每月支付20美元。那么问题来了,如果您不想每月有这笔支…

VuePress、VuePress-theme-hope 搭建个人博客 1【快速上手】 —— 防止踩坑篇

vuePress官网地址 👉 首页 | VuePress 手动安装 这一章节会帮助你从头搭建一个简单的 VuePress 文档网站。如果你想在一个现有项目中使用 VuePress 管理文档,从步骤 3 开始。 步骤 1: 创建并进入一个新目录 mkdir vuepress-starter cd vuepress-star…

处理urllib.request.urlopen报错UnicodeEncodeError:‘ascii‘

参考:[Python3填坑之旅]一urllib模块网页爬虫访问中文网址出错 目录 一、报错内容 二、报错截图 三、解决方法 四、实例代码 五、运行截图 六、其他UnicodeEncodeError: ascii codec 问题 一、报错内容 UnicodeEncodeError: ascii codec cant encode charac…

CSP CCF 201509-2 日期计算 C++满分题解

解题思路&#xff1a; 1.用数组存入每个月份的天数&#xff0c;如果是闰年&#xff0c;2月份为29天&#xff0c;否则&#xff0c;2月份为28天。 2.判断是否是闰年 3.不断更新日期 #include<iostream> using namespace std;int main() {int y,d;cin>>y>>d;…

使用Python Flask搭建一个简单的Web站点并发布到公网上访问

文章目录 前言1. 安装部署Flask并制作SayHello问答界面2. 安装Cpolar内网穿透3. 配置Flask的问答界面公网访问地址4. 公网远程访问Flask的问答界面 前言 Flask是一个Python编写的Web微框架&#xff0c;让我们可以使用Python语言快速实现一个网站或Web服务&#xff0c;本期教程…

Java版商城:Spring Cloud+SpringBoot b2b2c电子商务平台,多商家入驻、直播带货及免 费 小程序商城搭建

随着互联网的快速发展&#xff0c;越来越多的企业开始注重数字化转型&#xff0c;以提升自身的竞争力和运营效率。在这个背景下&#xff0c;鸿鹄云商SAAS云产品应运而生&#xff0c;为企业提供了一种简单、高效、安全的数字化解决方案。 鸿鹄云商SAAS云产品是一种基于云计算的软…

HPM6750开发笔记《开发环境的搭建》

目录 一&#xff0c;下载完整的HPM—SDK 二&#xff0c;安装硬件驱动 二&#xff0c;软件激活 三&#xff0c;创建工程 1.用文档中给的方法创建工程&#xff1a; 2.用sdk_env_v1.3.0中提供的工具创建工程&#xff1a; 一&#xff0c;下载完整的HPM—SDK 下载网址&#x…

数据结构学习 Leetcode494 目标和

关键词&#xff1a;动态规划 01背包 dfs回溯 一个套路&#xff1a; 01背包&#xff1a;空间优化之后dp【target1】&#xff0c;遍历的时候要逆序遍历完全背包&#xff1a;空间优化之后dp【target1】&#xff0c;遍历的时候要正序遍历 题目&#xff1a; 解法一&#xff1a; …

Linux操作系统——进程(六) 进程地址空间

进程地址空间 C/C程序员一般将我们所写的程序看成如下这种结构&#xff1a; 我们所写的程序通过编译编译之后就可以以这样的方式进行分布. 我们先通过编写一段C语言代码来进行验证&#xff1a; 运行结果&#xff1a; 我们可以看出来上述地址遵循的就是我们上面画的一种结构。…

树莓派安装Nginx搭建web服务器结合内网穿透实现无公网IP远程访问本地站点

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx&#xff08;发音为“engine-x”&#xff09;可以将您的树莓派变成一个强大的 Web 服务器&#xff0c;可以用于托管网站或 Web 应用程序。相比其他 Web 服务器&#xff0c;Ngi…

数据分析-23--糖尿病预测(线性回归模型)(包含数据代码)

文章目录 0. 数据代码下载1. 项目介绍2. 数据处理1. 导入数据2. 处理数据 3. 建立模型4. 考察单个特征 0. 数据代码下载 关注公众号&#xff1a;『AI学习星球』 回复&#xff1a;糖尿病预测 即可获取数据下载。 算法学习、4对1辅导、论文辅导或核心期刊可以通过公众号或➕v&am…

【linux】touch的基本使用

碎碎念 刚接触linux时候的几个最基础的命令之一&#xff0c;用来创建文件。如果使用touch --help的时候会发现作者对于touch的简介&#xff1a;Update the access and modification times of each FILE to the current time.用于修改文件的访问和时间戳 带我的leader属于那种…

PDF控件Spire.PDF for .NET【安全】演示:修改加密PDF的密码

修改PDF文件的密码确实是一个理性的选择&#xff0c;尤其是当密码被某人知道并且您的PDF文件不再安全时。Spire.PDF for .NET使您能够用 C#、VB.NET 修改加密 PDF 文件的密码。您可以修改所有者密码和用户密码&#xff0c;并设置访问 PDF 文件时的用户限制。现在请看修改加密PD…

【软件工程大题】数据流图_DFD图_精简易上手

数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输人移动到输出的过程中所经受的变换。 首先给出一个数据流图样例 基本的四种图形 直角矩形:代表源点或终点,一般来说,是人,如例图的仓库管理员和采购员圆形(也可以画成圆角矩形):是处理,一般来说,是动作,是动词名词的形式…

关键字:static关键字

在 Java 编程语言中&#xff0c;static关键字有以下几种主要用法&#xff1a; 静态变量&#xff1a;使用static修饰的变量被称为静态变量。静态变量属于类级别&#xff0c;而不是属于类的实例。这意味着无论创建了多少个类的实例&#xff0c;只会有一个静态变量的副本被所有实…

【Spring Security】认证之案例的使用、MD5加密、CSRF防御

目录 一、引言 1、什么是SpringSecurity认证 2、为什么使用SpringSecurity之认证 3、实现步骤 二、快速实现&#xff08;案例&#xff09; 1、添加依赖 2、配置 3、导入数据表及相关代码 4、创建登录页及首页 5、创建配置Controller 6、用户认证 6.1、用户对象User…

如何用Python批量计算Word中的算式

一、问题的提出 到了期末&#xff0c;大家都在忙着写总结、改试卷、算工作量&#xff0c;写总结可以借助于ChatGPT&#xff0c;改试卷可以用星火的自动批阅功能&#xff0c;算工作量就是一项比较棘手的问题&#xff0c;因为它涉及很多算式&#xff0c;有时需要老师用计算器算来…