数据库+SQL专场(持续输出)


前言

  为提升和巩固个人现有知识水平,选择牛客网的选择题进行练习,仅作为个人总结,分享给有需要的人,如有错误,请纠正,万分感谢


数据库系统

特点

  1. 【问】下面描述中不属于数据库系统特点的是?
      A. 数据共享
      B. 数据完整性
      C. 数据冗余度高
      D. 数据独立性高

摘自 百度百科 —— 数据库系统


数据库系统的基本要求
保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。
冗余数据少,数据共享程度高。
③系统的 用户接口简单,用户容易掌握,使用方便。
④确保系统 运行可靠,出现故障时能迅速排除;能够保护数据不受非受权者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发现。
有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。
⑥具有 可修改性可扩充性
⑦能够 充分描述数据间的内在联系

  1. 【答】下面描述中不属于数据库系统特点的是?
      A. 数据共享
      B. 数据完整性
      C. 数据冗余度高
      D. 数据独立性高
  2. 数据库系统相关人员是数据系统的重要组成部分,有三类人员:数据库管理员 应用程序开发人员 最终用户
  3. DB、DBMS和DBS三者之间的关系是:DBS(数据库系统)包含 DB(数据库)DBMS(数据库管理系统)
  4. 【问】数据库技术的根本目标是要解决数据的 ( ) 。
      A. 存储问题
      B. 共享问题
      C. 安全问题
      D. 保护问题

摘自 牛客网评论


数据库的直接目标:解决数据存储问题
数据库的根本目标:为了不同用户或应用程序之间的数据共享

  1. 【答】数据库技术的根本目标是要解决数据的 ( ) 。
      A. 存储问题
      B. 共享问题
      C. 安全问题
      D. 保护问题

数据库管理系统

  1. 【问】数据库管理系统的主要作用是 _____ 。
      A.实现数据的统一管理以及对数据库数据的一切操作
      B.收集数据
      C.进行数据库的规划、设计、维护等工作
      D.提供数据查询界面

摘自 维基百科 —— 数据库管理系统MBA智库 —— 数据库管理系统


数据库管理系统(DBMS):
  是一种操纵和管理数据库的大型软件,是用于建立使用维护数据库,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。为管理数据库而设计大型电脑软件管理系统。具有代表性的数据管理系统有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。通常数据库管理师会使用数据库管理系统来创建数据库系统

  1. 【答】数据库管理系统的主要作用是 _____ 。
      A.实现数据的统一管理以及对数据库数据的一切操作
      B.收集数据
      C.进行数据库的规划、设计、维护等工作
      D.提供数据查询界面

  2. 【问】数据库管理系统的工作不包括( )。
      A.定义数据库
      B.对已定义的数据库进行管理
      C.为定义的数据库提供操作系统
      D.数据通信

摘自 牛客网评论


  数据库管理系统要做的工作通常有以下四个方面: ①描述数据库;②管理数据库;③维护数据库;④ 数据通讯。

  1. 【答】数据库管理系统的工作不包括( )。
      A.定义数据库
      B.对已定义的数据库进行管理
      C.为定义的数据库提供操作系统
      D.数据通信

SQL语言

  1. 【问】SQL 语言是( )的语言,易学习。
      A. 过程化
      B. 非过程化
      C. 格式化
      D. 导航式

摘自 牛客网评论


  SQL是高级的非过程化编程语言,它允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。而它的界面,能使具有底层结构完全不同的数据库系统和不同数据库之间,使用相同的SQL作为数据的输入与管理。 SQL 决定了应该做什么而不是如何去做

  1. 【答】SQL 语言是( )的语言,易学习。
      A. 过程化
      B. 非过程化
      C. 格式化
      D. 导航式

(数据库操纵语言)DML

  1. 【问】以下不属于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(记录点,用来回滚)

  1. 【问】以下不属于DML的是?
      A. INSERT
      B. DELETE
      C. CREATE
      D. UPDATE

存储过程(Stored Procedure)

  1. 【问】下列哪个 不是存储过程的好处
      A. 更加安全
      B. SQL优化
      C. 增加网络流量
      D. 重复使用

摘自 菜鸟教程 —— MySQL 存储过程


存储过程是什么
  存储过程是一种 在数据库中存储复杂程序,以便外部程序调用的一种数据库对象 。为完成 特定功能的SQL语句集经编译创建并保存 在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程思想:数据库 SQL 语言层面的代码封装与重用


优点
  可封装,并隐藏复杂的商业逻辑。
  可回传值,并可接受参数。
  无法使用 SELECT 指令来运行(因为它是子程序),与查看表,数据表或用户定义函数不同。
  可以用在数据检验,强制实行商业逻辑等。


缺点
  往往定制化于特定的数据库上,因为支持的编程语言不同。当切换到其他厂商的数据库系统时,需要重写原有的存储过程。
  存储过程的性能调校与撰写,受限于各种数据库系统。

  1. 【答】下列哪个不是存储过程的好处
      A. 更加安全 —— 可设定只有某用户才具有对指定存储过程的使用权。
      B. SQL优化 —— 对数据库操作时,可将复杂操作用存储过程封装,与数据库提供的事务处理结合一起使用,只需要连接一次数据库。(例如对多个表进行Update,Insert,Query,Delete 时,用程序来完成,就变成了一条条的SQL语句,可能要多次连接数据库)
      C. 增加网络流量 —— 对于较为复杂的逻辑,减少了网络流量之间的消耗。(例如一个需要数百行的SQL代码的操作有一条执行语句完成)
      D. 重复使用 —— 减少数据库开发人员的工作量。

数据库事务

  1. 【问】 数据库事务的4个特征是:原子性、一致性、( )、隔离性。

本人博客详解 —— 数据库事务的四大特性(ACID),四种隔离级别,如何避免脏读、不可重复读、幻读(如何加锁)?


  原子性 Atomicity:一个原子事务中的所有操作要么全部成功,要么全部失败。
   一致性 Consistency:数据库总是从一个一致性的状态转换到另一个一致性的状态。
  隔离性 Isolation:针对并发事务而言,事务必须在不干扰其他进程或事务的前提下独立执行。
  永久性(持续性) Durability:一旦事务提交成功,它对于数据的修改就会永久保存到数据库中,此时即使系统崩溃,修改的数据也不会丢失(磁盘损坏不包括,需要靠备份等)。

  1. 【答】 数据库事务的4个特征是:原子性、一致性、持续性(永久性)、隔离性。

  2. 【问】在并发控制技术中,最常用的是封锁机制,基本的封锁类型有排它锁 X 和共享锁 S ,下列关于两种锁的相容性描述不正确的是( )
      A.X/X :TRUE
      B.S/S:TRUE
      C.S/X:FALSE
      D.X/S:FALSE

摘自 牛客网评论本人博客详解 —— 数据库事务的四大特性(ACID),四种隔离级别,如何避免脏读、不可重复读、幻读(如何加锁)?


   如果具有排他锁(X 锁),则在释放排他锁(X 锁)之前,其他事务均无法获取该资源的任何类型(共享、更新或排他)的锁。
  如果共享锁(S 锁)已应用到资源,则即使第一个事务尚未完成,其他事务也可以获取该项的共享锁或更新锁(U 锁)。但是,在释放共享锁之前,其他事务无法获取排他锁。

  1. 【问】在并发控制技术中,最常用的是封锁机制,基本的封锁类型有排它锁 X 和共享锁 S ,下列关于两种锁的相容性描述不正确的是( )
      A.X/X :TRUE
      B.S/S:TRUE
      C.S/X:FALSE
      D.X/S:FALSE
  2. 【问】已知事务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又加锁又解锁,不满足要求。

  1. 【答】已知事务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.没有

  2. 【问】可串行化调度肯定是正确的并发调度?

摘自 本人博客详解 —— 数据库事务的四大特性(ACID),四种隔离级别,如何避免脏读、不可重复读、幻读(如何加锁)?

事务隔离级别 脏读 ② 不可重复读③ 幻读④
未提交读[Read Uncommitted] 允许 允许 允许
已提交读[Read Committed] 禁止 允许 允许
可重复读[Repeatable Read] 禁止 禁止 允许
可串行化[Serializable] 禁止 禁止 禁止

  上表中,在相同运行环境下,不同隔离级别的顺序按照并发性由高到低,隔离性由低到高排序

  1. 【答】可串行化调度肯定是正确的并发调度。
  2. 【问】下面的数据库动作“begin transaction; insert into employee values(1, ‘Cardinal’); commit; rollback;”最终插入的数据会被取消,不会记录到数据库中?

  事务提交后就不能回滚了

  1. 【答】下面的数据库动作“begin transaction; insert into employee values(1, ‘Cardinal’); commit; rollback;”最终插入的数据会被取消,不会记录到数据库中? 错!

关系数据模型

关系模式

  1. 【问】设有属性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为各属性名。

  1. 【答】设有属性A,B,C,D,以下表示中不是关系的是()
      A.R(A)
      B.R(A,B,C,D)
      C.R(A×B×C×D)
      D.R(A,B)

关系数据结构

  1. 【问】在关系数据库中,用来 表示实体之间联系 的是()
      A.树结构
      B.网结构
      C.线性表
      D.二维表

摘自 百度知道 —— 二维表是什么数据模型牛客网评论


关系数据模型的数据结构逻辑结构是一张二维表(Table,简称表) ,由行和列组成。其常用术语有:
  ① 关系模式(Relational Schema):对应一个 二维表的表头,它 对应E-R模型中的实体型,是相对稳定的。
  ② 属性(Attribute): 二维表中的一列即为一个属性,给每一个属性起一个名称即属性名。它们与E-R模型中实体型的属性相同。
  ③ 关系(Relation):对应通常所说的 一张二维表,它与E-R模型中的实体集对应。
  ④ 元组(Tuple):二维表中 除表头以外的一非空行即为一个元组,元组与E-R模型中的实体对应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值