数据库 实验8 数据控制(安全管理)

合集下载

实验--数据库安全性管理

实验--数据库安全性管理

北华航天工业学院《数据库原理与应用》实验报告报告题目:_______ 数据库安全性管理__________ 作者所在系部:计算机作者学号:201322542作者所在专业:—软件工程____________________作者姓名:魏志鹏指导教师姓名:贾振华完成时间:2015.5.20北华航天工业学院教务处制数据库安全性管理1、2理解数据库的安全性机制;掌握SQL Server 2008的验证模式、登录管理、用户管理、角色管理以及权限管理;_ 、实验内容(一)附加上次实验所创建的数据库“db_Library ”,并回顾该库的数据表信息。

(二)设置SQL Server的安全验证模式,并以两种方式尝试登录。

(三)登录账户管理1、在当前Windows系统中新建一个用户Test,密码为secret,然后以管理员身份登录SQL Server,并将该系统用户添加为登录用户,并赋予系统管理员的权限。

然后以该用户身份登录SQL Server。

2、使用SQL语句创建一个SQL Server登录账户,账户名为你的名字拼音,密码自定义。

创建完成后,以该账户来进行登录。

3、使用SQL语句来修改上述登录账户的密码。

4、禁用上述登录账户连接SQL Server,并进行验证。

5、设置上述登录账户为数据库创建者的权限。

(四)数据库用户管理1、使用SSMS添加db_Library数据库用户User1,其登录账户为上题所创建的Windows账户,使用默认dbo架构。

2、使用SQL语句添加db_Library数据库用户User2,其登录账户为上题所创建的SQL Server 登录账户,使用默认dbo架构,并赋予该用户能够运行Select语句的权限。

(五)权限管理1、使用SSMS将创建数据表和创建视图的权限授予User2。

2、使用SQL语句将对db_Library数据库中图书信息表的查询、插入、以及对书名和作者列的修改权限授予用户User2。

数据控制_实验报告

数据控制_实验报告

一、实验目的1. 理解数据控制的基本概念和原理;2. 掌握数据控制技术的应用方法和技巧;3. 培养实际操作能力和分析问题、解决问题的能力。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:Visual Studio 20194. 实验数据:学生信息表(包括姓名、性别、年龄、班级、成绩等字段)三、实验内容1. 数据库设计2. 数据插入与查询3. 数据更新与删除4. 数据完整性控制5. 数据并发控制四、实验步骤1. 数据库设计(1)创建数据库:打开MySQL,创建一个名为“DataControl”的数据库。

(2)创建表:在“DataControl”数据库中创建一个名为“student”的表,包含以下字段:字段名 | 类型 | 说明--- | --- | ---id | int | 学生ID(主键)name | varchar(50) | 学生姓名gender | varchar(10) | 学生性别age | int | 学生年龄class | varchar(50) | 学生班级score | float | 学生成绩2. 数据插入与查询(1)插入数据:使用SQL语句向“student”表中插入数据。

INSERT INTO student (id, name, gender, age, class, score) VALUES (1, '张三', '男', 20, '计算机科学与技术1班', 90.5);INSERT INTO student (id, name, gender, age, class, score) VALUES (2, '李四', '女', 21, '计算机科学与技术2班', 85.0);INSERT INTO student (id, name, gender, age, class, score) VALUES (3, '王五', '男', 20, '计算机科学与技术3班', 92.0);(2)查询数据:使用SQL语句查询“student”表中的数据。

数据库原理与技术实验报告

数据库原理与技术实验报告

数据库原理与技术实验报告
一、实验目的
本次实验的主要目的是了解和学习数据库原理与技术,具体要求是:
1.熟悉数据库系统的基本概念;
2.理解数据库管理系统(DBMS)的核心功能;
3.掌握数据库系统的创建,维护和应用技术;
4.掌握基于SQL查询语言(SQL)的SQL语句的使用;
5.学习SQL语言的基本知识;
6.学习和应用数据库的实用技术;
7.掌握数据库的安全保护技术;
8.熟悉数据的事务处理;
9.掌握数据的并发控制等。

二、实验环境
本次实验所使用的系统环境为Oracle Database,版本为11g。

三、实验内容
1.概念部分:
(1)数据库概念:数据库概念主要是指数据库的概念、特点、应用领域、数据库结构与模式等;
(2)数据库管理系统:数据库管理系统(DBMS)是一种综合的数据管理软件,它有助于保护组织内的数据,并帮助实现全面的数据管理;
(3)数据库应用:数据库应用是一种以数据库管理系统为基础的应用程序,它主要是用来收集、组织、存储、操作和检索数据,以满足组织内的信息需要;
(4)SQL查询语言:SQL查询语言(SQL)是一种关系型数据库管理系统的标准化数据库查询语言。

XX学院教学空间智慧化管理改革项目建设意见

XX学院教学空间智慧化管理改革项目建设意见

XX学院教学空间智慧化管理改革项目建设意见一、项目概况XX学院实验(实训)室建设项目通过智慧化教学设施建设,全面提升教务管理水平,使教学资源分布优化、教学督导便捷化、实验室管理科学化,满足更高要求的职业教学环境。

本次项目建设在充分融合已有系统基础上扩充新增功能,集成现有软硬件设备,对采购人教务管理进行全面的数字化改造。

二、项目建设方案(一)整体设计思路本次改革将基于学校现有教务管理业务系统架构,本着打通现有孤岛系统、新建部分数字化教务管理业务的思路。

建立线上业务办理模式,对教务管理业务进行全方位数字化改革。

具体包括以下几个方面:1.普通教室和实验室改造:对现有普通教室和实验室进行硬件改造,安装监控和拾音器等设备,进行授课情况的图像和声音采集。

配合巡课督导管理软件,实现在线巡课和远程督导评价。

2.管理数字化改革:提升学校教务各业务流程线上办公、线上审批、数据统计自动生成。

(1)新建管理系统包括:巡课督导系统(包含硬件设备部署、软件开发)、实习管理系统、教学与实验室建设项目管理系统、教材管理系统、竞赛与证书管理系统、专业(群)建设与评价管理系统、专业资源库管理系统;(2)原有教务系统升级。

3.系统运行模式:各个系统纳入数字校园平台统一管理,采用开放式接口,方便后续功能延展。

系统采用B/S架构,采用本地部署+云部署。

管控平台数据展示可支持PC端、移动端、9-109大屏、智慧教室大屏。

用户可通过电脑端、手机端钉钉、微信端、APP(安卓)、等方式操作业务功能。

(二)建设内容建设巡课督导系统(包含硬件设备部署、软件开发)、实习管理系统、教学与实验室建设项目管理系统、教材管理系统、竞赛与证书管理系统、专业(群)建设与评价管理系统、教务系统软件升级、专业资源库管理系统。

1三、建设清单234567891011121314151617181920212223242526272829303132四、建设集成要求;1.硬件安装:包含机柜、6类网线、光纤等学校网络要求的辅材及人工费用。

数据库实验-数据控制(安全性和完整性)

数据库实验-数据控制(安全性和完整性)

数据库原理及应用实验报告实验四实验题目:数据控制(安全性和完整性)实验类型:验证_______________________________ 实验地点:软件实验室二系班级:计科系***班_____________________姓名:***______________________学号:***______________________2013年11月10日一、实验项目名称:数据控制(安全性和完整性)二、实验目的和任务:理解SQL Server的用户与权限管理机制,通过企业管理器创建用户,并给定的用户分配权限,并掌握数据库完整性概念,实现实体、参照和自定义约束。

三、实验内容:1.创建数据库ycudata,它包含两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),部门(部门号,名称,经理名,地址,电话号)2.创建用户sqlaa,它对关系模式职工具有查询和删除权限3.创建用户sqlbb,它对关系模式职工和部门具有所有的权限(所有权限的表达)4.对该用户sqlcc授予查找职工关系模式,更新部门关系模式的权限,同时可以将该权限进行传播,并将权限传播给用户sqlaa5.创建用户sqldd,它对关系模式职工修改表结构的权限6.收回用户sqlcc的相应权限,了解sqlaa的权限情况7.创建角色role1,它的权限是对部门关系模式进行查、插、改、删,将用户sqldd 和sqlcc归于角色role1,查看用户的权限8.定义部门和职工关系模式的主键,外键,定义职工年龄不超过60岁,部门名称必须取值唯一以下为选做内容:1.定义用户sqlee,具有从每个部门职工中查看最高工资,最低工资和平均工资的权力,但他不能查看每个人的工资2.在对关系模式定义外键时,分别设置无行动和级连两种方式,并进行数据插入四、实验步骤及截图:1、打开SQL Server 2005,建立连接。

2、创建数据库ycudata,它包含两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),部门(部门号,名称,经理名,地址,电话号)(1)创建职工关系模式:(2)创建部门关系模式:3、创建用户sqlaa,它对关系模式职工具有查询和删除权限(1)创建登录名为work的用户:打开安全性,右击登录名,然后新建一个登录名,点击确定。

数据库安全与管理实验报告

数据库安全与管理实验报告

数据库安全与管理实验报告实验报告课程名称数据库原理实验项目名称实验6:数据库安全管理班级与班级代码实验室名称(或课室)专业计算机科学与技术任课教师学号:实验日期: 2019年 5月27 日广东财经大学教务处制姓名实验报告成绩指导教师(签名) 2019 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验六:数据库安全管理1.实验目的及要求:目的:通过本次实验的学习与实践,应重点掌握用户创建和授权方法,了解Microsoft SQL Server 2019数据库备份的基本策略和方法,掌握使用企业管理器和Transact-SQL 命令进行数据库备份和恢复的方法。

要求:理解和体会数据库安全性的内容,加强对DBMS 功能的认识;学会创建登陆用户并向其授予数据库访问权限;熟练对用户权限的授予和收回操作;学会使用企业管理器和使用Transact-SQL 命令两种方法对数据库进行备份和恢复操作。

2.实验器材和实验环境:计算机,网络环境,投影设备。

实验相关软件:Window 8.1、SQL Server 2019。

实验准备:实验一、实验二、实验三、实验四和实验五。

3.实验内容和步骤:本实验通过使用Transact-SQL 语句和“企业管理器”两种方法,对数据库进行用户的创建和权限管理以及数据库的备份和恢复。

3.1 使用企业管理器进行用户的创建和权限管理利用企业管理器创建一个名为“MyUser ”的用户,使它可以对“教学管理”数据库中的“学生档案表”只有查询的权限,没有删除、插入、更改等维护权限。

然后以该登录名通过查询分析器登录到SQLSever 服务器,对“学生档案表”进行增、删、改以及查询操作,以检验用户权限。

第一步:“安全性”->“登录”,单击右键选择“新建用户名”。

第二步:输入登录账号名“MyUser ”,登录口令为空,选择SQL Sever 身份验证,选择数据库为“教学管理”。

第三步:打开“用户映射”选项卡,设置“MyUser ”账户可以访问的数据库为“教学管理”,数据角色为“public ”。

数据库实验报告 数据控制(完整性部分) 实验四

数据库实验报告  数据控制(完整性部分)  实验四

题目:实验4 数据控制(完整性部分)姓名:* * * 日期:2012年4月26日一、实验目的熟悉通过SQL对数据进行完整性控制。

完成作业的上机练习。

二、实验平台在实验1中安装的RDBMS及其交互工具。

三、实验内容和要求使用SQL对数据进行完整性控制(三类完整性、check短语、constraint字句、触发器)。

用实验证实,当操作违反了完整性约束条件时,系统是如何处理的。

根据以下要求认真填写实验报告,记录所有的实验用例。

四、实验报告1、三类完整性,check短语。

关系模型的实体完整性在create table 中用primary key 定义。

定义主码的方法分为定义为列级约束条件和定义为表级约束条件两种。

对多个属性构成的码只能用表级约束条件。

习题5的第6题,要求定义实体完整性(主码)、参照完整性(外码)、check语句,用户定义的完整性(not null)。

代码如下:create table 职工( Dno numeric(4) primary key,Dname char(20) unique,Dbossname char(20),Dnum numeric(4));create table职工( Eplno smallint primary key,Eplname char(20) not null,Eplage smallint check (Eplage<=60),job char(9),Sal numeric(7,2),Dno numeric(4),foreign key(Dno)references部门(Dno) );2、constraint 字句完整性约束命名字句:create table student(SNO NUMERIC(5)CONSTRAINT C1 CHECK (SNO BETWEEN 90000 AND 99999), SNAME V ARCHAR(20)CONSTRAINT C2 NOT NULL,SAGE NUMERIC(3)CONSTRAINT C3 CHECK (SAGE < 30),SSEX V ARCHAR(2)CONSTRAINT C4 CHECK (SSEX IN ('男','女')), CONSTRAINT StudentKey PRIMARY KEY(SNO));1、触发器(1)创建触发器:(after 行级触发器)create trigger insert_or_update_Sal on 职工after insert as update 职工set Sal=12000 where (job='软件工程师')and (Sal<12000)激活触发器:insertinto职工values('24','小露','21','软件工程师','10000','8')(2)插入触发器:create trigger insert_0table on 职工for insertasdeclare @Eplno smallintselect @Eplno=Eplno from insertedupdate 职工set job='软件工程师' where Eplno=@Eplno激活触发器如下图所示:(3)创建触发器:(instead 表级触发器)create trigger J_updateon Jinstead of updateasbeginraiserror('J表的数据不能被修改!',16,10)end激活触发器:update Jset Jname='大众'where Jno='J1'执行顺序为:执行SQL“update”语句—>执行触发器删除触发器:代码:drop trigger J_update;执行结果如下:3、违反完整性约束条件时,系统处理如下:4、实验小结:(1) 遇到的问题:创建before行级触发器时出现问题create trigger insert_or_update_Salbefore insert or update on 职工for each rowas beginif(new.job='软件工程师')and (new.Sal<12000) then new.Sal:= 12000;end if;end;解决方案:待解决??。

数据库系统实验报告 实验三 数据控制(安全性)

数据库系统实验报告 实验三 数据控制(安全性)

可得到最后界面如下:3.以sa用户(DBA)登录,运行教材上4.2.4中的例1~例7对7个新用户授权。

每运行一个例子后,以相应的用户名重新登录,验证新用户是否具有授予的权限。

注:SQL Server中的权限授予与回收命令与教材例题上的细节有所不同,这里只写出在SQL 2000中的权限授予与回收命令语句。

【例1】把查询student表的权限授给用户u1。

GRANT SELECTTO u1;执行完授权语句后,用u1登录,验证其是否已有查询权利。

重新连接数据库,登录界面如下:用u1登录后,执行一条SELECT命令,显示了查询结果如下所示,说明u1已具有了对student表的查询权限。

【例2】把对student表和course表的全部操作权限授予用户u2和u3。

GRANT ALL PRIVILEGESON studentTO u2,u3;GRANT ALL PRIVILEGESTO u2,u3;执行完授权语句后,用u2登录,验证其是否已有所有权利。

用u2登录后,执行两条SELECT命令,显示了查询结果如下所示,说明u2已具有了对student表的查询权限,再执行INSERT命令,DELETE命令,UPDATE 命令,同样可得到结果。

说明u2已具有了对student表和SC表的所有权限。

同u2一样,u3也已具有了对student表和SC表的所有权限。

【例3】把对表SC的查询权限授予所有的用户。

GRANT SELECTON SCTO PUBLIC;【例4】把查询student表和修改学生学号的权限授予用户u4。

GRANT UPDATE(Sno),SELECTON studentTO u4;执行完授权语句后,用u4登录,验证其是否已有相应权利。

用u4登录后,执行一条SELECT命令和一条UPDATE命令,显示了查询结果如下所示,说明u4已具有了对student表的查询权限,和对学生学号的修改权限。

【例5】把对表SC的insert权限授予u5用户,并允许将此权限再授予其他用户。

数据库技术与应用实验八

数据库技术与应用实验八

实验8 存储过程和触发器1.实验目的(1)掌握通过SQL Server管理平台和Transact-SQL语句CREATE PROCEDURE 创建存储过程的方法和步骤。

(2)掌握使用Transact-SQL语句EXECUTE执行存储过程的方法。

(3)掌握通过SQL Server管理平台和Transact-SQL语句ALTER PROCEDURE 修改存储过程的方法。

(4)掌握通过SQL Server管理平台和Transact-SQL语句DROP PROCEDURE删除存储过程的方法。

(5)掌握通过SQL Server管理平台和Transact-SQL语句CREATE TRIGGER创建触发器的方法和步骤。

(6)掌握引发触发器的方法。

(7)掌握使用SQL Server管理平台或Transact-SQL语句修改和删除触发器。

(8)掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。

2.实验内容及步骤(1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print,该存储过程能够显示26个小写字母。

CREATE PROCEDURE letters_printASDECLARE @count intSET @count=0WHILE @count<26BEGINPRINT CHAR(ASCII('a')+ @count)SET @count=@count +1END单击查询分析器的“执行查询”按钮,查看studentsdb数据库的存储过程是否有letters_print。

使用EXECUTE命令执行letters_print存储过程。

(2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。

CREATE PROCEDURE stu_info @name varchar(40)ASSELECT a.学号,姓名,课程编号,分数FROM student_info a INNER JOIN grade taON a.学号= ta.学号WHERE 姓名= @name使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。

数据库系统概论实验5——数据安全性控制及数据库恢复

数据库系统概论实验5——数据安全性控制及数据库恢复

数据库系统概论实验五数据安全性控制及数据库恢复(4课时)❖实验目的:⏹理解数据库安全性概念,熟悉数据库安全性控制技术⏹掌握SQL Server数据库中通过用户及角色权限管理实现的安全控制措施⏹理解数据库恢复的概念和技术⏹掌握SQL Server数据库的备份及还原操作❖实验方法:由于实验环境SQL Server在本实验相关方面的语法与教材上有差异,因此本次实验课的内容包括两部分,先由老师补充讲解,然后布置实验内容、给出提示,学生进行实验。

❖实验要求:本次实验要求撰写实验报告,要求同前。

❖实验内容:第一部分讲解一、数据安全性控制数据库安全控制的目的是保护数据库以防止数据泄露、更改或破坏,确保授权的用户可以使用相应的数据,其他人不可以访问和使用数据。

SQL Server 2005的安全性设计:SQL Server使用流程:登录服务器→访问数据库→操作数据库安全性设计:登录用户操作用户操作权限SQL Server中有两类用户:一类是登录服务器的登录用户,另一类是使用数据库的操作用户。

1.登录用户(简称登录名)安装SQL Server数据库系统时,系统自动创建两个具有系统管理员权限的登录用户:➢W indows身份验证登录用户:机器名\Administrator,之前的实验都是使用此登录用户进行登录的➢S QL Server身份验证模式登录用户:sa,密码为安装系统时指定的密码,可以修改使用系统管理员身份登录服务器(见下图)后,可创建新的登录用户。

(1)创建登录用户(SQL Server身份验证模式)➢在对象资源管理器中展开服务器名/“安全性”,在“登录名”上打开右键快捷菜单,选择“新建登录名”,打开“登录名——新建”对话框。

➢在“常规”选项卡中,输入登录名patty,选择登录模式为“SQL Server身份验证”,输入密码0528,取消选择“用户在下次登录时更改密码”,选择登录的默认数据库和语言。

(2)用新登录用户登录服务器➢准备工作:⏹首先需要设置SQL Server 2005的安全验证模式为“SQL Server和Windows身份验证模式”(在服务器名上单击右键,选择“属性”菜单项打开“服务器属性”对话框,在“安全性”选项卡中设置,)并重启服务(通过SQL Server Configuration Manager或Windows服务)。

实验数据安全管理制度

实验数据安全管理制度

实验数据安全管理制度第一章总则第一条为加强对实验数据的保护,维护科研数据的完整性和可靠性,促进科研工作的科学化和规范化,制定本制度。

第二条本制度适用于本单位的所有科研人员和相关工作人员,包括但不限于科研项目负责人、科研实验室管理人员、科研助理人员等。

第三条科研项目负责人应当负有对实验数据的保密和管理责任,确保实验数据的保存完整和安全。

第四条科研人员在进行科研实验时,应当遵守本制度的规定,严格按照实验大纲和实验操作规程进行实验,保障实验数据的真实性和准确性。

第五条本制度的管理机构为实验室管理委员会,负责对实验数据的管理进行监督和检查。

第六条本制度的遵守情况将作为科研人员绩效评定的重要指标之一,对于违反本制度的行为将给予相应的处罚。

第七条本制度由科研实验室管理委员会负责解释。

第二章实验数据的保存和备份第八条科研项目负责人应当建立完善的实验数据保存和备份制度,确保实验数据的安全和稳定。

第九条科研人员在进行实验数据的采集和记录时,应当采取专门的实验记录本进行记录,并确保记录的完整和真实性。

第十条实验数据采集完成后,应当及时进行数据备份,备份数据应当存放在多个地点,以防止数据丢失。

第十一条科研人员在进行实验数据的传输时,应当采取加密传输的方式,确保数据的安全性。

第十二条实验数据备份的存储介质应当定期进行检查和更新,并确保备份数据的完整性和可靠性。

第十三条科研项目结束后,应当对实验数据进行归档,归档数据应当保存在指定的地点,以备将来查阅。

第三章实验数据的使用和共享第十四条实验数据的使用应当遵守相关法律法规和科研伦理规范,不得将实验数据用于商业目的或违法活动。

第十五条科研项目负责人应当对实验数据的使用进行监督和审核,确保数据的合法和规范使用。

第十六条科研人员在进行实验数据的共享时,应当事先征得相关人员的同意,确保数据的隐私和保密性。

第十七条科研人员在进行实验数据的共享时,应当遵循国家和地方相关规定,确保数据的公正和透明。

数据库实验——安全管理

数据库实验——安全管理

运行结果:可以看到在这个实例中创建了一个数据库mydb1,并在mydb1中创建了表StudentInfo2.1.2 创建一个登录并将创建的数据库设置为该登录的默认数据库create database mydb1 on primary (name = 'mydb1', filename = 'E:\Homework\E1\mydb1.mdf', size = 10240KB, maxsize = unlimited, filegrowth = 10% )log on (name = 'mydb1_log', filename = 'E:\Homework\E1\mydb1_log.ldf', size = 1024KB, maxsize = 4096KB, filegrowth = 1024KB )go use mydb1create table StudentInfo (id char (10) primary key , name varchar (10) not null )go123456789101112131415161718192021代码:结果可以看到该数据库实例中多出了登陆ff2.1.3 设置登录在默认数据库中的用户映射代码结果create login ff with password = 'ff', default_database = mydb1 gouse mydb1create user db_ff for login ff go 1234123在ff 的映射中出现了到mydb1的映射2.1.4 尝试将登录加入到两个不同的数据库服务器角色中对默认数据库进行操作(如创建表Score ,查询表StudentInfo等)。

注意每次只使用一个数据库服务器角色来验证授权。

首先赋予ff 授权sysadmin角色代码:结果:exec sp_addsrvrolemember 'ff', 'sysadmin' go1 2然后使用ff 登陆,创建表Score ,并在StudentInfo 中插入thf 和zyc 两条数据,并查询id = 1的数据代码:结果:use mydb1create table Score (id char(10) primary key,val int not null check(val >= 0 and val <= 100))insert into StudentInfo values(1, 'thf')insert into StudentInfo values(2, 'zyc')select * from StudentInfo where id = 1go1 2 3 4 5 6 7 8 9 10 11接下来收回ff 的sysadmin 权限,赋予securityadmin 权限代码:结果:执行上面的操作代码:exec sp_dropsrvrolemember 'ff', 'sysadmin'exec sp_addsrvrolemember 'ff', 'securityadmin'go123结果:发现操作被拒绝,说明权限不够。

数据安全性控制及数据库恢复实验报告

数据安全性控制及数据库恢复实验报告
再关联登录名USER2创建操作用户U2。
3.设置操作权限并验证
点击“对象资源管理器”工具栏上的第一个图标“连接对象资源管理器”,分别以USER1和USER2为登录名新建两个连接。试在这两个连接上展开STU数据库的表节点,观察现象并思考原因。
分别在三个连接(包括原有连接)上新建查询,通过观察三个查询编辑器窗口的下方用户信息,以区分发出T-SQL指令的用户,实验过程中不能混淆。
方法二:打开STU数据库用户U1的属性窗口,选择常规页,在右下方角色成员子窗口中勾选R1,点击“确定”。
(2)使用T-SQL语句
在DBA的查询窗口中运行T-SQL语句指定R1成员U2:
EXEC sp_addrolemember R1,U2
4.角色权限验证
(1)在U1的查询窗口中运行以下T-SQL语句:
(1)在对象资源管理器中的“数据库\STU”节点上单击右键,选择“任务”还原
数据库,保持“常规”页的设置不变,打开“选项”页,勾选“覆盖现有数据库”,其它不变,按“确定”按钮。
(2)在对象资源管理器中查看reports表的状态:存在
三、遇到问题及解决方法:
本实验中,刚开始不知道如何创建登陆用户,在老师的指导下,我学会了如何创建。在查询角色时,我知道了如何将角色授予用户,学会了一些老师补充的语句。
1.对STU进行完整数据库备份
在对象资源管理器中的“数据库\ STU”节点上单击右键,选择
任务备份,保持默认设置不变(完整、数据库),按“确定”按钮。
2.删除reports表
(1)执行T-SQL语句:drop table reports
(2)在对象资源管理器中查看reports表的状态:不存在
3.使用备份将数据库还原至删除前状态

山东大学数据库DB实验8

山东大学数据库DB实验8
1.create table tmp as select dname,round(avg(score),0) as avg_ds_score from pub.student,pub.student_course,pub.course where pub.student.sid=pub.student_course.sid and pub.course.cid=pub.student_course.cid and dname is not null and ='数据结构' group by dname
create table test8_01 as select tmp.dname,tmp.avg_ds_score,tmp1.avg_os_score from tmp,tmp1 where tmp.dname=tmp1.dname
drop table tmp
drop table tmp1
2.create table tmp as select pub.student.sid,,dname,score as ds_score from pub.student,pub.student_course,pub.course where pub.student.sid=pub.student_course.sid and pub.course.cid=pub.student_course.cid and dname='计算机科学与技术学院' and ='数据结构' and in (select from pub.student,pub.student_course,pub.course where pub.student.sid=pub.student_course.sid and pub.course.cid=pub.student_course.cid and dname='计算机科学与技术学院' and ='操作系统')

实验八数据库安全管理

实验八数据库安全管理

实验八 数据库安全管理一、目的与要求1.掌握创建用户和角色的方法2.掌握SQL授权命令和收回权限的命令二、实验准备1.了解SQL Server登录身份和登录模式的概念;2.了解用户、角色、登录三者的概念;3.了解权限授予和收回的的T-SQL语法。

三、实验内容(一)创建登录名1.创建新的登录名testlogin(1)在对象资源管理器的目录树中“安全性” “登录名”,点击右键选择“新建登录名”,设置登录名为testlogin,“SQL Server身份验证”密码为abc,默认数据,如图8-1所示。

库为“studentdb”图8-1提问:此时用testlogin登录名创建新的连接,登录到对象资源管理器,是否能登录成功?不能登陆成功(2)右击testlogin登录名,选择属性,设置“用户映射”,设置“映射到此登录名的,如图8-2所示。

这里即是创建和登录名同名的用户,该用户“为“studentdb”用户属于默认数据库。

这个用户具有的数据库角色是public。

(3)确定后再次以testlogin及其密码登录查ssms,在testlogin登录名下新建查询。

运行命令,查看并记录结果。

提问:此时是否查询命令能查询到st_info表中的数据?为什么?答:不能,因为未获得访问特定数据库中数据的权利。

图8-2(4)若要查询studentdb数据库中表的数据,则要在数据库角色成员身份中选择db_datareader角色(回到sa登录下设置该登录名的属性),再运行上题中的查询语句,查看结果。

(5)在查询编辑器中运行命令,查看是否允许。

若不允许,则要在数据库角色成员身份中选择db_datawriter角色。

重新运行该条更新语句,查看结果。

图8-32.提问:testlogin登录名登录后,允许访问服务器上所有的数据库吗?能访问哪些数据库?。

登录用户只能看到并访问它自己的数据库而不能看到其他的数据库(二)创建用户创建用户时选择映射到已有登录名,即令一个登录名可以访问多个数据库。

实验四数据库 数据控制(安全性和完整性)

实验四数据库 数据控制(安全性和完整性)

数据库原理及应用实验报告实验四数据控制(安全性和完整性)实验报告实验类型__综合设计__实验室_软件实验室一__数据控制(安全性和完整性)1.实验项目的目的和任务:理解SQL Server的用户与权限管理机制,通过企业管理器创建用户,并给定的用户分配权限,并掌握数据库完整性概念,实现实体、参照和自定义约束。

2.程序代码(部分)sp_addlogin 'pei' ,'147' //服务器级别的建立登录名sp_droplogin 'pei' //.删除sp_grantdbaccess 'pei', 'pp' //数据库级别的安全性sp_addrole 'peipp' //SQL Server服务器角色sp_addrolemember 'peipp','pp'grant select on dbo.spt_values to pp with grant option//数据库对象级别的安全性用户权限继承角色的权限grant create table to pprevoke select on dbo.spt_values to pp cascadesp_revokedbaccess 'pp' //删除3运行结果如图所示4实验总结通过具体的上机实践操作,理解SQL Server的用户与权限管理机制。

(1)数据库的安全性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。

(2)用户标识和鉴定、用户存取权限控制、定义视图、数据加密和审计等安全措施。

(3)第一层安全性是服务器级别的安全性,这一级别的安全性建立在控制服务器登录账号和密码的基础上,即必须具有正确的登录账号和密码才能连接到SQL SERVER服务器。

第二层安全性是数据库级别的安全性,用户提供正确的服务器登录账号和密码通过第一层的sql server服务器的安全性检查之后,将接受第二层的安全性检查,即是否具有访问某个数据库的权利。

数据库的安全管理

数据库的安全管理

实验9 数据库的安全管理一、实验目的1、掌握SQL Serve 的安全机制。

2、掌握服务器的安全性管理。

3、掌握数据库用户管理。

4、掌握权限的管理。

二、1、使用企业管理器注册向导注册一个SQL Server服务器,选择“Windows身份验证模式”注册。

如果已完成注册操作,先删除当前SQL Serve注册项,再重新注册。

2、 在企业管理器中通过SQL Server服务器属性对话框对SQL Server服务器进行混合认证模式配置。

3、 在Windows中创建用户账户,命名为“st_学号”,如st_10。

使用企业管理器为该用户创建一个用于SQL Serve的登录账户,使用Windows身份认证,服务器角色为system ,授权可访问的studentsdb数据库,及数据库中的访问角色为public和administratorsbdo。

4、使用系统存储过程sp_grantlogin为实验内容3创建的Windows用户授权,使其具有登录SQL Server的权限sp_grantlogin 'stu51\st_41'5、使用系统存储过程sp_addlogin创建混合模式验证的SQL Server登录,指定用户名为“st_学号”(不必在Windows中建立该用户,下面以st_11为例),密码为学号,默认数据库为studentsdb。

sp_addlogin 'st_41','1007514241','studentsdb'6、使用企业管理器或系统存储过程sp_grantbaccess为登录账户st_11建立数据库用户账户,指定用户名为st_user。

sp_grantdbaccess 'stu51\st_41','st_user'7、使用企业管理器或系统存储过程sp_addsrvrolemember将登陆账户st_11添加为固定服务器角色sysadmin,使st_11所拥有的所有权限。

数据库安全管理实训报告

数据库安全管理实训报告

一、实训背景随着信息技术的飞速发展,数据库作为存储和管理数据的重要工具,已经成为各类组织机构业务运行的核心。

然而,数据库的安全问题也日益凸显,数据泄露、篡改、破坏等安全事件频发,给企业和个人带来了巨大的损失。

为了提高数据库的安全性,加强数据库安全管理,我们进行了数据库安全管理实训,以下是对实训过程的总结和反思。

二、实训目标1. 掌握数据库安全的基本概念和常见威胁;2. 熟悉数据库安全控制策略,包括用户管理、访问控制、安全审计、备份与恢复等;3. 学习数据库安全加固技术和工具;4. 提高数据库安全管理意识和技能。

三、实训内容1. 数据库安全基本概念在实训过程中,我们首先学习了数据库安全的基本概念,包括数据库安全威胁、安全策略、安全机制等。

通过学习,我们了解到数据库安全威胁主要包括:数据泄露、数据篡改、数据破坏、恶意攻击等。

为了应对这些威胁,我们需要制定相应的安全策略,包括物理安全、网络安全、应用安全等。

2. 用户管理用户管理是数据库安全管理的重要组成部分。

在实训中,我们学习了如何使用MySQL的用户管理功能,包括创建用户、修改用户权限、删除用户等。

通过实训,我们掌握了以下技能:(1)创建用户:使用create user语句创建用户,并设置用户名、主机名和密码。

(2)修改用户权限:使用grant语句修改用户权限,包括select、insert、update、delete等。

(3)删除用户:使用drop user语句删除用户。

3. 访问控制访问控制是数据库安全的核心,通过访问控制可以限制用户对数据库的访问权限。

在实训中,我们学习了以下访问控制策略:(1)基于角色的访问控制(RBAC):根据用户的角色分配权限,实现细粒度的权限管理。

(2)最小权限原则:只授予用户完成工作所需的最小权限,减少潜在的安全风险。

(3)审计策略:记录用户对数据库的访问操作,以便在发生安全事件时追踪和调查。

4. 安全审计安全审计是数据库安全管理的重要手段,通过对数据库的访问记录进行分析,可以发现潜在的安全威胁。

数据库 实验8 数据控制(安全管理)

数据库   实验8 数据控制(安全管理)

实验8 数据控制(安全性)实验8.1 用户标识与鉴别一、实验目的通过实验加深对数据安全性的理解,并掌握SQL Server中有关用户登录认证及管理的方法。

二、实验内容与要求1)在SQL Server企业管理器中,设置SQL Server的安全认证模式2)创建使用Windows身份验证的登录账号WinUser3)创建使用SQL Server身份验证的登录账号SQLUser,设置可访问的数据库“教学管理”或“SPJ”4)为登录账号WinUser创建访问local实例中数据库“教学管理”的用户账号5)为登录账号SQLUser创建访问local实例中所有数据库的用户账号6)在SQL Server中建立一个名为“李勇”的登录用户,数据库用户7)演示在SQL Server中取消“李勇”这个用户8)在school数据库中创建帐号“王二”,密码是123,并向他授予数据库访问权。

9)撤销“王二”这个帐号。

实验8.2 自主存取控制一、实验目的通过实验加深对数据库存取控制机制的理解,熟悉SQL的数据控制功能,能够使用SQL语句来向用户授予和收回权限,进行权限管理,熟悉SQL Server 中的角色管理。

二、实验内容与要求(1)授予用户WINUser可以在数据库“教学管理”中创建视图和表SP_ADDROLE WINUSERUse 教学管理GoGRANT CREATE VIEW,CREATE TABLETO WINUSER(2) 不允许用户SQLUser在数据库“教学管理”中创建视图、表,但允许其他操作Use 教学管理goGRANT ALL PRIVILEGES TO SQLUSERREVOKE CREATE VIEW,CREATE TABLE FROM SQLUSER或者Use 教学管理GoGRANT ALL PRIVILEGES TO SQLUSERDENY CREATE TABLE,CREATE VIEW,CREATE TABLE TO SQLUSER(3)分别通过SQL Server企业管理器和SQL 的数据控制功能,设置和管理数据操作权限。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验8 数据控制(安全性)
实验8.1 用户标识与鉴别
一、实验目的
通过实验加深对数据安全性的理解,并掌握SQL Server中有关用户登录认证及管理的方法。

二、实验内容与要求
1)在SQL Server企业管理器中,设置SQL Server的安全认证模式
2)创建使用Windows身份验证的登录账号WinUser
3)创建使用SQL Server身份验证的登录账号SQLUser,设置可访问的数据库“教学管理”或“SPJ”
4)为登录账号WinUser创建访问local实例中数据库“教学管理”的用户账号
5)为登录账号SQLUser创建访问local实例中所有数据库的用户账号
6)在SQL Server中建立一个名为“李勇”的登录用户,数据库用户
7)演示在SQL Server 中取消“李勇”这个用户
8)在school数据库中创建帐号“王二”,密码是123,并向他授予数据库访问权。

9)撤销“王二”这个帐号。

实验8.2 自主存取控制
一、实验目的
通过实验加深对数据库存取控制机制的理解,熟悉SQL的数据控制功能,能够使用SQL语句来向用户授予和收回权限,进行权限管理,熟悉SQL Server 中的角色管理。

二、实验内容与要求
(1)授予用户WINUser可以在数据库“教学管理”中创建视图和表
SP_ADDROLE WINUSER
Use 教学管理
Go
GRANT CREATE VIEW,CREATE TABLE
TO WINUSER
(2) 不允许用户SQLUser在数据库“教学管理”中创建视图、表,但允许其他操作
Use 教学管理
go
GRANT ALL PRIVILEGES TO SQLUSER
REVOKE CREATE VIEW,CREATE TABLE FROM SQLUSER
或者
Use 教学管理
Go
GRANT ALL PRIVILEGES TO SQLUSER
DENY CREATE TABLE,CREATE VIEW,CREATE TABLE TO SQLUSER
(3)分别通过SQL Server企业管理器和SQL 的数据控制功能,设置和管理数据操作权限。

对新建用户李勇授予SPJ数据库中S表的select权限。

GRANT SELECT
ON TABLE S
TO 李勇
(4) 通过SQL Server企业管理器,实现对SQL Server的用户和角色管理。

具体是创建一个数据库角色OP_of_S,它代表一个可以对S表进行操作的操作员,对角色的权限进行设置,并将用户“李勇”、“web”添加到这个角色中。

该实验体现角色应用灵活高效的特点。

(5) 以SA登录查询分析器,输入下列代码并执行:
EXEC sp_addlogin ‘李勇’, ‘’;
USE SPJ
EXEC sp_grantdbaccess ‘李勇’, ‘happyrat’;
GRANT select,insert,update ON S TO public;
GRANT ALL ON S TO happyrat;
REVOKE select ON S TO happyrat;
DENY update ON S TO happyrat,
(6) 针对(5)回答下列问题:
第1行代码新建了一个名为李勇的登录帐户,“”是什么?“李勇”这个登录帐户将映射为数据库用户名happyrat,为什么?将是哪个数据库的用户。

分别解释第4~7行代码的作用。

若以帐户李勇登录服务器,能否对SPJ数据库的表S进行select和update操作,为什么?
(1)‘’是登录的密码
(2)EXEC sp_grantdbaccess ‘李勇’, ‘happyrat’;这行代码授予了李勇这个登陆账号访问该数据库的权限,并且happrat是李勇的一个成员,所以能映射!这是SPJ数据库的用户
(3)GRANT select,insert,update ON S TO public;这个代码是将S表的选择,插入,更新的权限授予public
GRANT ALL ON S TO happyrat;
这个代码是将S表的所有权限授予happyrat
REVOKE select ON S TO happyrat;
这个代码是移去happyrat中权限中的选择权限
DENY update ON S TO happyrat,表示happyrat对表S拥有除更新外的所有操作
实验8.3 视图机制在自主存取控制上的应用
一、实验目的
通过实验加深对数据安全性的理解,熟悉视图机制在自主存取控制上的应用。

二、实验内容与要求
(1)创建在SPJ表上的视图SPJ_View,授权给三建项目(JNO=J1)的负责人数据库用户李勇,让他具有视图上的select权限。

CREATE SPJ_VIEW
AS
SELECT *
FROM SPJ
GRANT SELECT
ON SPJ_VIEW
TO JNO IN
(
SELECT JNO
FROM SPJ
WHERE NAME=’李勇’
)
(2)对视图上的SNO属性列的update权限授予用户李勇,让他可以修改供应商,但是不能对其他属性进行修改。

GRANT UPDATE(SNO)
ON SPJ_VIEW
TO 李勇
(3)在数据库School上创建用户“王二”,在students表上创建视图grade2000,将年级为2000的学生元组放入视图。

CREATE ROLE 王二;
CREATE VIEW GRADE2000
AS
SELECT *
FROM SCHOOL
WHERE GADE=’2000’
(4)授予用户王二在视图grade2000的select权限。

GRANT SELECT ON GRADE2000 TO 王二。

相关文档
最新文档