数据库相关习题整理02

概念题

  1. 数据库的概念模型独立于【具体的机器和DBMS
  2. 为了提供DB的逻辑独立性和物理独立性,DB的结构被划分为【用户级】【概念级】【存储级
  3. DBMS是【在OS支持下的系统软件
  4. 按使用的数据模型来分,DB可以分为【层次】【关系】【网状】三种模型。
  5. DBS3层结构的描述存放在【数据字典】中
  6. 逻辑模式】描述数据库中全体数据的全局逻辑结构和特征
  7. 数据操纵功能】实现对DB中的数据的查询、插入、修改和删除等操作
  8. 数据模型】是DBS的基础。
  9. 在DB技术中,实体-联系模型是一种【概念数据模型
  10. 在关系数据库设计中,设计关系模式是【逻辑设计阶段】的任务。
  11. 数据库三级模式体系结构的划分,有利于保持DB的【数据独立性
  12. 数据库三级模式体系结构的划分,有利于保持DB的【数据独立性(物理和逻辑)
  13. 在DB中产生数据不一致的根本原因是【数据冗余
  14. 在DB中存储的是【数据以及数据之间的联系
  15. 关系模型中的关系模式至少是【1NF
  16. 用于恢复DB的重要文件是【日志文件
  17. 候选关键字中的属性可以有【1个或多个
  18. DB的封锁机制是实现【并发控制】的主要手段
  19. “保护数据库,防止未经授权的或不合法的使用造成数据泄露、更改、破坏”指的是数据的【安全性(security)
  20. 在SQL Server中,为便于管理用户以及权限,可以将一组具有相同权限的用户组织在一起,具有相同权限的用户称之为【角色
  21. 数据管理技术经历了【人工管理】、【文件系统】和【数据库技术】三个阶段
  22. 由【DBA-数据库管理员】负责全面管理和控制DBS
  23. 数据模型的三要素是由【数据结构】【数据操作】【完整性约束条件】三部分组成的
  24. 数据操作】是对DBS的动态特性的描述
  25. 关系数据库是采用【关系模型】作为【数据的组织方式
  26. DBMS提供4个方面的功能【数据定义功能】【数据操纵功能】【数据库的建立和维护功能】【数据库的运行管理功能

综合体

一、SQL语句编写

设有如下学生课程数据库包括学生关系、课程关系和选课关系,其关系模式为:
学生(学号、姓名、年龄、性别、所在系);
课程(课程号、课程名、教师);
选课(学号、课程号、成绩);

1)求选课C1课程且成绩大于90分的学生学号和成绩,并要求查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列
SELECT 学号, 成绩
FROM 选课
WHERE 课程号 = 'C1' AND 成绩 > 90
ORDER bY 成绩 DESC, 学号 ASC;
2)检索选修了“操作系统”或“数据库”课程的学号和姓名
// 第一种
SELECT 学号, 姓名
FROM 学生
WHERE 学号 IN
(
SELECT 学号
FROM 课程
WHERE 课程.课程名 = '操作系统' OR 课程.课程名 = '数据库'
);
// 第二种
SELECT 学号, 姓名
FROM 学生, 选课, 课程
WHERE 学生.学号 = 选课.学号 AND 选课.课程号 = 课程.课程号 AND 课程.课程名 = '操作系统' OR 课程.课程名 = '数据库'
3)检索选修了5门以上课程的学生学号
SELECT 学号
FROM 选课
GROUP BY 学号
HAVING COUNT(学号) > 5
4)求选修人数最多的课程名称和选修人数
SELECT 课名, COUNT(学号) AS 学科人数
FROM 选课
GROUP BY 课名
ORDER BY 学科人数 DESC
LIMIT 1 OFFSET 0
5)查询有三门以上课程超过90分的学生学号以及姓名
SELELECT 学生.学号, 学生.姓名
FROM 学生, 选课
WHERE 学生.学号 = 选课.学号 AND 选课.成绩 > 90
GROUP BY 学号
HAVING COUNT(学号) > 3;
6)查询各系以及学生数,最后求出共有多少系和多少学生
SELECT 系名, COUNT(*)
FROM 学生
GROUP BY 系名
COMPUTE COUNT(系名), SUM(COUNT(*));
7)用户王平对选课表有查询权力、对成绩字段具有插入和修改的权力并将操作权赋予给其他用户的权力
GRANT SELECT, INSERT(成绩), UPDATE(成绩), ON 选课 TO 王平
WITH GRANT OPTION
8)【关系代数】没有选数据库课程的学生学号

// SQL表示
SELECT 学生.姓名, 选课.学号
FROM 学生, 选课, 课程
WHERE 学生.学号 = 选课.学号 AND 选课.课程号 = 课程.课程号 AND 课程.课名 != '数据库课程'
9) 检索选修操作系统的学生姓名,课程名和成绩
// SQL表示
SELECT 学生.姓名, 课程.课程名, 选课.成绩
FROM 学生, 课程, 选课
WHERE 学生.学号 = 选课.学号 AND 课程.课程号 = 选课.课程号 AND 课程.课程名 = '操作系统'
posted @   Felix_Openmind  阅读(870)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}
点击右上角即可分享
微信分享提示