文章目录
前言
为提升和巩固个人现有知识水平,选择牛客网的选择题进行练习,仅作为个人总结,分享给有需要的人,如有错误,请纠正,万分感谢!
数据库系统
特点
- 【问】下面描述中不属于数据库系统特点的是?
A. 数据共享
B. 数据完整性
C. 数据冗余度高
D. 数据独立性高
摘自 百度百科 —— 数据库系统
数据库系统的基本要求:
① 保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。
② 冗余数据少,数据共享程度高。
③系统的 用户接口简单,用户容易掌握,使用方便。
④确保系统 运行可靠,出现故障时能迅速排除;能够保护数据不受非受权者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发现。
⑤ 有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。
⑥具有 可修改性和 可扩充性。
⑦能够 充分描述数据间的内在联系。
- 【答】下面描述中不属于数据库系统特点的是?
A. 数据共享
B. 数据完整性
C. 数据冗余度高
D. 数据独立性高 - 数据库系统相关人员是数据系统的重要组成部分,有三类人员:数据库管理员 、 应用程序开发人员 和 最终用户。
- DB、DBMS和DBS三者之间的关系是:DBS(数据库系统)包含 DB(数据库)和 DBMS(数据库管理系统)
- 【问】数据库技术的根本目标是要解决数据的 ( ) 。
A. 存储问题
B. 共享问题
C. 安全问题
D. 保护问题
摘自 牛客网评论
数据库的直接目标:解决数据存储问题
数据库的根本目标:为了不同用户或应用程序之间的数据共享
- 【答】数据库技术的根本目标是要解决数据的 ( ) 。
A. 存储问题
B. 共享问题
C. 安全问题
D. 保护问题
数据库管理系统
- 【问】数据库管理系统的主要作用是 _____ 。
A.实现数据的统一管理以及对数据库数据的一切操作
B.收集数据
C.进行数据库的规划、设计、维护等工作
D.提供数据查询界面
摘自 维基百科 —— 数据库管理系统 、 MBA智库 —— 数据库管理系统
数据库管理系统(DBMS):
是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。为管理数据库而设计的 大型电脑软件管理系统。具有代表性的数据管理系统有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。通常数据库管理师会使用数据库管理系统来创建数据库系统。
-
【答】数据库管理系统的主要作用是 _____ 。
A.实现数据的统一管理以及对数据库数据的一切操作
B.收集数据
C.进行数据库的规划、设计、维护等工作
D.提供数据查询界面 -
【问】数据库管理系统的工作不包括( )。
A.定义数据库
B.对已定义的数据库进行管理
C.为定义的数据库提供操作系统
D.数据通信
摘自 牛客网评论
数据库管理系统要做的工作通常有以下四个方面: ①描述数据库;②管理数据库;③维护数据库;④ 数据通讯。
- 【答】数据库管理系统的工作不包括( )。
A.定义数据库
B.对已定义的数据库进行管理
C.为定义的数据库提供操作系统
D.数据通信
SQL语言
- 【问】SQL 语言是( )的语言,易学习。
A. 过程化
B. 非过程化
C. 格式化
D. 导航式
摘自 牛客网评论
SQL是高级的非过程化编程语言,它允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。而它的界面,能使具有底层结构完全不同的数据库系统和不同数据库之间,使用相同的SQL作为数据的输入与管理。 SQL 决定了应该做什么而不是如何去做 。
- 【答】SQL 语言是( )的语言,易学习。
A. 过程化
B. 非过程化
C. 格式化
D. 导航式
(数据库操纵语言)DML
- 【问】以下不属于DML的是?
A. INSERT
B. DELETE
C. CREATE
D. UPDATE
摘自 各大网站零碎的学习笔记
数据查询语言(DQL): select语句
数据操纵语言(DML): insert, update, delete
数据定义语言(DDL): create(创建) , alter(修改) , drop(删除) , rename(重命名), truncate(删除表中的数据)
数据控制语言(DCL): grant(授权), revoke(回收权限),lock(对数据库的特定部分进行锁定)
控制语句(TCL): commit(提交) , rollback(回滚) , savepoint(记录点,用来回滚)
- 【问】以下不属于DML的是?
A. INSERT
B. DELETE
C. CREATE
D. UPDATE
存储过程(Stored Procedure)
- 【问】下列哪个 不是存储过程的好处
A. 更加安全
B. SQL优化
C. 增加网络流量
D. 重复使用
摘自 菜鸟教程 —— MySQL 存储过程
存储过程是什么:
存储过程是一种 在数据库中存储复杂程序,以便外部程序调用的一种数据库对象 。为完成 特定功能的SQL语句集 ,经编译创建并保存 在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程思想:数据库 SQL 语言层面的代码封装与重用 。
优点:
可封装,并隐藏复杂的商业逻辑。
可回传值,并可接受参数。
无法使用 SELECT 指令来运行(因为它是子程序),与查看表,数据表或用户定义函数不同。
可以用在数据检验,强制实行商业逻辑等。
缺点:
往往定制化于特定的数据库上,因为支持的编程语言不同。当切换到其他厂商的数据库系统时,需要重写原有的存储过程。
存储过程的性能调校与撰写,受限于各种数据库系统。
- 【答】下列哪个不是存储过程的好处
A. 更加安全 —— 可设定只有某用户才具有对指定存储过程的使用权。
B. SQL优化 —— 对数据库操作时,可将复杂操作用存储过程封装,与数据库提供的事务处理结合一起使用,只需要连接一次数据库。(例如对多个表进行Update,Insert,Query,Delete 时,用程序来完成,就变成了一条条的SQL语句,可能要多次连接数据库)
C. 增加网络流量—— 对于较为复杂的逻辑,减少了网络流量之间的消耗。(例如一个需要数百行的SQL代码的操作有一条执行语句完成)
D. 重复使用 —— 减少数据库开发人员的工作量。
数据库事务
- 【问】 数据库事务的4个特征是:原子性、一致性、( )、隔离性。
本人博客详解 —— 数据库事务的四大特性(ACID),四种隔离级别,如何避免脏读、不可重复读、幻读(如何加锁)?
原子性 Atomicity:一个原子事务中的所有操作要么全部成功,要么全部失败。
一致性 Consistency:数据库总是从一个一致性的状态转换到另一个一致性的状态。
隔离性 Isolation:针对并发事务而言,事务必须在不干扰其他进程或事务的前提下独立执行。
永久性(持续性) Durability:一旦事务提交成功,它对于数据的修改就会永久保存到数据库中,此时即使系统崩溃,修改的数据也不会丢失(磁盘损坏不包括,需要靠备份等)。
-
【答】 数据库事务的4个特征是:原子性、一致性、持续性(永久性)、隔离性。
-
【问】在并发控制技术中,最常用的是封锁机制,基本的封锁类型有排它锁 X 和共享锁 S ,下列关于两种锁的相容性描述不正确的是( )
A.X/X :TRUE
B.S/S:TRUE
C.S/X:FALSE
D.X/S:FALSE
摘自 牛客网评论,本人博客详解 —— 数据库事务的四大特性(ACID),四种隔离级别,如何避免脏读、不可重复读、幻读(如何加锁)?
如果具有排他锁(X 锁),则在释放排他锁(X 锁)之前,其他事务均无法获取该资源的任何类型(共享、更新或排他)的锁。
如果共享锁(S 锁)已应用到资源,则即使第一个事务尚未完成,其他事务也可以获取该项的共享锁或更新锁(U 锁)。但是,在释放共享锁之前,其他事务无法获取排他锁。
- 【问】在并发控制技术中,最常用的是封锁机制,基本的封锁类型有排它锁 X 和共享锁 S ,下列关于两种锁的相容性描述不正确的是( )
A.X/X :TRUE
B.S/S:TRUE
C.S/X:FALSE
D.X/S:FALSE - 【问】已知事务T1 的封锁序列为:LOCK S(A)…LOCK S(B)…LOCK X( C)…UNLOCK(B) …UNLOCK (A) …UNLOCK ( C)
事务T2 的封锁序列为:LOCK S(A) …UNLOCK (A) …LOCK S(B)
…LOCK X( C) …UNLOCK ( C) …UNLOCK (B)
则遵守两段封锁协议的事务是( )。
A.T1
B.T2
C.T1和T2
D.没有
摘自 牛客网评论
两段锁协议:每个事务的执行可以分为两个阶段: 生长阶段(加锁阶段) 和 衰退阶段(解锁阶段)
加锁阶段:在该阶段可以进行加锁操作。在对任何数据进行读操作之前要申请并获得S锁,在进行写操作之前要申请并获得X锁。 加锁不成功,则事务进入等待状态,直到加锁成功才继续执行 。
解锁阶段:当事务释放了一个封锁以后,事务进入解锁阶段, 在该阶段只能进行解锁操作不能再进行加锁操作 。
两段锁协议要求 每个事务中,所有的封锁请求先于所有的解锁请求 ,事务T1前面都是加锁阶段阶段,后面都是解锁阶段满足要求。而事务T2又加锁又解锁,不满足要求。
-
【答】已知事务T1 的封锁序列为:LOCK S(A)…LOCK S(B)…LOCK X( C)…UNLOCK(B) …UNLOCK (A) …UNLOCK ( C)
事务T2 的封锁序列为:LOCK S(A) …UNLOCK (A) …LOCK S(B)
…LOCK X( C) …UNLOCK ( C) …UNLOCK (B)
则遵守 两段封锁协议 的事务是( )。
A.T1
B.T2
C.T1和T2
D.没有 -
【问】可串行化调度肯定是正确的并发调度?
摘自 本人博客详解 —— 数据库事务的四大特性(ACID),四种隔离级别,如何避免脏读、不可重复读、幻读(如何加锁)?
事务隔离级别 脏读 ② 不可重复读③ 幻读④ 未提交读[Read Uncommitted] 允许 允许 允许 已提交读[Read Committed] 禁止 允许 允许 可重复读[Repeatable Read] 禁止 禁止 允许 可串行化[Serializable] 禁止 禁止 禁止 上表中,在相同运行环境下,不同隔离级别的顺序按照并发性由高到低,隔离性由低到高排序。
- 【答】可串行化调度肯定是正确的并发调度。
- 【问】下面的数据库动作“begin transaction; insert into employee values(1, ‘Cardinal’); commit; rollback;”最终插入的数据会被取消,不会记录到数据库中?
事务提交后就不能回滚了
- 【答】下面的数据库动作“begin transaction; insert into employee values(1, ‘Cardinal’); commit; rollback;”最终插入的数据会被取消,不会记录到数据库中? 错!
关系数据模型
关系模式
- 【问】设有属性A,B,C,D,以下表示中不是关系的是()
A.R(A)
B.R(A,B,C,D)
C.R(A×B×C×D)
D.R(A,B)
摘自 牛客网评论
关系的描述称为关系模式,可 形式化为R(U,D,DOM,F)。 R为关系名,U是组成该关系的属性名集合,D是属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。 通常将关系模式简记为R(U)或R(A1,A2,…,An),其中R为关系名,U为属性名集合,A1,A2,…,An为各属性名。
- 【答】设有属性A,B,C,D,以下表示中不是关系的是()
A.R(A)
B.R(A,B,C,D)
C.R(A×B×C×D)
D.R(A,B)
关系数据结构
- 【问】在关系数据库中,用来 表示实体之间联系 的是()
A.树结构
B.网结构
C.线性表
D.二维表
摘自 百度知道 —— 二维表是什么数据模型 、 牛客网评论
关系数据模型的数据结构: 逻辑结构是一张二维表(Table,简称表) ,由行和列组成。其常用术语有:
① 关系模式(Relational Schema):对应一个 二维表的表头,它 对应E-R模型中的实体型,是相对稳定的。
② 属性(Attribute): 二维表中的一列即为一个属性,给每一个属性起一个名称即属性名。它们与E-R模型中实体型的属性相同。
③ 关系(Relation):对应通常所说的 一张二维表,它与E-R模型中的实体集对应。
④ 元组(Tuple):二维表中 除表头以外的一非空行即为一个元组,元组与E-R模型中的实体对应。