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