数据库系统概论(第五版) 王珊 第四章 课后习题答案

news2025/1/18 20:21:43

 

目录

(一)数据库安全性の概念 

1. 什么是数据库的安全性

2.数据库安全性和计算机系统的安全性有什么关系?

4.试述实现数据库安全性控制的常用方法和技术

5.什么是数据库中的自主存取控制方法和强制存取控制方法?

(二)考试重点:(代码)

6.对下列两个关系模式:

7.今有以下两个关系模式:

8.针对习题7中(1)~(7)的每一种情况,撤销个用户所授予的权限。

9.理解并解释MAC 机制中主体、客体、敏感度标记的含义。

11.什么是数据库的审计功能,为什么要提供审计功能?


(一)数据库安全性の概念 

1. 什么是数据库的安全性

数据库的安仝性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏

2.数据库安全性和计算机系统的安全性有什么关系?

安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据

集中存放,而且为许多最终用户直接共亨,从而使安全性问题更为突岀。

系统安全保护措施是否有效是数据库系统的主要指标之一。

数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,

4.试述实现数据库安全性控制的常用方法和技术

实现数据库安全性控制的常用方法和技术有:

(1) 用户标识和鉴别: 该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进

入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。

(2) 存取控制: 通过用户权限定义和合法杈检査确保只有合法权限的用户访问数据库,所有未被授权的

人员无法存取数据。例如CZ级中的自主存取控制(DAC),B1级中的强制存取控制(MAC)

(3) 视图机制: 为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而

自动地对数据提供一定程度的安全保护

(4) 审计: 建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计

跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人时间和内容等

(5) 数据加密: 对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内

容。

5.什么是数据库中的自主存取控制方法和强制存取控制方法?

自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象

(二)考试重点:(代码)

6.对下列两个关系模式:

  • 学生(学号,姓名,年龄,性别,家庭住址,班级号)
  • 班级(班级号,班级名,班主任,班长)

使用 GRANT 语句(授权语句)完成下列授权功能

create table Student
(
	Snum char(15) unique,
	Sname char(10),
	Sage int,
	Ssex char(5),
	Sloc char(20),
	Scla char(5)
);
 
create table Class
(
	Cnum int,
	Cname char(10),
	Ctea char(10),
	Cmon char(10)
);

(1) 授予用户 U1 对两个表的所以权限,并可给其他用户授权

GRANT ALL PRIVILEGES
ON Class , Student
TO U1
WITH GRANT OPTION;

(2) 授予用户 U2 对学生表具有查看权限,对家庭住址具体更新权限

GRANT SELECT, UPDATE(Sloc)
ON Student
TO S2

(3) 将对班级表查看权限授予全体用户

GRANT SELECT
ON Class
TO PUBLIC;

(4) 将对学生表的查询,更新权限授予角色 R1

GRANT SELECT,UPDATE 
ON Student
TO R1;

(5) 将角色 R1 授予用户 U1,并且 U1 可继续授权给其他角色

GRANT RI
TO U1
WITH ADMIN OPTION

7.今有以下两个关系模式:

  职工(职工号,姓名,年龄,职务,工资,部门号)
  部门(部门号,名称,经理名,地址,电话号)

用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能

create table Staff
(
	Stnum char(15) unique,
	Stname char(10),
	Stage int,
	Stw char(5),
	Sts int,
	Stn char(5)
);
 
create table Dep
(
	Dnum int,
	Dname char(10),
	Dmag char(10),
	Dloc char(10),
	Dcall char(13),
);

(1)用户王明对两个表有SELECT权限。

GRANT SELECT
ON Staff,Dep
TO 王明

(2)用户李勇对两个表有INSERT和DELETE权限。

 GRANT INSERT,DELETE ON Staff,Dep
 TO 李勇

(3)每个职工只对自己的记录有SELECT权限。

--先创建相应的视图,并且把员工ID作为员工的用户名
create view Users
as
select *
from Staff
where Staff.Stnum=USER

--创建好试图后,员工使用自己的用户名登录,直接从视图中查询,就只能看到自己的信息。
grant select
on Users
to public;

--查询
SELECT *
FROM Users;

(4)用户刘星对职工表有SELECT权限,对工资字段具有更新权限。

GRANT SELECT,UPDATE(Sts)
ON Staff
TO 刘星;

(5)用户张新具有修改这两个表的结构的权限。

grant update
on Staff,Dep
to 张新;

(6)用户周平具有对两个表的所有权限(读、插、改、删数据),并具有给其他用户授权的权限。

GRANT ALL PRIVILEGES
ON Staff,Dep
TO 周平
WITH GRANT OPTION;

(7)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权限,他不能查看每个人的工资。

--建立视图
CREATE VIEW Dep_sts(DS_name,maxs,mins,avgs)
as
SELECT Dep.Dname,max(Sts),min(Sts),avg(Sts)
FROM Staff,Dep
WHERE Staff.Stnum=Dep.Dnum
GROUP BY Staff.Stnum,Dep.Dname;
 
 --授权杨兰
GRANT SELECT
ON Dep_sts
TO 杨兰;

8.针对习题7中(1)~(7)的每一种情况,撤销个用户所授予的权限。

1.
REVOKE SELECT
ON Staff
FROM 王明;

REVOKE SELECT
ON Dep
FROM 王明;

2.
REVOKE INSERT,DELETE
ON Staff
FROM 李勇;

REVOKE INSERT,DELETE
ON Dep
FROM 李勇;

3.同时删除视图
revoke select
on Users
from public;
drop view Users;

4.
REVOKE SELECT,UPDATE(Sts)
ON Staff
FROM 刘星;

5.
revoke update
on Staff
from 张新;
 
revoke update
on Dep
from 张新;

或者

REVOKE ALTER
ON Staff
FROM 张新;

REVOKE ALTER
ON Dep
FROM 张新;

6.
revoke all 
on Staff
from 周平 cascade;
 
revoke all 
on Dep
from 周平 cascade;

或者

revoke select,update,delete,insert
on Staff
from 周平;

revoke select,update,delete,insert
on Dep
from 周平;

7.
REVOKE SELECT
ON Dep_sts
FROM 杨兰;
DROP VIEW Dep_sts;

9.理解并解释MAC 机制中主体、客体、敏感度标记的含义。

主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程。
客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。对于主体和 客体,DBMS 为它们每个实例(值)指派一个敏感度标记(Label )。

敏感度标记被分成若干级别,例如绝密(Top Secret )、机密(Secret )· 可信( Confidential )、公开(PubliC )等。主体的敏感度标记称为许可证级别(ClearanCe 玫vel ) ,客体的敏感度标记称为密级(Classification Level )。

11.什么是数据库的审计功能,为什么要提供审计功能?

审计功能是指DBMS 的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA 可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

​​​​​​​

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/422710.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FMCW激光雷达,未来已来

2021年1月,一家名为Avea的激光雷达初创公司,与日本电装宣布达成合作协议,双方将共同推进FMCW(调频连续波)激光雷达的量产,目标是满足大众市场的需求。 众所周知,目前,大多数车载激光…

简单明了的说明STM32的PWM原理以及实现方法

申明以下都是个人理解,仅供参考。如果错误欢迎指教。本文不讲底层,根据实际使用来逆向讲解。 1.什么是pwm? pwm最简单的理解就是“功率”,调节PWM的占空比就是调节功率。 2.如何调节占空比? 图1 根据图1很容易看出…

3d坦克大战

文章目录一、 介绍二、 导入美术资源、调节光亮三、 坦克脚本四、 添加坦克移动效果、挂载脚本五、 制作子弹预制体、脚本六、 子弹发射点、发射子弹脚本七、 坦克血量脚本八、 设置相机视角九、 设置环形滑动条,表示hp十、 下载素材包一、 介绍 有两种模式&#x…

计网第五章.运输层—TCP报文的首部

以下来自湖科大计算机网络公开课笔记及个人所搜集资料 TCP报文格式如下: 那6个标志位对应的中文名: 下面是按TCP首部的顺序介绍各个字段: 源端口和目的端口分别是表示发送TCP报文段的应用进程。从网络编程角度,进程里创建sock…

01.容器接口BeanFactory和ApplicationContext

容器接口BeanFactory和ApplicationContext BeanFactory能做哪些事ApplicationContext有哪些扩展功能事件解耦 重点 到底什么是BeanFactory 它是 ApplicationContext 的父接口它才是 Spring 的核心容器, 主要的 ApplicationContext 实现都【组合】了它的功能 BeanFactory 能干点…

【计算机网络复习】第四章 网络层 1

网络层的位置和基本功能 o 实现了端到端(主机-主机)的数据传输 o 路由选择 n 根据数据携带的目的主机地址为数据包选择一条的路径,以到达目的主机 o 主机/路由器编址 n 每个网络接口有一个唯一的IP地址 o 网络互联 n 在不同的网…

mysql数据库使用sql对特殊分隔符分隔的字段进行统计

需求 在一个数据库表中有一个字段中的数据是通过特殊符号进行分隔的,现需要统计分隔符分开的各数据的条数。 数据准备 -- ---------------------------- -- Table structure for persons -- ---------------------------- DROP TABLE IF EXISTS persons; CREATE TAB…

Linux 基本使用和程序部署

✏️作者:银河罐头 📋系列专栏:JavaEE 🌲“种一棵树最好的时间是十年前,其次是现在” 目录Linux 常用命令lspwdcdtouchcatechovimmkdirrmmvcp搭建 Java 部署环境yumjdktomcatmysql部署 Web 项目到 Linux数据库建表微调…

万亿氢能赛道上,谁在发挥“关键力量”?谁在扮演“关键先生”?

NBA比赛中,在急速变化的时刻要想赢得胜利,需要有一股“关键力量”。 这股“力量”一方面能够组织好队员之间的协同,更加灵活和精准地推进战术,另一方面能够击中对方防守的痛点,投入制胜一球。这种“关键力量”通常是由…

BTP 使用SPA开发工作流

1、前言 目前SAP ABAP 工作流比较难用,BTP上的工作流比较简单便捷。 BTP上面有两款服务可以执行工作流,一种是workflow management 配合Business Rules Services简称BRS,还有一种是接下来会介绍的SP Bulide Process Automation 简称SBPA。 …

【linux】Ubuntu aarch64编译安装RXTX进行串口通信

目录1.下载RXTX2.源码下载方式一:方式二:3. 编译源码4.编译源码时遇到的问题问题1:./configure command not found问题2:error: UTS_RELEASE undeclared问题3:libtool: install: armv6l-unknown-linux-gnu/librxtxRS48…

Manjaro安装及配置

官方镜像 官方镜像地址:https://manjaro.org/download/ 镜像选择 镜像选择:PLASMA、XFCE、GNOME 按电脑性能:PLASMA>GNOME>XFCE(老旧电脑可以运行) 启动U盘刻录 推荐使用rufus(win10平台,dd模式&#xff09…

C++ [图论算法详解] 欧拉路欧拉回路

蒟蒻还在上课,所以文章更新的实在慢了点 那今天就来写一篇这周刚学的欧拉路和欧拉回路吧 讲故事环节: 在 一个风雪交加的夜晚 18世纪初普鲁士的哥尼斯堡,有一条河穿过,河上有两个小岛,有七座桥把两个岛与河岸联系…

万字长文:C语言实践小练习汇总指南!

万字长文:C语言实践小练习汇总指南!0.说在前面1.i与i总结1.1 i与i1.2 区别总结:2.大小写转化3.交换字符串3.1 使用传字符串地址3.2 使用strcpy函数3.3 自写字符串交换函数3.4 同3.3自写函数4.字符串中单词4.1 统计字符串中单词个数4.2 最长单词及位置5.字…

注册页面小案例

运行截图&#xff1a; 知识点&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name&…

SwinTrack: A Simple and Strong Baseline for Transformer Tracking(NIPS2022)

SwinTrack摘要介绍相关工作方法实验摘要 近期&#xff0c;Transformer在视觉跟踪方面进行了深入探索&#xff0c;并展示了显著的潜力。然而&#xff0c;现有的基于Transformer的跟踪器主要将Transformer用于融合和增强由卷积神经网络提取的特征&#xff0c;Transformer在表征学…

另一种迁移xxl-job任务的方法,适合不满足数据迁移条件

以为多个项目组同时使用一个xxl-job&#xff0c;同时涉及到版本提升&#xff0c;由此不太满足数据库数据迁移&#xff0c;所以这里提供另一种解决办法 使用工具&#xff1a;postman,json转excel&#xff0c;excel 核心&#xff1a;excel拼接&#xff1a; 1.使用f12抓取xxl任务访…

什么是 SMART 并如何使用这个方法取得新的成就

SMART原则也许大家并不陌生&#xff0c;很多企业常常采用以激励员工更加高效的工作&#xff0c;或是被一些企业广泛采用&#xff0c;制定并实施绩效考核方案&#xff0c;SMART原则属于目标管理的范畴&#xff0c;最早是管理大师彼得德鲁克在著作中提出的。 ONLYOFFICE ONLYOFFI…

Nginx快速上手

Nginx快速上手 OVERVIEWNginx快速上手一、基本概念1.Nginx初步认识2.正向/反向代理&#xff08;1&#xff09;正向代理&#xff08;2&#xff09;反向代理二、Nginx 安装和配置1.安装2.Nginx指令3.Nginx配置三、Nginx的使用1.Web服务器&#xff08;1&#xff09;静态网页存储目…

Java对日开发成趋势?网友:找工作打开了新思路

近两年行业环境起起伏伏&#xff0c;企业降本增效&#xff0c;提高人才招聘的门槛&#xff0c;导致大家找工作时觉得越来越难&#xff0c;尤其是Java开发&#xff0c;主打的就是一个“卷”&#xff01; 不过行业变革&#xff0c;挑战与机遇并存。Java作为编程语言排行榜的常年第…