数据库系统原理例题之——数据库安全与保护

发布时间:2023年12月30日

第六章 数据库安全与保护

【例题】

一 、单选题

51.删除表的同时 ,表中所有的完整性约束都会自动被删除的语句是( )
A.ALTER TABLE
B.DROP TABLE
C.DELETE TABLE
D.REVOKE TABLE

52.可以独立地删除完整性约束 ,而不会删除表的语句是( )
A.ALTER TABLE
B.DROP TABLE
C.CHECK TABLE
D.DELETE ALTER

53.当触发器涉及对触发表自身的更新操作时 ,只能使用的触发器是( )
A.BEFORE INSERT
B.AFTER INSERT
C.BEFORE UPDATE
D.AFTER UPDATE

54.MySQL 所支持的触发器不包括( )
A.INSERT 触发器
B.DELETE 触发器
C.SELECT 触发器
D.UPDATE 触发器

55.MySQL 的 GRANT 语句不能指定权限的级别是( )
A.行权限 B.列权限 C.表权限 D.数据库权限

56.为防止在备份过程中表被其他用户更新 ,需要在指定表上做一个( )
A.读锁定 B.写锁定 C.解锁 D.关锁

二 、填空题

57.MySQL 支持几种用户自定义完整性约束 ,分别是非空约束 、____________和 ____________ 。

58.在 MySQL 中 ,实体完整性是通过主键约束和 __________约束来实现的 。

59.命名完整性约束的方法是在各种完整性约束的定义说明之前加上关键字__________ 和该约束的名字。

60.在 MySQL 数据库中,数据库系统对数据的安全管理是使用 __________ 、数据库用户权限确认等访问控制措施。

61.在 MySQL 中 ,为了删除一个或多个用户账号以及相关的权限 ,可以使用 ___________语句 。

62.权限的转移可以通过在 GRANT 语句中使用____________子句来实现。

63.一个锁实质上就是允许或阻止一个事务对一个数据对象的 _______ 。

三 、简答题

64.简述完整性约束条件的作用对象及其含义 。

65.在 MySQL 中,定义外键时需要指定参照完整性的实现策略,除了 RESTRICT 外,还有其他哪两种含 义不同的实现策略?

66.简述事务的概念与事务的特征。

【答案&解析】

一、单选题

51.【考点】更新完整性约束
答案: B
解析:本题考查更新完整性约束时,ALTER TABLE 和 DROP TABLE 的区别。破题点:本题可从“所有的 ” 入手。
ALTER TABLE: 可以独立地删除完整性约束 , 而不会删除表本身。
DROP TABLE:删除一个表 ,则表中所有的完整性约束都会自动被删除
故本题选 B。

52.【考点】更新完整性约束
答案:A
解析:题目考查 ALTER。ALTERTABLE 语句删除完整性约束,不会删除表本身,故本题选 A。DROP TABLE 语句删除表中所有的完整性约束 ,故 B 错。

53.【考点】 UPDATE 触发器
答案: C
解析:触发器分类: INSERT 触发器、DELETE 触发器、UPDATE 触发器 。每种触发器都可在语句执行之 前( BEFORE )或之后( AFTER )执行 。 当触发器涉及对触发表自身的更新操作时只能使用 BEFORE UPDATE 触发器 , 而 AFTER UPDATE 触发器将不被允许 。故本题选 C。

54.【考点】使用触发器
答案: C
解析: MySQL 所支持的触发器有 3 种:
( 1 )INSERT 触发器
( 2 )DELETE 触发器
( 3 )UPDATE 触发器 可助记为:增( INSERT )删( DELETE )改( UPDATE )。本题为选非题 ,故选 C。

55.【考点】权限的授予
答案:A
解析:新建的 MySQL 用于必须被授权 ,可以使用 GRANT 语句来实现 ,可表示权限的级别有:
( 1 )列权限:SELECT、INSERT 和 UPDATE
( 2 )表权限: SELECT、INSERT 、DELETE、UPDATE 、REFERENCES、CREATE 、ALTER 、INDEX、 DROP、ALL
在这里插入图片描述

( 3 )数 据 库权 限 : 除 了 可 以 指 定 为 授 予 表权 限 时 的 所 有 值 之 外 , 还 可 以 是 下 面 这 些 值 : CREATE TEMPORARY TABLES 、CREATE VIEW 、SHOW VIEW 、CREATE ROUTINE 、ALTER ROUTINE、 EXECUTE ROUTINE、LOOK TABLES。
( 4 )用户权限(最有效率) : 除了可以指定为授予数据库权限时的所有值之外 ,还可以是下面这些值: CREATE USER、SHOW DATABASES。
本题为选非题 ,故选 A。

56.【考点】使用 LOAD DATA … INFILE 语句恢复数据
答案:A
解析:在多个用户同时使用 MySQL数据库的情况下 ,为了数据的一致性 , 需要在指定的表上使用锁定:

本题中 ,在“备份 ”过程中使用 ,应做“读锁定” ,CD 两项为干扰项 ,故选 A。

二、填空题

57.【考点】用户定义的完整性
答案: CHECK 约束 ,触发器
解析:用户定义的完整性:
( 1 )非空约束( NOT NULL )
( 2 )CHECK 约束
( 3 )触发器( TRIGGER )

58.【考点】实体完整性
答案:候选键
解析:破题点:本题可从“ 实体完整性”入手 。实体完整性约束:
( 1 )主键约束:一个表中只能创建一个。 PRIMARY KEY 索引
( 2 )候选键约束: 一个表中可定义若干个 。UNIQUE 索引。

59.【考点】命名完整性约束
答案: CONSTRAINT
解析:破题点:本题可从“命名 ”入手。
完整性约束:
命名: CONSTRAINT
更新:ALTER TABLE

60.【考点】安全性与访问控制
答案: 身份验证
解析:在 MySQL 数据库中,数据库系统对数据的安全管理是使用身份验证、数据库用户权限确认等访问控 制措施 ,来保护数据库中的信息资源 , 以防止这些数据遭受破坏。
【拓展】数据库的安全性是指保护数据库以防止不合法的使用而造成数据泄露、更改或破坏 ,所以安全性 对于任何一个 DBMS来说都是至关重要的。

61.【考点】删除用户
答案: DROP USER
解析:为了删除一个或多个用户账号以及相关的权限,可以使用 DROP USER 语句,其使用的语法格式是: DORP USER user[,user] … 需要与其他用户账号管理的操作区分:
用户账号管理操作
(1) 创建用户账号: CREATE USER
(2) 删除用户: DROP USER
(3) 修改用户账号: RENAME USER
(4) 修改用户 口令: SET PASSWORD

62.【考点】权限的转移
答案: WITH
解析:账户权限管理的操作:
( 1 )授予: GRANT( 2 )转移: WITH 子句( 3 )撤销: REVOKE

63.【考点】锁
答案:存取特权
解析: 一个锁实际上就是允许或阻止一个事务对一个数据对象的存取特权 。类似于生活中的锁的作用(进 出门) 。

三、简答题

64.【考点】完整性约束条件的作用对象
答案:作用对象可以是列、元组和表 。
( 1 )列级约束 ,是指对列的类型、取值范围、精度等的约束 。
( 2 )元组约束 ,是指元组中各个字段之间的相互约束 。
( 3 )表级约束 ,足指若干元组之间、关系之间的联系的 约束。

65.【考点】参照完整性
答案:( 1 )CASCADE;( 2 )SETNULL。
解析:参照完整性约束的实现策略:
( 1 )CASCADE 表示级联策略 , 即从被参照表中删除或更新记录行 时 , 自动删除或更新参照表中匹配的记录行。
( 2 )SET NULL 表示置空策略 , 即当从被参照表中删除或更新记录行时 ,设置参照表中与之对应的外键列的值为 NULL ,这个策略需要被参照表中的外键列没有声明限定词 NOT NULL。
( 3 )RESTRICT 表示限制策略 , 即当要删除或更新被参照表中被参照列上 , 并在外键中出现的值时 , 系 统拒绝对被参照表的删除或更新操作 。与“ NO ACTION”动作语义相同。

66.【考点】事务的特征
答案: 事务是用户定义的一个数据操作序列 ,这些操作可作为一个完整的工作单元 ,要么全部执行 ,要么 全部不执行 ,是一个不可分割的工作单位 。
特征:原子性、一致性、隔离性和持续性。
解析: 事务的定义: 需答出事务是数据操作序列 ,且是不可分割的整体 。事务的 4个特性 ,可简称为事务 的 ACID 特征 ,原子性 (Atomicity) 、一致性( Consistency) 、隔离性( Isolation)和持续性(Durability) 。助记 口诀: 远离一尺(原离一持) 。

【延伸知识点】

1.在 MySQL 中 ,主键列必须遵守的规则中说法错误的是()
A.每一个表可以定义多个主键 , 由多个列组合而成的主键称为复合主键
B.主键的值 ,也称为键值 ,必须能够唯一标志表中的每一行记录 ,且不能为 NULL
C.复合主键不能包含不必要的多余列
D.一个列名在复合主键的列表中只能出现一次

2.数据库完整性是指数据库中数据的正确性和__________。

3.在指定外键时 ,被参照表如果是当前正在创建的表 ,则被参照表与参照表是同一个表 ,这样的表称为___________。

【延伸知识点答案&解析】

1.答案:A
解析:
主键可以是表中的某一列 ,也可以是表中多个列所构成的一个组合 。其中 , 由多个列组合而成的主键也称 为复合主键 。在 MySQL 中 ,主键列必须遵守如下一些规则。
( 1 )每一个表只能定义一个主键。
( 2 )主键的值 ,也称为键值 ,必须能够唯一标志表中的每一行记录 ,且不能为 NULL。
( 3 )复合主键不能包含不必要的多余列。
( 4 )一个列名在复合主键的列表中只能出现一次。

2.答案:相容性
解析:
数据库的安全保护:
( 1 )完整性控制: 完整性指数据库中数据的正确性和相容性
( 2 )安全性控制:安全性指保护数据库以防止不合法的使用而造成数据泄露、更改或破坏。
( 3 )并发控制: 事务就是为保证数据的一致性而产生的一个概念和基本手段。
( 4 )数据库的备份与恢复:保证数据库中数据的可靠性和完整性。

3.答案: 自参照表
解析:
在指定外键时 , 需要遵守的规则中 , 被参照表必须已经用一条 CREATE TABLE 语句创建了 ,或者必须是 当前正在创建的表 。如若是后一种情形 ,则被参照表与参照表是同一个表 ,这样的表称为自参照表 ,这种 结构称为自参照完整性。

文章来源:https://blog.csdn.net/run__ning/article/details/135237532
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。