数据库原理习题

本文主要介绍了数据库原理的相关习题,涵盖了选择题、填空题、判断题、简答题等多个方面,涉及数据模型、关系代数、事务特性、并发控制、数据库安全性、完整性约束等内容,帮助读者深入理解数据库系统的工作原理和操作方法。
摘要由CSDN通过智能技术生成

数据库是存放数据的仓库。数据库原理是每个计算机专业的学生必须掌握的课程之一,所以学好数据库原理对日后实际工作和项目十分重要。这篇博客通过总结广州大学数据库原理课程和教材中的例题,希望能够对数据库原理加深理解。

选择

1.数据库系统中的数据模型通常由( A )三部分组成。 
A. 数据结构、数据操作和完整性约束 
B. 数据定义、数据操作和安全性约束 
C. 数据结构、数据管理和数据保护 
D. 数据定义、数据管理和运行控制
【分析】:数据模型中一种重要的模型——关系模型
数据结构:二维表格,用“键”导航数据
数据操作:集合操作,存取路径隐蔽
完整性约束:保证数据和语义的正确有效。包括实体完整性、参照完整性和用户定义完整性


2.五种基本关系代数运算是( A )。 
A. ∪,-,×,π和σ  
B. ∪,-,∞,π和σ 
C. ∪,∩,×,π和σ  
D. ∪,∩,∞,π和σ
【分析】:五种基本运算
并、差、笛卡尔积、投影、选择
关系代数运算:
并、差、交、笛卡尔积、投影、选择、连接、除
(交、连接、除可以用5种基本运算来表达。引进它们并不增加语言的能力,但可以简化表达。)


3.在关系R和关系S进行自然联接时,只把S中原该舍弃的元组保存到新关系中,这种操作称为( D )。 
A. 外联接 B. 内联接  C. 左外联接  D. 右外联接
【分析】:自然连接时舍弃的元组也保存在结果关系中,而在其他属性上填空值


4.下列聚合函数中不忽略空值(null)的是( C )。
A. SUM(列名) B. MAX(列名) C. COUNT( * )   D. AVG(列名)
【分析】:在聚集函数中遇到空值时,除了COUNT(*)外,都跳过了空值而去处理非空值


5.现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的主码是( D )。
A. 书号  B. 读者号   C. 书号 + 读者号  D. 书号 + 读者号 + 借期
【分析】:主码是可以唯一标识元组的,也就是说,可以通过主码中的属性,来推出非主属性。


6.有关系模式R(A, B, C, D, E),根据语义有如下函数依赖集:F={A→B, B→A, (A,C)→D, D→E},下列属性组中的哪一个(些)是R的候选码( B )。
Ⅰ. (A, C) Ⅱ. (A, B) Ⅲ. (B, C) Ⅳ. (A, D) Ⅴ. (A, C, D)A. 只有Ⅰ B. Ⅰ和ⅢC. 只有Ⅴ D. Ⅲ和Ⅳ
【分析】:候选码:若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。


7.接6题,关系模式R的规范化程度最高达到( B )。
A. 1NF B. 2NF C. 3NF D. BCNF
【分析】:
在这里插入图片描述


8.下列说法正确的是 ( B )
A. 视图是观察数据的一种方法,只能基于基本表建立。
B. 视图是虚表,观察到的数据是实际基本表中的数据。
C. 索引查找法一定比表扫描法查询速度快。
D. 索引的创建只和数据的存储有关系
【分析】:虚表,是从一个或几个基本表(或视图)导出的表;
只存放视图的定义,不存放视图对应的数据;
基表中的数据发生变化,从视图中查询出的数据也随之改变。


9.若事务T对数据R已加排他锁(X锁),则其他事务对R(  D  )
A. 可以加共享锁(S锁),不能加X锁
B. 不能加S锁,可以加X锁
C. 可以加S锁,也可以加X锁
D. 不能加任何锁
【分析】:封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁
加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。
基本封锁类型

  • 排它锁(X锁)/写锁
    • 用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时同一资源进行多重更新。**如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁。**获准排他锁的事务既能读数据,又能修改数据。
  • 共享锁(S锁)/读锁
    • 共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。

10.设有T1和T2两个事务,其并发操作如下所示,下面评价中正确的是( C )

T1 T2
(1) 读A=10,B=5
(2) 求和A+B=15
(3) 读A=10,A=A*2写回
(4) 读A=20,B=5
(5) 求A+B=25,验证错

A. 该操作不存在问题 B. 该操作丢失修改
C. 该操作不能重复读 D. 该操作读“脏数据”
【分析】:

  • 丢失数据
    • 针对一个事务提交后会覆盖另一个事务提交的结果
  • 脏读
    • 针对未提交数据如果一个事务中对数据进行了更新,但事务还没有提交,另一个事务可以“看到”该事务没有提交的更新结果,这样造成的问题就是,如果第一个事务回滚,那么,第二个事务在此之前所“看到”的数据就是一笔脏数据。
  • 不可重复读
    • 针对其提交前后,读取数据本身的对比)不可重复读取是指同一个事务在整个事务过程中对同一笔数据进行读取,每次读取结果都不同。如果事务1在事务2的更新操作之前读取一次数据,在事务2的更新操作之后再读取同一笔数据一次,两次结果是不同的。
  • 幻读
    • 针对其提交前后,读取数据条数的对比) 幻读是指同样一笔查询在整个事务过程中多次执行后,查询所得的结果集是不一样的。

区分不可重复读和幻读:
不可重复读:某人读自己的工资1000,(操作还没有完成)后来管理员将其工资改为2000,他再读工资的时候就变成2000了。
幻读:读取发现工资1000的有2个人,此时管理员又插入一个工资为1000的人,再次读取发现工资1000的人为3个。


11.在数据库系统中死锁属于( C )。
A. 系统故障   B. 程序故障   C. 事务故障  D. 介质故障
【分析】:事务故障分类

  • 事务故障:死锁
  • 系统故障:特定类型的硬件错误(如CPU故障)、操作系统故障、DBMS、代码错误、系统断电
  • 介质故障:系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失。
  • 计算机病毒:一种可以繁殖和传播的人为的故障或破坏的计算机程序。

12.解决并发操作带来的数据不一致问题普遍采用( A )技术。
A. 封锁   B. 存取控制   C. 恢复  D. 协商


13.数据库系统中,单个用户使用的数据视图用______描述,它是用户与数据库系统之间的接口。( A )
A.外模式 B.存储模式 C.内模式 D.概念模式


14.以下关系数据库的基本数据操作中,不能同时操作两个关系的是( B )
A.交 B.选择C.连接 D.并


15.数据库系统中产生数据不一致性的根本原因是( C )
A.没有严格保护数据 B.未对数据进行完整性控制C.数据冗余 D.数据存储量大
【分析】:由于数据冗余,有时修改数据时,一部分数据修改,而另一部分没有修改,造成同一种数据有多个值,产生数据不一致。


16.在数据库设计中,当合并局部E-R图时,学生在某一局部应用中被当作实体,而在另一局部应用中被当作属性,那么被称之为( D )
A.属性冲突 B.命名冲突C.联系冲突 D.结构冲突
【分析】:合并局部E—R图时,主要有三类冲突:属性冲突、命名冲突和结构冲突

  • 属性冲突:属性值的类型不同、属性的取值范围不同或属性取值单位不同。
  • 命名冲突:异名同义,如对于科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程;同名异义,即不同意义的对象在不同的局部E-R图中具有相同的名字。
  • 结构冲突:同一对象在不同E-R图中具有不同的抽象意义,例如题中“职工”在某一局部应用中被当做实体,而在另一局部应用中被当做属性;同一实体在不同的局部E-R图中所包含的属性个数和属性排列次序不完全相同;实体间联系的类型在不同E-R图中不相同,例如,实体E1、E2在一个局部E-R图中是多对多联系,而在另一个局部E-R图中是一对多联系。

17.如果要求学生关系S(SNO,NAME,SEX,AGE)中存储的学生信息满足下列条件:男生(SEX=‘F’)的年龄在15-60岁之间,女生(SEX=‘M’)的年龄在15-55岁之间。那么在关系S的定义中加入的检查子句正确的是( B )
A.CHECK(AGE>=15 AND((SEX=‘M’ AND AGE<=60)AND(SEX=‘F’ AND AGE<=55)))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值