You are on page 1of 10

Mysql 数据库复习大纲

1. 数据独立性是指应用程序与 DB 的结构之间相互独立。

2. 数据库的完整性是指数据库的正确性和相容性。

3. MySQL 的特点有运行速度最快;成熟稳定;完全免费;适合中小企业及个人
使用。

4. ALTER TABLE 语句可以添加字段、可以删除字段、可以修改字段数据类型。

5. 创建自定义函数语法的是 CREALTE FUNCTION。

6. 若要删除数据库中已经存在的表 B,可用 DROP TABLE B。

7. While 之前的可选项“[循环语句标签:]”和 End while 后的“[循环语句标


签]”必须一致。

8. 输入数据违反完整性约束导致的数据库故障属于事务故障。

9. 存储程序的分类有触发器和事件。

10. 数据抽象有分类和聚集 2 种方法。


11.
12. ABS 是用来取绝对值的函数。

13. 对 DB 中数据的操作分为查询和更新两大类。

14. DB 的三级模式结构是对数据抽象的 3 个级别。


15. 建立索引的作用之一是提高查询速度。

16. 关系运算中花费时间可能最长的运算是广义笛卡尔积。

17. 数据库系统的演变与发展经历了四个阶段。
18.
19. 关系代数的 5 个基本操作是∪、-、×、∏、ð。
20.
21. 在 CASE 语句中方括号“[ ]”括起来的部分表示任选项,其余为必选项。

22. 查询结果排序命令是:ORDER BY;分组查询命令是:GROUP BY。


23.
24. 关系模式的好与坏用范式衡量。

25. 日志文件用于保存对数据库的更新操作。

26. 嵌入式 SQL 在实现时,采用预处理方式的目的是识别出 SQL 语句,并处理成


函数调用形式。

27. 关系代数中专门的关系预算包括投影、选择和连接,主要实现查询类操作。
实体完整性规则是对主码的约束,参照完整性规则是对外码的约束。

28. 修改存储过程相当于重建一个存储过程。

29. 在视图能完成的操作是更新视图、查询视图、在视图上定义新的视图。

30. 在需求分析阶段,常用数据流图描述用户单位的业务流程。

31. 角色是具有名称的一组相关权限的组合。
32. 如果对数据库的并发操作不控制,则会带来 3 类问题,即丢失更新、读脏
数据和不可重复读。

33. 对用户访问数据库的权限加以限定是为了保护数据库的安全性。

34. 外键不一定要与主键同名;主键值不能为空,但外键值可为空;外键所在
关系与主键所在关系可是同一关系。

35. 在 SQL 中,与 NOT IN 等价的操作符是<>ALL。

36. 设关系 R 和 S 的属性个数分别为 r 和 s,则(R×S)操作结果的属性个数是

r+s 。

37. 在一个事务执行的过程中,其正在访问的数据被其他事务修改,导致处理
结果不正确,这是由于违背了事务的隔离性。

38. 在数据库概念结构设计中,最常用的数据模型是实体-联系模型

39. 从 E-R 模型向关系模型转换,一个 M:N 的联系转换成关系模式时,该关系模


式的主键是 M 端实体主键和 N 端实体主键的组合。

40. 对现实世界进行第一层抽象的模型是概念模型模型;对现实世界进行第二
层抽象的模型是逻辑模型模型。

41. 授予权限和撤销权限的命令分别是 grant 和 revoke。

42. 关系数据库中,关系称为表,元组亦称为记录,属性亦称为字段。
43. 数据模型通常由数据结构、数据操纵、数据的完整性约束三要素组成。关
系模型、网状模型、XML 模型都是数据模型。

44. 实体完整性规则是指主键的取值不能为空且不能重复。参照完整性规则是
指外键或者取空值,或者等于被参照关系中的主键的某个值。

45. 数据加密是防止数据库中的数据在存储和传输中失密的有效手段,加密的
方法主要有两种,一种是替换方法,另一种是转换方法。

46. 实体、联系、属性是 E-R 模型的基本元素。

47. 登记日志文件时必须遵循两条原则:(1)登记的次序严格按并发事务执行
的时间次序。(2)必须先写日志文件,后写数据库。

48. 封锁能避免错误的发生,但是会引起活锁、饿死和死锁的后果。

49. 按备份涉及的数据范围可以分为完整、差异、增量备份。

1.MySQL 支持的备份方法有热备份,是指数据库在线服务正常的情况下进行数
据备份。温备份,是指备份时数据库在线正常运行,但数据只能读不能写。冷
备份,是指数据库已经正常关闭的情况下进行备份。

2. MySQL 存储过程和函数的区别是:
(1) 存储过程在创建时没有返回值,而函数在定义时必须设置返回值;
(2) 存储过程没有返回值类型,且不能将结果直接赋值给变量;而函数定义
时需要设置返回值类型,且在调用时除在 SELECT 中,必须将返回值赋给变量。
(3) 存储过程必须通过 CALL 进行调用,不能使用 SELECT 调用;而函数则可
在 SELECT 语句中直接使用。
3.视图的作用是:1.视图能够简化用户的操作;2.视图使用户能以多种角度看
待同一数据。3.视图对重构数据库提供了一定程度的逻辑独立性;视图能够对
机密数据提供安全保护。

4.假设学生关系是 S(s#,sname,sex,age)、课程关系是 C(c#,cname,teacher)、


学生选课关系是 SC(s#,c#,grade),如果要查找选修“DB”课程的“女”学生的
姓名,将涉及关系 S、SC 和 C。

5.有关系模式:S(sno,sn,age,sex,dept) SC(sno,cno,score)
C(cno,cn,ct),其中,S 表示学生,它的属性依次为学号、姓名、年龄、
性别、系别;C 表示课程,它的属性依次为课程号、课程名、课时;SC 表示选
课,它的属性依次为学号、课程号、成绩。用 SQL 语言完成以下查询:
(1) 查询计算机系和自动化系的学生姓名和性别。
select sn,sex from s
where dept in(‘计算机’,’自动化’);

(2) 统计各系男女学生人数,显示系别、性别和人数。
select dept,sex,count(sno) from s
Group dept,sex
Order by dept;

(3) 添加一条选课信息:学号为“S11”,课程号为“C5”,成绩待定。
insert into sc(sno,cno)
Values(‘S10’,’C5’);

(4) 将选修了“数据库”课程且成绩不及格的选课信息删掉。
delete from sc
where score<60 and cno=
(select cno from c Where cn=’数据库’ );
(5) 查询选修了全部课程的学生姓名。
select sn from s Group by sno
Having count(*)=(select count(cno) from c);

6. 设 有 关 系 模 式 R ( U,F ) , 其 中
U={A,B,C,D,E},F={A→D,E→D,D→B,BC→D,DC→A}
求出 R 的候选关键字。
属性分类:L:C,E R:∅ N:∅ LR:A ,B ,D
求闭包:令 X=CE,Y=ABD (X)+=(CE)+=CEDBA
R 的候选码为:CE

7.创建存储过程,实现统计 emp 表中指定某个部门的总人数,要有异常情况处理,


并调用存储过程。
解:DELIMITER @@
CREATE PROCEDURE emp_dept(v_deptno varchar(14),num int)
BEGIN
Select count(*) into @num from dept where deptno= v_deptno;
If @num>0 then Select count(*) from emp where deptno= v_deptno;
Else Select '该部门不存在';
end if;
END@@
DELIMITER;
call emp_dept(20,@num);

8. 设 有 如 图 3 所 示 的 三 个 关 系 。 其 中 各 个 属 性 的 含 义 如 下 : A# ( 商 店 代 号 ) 、
ANAME ( 商 店 名 ) 、 WQTY ( 店 员 人 数 ) 、 CITY ( 所 在 城 市 ) 、 B# ( 商 品 号 ) 、
BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。
试用 SQL 语言写出下列查询:
(1)找出店员人数不超过 100 人或者在北京市的所有商店的代号和商店名 。
SELECT A#, ANAME FROM A
WHERE WQTY<=100 OR CITY='北京'。

(2)找出至少供应了代号为’256’的商店所供应的全部商品的其它商店的商
店名和所在城市。
SELECT ANAME,CITY FROM A
WHERE NOT EXISTS
(SELECT * FROM B
WHERE EXISTS
(SELECT * FROM AB AB1
WHERE A#='256' AND B#=B.B#)
AND NOT EXISTS
(SELECT * FROM AB AB2
WHERE A#<>'256' AND A#=A.A# AND B#=B.B#))。

9.在 course 数据库中,基于 student 表创建一个张老师可以查看的视图 C,取


名:Stu_viewC,要求查询输出 Student_id,Student_name,Phone,并将字段名
改为:学号、姓名、电话。
创建视图:
create or replace
view Stu_viewC(学号,姓名,电话)
as
select Student_id,Student_name,Phone
from student;
10. 设 有 关 系 R 和 函 数 依 赖 F : R(A,B,C,D,E),F =
{ ABC→DE,BC→D,D→E }。
(1)关系 R 的侯选码是什么?R 属于第几范式?并说明理由。
关系 R 的候选码是(A,B,C),R∈1NF ,因为 R 中存在非主属性 D,E
对候选码(A,B,C)的部分函数依赖。

(2)如果关系 R 不属于 BCNF,请将关系 R 逐步分解为 BCNF。


首先消除部分函数依赖
将关系分解为:
R1(A,B,C) (A,B,C)为候选码,
R1 中不存在非平凡的函数依赖
R2(B,C,D,E),(B,C)为候选码,
R2 的函数依赖集为:F2={(B,C)→D,D→E}
在关系 R2 中存在非主属性 E 对候选码(B,C)的传递函数依赖,所
以将 R2 进一步分解:
R21(B,C,D) ,(B,C)为候选码,
R21 的函数依赖集为:F21 = {(B,C)→D }
R22(D,E),D 为候选码,
R22 的函数依赖集为:F22 = {D→E }
在 R1 中已不存在非平凡的函数依赖,在 R21、R22 关系模式中函数依赖的决定
因素均为候选码,所以上述三个关系模式均是 BCNF。

11.使用 mysqlbinlog 恢复数据库到 2021 年 5 月 31 日 12:00:00 时的状态。使


用的命令是
mysqlbinlog--stop-date=”2021-5-31 12: 00: 00”
xxxxxx.bin.00005-uroot-p

12.设有一个工程供应数据库系统,包括如下四个关系模式:
 S(SNO,SNAME, STATUS,CITY);
 P(PNO,PNAME,COLOR,WEIGHT);
 J(JNO,JNAME,CITY);
 SPJ(SNO,PNO,JNO,QTY);
供应商表 S 由供应商号、供应商名、状态、城市组成;
零件表 P 由零件号、零件名、颜色、重量组成;
工程工程表 J 由工程号、工程名、城市组成;
供应情况表 SPJ 由供应商号、零件号、工程号、供应数量组成。
(1)用关系代数查询至少使用了供应商 S1 所供应的全部零件的工程号 JNO;

(2)用 SQL 语句将全部红色零件改为蓝色;


UPDATE P SET COLOR='蓝' WHERE COLOR='红'

13.设某商业集团数据库中有一关系模式 R 如下:
R (商店编号,商品编号,数量,部门编号,负责人)
如果规定:
(1)每个商店的每种商品只在一个部门销售;
(2)每个商店的每个部门只有一个负责人;
(3)每个商店的每种商品只有一个库存数量。

根据上述规定,写出关系模式 R 的基本函数依赖。
有三个函数依赖:
(商店编号,商品编号) →部门编号
(商店编号,部门编号) →负责人
(商店编号,商品编号) →数量。

找出关系模式 R 的候选码。
R 的候选码是 (商店编号,商品编号)。
试问关系模式 R 最高已经达到第几范式?为什么?
R 最高达到 2NF(1 分),因为 R 中存在着非主属性“负责人”对候选码
(商店编号、商品编号)的传递函数依赖,所以 R 属于 2NF,但 R 不属于
3NF。

如果 R 不属于 3NF,请将 R 分解成 3NF 模式集。


将 R 分解成:R1 (商店编号,商品编号,数量,部门编号) (2 分)
R2 (商店编号,部门编号,负责人)

You might also like