老婆出轨 发表于 2024-11-10 01:05:42

数据库原理及应用(MySQL版-李月军)-习题参考答案

   数据库原理及应用(MySQL版)-微课视频版

   习题参考答案

习 题一

一.选择题
1、D 2、C 3、C 4、B 5、D
6、B 7、A 8、B 9、C 10、A
11、B 12、C 13、①A②B③C 14、①E②B 15、①B②C③B
16、B 17、A 18、D
二.填空题
1、文件体系 操作体系 2、转换 3、概念 逻辑
4、数据 5、外模式 内模式 模式
三.简答题
1.这4种模子的特点和区别如下表所示。
模子反映何种观点的何种布局独立性使用者范例概念模子反映了用户观点的数据库整体逻辑布局硬件独立软件独立企业管理职员数据库设计者E-R模子逻辑模子反映了盘算机实现观点的数据库整体逻辑布局硬件独立软件依靠数据库设计者DBA条理、网状、关系模子外部模子反映了用户具体使用观点的数据库局部逻辑布局硬件独立软件依靠用户与用户有关内部模子反映了盘算机实现观点的数据库物理布局硬件依靠软件依靠数据库设计者DBA与硬件、DBMS有关 2.DB的三级模式布局描述了数据库的数据布局。数据布局分成3个级别。由于三级布局之间有差别,因此存在着两级映射。这5个概念描述了如下内容。
① 外模式:描述用户的局部逻辑布局。
② 外模式/模式映射:描述外模式和概念模式间数据布局的对应性。
③ 概念模式:描述DB的整体逻辑布局。
④ 模式/内模式映射:描述概念模式和内模式间数据布局的对应性。
⑤ 内模式:描述DB的物理布局。
3.在用户访问数据的过程中,DBMS起着核心的作用,实现“数据三级布局转换”的工作。
4.在数据库的三级模式布局中,数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这两级的相对稳固的中间观点,而且两级中任何一级的改变都不受另一级的牵制。
5.物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是独立的。物理独立性通过模式/内模式映射来实现的。
逻辑独立性是指用户的应用程序与逻辑布局是相互独立的。逻辑独立性是通过外模式/模式映射来实现的。
习 题二

一.选择题
1、C 2、C 3、C 4、B 5、D
6、D 7、D 8、C 9、C 10、D
11、B 12、C 13、A 14、C 15、B
二.设计题
1.解答:
(1)SELECTE#,ENAMEFROM   EMP
   WHEREAGE>50ANDSEX='M';
(2)SELECTE#,COUNT(*)NUM,SUM(SALARY) SUM_SALARYFROM   WORKS
   GROUPBY   E#;
(3)SELECTA.E#,ENAME
   FROMEMPA,WORKSB,COMPC
   WHEREA.E#=B.E#AND B.C#=C.C#ANDCNAME='联华公司'
      ANDSALARY<(SELECTAVG(SALARY) FROMWORKS,COMP
                      WHEREWORKS.C#=COMP.C#ANDCNAME='联华公司');
(4)SELECTC.C#,CNAMEFROMWORKSB,COMPC
   WHEREB.C#=C.C#
   GROUPBYC.C#,CNAME
      HAVINGCOUNT(*)>=ALL(SELECTSUM(SALARY) FROMWORKS GROUPBYC#);
(5)SELECTC.C#,CNAMEFROMWORKSB,COMPC
   WHEREB.C#=C.C#
   GROUPBYC.C#,CNAME
      HAVINGAVG(SALARY)>(SELECTAVG(SALARY) FROMWORKSB,COMPC
                              WHEREB.C#=C.C#AND CNAME='联华公司');
(6)UPDATEWORKSSET   SALARY=SALARY*1.05
   WHEREC#IN (SELECTC#FROMCOMP
                      WHERECNAME='联华公司');
(7)DELETEFROMWORKS
   WHEREE#IN(SELECTE#FROMEMPWHEREAGE>60);
(8)CREATEVIEWemp_woman
   ASSELECTA.E#,ENAME,C.C#,CNAME,SALARY
          FROM   EMPA,WORKSB,COMPC
          WHEREA.E#=B.E#ANDB.C#=C.C#ANDSEX='F';

   SELECTE#,SUM(SALARY) FROMemp_woman
   GROUPBYE#;
2.解答:
(1)此问题考察的是查询服从的问题。在涉及相关查询的某些情形中,构造暂时关系可以提高查询服从。
① 对于外层的职工关系E中的每一个元组,都要对内层的整个职工关系M进行检索,因此查询服从不高。
② 解答方法一(先把每个部分最高工资的数据存入暂时表,再对暂时表进行查询):
CREATETABLE   temp
ASSELECT部门号,MAX(月工资)最高工资FROM职工GROUPBY部门号;

SELECT职工号FROM职工,temp
   WHERE职工.部门号=temp.部门号AND 月工资=最高工资 ;
解答方法二(直接在FROM子句中使用暂时表布局)
SELECT职工号
FROM职工,( SELECTMAX(月工资) 最高工资,部门号
                FROM   职工
                GROUPBY部门号)ASdepMax
WHERE月工资=最高工资AND职工.部门号=depMax.部门号
(2)此问重要考察在查询中留意WHERE子句中使用索引的问题,既可以完成雷同功能又可以提高查询服从的SQL语句如下:
(SELECT姓名,年龄,月工资FROM职工   WHERE年龄>45)
UNION
(SELECT姓名,年龄,月工资FROM职工   WHERE工资<1000)
习 题 三

一.选择题
1、C 2、A 3、C 4、C 5、B 6、C
7、D 8、B 9、B 10、C 11、C 12、C
二.简答题
1、存储过程和函数在本质上都是存储程序。函数只能通过return语句返回单个值;而存储过程不允许执行return,但是可以通过out参数返回多个值。函数可以嵌入在SQL语句中使用,可以在SELECT语句中作为查询语句的一个部分调用;而存储过程一样平常是作为一个独立的部分来执行。
2、目前,MySQL还不提供对已存在的存储过程代码的修改,如果必须要修改存储过程,必须使用DROP语句删除之后,再重新编写代码,或者创建一个新的存储过程。
3、存储过程是包含用户定义的SQL语句聚集,可以使用CALL语句调用存储过程,当然在存储过程中也可以使用CALL语句调用其他存储过程,但是不能使用DROP语句删除别的存储过程。
习 题 四

一.选择题
1、A 2、C 3、C 4、D 5、C
6、B 7、A 8、①C②B
9、①C②A 10、A
11、D 12、D 13、A 14、①B②C③D④A⑤D
15、①C ②B 16、D 17、B 18、C
二.填空题
1、数据查询 2、表 记录 字段 3、关系中主键值不允许重复
4、主键 外键 5、∪、-、×、∏、ð
https://i-blog.csdnimg.cn/direct/ae08b0266c1a40d297cb83e86e91806d.png
三.查询题
https://img-blog.csdnimg.cn/img_convert/563e70459d5634e90a2bf59cf67fa424.png
https://img-blog.csdnimg.cn/img_convert/c303891fc334e3e5aaa81013b1cc1585.png
1、
(1)∏S#,SNAME(ðage<17∧sex=’女’(S))
(2)∏C#,CNAME(ðsex=’男’(S ∞ SC ∞ C))
(3)∏T#,TNAME(ðsex=’男’(S ∞ SC ∞ C ∞ T))
(4)∏1(ð1=4∧2≠5(SC×SC))
(5)∏2(ð1=‘S2’∧4=’S4’∧2=5(SC×SC))
   或∏S#,C#(SC)÷{’S2’,’S4’}
(6)∏C#(C)-∏C#(ðsname=’WANG’(S ∞ SC))
(7)∏C#,CNAME(C ∞ (∏S#,C#(SC) ÷∏S#(S)))
(8)∏S#,C#(SC) ÷∏C#( ðTname=’LIU’(C ∞ T))
2、
(1){t|(u)(SC(u) ∧u=‘k5’ ∧t=u ∧t=u)}
(2){t|(u)(v) (S(u) ∧ SC(v) ∧ v=‘k8’ ∧u=v ∧t=u ∧t=u)}
(3){t|(u)(v)(w) (S(u) ∧ SC(v) ∧C(w) ∧ w=‘C语言’ ∧u=v ∧v= w ∧ t=u ∧t=u)}
(4){t|(u)(SC(u) ∧ (u=‘k1’ ∨u2=‘k5’)∧ t=u )}
(5){t|(u)(v)(w)(S(u) ∧C(v) ∧ SC(w) ∧ (u=w ∧w=v ∧ t=u )}
四.操作题
【问题一】
PRIMARY   KEY
   FOREIGN   KEY(负责人代码)REFERENCES职工
   PRIMARY   KEY
   FOREIGN   KEY(部门号)REFERENCES部门
   月工资   BETWEEN   500AND   5000
   COUNT(*),SUM(月工资),AVG(月工资)
   GROUP   BY   部门号
【问题二】
(1)和(2)都不能执行,因为使用分组和聚集函数定义的视图是不可更新的。
(3)、(4)、(5)可以执行,因为给出的SQL语句与定义D_S视图的SQL语句归并起来验证有效。
习 题 五

一.选择题
1、A 2、A 3、B 4、B 5、C
二.填空题
1安全性 2用户标识与鉴别、存取控制、视图机制、数据加密、审计
3 CREATE USER 4 脚色 5 GRNAT、REVOKE
三.简答题
1.
(1)CREATE USER test_user@localhost IDENTIFIED BY 'test';
(2)GRANT SELECT ON TABLE scott.dept TO test_user@localhost;
(3)GRANT INSERT,DELETE,UPDATE(loc) ON TABLE scott.dept
                TO test_user@localhost;
(4)GRANT ALL PRIVILEGES ON TABLE scott.dept
                TO test_user@localhost
                WITH GRANT OPTION;
(5)REVOKE ALL PRIVILEGES,GRANT OPTION FROM test_user@localhost;
(6)CREATE VIEW scott.view1
AS SELECT * FROM dept       WHERE deptno=10;
   
GRANT SELECT ON TABLE scott.view1 TO test_user@localhost;
(7)CREATE ROLE role1;

GRANT ALL PRIVILEGES ON scott.*TO test_user@localhost;
(8)GRANT role1 TO test_user@localhost;
(9)REVOKE role1 FROM test_user@localhost;
(10)DROP ROLE role1;
2.
(1)

① PRIMARYKEY(仓库号)

② PRIMARYKEY

③ CHAR(4)

④ FOREIGNKEY(仓库号) REFERENCES仓库(仓库号)

(2)        

① 原材料、

② GROUPBY仓库号

HAVINGSUM(数量)>=ALL(SELECTSUM(数量)FROM原材料

​               GROUP BY 仓库号)

(3)       

① *

② INSERT,DELETE,UPDATE

③ raws_in_wh01、

④ SELECT

⑤ 原材料


习 题 六

一.选择题
1、①D②C 2、C 3、A 4、B 5、C
6、D 7、CB 8.D 9、D 10、B
二.填空题
1.原子性、隔离性 2.ROLLBACK、COMMIT 3.丢失更新、读脏数据
4.活锁、饿死、死锁
三.操作题
1)出现问题:有一个存款值会丢失,造成数据不一致。
2)代码程序:Xlock(b),R(b),b=b+x,W(b),Unlock(b)
3)不能实现。因为程序中的隔离级别设置为READ UNCOMMITTED,未实现加锁控制,不能到达串行化调度。
修改方法:改为SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
习 题 七

一.选择题
1、D 2、A 3、A 4、D 5、A 6、C 7、D 8、A 9、B 10、B
二.填空题
1.变乱故障、体系故障、介质故障 2.后备数据库、日志文件
3.错误、查询、二进制、慢查询
三.简答题

[*](1)需要重做的变乱:T1、T2、T3,需要回滚的变乱:T4。
(2)需要重做的变乱:T1、T2,需要回滚的变乱:T3。
(3)需要重做的变乱:T1,需要回滚的变乱:T2、T3。
(4)需要重做的变乱:T1,需要回滚的变乱:T2。

[*](1)A=8 B=7 C=11
(2)A=10 B=0 C=11
(3)A=10 B=0 C=11
(4)A=10 B=0 C=11
(5)A=10 B=0 C=11
(6)A=0 B=0 C=0
习 题 八

(1)活动队局部E-R图
https://img-blog.csdnimg.cn/img_convert/8a59c4897b19dd0076277fee8b4ba036.png
活动会局部E-R图
https://img-blog.csdnimg.cn/img_convert/12eea87ca5310df288fb3c0d534c9dd9.png
(2)
https://img-blog.csdnimg.cn/img_convert/a1aa04ed28e3c287b46795a3a7ddca23.png
(3)命名辩论:活动队局部E-R图中的属性项目和活动会局部E-R图中的属性项目名异名同义,统一命名为项目名。
布局辩论:项目在两个局部E-R图中,一个作属性,一个作实体,归并统一为实体。
习 题 九

一.选择题
1、C 2、C 3、C 4、B 5、A
6、D 7、B 8、A 9、①A②D 10、B
11、B 12、B 13、D 14、B 15、①C ②C ③A ④B
二.填空题
1、函数 多值 2、插入异常 删除异常 更新异常 3、全码 非主属性
4、函数 多值 5、一个 两个或两个以上 6、范式
7、2NF 8、3NF 9、BCNF
10、无损连接 保持FD
三.简答题
1、(1)R的候选键是AB, R属于BCNF。
(2)R的候选键是AB,R属于BCNF。
(3)R的候选键是AB和BD,R最高属于3NF。
2、至少有(a1,b1,c2) (a1,b1,c3) (a1,b2,c1)
(a1,b2,c3) (a1,b3,c1) (a1,b3,c2)
建立。
3、(1)CE为R的候选关键字。
(2)分解后的模式具有无损连接性,但不能保持原来的函数依靠。
四.设计题
(1)部分 主键:(部分代码,办公室) 外键:无
​ F1={部分代码→(部分名,起始年代,停止年代),办公室→办公电话}
品级 主键:(品级代码,年代) 外键:无
​ F2={品级代码→品级名,(品级代码,年代)→小时工资}
项目 主键:项目代码 外键:部分代码、项目主管
​ F3={项目代码→(项目名,部分代码,起始年代日,结束年代日,项目主管)}
工作筹划 主键:(项目代码,职员代码,年代) 外键:项目代码、职员代码
(2)修改后的关系模式如下:
职务(职务代码,职务名,品级代码)
其主键为(职务代码,品级代码) 外键为品级代码
(3)设计的“工作业绩”关系模式如下:
工作业绩(项目代码,职员代码,年代日,工作时间)
其主键为(项目代码,职员代码,年代日)
(4)部分关系模式不属于2NF,只能是1NF。该关系模式存在冗余问题,因为某部分有多少个办公室,则部分代码、部分名、起始年代、停止年代就要重复多少次。
为相识决这个问题,可将模式分解,分解后的关系模式为:
部分_A(部分代码,部分名,起始年代,停止年代)
其主键为部分代码
部分_B(部分代码,办公室,办公电话)
其主键为(部分代码,办公室) 外键为(部分代码)
(5)SQL语句如下:
SELECT 职员代码,职员名,年代,工作时间*小时工资 AS 月工资
FROM 职员,职务,品级,月工作业绩
WHERE 职员.职务代码=职务.职务代码 AND 职务.品级代码=品级.品级代码
AND 品级.年代=月工作业绩.年代 AND 职员.职员代码=月工作业绩.职员代码;
习 题 十

一、选择题
1、B 2、C 3、B 4、D 5、C 6、A 7、B 8、C 9、D 10、B
11、C 12、C 13、A 14、D 15、D
二、填空题
1.体系观察、可行性分析 2.自顶向下逐步细化、自底向上逐步综合
3.把概念模式转换成DBMS能处理的模式 4.DBA
5.DB的转储和规复、DB的重构造和重构造
三、设计题
https://img-blog.csdnimg.cn/img_convert/e4f723739fe3e3b0a23fa9a9916803ea.png
https://img-blog.csdnimg.cn/img_convert/d2f62ef0891598dcb57f88b0fa68ce82.png
https://img-blog.csdnimg.cn/img_convert/6529899a9ef90343cf63d26bc6901f4e.png
(4)此处的“需求”是“岗位”、“企业”和“人才”3个实体之间的联系,而事实上只有人才被聘任之后三者才产生联系。本体系解决的是人才的求职和企业的岗位需求,人才与企业之间没有直接的联系。
(5)创建企业的登录信息表,包含用户名和暗码,记录企业的用户名和暗码,将对本企业的基本信息的修改权限赋予企业的用户名,企业工作职员通过输入用户名和暗码,经过服务器将其与登录信息表中记录的该企业的用户名和暗码进行验证后,合法用户才有权修改企业的信息。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 数据库原理及应用(MySQL版-李月军)-习题参考答案