数据库||数据库的安全性

1.实验题目:数据库的安全性

2.实验目的和要求:

  1. 掌握SQL Server 2008的安全控制机制
  2. 掌握SQL Server2008的身份验证模式
  3. 理解数据库用户帐户的基本概念
  4. 理解角色的概念

3.实验步骤:

  1. 按实验内容要求完成各项操作
  2. 根据题目要求给出解决方案
  3. 提交实验报告

4.实验内容:

--表的建立
Create table Student
(Sno char(9) PRIMARY KEY,
 Sname char(20) UNIQUE,
 Sex char(2),
 Age SMALLINT,
 Dept char(20)
 );

 Create table Course
(Cno char(4) PRIMARY KEY,
  Cname char(40) NOT NULL,
  Cpno char(4),
  Ccredit SMALLINT,
  FOREIGN KEY(Cpno) REFERENCES Course(Cno)
  );

  Create table SC
 (Sno char(9),
  Cno char(4),
  Grade SMALLINT,
  PRIMARY KEY(Sno,Cno),
  FOREIGN KEY (Sno)REFERENCES Student(Sno),
  FOREIGN KEY (Cno)REFERENCES Course(Cno)
  );
--表中插入数据
  Insert 
  Into Student
  Values('42101','赵君君','男',18,'CS'),
        ('42102','赵小花','女',17,'MA'),
		('42103','赵小明','男',17,'MA'),
		('42104','赵宇宇','男',18,'CS'),
		('42105','赵兰兰','女',17,'IS'),
		('42106','钱小君','男',18,'CS'),
        ('42107','钱大花','女',17,'MA'),
		('42108','钱君','男',18,'CS'),
        ('42109','钱花','女',17,'MA'),
		('42110','钱明','男',17,'MA'),
		('42111','孙宇','男',18,'CS'),
		('42112','孙兰','女',17,'IS'),
		('42113','江君','男',18,'CS'),
        ('42114','刘花','女',17,'MA');

  Insert 
  Into Course
  Values('1','CS','2',4),
        ('2','MA',null,2),
		('3','IS','1',7);

  Insert 
  Into SC
  Values('42101','1',35),
        ('42102','2',99),
		('42103','2',45),
		('42104','1',95),
		('42105','3',78),
		('42106','1',75),
        ('42107','2',99),
		('42108','1',43),
		('42109','2',95),
		('42110','2',73),
		('42111','1',35),
        ('42112','3',59),
		('42113','1',35),
		('42114','2',96);
		
		Select * from Student;
	Select * from Course;
	Select * from SC;

1.定义登录log1,log2,log3

Create login log1

with password  = '12345678' ;

Create login log2

with password = '12345678' ;

Create login log3

with password = '12345678' ;

2.定义用户user1,user2,user3

Create user log1;

Create user log2;

Create user log3;

3.掌握SQL SERVER 2008架构和用户分离的概念

4.数据库的授权、授权语句

4.1.将查询SC表和修改GRADE属性的权限授予用户user1。

Grant select , update (GRADE)

ON SC

to log1;

4.2.将对表S的插入权限授予用户user2,并允许他将此权限授予其他用户。

 Grant insert

ON Student

to log2;

4.3.允许用户user3拥有对cs系学生的查询权限

Grant select(Dept = 'CS')

ON Student

to log3;

4.4.创建角色R1,授予R1 课程表查询和插入的权限,并授予用户user3

Create role R1

Grant select , insert

ON Course

to R1;

Grant R1

to log3;

4.5.删除角色R1课程表的插入权限

Revoke insert

    ON Course

from R1

4.6.收回所有用户对表S的插入权限。

Revoke insert

      ON Student

 from log1, log2, log3

5.实验总结

本次实验要掌握SQL Server 2008的安全控制机制,练习SQL Server2008的身份验证模式,理解数据库用户帐户的基本概念和角色的概念。主要反复使用grant 和revok语句。

6.思考题

1.请分析with grant option、with check option、with admin option有何联系和区别

答:如果指定了with grant option子句,则获得某种权限的用户还可以把这种权限在授予其他的用户。如果没有指定,则获得某种权限的用户只能使用该权限,不能传播该权限。

如果指定了with admin option子句,则获得这种权限的角色或用户还可以把这种权限在授予其他的角色。

with check option表示对视图进行update,insert,delete操作时要保证更新,插入或删除的行满足视图定义中的谓词条件。

2.根据实验内容分析角色在权限分配上有何优点。

答:一个角色包含的权限包括直接授予这个角色的全部权限加上其他角色授予这个角色的全部权限。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何找回丢失照片? 7 种免费照片恢复方法分享

照片可以勾起回忆,让我们想起与最亲近的人一起度过的时光,这就是为什么仅仅丢失一张重要照片就会让人感觉完全毁灭性的——几乎就像你失去了记忆本身一样。好消息是,大多数丢失或意外删除的照片都可以使用照片恢复软件恢复,而且我…

appium实现自动化测试原理

目录 1、Appium原理 1.1、Android Appium原理图文解析 1.1.2、原理详解 1.1.2.1、脚本端 1.1.2.2、appium-server 1.1.2.3、中间件bootstrap.jar 1.1.2.4、驱动引擎uiautomator 1.2、 IOS Appium原理 1、Appium原理 1.1、Android Appium原理图文解析 执行测试脚本全过…

IDEA-常用插件

1、Mybatis Log Free 当我们使用mybatis log在控制台输出sql 内容,输出内容将语句与参数分开打印,还需要手动将参数替换到指定位置。 使用对应插件后,自动将输出内容组装成完整的可直接执行的SQL 在插件市场 查看对应名称,并安装。…

Postman路径修改

默认安装好Postman之后,默认路径在:C:\Users\用户名\AppData\Local\Postman。 修改路径只需要将整个文件夹拷贝到需要移动的位置即可,然后重新创建一个快捷方式。再删除原来路径的文件夹。

【Java EE初阶十八】网络原理(三)

3. 网络层 网络层要做的事情主要是两方面: 1)、地址管理:制定一系列的规则,通过地址,描述出网络上一个设备的位置; 2)、路由选择:网络环境是比较复杂的,从一个节点到另一个节点之间,存在很…

2024阅读AOSP源码的正确打开姿势

2024阅读AOSP源码的正确打开姿势 在Android系统开发中,阅读AOSP(Android Open Source Project)源码是非常重要的环节。然而,如何构建一个优雅的阅读环境却是一个不容忽视的问题。本文将介绍不同工具和方法下阅读AOSP源码的正确姿…

渲染效果图为什么都选择使用云渲染,优势有哪些?

随着3D技术在动画、电影、游戏、建筑等领域的广泛应用,渲染作为3D制作流程中的重要环节,其效率和成本直接影响着项目的最终成果。 近年来,云渲染技术的兴起为3D创作者提供了一种全新的选择,与传统的本地渲染相比,云渲…

【Wio Terminal】输入/输出

输入/输出 一、概述1、硬件原理图Terminal引脚分布及功能Wio Terminal Grove端口引脚分配 二、使用Wio Terminal上的Grove模拟端口1、RPI 模拟引脚2、Grove引脚配置3、示例 三、使用 Wio Terminal上的Grove数字端口1、RPI 数字引脚2、Grove引脚配置将 Grove I2C 端口用作数字端…

数据结构1.0(基础)

近java的介绍, 文章目录 第一章、数据结构1、数据结构 ?2、常用的数据结构数据结构? 逻辑结构and物理结构 第二章、数据结构基本介绍2.1、数组(Array)2.2、堆栈(Stack)2.3、队列(Que…

2024阿里云云服务器ECS价格表出炉

2024年最新阿里云服务器租用费用优惠价格表,轻量2核2G3M带宽轻量服务器一年61元,折合5元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年,2核4G4M轻量服务器165元一年,2核4G服务器30元3…

C++之Easyx——图形库的基本准备工作

什么是Easyx? EasyX Graphics Library 是针对 Visual C 的免费绘图库,支持 VC6.0 ~ VC2022,简单易用,学习成本极低,应用领域广泛。目前已有许多大学将 EasyX 应用在教学当中。 它比Red PandaDev C上的图形库功能要强…

海外大带宽服务器连接失败:原因与解决策略

​随着全球互联网的发展,越来越多的企业和个人选择使用海外大带宽服务器来满足数据传输和业务需求。然而,在实际使用中,有时会出现服务器连接失败的问题。本文将为您分析原因并提供相应的解决策略。 一、海外大带宽服务器连接失败的原因 网络…

Feign 第一次调用为什么会很慢?

前言 首先要了解 Feign 是如何进行远程调用的,这里面包括,注册中心、负载均衡、FeignClient 之间的关系,微服务通过不论是 eureka、nacos 也好注册到服务端,Feign 是靠 Ribbon 做负载的,而 Ribbon 需要拿到注册中心的…

libgdx的完整教程

概述:如果大家想用java做游戏,那么libgdx可能是一个好的选择。LibGDX是一个强大的跨平台2D/3D游戏开发框架。 LibGDX的主要特点包括: 强兼容性:LibGDX能够运行在多种平台上,包括但不限于Mac、Linux、Windows以及Andr…

零基础学编程从哪开始,中文编程工具免费版下载及构件用法教程

一、前言 零基础学编程从哪开始,中文编程工具免费版下载及构件用法教程 今天给大家分享的中文编程开发语言工具资料如下: 编程入门视频教程链接 http://​ https://edu.csdn.net/course/detail/39036 ​ 编程工具及实例源码文件下载可以点击最下方…

酷开会员丨春节回家,用酷开系统欢聚K歌,唱出团圆喜乐

每当春节临近,总会在大街小巷听到熟悉的旋律,比如《恭喜发财》、比如《好运来》……这些氛围感满满的歌曲,代表着年味,寓示着团圆。 春节,是万家团圆的喜庆时刻,也是亲朋好友欢聚一堂的日子。亲友聚会&…

找座位 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++ 题目描述 在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。 现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位…

阿里云香港轻量应用服务器是什么线路?

阿里云香港轻量应用服务器是什么线路?不是cn2。 阿里云香港轻量服务器是cn2吗?香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器,通过mtr traceroute测试了一下,最后一跳是202.97开头的ip,1…

【深蓝学院】移动机器人运动规划--第5章 最优轨迹生成--笔记

文章目录 1. Preliminaries2. Multicopter dynamics and differential flatness(多旋翼动力学和微分平坦特性)2.1 Differential Flatness2.2 具体建模2.3 Flatness Transformation的解析推导 3. Trajectory Optimization轨迹优化3.1 Problem formulation…

五步解决 Ubuntu 18.04 出现GLIBC_2.28 not found的解决方法

Ubuntu 18.04 出现GLIBC_2.28 not found的解决方法 参考debian网址https://packages.debian.org/buster/并搜索想要的软件或者工具等,如libc6,有结果如下: 具体就不介绍了,请浏览官网了解。 第一步:添加软件源,在/et…