数据库系统概论练习4

本文深入探讨了数据库领域的核心概念,包括关系模式的描述、视图在逻辑独立性中的作用、DML的分类、权限管理、分组查询的HAVING子句以及平凡函数依赖。同时,讲解了数据库规范化中的BCNF范式,常见故障类型及其处理,以及死锁的预防和检测方法。此外,还涉及了SQL查询的各类操作,如选择、连接、子查询以及完整性约束的建立。最后,通过实例介绍了多表查询和并发控制在实际数据库系统中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、填空题(每空1分,共10分)

 

  1. 关系模式可以形式化的描述为  R(U,D,DOM,F)   
  2. 数据库视图可以提高数据的   逻辑     独立性。
  3. DML分为数据查询和数据    更新    两类。
  4. 授权语句中  with grant option 子句指定后,允许被授权用户传播该权限。
  5. 在分组查询中,要去掉不满足条件的分组,应当使用   having     子句。
  6.   平凡 的函数依赖不反映语义信息。
  7. 在函数依赖的范围内,   BCNF     范式是规范化程度最高的范式。
  8. 常见的数据库故障分为: 事务故障       、系统故障、介质故障。
  9. 执行UNDO操作时DBMS应该   反向    扫描日志文件。
  10. 数据库系统诊断死锁的方法包括超时法和    等待图法     

预防死锁:一次封锁法,顺序封锁法。

二、单项选择题(每小题2分,共40分)

 

1.下列关于概念数据模型的说法,错误的是 ( C  )

A.概念数据模型并不依赖于具体的计算机系统和数据库管理系统。

B.概念数据模型便于用户理解,是数据库设计人员与用户交流的工具。

C.概念数据模型不仅描述了数据的属性特征,而且描述了数据应满足的完整性约束条件。

D.概念数据模型是现实世界到信息世界的第一层抽象,强调语义表达功能。

解析: 概念数据模型主要用来描述世界的概念化结构,它使数据库设计人员在设计的初始阶段摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联

系等,与具体的数据库管理系统无关,所以没有描述数据的完整性约束条件。

2.数据库系统不仅包括数据库本身,还要包括相应的硬件、软件和 (  D )

A.DBMS B.数据库应用系统

C.相关的计算机系统 D.DBA

解析:数据库管理员(Database Administrator,简称DBA)

3.下列关系代数操作中,要求两个运算对象其属性结构完全相同的是 ( D  )

A.笛卡尔积、连接 B.投影、选择

C.自然连接、除法 D.并、交、差

4.如果规定:一个学校只有一个校长,一个校长只在一个学校任职,则实体集学校和校长之间的联系是 ( A  )

A.1对1 B.1对多

C.多对多 D.多对1

5.以下哪个数据库对象创建后可以进行修改 (  B )

A.模式 B.表

C.视图 D.索引

6.数据库完整性约束的建立需要通过DBMS提供的 ( A  )

A.数据定义语言 B.数据操纵语言

C.数据查询语言 D.数据控制语言

7.如果想找出关系R的属性A上为空的那些元组,则选择子句应该为 ( C  )

A.WHERE A=NULL B.WHERE A==NULL

C.WHERE A IS NULL D.WHERE A NOT IS NULL

8.使用SQL语句进行查询操作时,若希望查询出全部存在的元组,一般使用的保留字是

A.Unique B.Except (  D )

C.Distinct D.All

9.在SQL中,与“IN”等价的操作符是 (  C )

A.<>ALL B.<>ANY

C.=ANY D.=ALL

10.某数据库中有商品销售表:p(商品编号,名称,单价,销售数量)

命令:select*from p where销售数量=(select max(销售数量)from p)的功能是  ( B  )

A.查询销量最差的商品 B.查询销量最好的商品

C.计算销售数量的最大值 D.语法有错误没有结果

11.建立一个约束,保证用户表(user)中年龄(age)必须在16岁以上,下面语句正确的是( A  )

A.ALTER TABLE USER ADD CONSTRAINT C1 AGE CHECK(age>16) 

B.ALTER TABLE USER ADD CONSTRAINT DF AGE DEFAULT(16) for age 

C.ALTER TABLE USER ADD CONSTRAINT UQ AGE UNIQUE(age>16) 

D.ALTER TABLE USER ADD CONSTRAINT DF AGE DEFAULT

12.与"SELECT * FROM 歌手 WHERE NOT(最后得分>9.00 OR 最后得分<8.00)"等价的语句是   (  B )

A.SELECT * FROM 歌手 WHERE 最后得分 BETWEEN 9.00 AND 8.00

B.SELECT * FROM 歌手 WHERE 最后得分 >=8.00 AND 最后得分<=9.00

C.SELECT * FROM 歌手 WHERE 最后得分 >9.00 OR 最后得分<8.00

D.SELECT * FROM 歌手 WHERE 最后得分 <=8.00 AND 最后得分>=9.00

13.以下有关子查询的叙述中不正确的是  (  D )

A.子查询可以向其外部查询提供检索条件的条件值

B.子查询可以嵌套多层

C.子查询的结果是一个集合

D.子查询总是先于其外部查询

14.在函数依赖中,平凡的函数依赖可根据Armstrong推理规则中的哪个定律推出( A  )

A.自反律 B.扩展律
C.传递律 D.合并规则

15.已知关系R有如下函数依赖{AB→C,BC→D,AD→E},则{A,B}的闭包是( D  )

A.{A,B} B.{A,B,C}

C.{A,B,C,D} D.{A,B,C,D,E}

解析:AB->C,[A,B,C]  BC->D,[ABCD]  AD->E,[A,B,C,D,E]

16.逻辑结构设计的主要工具是 (  C )

A.数据流程图和数据字典 B.E-R图

C.规范化理论 D.SQL语言

17.介质故障恢复需采用以下操作,其操作步骤是 (  C )

I.装载数据备份 II.执行Redo操作 III.执行Undo操作

A.I->II B.II->I->III

C.I->III->II D.II->III-> I

18.如果一个事务在故障发生之前完成,但是它并没有到达检查点,则系统恢复时应对该事务执行 ( A  )

A.REDO操作 B.UNDO操作

C.RESTART操作 D.NULL操作

19.要求事务在读取数据前先加共享锁,且事务结束后才能释放S锁,这种封锁协议是

A.一级封锁协议 B.二级封锁协议 ( C  )

C.三级封锁协议 D.四级封锁协议

20.已知事务T1的封锁序列为:

LOCK (A)…LOCK (B)…LOCK (C)UNLOCK(B) …UNLOCK (A) …UNLOCK (C)

事务T2的封锁序列为:

LOCK (A) …UNLOCK (A) …LOCK (B)…LOCK (C) …UNLOCK (C) …UNLOCK (B)

则遵守两段封锁协议的事务是 ( A  )

A.T1 B.T2

C.T1和T2 D.没有

三、简答题(每小题5分,共10分)

 

1.简述等值连接和自然连接的区别与联系。

连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组,自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉

 

2.并发控制可能带来哪些问题?如何解决?

可能带来的问题包括丢失修改、不可重复读、读脏数据。解决方法:使用封锁

四、应用题(每小题3分,共21分)

 

某学校实验设备管理系统中有如下四个关系模式:

  • E(Eno, Ename, Price, Lno, Status) 设备(设备编号,设备名称,单价,实验室编号,状态{1:在用,0:废弃})
  • L(Lno, Lname, Manager) 实验室(实验室编号,实验室名称,管理员)
  • S(Sno, Sname, Sage) 学生(学号,学生姓名,年龄)
  • SE(Sno, Eno, Use_date) 设备使用(学号,设备编号,使用日期)

基于以上关系模式

1.使用关系代数查询管理员’李勇’管理的所有设备编号和设备名称。

2.使用SQL语句向设备表添加“购置日期”列Purchase,数据类型为日期型。

3.使用SQL语句创建一个精密仪器视图PE,要求包含设备表中的所有属性,精密仪器指单价大于10万元的设备。

4.使用SQL语句查询学生’刘晨’在日期’2014-01-01’使用的设备编号和设备名称。

5.使用SQL语句查询没有使用过精密仪器的学生学号和姓名。

6.使用SQL语句查询设备使用人数小于10的设备编号。

7.使用SQL语句查询每个实验室的在用设备数量和废弃设备数量。

1.∏eno,ename(σmanager=’李勇’(E∞L));

2.alter table e add purchase date;

3.create view PE as select * from E where price>100000;

4.select E.Eno,E.Ename from E,SE,S where E.Eno=SE.eno and s.sno=se.sno and sname=’刘晨’ and use_date=’2014-01-01’;

5.select sno,sname from s where not exists(select * from pe,se where pe.eno=se.eno and s.sno=se.sno);

从s表中查询sno,smane,并不存在于(查询pe(视图),se中的学号和设备编号相对应的项【学生使用过设备】)

  1. select eno from se group by eno having count(distinct sno)<10;

借助count函数进行计数,查询结果为设备编号Eno,因为要联系到使用人数,故要使用sno进行计数。

  1. select lno,sum(case when status=1 then 1 else 0 end) cnt1,sum(case when status=0 then 1 else 0 end) cnt0 from e group by lno;

Select count(Eno) from E,L where L.Lno=E.Lno and Status=1;

Select count(Eno) from E,L where L.Lno=E.Lno and Status=0;

五、综合题(每小题3分,共9分)

 

设有一个反映教师参加科研项目的关系模式:

R(教师号,技术职称,项目名称,工作职责,项目类别,负责人)

如果规定:

每个项目可有多个教师参加;每名教师可以参加多个项目。

【项目教师的关系为多对多】

  • 每名教师所参加的每个项目都有具体的工作职责。

【项目具有工作职责属性】

  • 每个项目只属于一种类别,只有一名负责人。

【项目和负责人是一对一的关系】

  • 每名教师只有一个技术职称。

【教师和技术职称为1对1关系】

1.根据上述规定,写出模式R的基本FD和关键码。

2.R最高属于第几范式。为什么?

3.将R规范到3NF。

1.  {教师号->技术职称,(教师号、项目名称)->工作职责,项目名称->项目类别项目名称->负责人}

关键字:(教师号、项目名称)

2.   1NF,存在非主属性部分函数依赖于码

3.   R1(教师号,技术职称);R2(教师号,项目名称, 工作职责);R3(项目名称,项目类别,负责人)【消除部分函数依赖和传递函数依赖】

六、数据库设计题(每小题5分,共10分)

 

下面是某个商场的订货单

 

订单编号

 

订单状态

 

订货职工编号

 

电话

 

地址

 

 

商品清单

商品编号

商品名称

单价

数量

 

 

 

 

 

 

 

 

 

 

 

 

 

订货日期

 

总金额

 

一张订货单中记录一位订货职工所订购的多种商品,一位订货职工可以生成多张订货单。

请根据上面的应用环境完成以下各题:

1.用ER图描述该系统的概念模型。

2.将ER图转换为关系模型,并指出每个关系模式的候选码和外码。

解:1.

2.关系模式:

职工(职工编号,电话,地址)

订单(订单编号,订单状态,订货日期,总金额,职工编号)

商品(商品编号,商品名称,单价)

订购(订单编号,商品编号,数量)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mez_Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值