数据库完整性与安全性实验
&
数据库的备份和恢复实验
班级:2008211204
姓名:徐浩然
班内序号:14
学号:08210999
数据库的备份和恢复实验
实验内容
完整性实验与要求:
1、分别定义数据库中各基表的主键、外键,实现实体完整性约束和参照完整性
约束;
2、向学生表插入具有相同学号的数据,验证其实体完整性约束
(1)企业管理器法:
(2)查询分析器法
3、向学生表中插入一条数据,班级号是学生表的外键,验证参照完整性约束;(1)企业管理器法:
(2)查询分析器法:
4、删除教师表中的所有数据,验证参照完整性约束;
(1)企业管理器法:
(2)查询分析器法:
5、创建一个规则,将其绑定到Student表的Sex列上,保证输入的性别值是0
或1
(1)企业管理启法
(2)查询分析器法:
Create rule value_sex1 as @value in (‘0’,’1’) Go
Exec sp_bindrule ‘value_sex1’,’student.sex’Go
运行结果;
插入一条sex=2的记录进行验证:
6、为Student表增加一列,命名为dept,创建一个默认对象,将其绑定到Student
表的dept列上,使其默认值为电子院。
(1)企业管理器法:
(2)查询分析器法
Create default 系默认1 as '电子院'
Go
Exec sp_binddefault '系默认1','student.dept' Go
运行结果:
插入一条记录进行验证:
安全性实验内容与要求:
1定义一新的登录帐号、数据库用户,并授予其访问学生选课数据库的读权限;(1)企业管理器法:
(2)查询分析器法
2分别采用Windows NT/2000验证方式和Windows NT/2000及混合验证方式用不同的用户进行登录连接;
(1)企业管理器法:
3分别用sa用户和新定义的用户访问学生数据库,并对其中的学生表数据进行修改;
使用sa用户进行登录:
执行成功,sa用户可以对student表进行修改操作。
使用新建用户进行登录:
帐号xuhaoran没有对学校数据库进行修改的权限
4创建数据库角色,并授予访问数据库的读、写权限;(1)企业管理器法:
查询分析器法:
5将角色赋予(1)中定义的用户,建立用户和角色联系;(1)查询分析器法:
(2)企业管理器法:
实验八数据库的安全 T9.1 数据库用户的管理 1、实验目的 (1)掌握Windows登录名的建立与删除方法。 (2)掌握SQL Server登录名的建立与删除方法。 (3)掌握数据库用户创建于管理的方法。 2、实验准备 (1)了解windows身份验证模式与SQL Server身份验证模式的原理。 (2)了解数据库用户的建立与删除方法。 3、实验步骤 (1)Windows登录名。 ①使用界面方式创建Windows身份模式的登录名。方法如下: 第一步以管理员身份登录到Windows,选择“开始”,打开“控制面板”中的“性能和维护”,选择其中的“管理工具”,双击“计算机管理”进入“计算机管理”窗口。 在该窗口中选择“本地用户和组”中的“用户”图标,右击,在弹出的快捷菜单中选择“新用户”菜单项,打开“新用户”窗口,新建一个用户zheng。 第二步一管理员身份登录到SQL Server Management Studio,在对象资源管理器中选择“安全性”,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中单击“搜索”按钮添加Windows用户名zheng。选择“Windows身份验证模式”,单击“确定”按钮完成。 ②使用命令方式创建Windows身份模式的登录名,语句如下: 【思考与练习】 使用用户zheng登录Windows,然后启动SQL Server Management Studio,以Windows 身份验证模式连接。看看与以系统管理员身份登录时有什么不同。 (2)SQL Server登录名。 ①使用界面方式创建SQL Server登录名。方法为:在对象资源管理器的“安全性”中,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中输入要创建的登录名“yan”,并选择“SQL Server 身份验证模式”,输入密码,取消选择“用户在下次登录时必须更改密码”选项,单击“确认”按钮。 ②以命令方式创建SQL Server登录名,语句如下:
一、实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命 令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’ -->保 存 (3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。 唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加--> 是否唯一改为‘是’-->名称改为‘us_sname’ -->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存
(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查 条件为:成绩应该在0-100之间。
(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表 和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint) 删除约束:单击数据库Student-->表-->单击S-->展开键、约束。一一删除即可。
西安邮电大学 (计算机学院) 课内实验报告 实验:数据库的安全性实验 课程:数据库原理及应用B 班级:网络1203 学号: 学生姓名: 任课教师:孟彩霞
一、实验目的 (1)理解SQL Server验证用户身份的过程,掌握设置身份验证模式的方法(2)理解登录帐号的概念,掌握混合认证模式下登录帐号的建立与取消方法 (3)掌握混合认证模式下数据库用户的建立与取消方法 (4)掌握数据库用户权限的设置方法 (5)理解角色的概念,掌握管理角色技术 二、实验内容 (1)在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 (2)创建、管理数据库服务器的登录账号。 (3)创建、管理数据库用户。 (4)管理用户权限。 (5)创建、管理数据库角色。 三、实验环境 Windows7 SQL SERVER 2012 四、实验前准备 课本 上机使用代码 五、实验步骤 1.在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 2.创建、管理数据库服务器的登录账号。用T-SQL语句创建、查看、删除登录账号。 创建一个名为Student、密码为111、使用的默认数据库为JWGL的登录账号。 EXEC sp_addlogin ‘student’,’111’,’JWGL’查看登录账号EXEC sp_helplogins 删除登录账号为EXEC sp_droplogins ‘student’ 3.创建、管理数据库用户。 用T-SQL语句创建、查看、删除数据库用户。 为数据库JWGL创建一个用户user1,该用户登录SQL Server服务器的账号为wang,登录密码为secret,相应的程序代码为: EXEC sp_addlogin ‘wang’, ‘secret’, ‘JWGL’ GO EXEC sp_grantdbaccess ‘wang’, ‘user1’查看数据库用户为EXEC sp_helpuser 删除数据库中的“wang”用户为EXEC sp_revokedbaccess ‘wang’ 4.管理用户权限。 使用T-SQL语句完成第3章习题12中(1)~(3)的用户管理和用户权限管理。企业管理器: (1)允许用户李明对Orders表进行插入、删除操作。 GRANT INSERT ,DELETE ON Orders TO ‘李明’
实验9:数据库安全性实验 一、实验目的 加深对数据库安全性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法。 二、实验内容 1.数据库的安全性实验。在SQL Server企业管理器中,设置SQL Server 的安全认证模式,实现对SQL Server的用户和角色的管理,设置和管理 数据操作权限。 三、实验原理和步骤 1.设置SQL Server的安全认证模式,选择混合模式。 右键服务器属性-安全性:选择SQL Server和Windows身份验证模式。 重启服务,生效。 2.账号: sa账号登录 3.登录帐号的管理
1)将Windows帐号添加到SQL Server 2005中 创建操作系统用户- 4.数据库用户的管理 1)dbo用户; 查看banking数据库的dbo用户,查看用户权限。 2)U1用户; 创建banking数据库的U1用户,查看用户权限。 5.权限管理 1)赋予所创建的U1用户db_datareader角色,查看用户权限 2)赋予所创建的U1用户db_datawriter角色,查看用户权限 3)赋予所创建的U1用户db_owner角色,查看用户权限 4)两种方法赋予所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 5)两种方法赋予所创建的U1用户对banking数据库表branch的select 和对branch_name修改的权限,验证并写出sql语句 6)把对loan表的update权限授予所创建的U1用户用户,并允许将此 权限再授予其他用户,验证并写出sql语句 7)两种方法回收所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 8)两种方法回收所有用户对banking数据库表loan的update权限,验 证并写出sql语句 四、实验报告要求 要求写出如下设计报告: 1.用Transact-SQL写出实验操作的语句 2.实验步骤和实验结果。 3.实验中的问题和提高。 4.SQL Server中有的安全性功能。 五、注意事项 1.用户、角色和权限的职能,以及它们之间的关系。
实验三:数据库的安全性 一、实验目的 熟悉通过SQL对数据进行安全性控制。 二、实验平台 SQL Server 2008 三、实验内容和要求 1、掌握Windows登录名和SQL SERVER登录名的建立与删除方法; 2、掌握数据库用户创建与管理的方法; 3、掌握服务器角色的用法; 4、掌握数据库权限授予、拒绝和撤销的方法; 四、实验步骤 (一)授权与回收。 [例1]授权。在SQL Sever 中建立多个用户,给他们赋予不同的权限,然后查看是否真正拥有被授予的权限了。 1)建立用户U1、U2、U3、U4、U5、U6、U7。 2)以系统管理员身份对这7个用户进行授权。 [例1-1]把查询Student 表的权限授给用户U1。 GRANT SELECT ON Student TO U1; [例1-2]把对Student 表和Course 表的全部操作权限授予用户U2 和U3。 GRANT ALL PRIVILEGES ON Student TO U2,U3; GRANT ALL PRIVILEGES ON Course TO U2,U3; [例1-3]把对表SC 的查询权限授予所有用户。 GRANT SELECT ON SC TO PUBLIC; [例1-4]把查询Student 表和修改学生学号的权限授给用户U4。 GRANT UPDATE (Sno) , SELECT ON Student TO U4; [例1-5]把对表SC 的INSERT 权限授予U5,并允许U5 将此权限再授予其他用户。 GRANT INSERT ON SC TO U5
WITH GRANT OPTION; [例1-6]用户U5 将对表SC 的INSERT 权限授予U6,并允许将权限转授给其他用户。 首先应该以U5 的身份重新登录数据库,然后再进行授权。 GRANT INSERT ON SC TO U6 WITH GRANT OPTION; [例1-7]用户U6 将对表SC 的INSERT 权限授予U7。 首先应该以U6 的身份重新登录数据库,然后再进行授权。 GRANT INSERT ON SC TO U7; 3)在授权之后验证用户是否拥有了相应的权限。 在执行完上面七个语句之后,我们可以分别以不同用户的身份登录数据库,进行相关操作,检查系统是否许可。例如: [例1-8]U4 更新Student 表的学生学号。 UPDATE Student SET SNO = ‘95101’ WHERE SNO = ‘95001’; 显示更新 1 条记录,即U4 用户拥有了对Student 表Sno 的更新权限。[例1-9]U7 向SC 表中插入一条数据:(95020,20,88)。 INSERT INTO SC V ALUES(‘95020’,’20’,88); 显示插入 1 条记录,即用户U7 拥有了对SC 表的插入权限。 [例2]回收权限。将[例1]授予的权限部分收回,检查回收后,该用户是否真正丧失了对数据的相应权限。 1)回收权限。 [例2-1]收回用户U4 修改学生学号的权限。 当前用户为SYSTEM,直接执行下列语句: REVOKE UPDATE (SNO) ON Student FROM U4; [例2-2]收回所有用户对表SC 的查询权限。 REVOKE SELECT ON SC FROM PUBLIC; [例2-3]收回用户U5 对SC 表的INSERT 权限。 将权限INSERT 授予给用户U5 时,允许该用户将权限再授予给其他用户;之后,用户U5 将INSERT 权限转授给了U6,U6 又将权限转授给U7。因此,将用户U5 的INSERT 权限收回的时候必须级联收回,不然系统将拒绝执行该命令: REVOKE INSERT ON TABLE SC FROM U5 CASCADE;
实验五SQL SERVER 完整性与安全性 一、实验目的 掌握SQL SERVER数据访问控制策略和技术,SQL SERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。 二、实验内容 1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。 2.分别为三个登录名在“gongcheng”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“gongcheng”数据库。
3.授予用户John创建表和视图的权限。 grant create table,create view to John 在“gongcheng”下,安全性—John—属性,选择安全对象,搜索特定对象,选择“gongcheng”表,在权限中选择“创建表”和“创建视图”, 如图:
即可赋予John“创建表”和“创建视图”的权限。 4.完成以下授权: (1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。 grant insert on S to tom with grant option (2)用户Mary对S,P,J三个表有SELECT和INSERT权力 grant select,insert on S to Mary grant select,insert on P to Mary grant select,insert on J to Mary (3)用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDA TE权力。 grant delete,update(qty) on spj to Tom
实验3:数据库安全性 第1个实验.安全性定义——第5章实验八 使用订单数据库完成下面的实验内容: (1) 分别创建登录账号user01、user02,其密码皆为p888888,并设置为订单数据库OrderDB的用户。 sp_addlogin'user01','p888888','orderdb' sp_addlogin'user02','p888888','orderdb' (2) 创建登录账号login03,并加入到OrderDB数据库中,其用户名为user03。 sp_adduser'user03','login03' (3) 将员工表的所有权限授予全部用户。 grant all privileges on customer to public (4) 授予user03用户对Product表的查询权限,对Employee表的编号、名称的查询和更新权限。 grant select on product to login03 grant select(employeeno,employeename),update(employeeno,employeename)on employee to login03 (5) 创建角色r3、r4,将订单明细表所有列的SELECT权限、UNIT_PRICE列的UPDA TE 权限授予r3。 sp_addrole'r3' sp_addrole'r4' grant select,update(price)on orderdetail to r3 (6) 收回全部用户对员工表的所有权限。 revoke all on employee from public (7) 将user01、user02两个用户赋予r3角色。 sp_addrolemember user01,r3 sp_addrolemember user02,r3 (8) 收回user02对订单明细表所有列的SELECT权限。 sp_addrole user02 revoke select on orderdetail from user02 (9) 在当前数据库中删除角色r4。 sp_droprole r4 (10) 授予user01建表和建视图的权限,user01用户分别建立一张表和一个视图(表和视图自定),然后将该表和视图的查询权限授予user02和user03。 由于数据库中存在user01而user01的密码未知user01用user04 代替 grant create view to user04
淮海工学院计算机工程学院实验报告书 课程名:《数据库原理及应用》 题目:数据库的安全管理 班级:软件132 学号:2013122907 姓名:孙莹莹 评语: 成绩:指导教师: 批阅时间:年月日
一.目的与要求 1.掌握SQL Server的身份验证模式及其设置; 2.掌握登录账号和用户账号的设置; 3.掌握角色的创建方法; 4.掌握权限设置的一般方法 二.实验内容 在SQL Server管理控制器中完成如下操作: (1)创建一个登录账号XYZ/123(其默认的工作数据库为factory,其“服务器角色”设置为sysadmin;将“映射到此登录名的用户”设置为Factory,并具有public权限; 并设置安全对象LCB-PC服务器具有Connect SQL权限); (2)修改(1)中为factory数据库创建的用户账号XYZ的属性,使XYZ登录账号对factory 数据库具有db_.owner权限。 三.实验步骤、 1.创建登陆账号 (1)启动SQL Server管理控制器,在“对象资源管理器”中展开LCB-PC节点。 (2)展开“安全性”节点,选中“登录名”,单击鼠标右键,在出现的快速菜单中选择“新建登录名”命令,如图1所示。 (3)出现“登录名新建”对话框,其中左侧列表包含有5个选项卡,“常规”选项卡如图2所示。这里,在“登录名”文本框中输入所创建的登录名XYZ,选中“SQL Server 身份验证”模式,在“密码”与“确认密码”输入登录时所用的密码,这里均输入“123”, 不选中“强制实施密码策略”选项。在“默认数据库”与“默认语言”中选择该登录 名登录SQL Server2005后默认使用的数据库与语言。 2.设置服务器角色 (1)用sa登录账号启动SQL Server管理控制器,在“对象资源管理器”中展开LCB-PC 节点。 (2)展开“安全性”节点,展开“服务器角色”节点,下方列出了所有的固定服务器角色,选中服务器角色sysadmin,单击鼠标右键,在出现的快速菜单中选择“属性”命令, 如图3所示。 (3)出现如图4所示的“服务器角色属性-sysadmin”对话框。 (4)单击“添加”按钮,出现如图5所示的“选择登录名”对话框。 (5)单击“浏览”按钮,出现如图6所示的“查找对象”对话框,选中“XYZ”登录名。 (6)单击两次“确定”按钮返回到“服务器角色属性-sysadmin”对话框,从中看到XYZ 登录账号已经作为sysadmin角色成员了。最后单击“确定”按钮设置完毕。 3.设置用户映射 (1)用sa登录账号启动SQL Server管理控制器,在“对象资源管理器”中展开LCB-PC 节点。 (2)展开“登录名”节点,选中“XYZ”,单击鼠标右键,在出现的快速菜单中选择“属性”命令,如图7所示。 (3)出现“登录属性-XYZ”对话框,其中左侧列表包含有5个选项卡,“用户映射”选项卡如图8所示。“映射到此登录名的用户(D):”选择“factory”,“数据库角色成员 身份(R):factory”自动选择为“public”,单击“确定”按钮完成设置。
实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1) 非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择修改命令-->对话框中右击sno-->选择设置主键'>修改主键名为pk_sno '-->保存
(3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname 。 唯一约束:单击数据库Student-->单击表--> 单击S-->右击sname-->选择修改’ 命令T右击 sname-->选择索引和键命令--> 打开索引和键框图--> 添加--> 是否唯一改为是--> 名称改为us sname '-->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为男 设默认约束:单击数据库Student宀单击表宀单击右击sno^选择修改命令宀单击cno-->在默认值栏输入男’保存
D62.s1udent - Diagram_0* D62.sludent - dbo.S* SQLQuery5.sql - D... (D62\A^m i n (52J)* 列容 埶据类型 允祥值 Q 5TI0 Ctiar(lO) n sname nvarchar (20) a 卜:S5SX nchai ■⑵ 團 sbirtti date □ adept nv ar char (20) sPhoneNo ctiar(LQ) @] 数捐类型 允傑Mdl 值 曰表设计器 RowGuid E 标识魁 不用于复制 大小 (5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck grade ,其 检查条件为:成绩应该在0-100之间。 ffin har 妊 2 Nnrh 昙否否否二
数据库原理及应用 实验报告 题目:数据库安全性与完整性实验 专业:网络工程 班级: 学号: 姓名: 太原工业学院计算机工程系 2016年10 月15日一、实验目的与要求 目的: 使学生加深对数据安全性与完整性实验的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法,熟悉通过SQL语句副i数据进行完整性控制。 要求: 1.数据库的安全性实验,在SQL Server企业管理器中设置SQL server的安全认证模式,实现对SQL server的用户和角色管理,设置和管理数据操作权限。 2.指出用户和角色的区别 二、实验内容 1.设置SQL server的安全认证模式(windows或SQL server和Windows(s)认证模式)、。 2.登陆的管理 创建一个登录用户 3.数据库用户的管理 登录用户只有成为数据库(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。 4.角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。 5.在学生表中定义主键、外键约束 6.在课程表的“课程名”字段上定义唯一约束 7.在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100. “课程号”字段只能输入数字字符 8.定义规则,并绑定到学生表的“性别”字段,使之只能取“男、女”值 9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。
苏州科技学院数理学院 实验报告 课程名称数据库原理与应用A 班级信计1412 学号0姓名0实验地点逸夫楼236 实验日期5、25 实验学时2学时实验名称实验八数据完整性和安全性 实验类型□√验证性 综合性 设计性 实验目的: 数据完整性方面: ●掌握域完整性的实现方法。 ●掌握实体完整性的实现方法。 ●掌握参照完整性的方法。 数据库安全性方面: ●掌握SQL Server身份验证模式。 ●掌握创建登录账户、数据库用户的方法。 ●掌握使用角色实现数据库安全性的方法。 ●掌握权限的分配。 实验内容: 数据完整性方面: 数据库的完整性设置。 数据库的安全性方面: 1、设置身份验证模式:Windows身份验证模式和混合模验证模式。 2、设置登录账户 3、设置数据库用户 4、设置数据库角色。 5、设置管理对象的权限
实验内容及步骤(记录实验的过程): 案例学习 3.1 数据完整性管理 ●可视化界面的操作方法: 实体完整性 1.将student表的“sno”字段设为主键:在表设计界面中,单击左边的行选定块,选定“sno”字段,单击工具按钮设置主键。如图1所示: 图1 1.将“sc”表的“sno”和“cno”设置为主键:在表设计界面中,单击并按住Ctrl键拖动左边的行选定块,选定sno和cno字段,单击工具按钮设置主键。如图2 所示:
图2 域完整性 3. 将“ssex”字段设置为只能取“男”,“女”两值:在表设计界面,点击鼠标右键——CHECK 约束,——添加约束,添加CK_student_sex名称,然后在约束表达式框中输入“ssex in ('男','女') ”。如图3所示。 图3 参照完整性 4. 将“student”表和“sc”表中的“sno”字段设为参照: 打开“sc”表的设计界面, 点击工
实验6:RDBMS的数据库安全性实验 【实验目的】 1.掌握user的创建与授权(all,select,update和delete等) 2.掌握收回权限 3.熟悉级联授权与级联收回 【实验条件】 1. 具有2台PC,接入LAN网络,1台作为数据库服务器,1台客户机。 2. 服务器端装有MySQL,防火墙允许3306端口,root密码可以远程访问。 【实验过程】 1. 创建账户并授权。 登录root账户后,创建user,5个账户,分别是mag、student1、student2、teacher1和teacher2。>>对mag的创建与授权。 命令:Grant <权限>
课程设计报告题目:数据库实验上机实验报告 专业班级:计算机科学与技术1210班 学号:U201215079 姓名:候宝峰 指导教师: 报告日期:2015-06-04 计算机科学与技术学院
目录 一、基本SQL操作(部分选做) (1) 1)数据定义 (1) 2)数据更新 (3) 3)用SQL语句完成下述查询需求: (4) 二、DBMS综合运用(部分选做) (8) 1)学习sqlserver的两种完全备份方式:数据和日志文件的脱机备份、系统的备份功能(选做)。 (8) 2)学习系统的身份、权限配置操作 (9) 3)了解SQLSERVER的存储过程、触发器、函数实现过程 (14) 三、实验总结 (17) 1)实验问题及解决 (17) 2)实验心得 (18)
一、基本SQL操作(部分选做) 1)数据定义 参照下面的内容建立自己实验所需的关系数据 创建三个关系: 商品表【商品名称、商品类型】 GOODS【GNAME char(20),GTYPE char(10)】 主关键字为(商品名称)。商品类型为(电器、文具、服装。。。) 商场【商场名称,所在地区】 PLAZA【PNAME char(20),PAREA c har(20)】 主关键字为商场名称。所在地区为(洪山、汉口、汉阳、武昌。。。) 销售价格表【商品名称、商场名称、当前销售价格、目前举办活动类型】 SALE【GNAME char(20),PNAME char(20),PRICE FLOAT,ATYPE c har(10)】 主关键字为(商品名称、商场名称)。举办活动类型为(送券、打折),也可为空值,表示当前未举办任何活动。表中记录如(‘哈森皮靴’,‘亚贸广场’,200,‘打折’),同一商场针对不同的商品可能采取不同的促销活动。 create table goods(gname char(20) primary key,gtype char(10)); create table plaza(pname char(20) primary key,parea char(20)); create table sale (gname char(20), pname char(20), price FLOAT, atype char(10)check (atype in('送券','打折','')), primary key(gname,pname), foreign key(gname)references goods(gname), foreign key(pname)references plaza(pname));
一、实验目的 1.掌握Windows 认证模式下数据库用户帐号的建立与取消方法; 2.掌握混合模式下数据库用户帐号的建立与取消方法; 3.掌握数据库用户权限的设置方法; 4.熟悉数据库数据库用户帐号的权限分配、回收等方法; 5.了解数据库角色的分类、作用及使用方法。 二、实验环境 SQL Server 企业版 三、实验学时 2学时 三、实验原理: 1. Microsoft? SQL Server?可以在两种安全(身份验证)模式: (1)Windows 身份验证模式(Windows 身份验证) Windows 身份验证模式使用户得以通过 Microsoft Windows NT? 4.0 或Windows? 2000 用户帐户进行连接。 (2)混合模式(Windows 身份验证和 SQL Server 身份验证) 混合模式使用户得以使用 Windows 身份验证或 SQL Server 身份验证与SQL Server 实例连接。在 Windows 身份验证模式或混合模式下,通过 Windows NT 4.0 或 Windows 2000 用户帐户连接的用户可以使用信任连接。
2. SQLServer的安全机制 (1)服务器级别所包含的安全对象主要有登录名、固定服务器角色等。其中登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。SQL Server 中的登录名主要有两种:第一种是Windows登录名,第二种是SQL Server登录名。Windows登录名对应Windows验证模式,该验证模式所涉及的账户类型主要有Windows本地用户账户、Windows域用户账户、Windows组。SQL Server登录名对应SQL Server验证模式,在该验证模式下,能够使用的账户类型主要是SQL Server账户。 (2)数据库级别所包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、架构等。用户安全对象是用来访问数据库的。如果某人只拥有登录名,而没有在相应的数据库中为其创建登录名所对应的用户,则该用户只能登录数据库服务器,而不能访问相应的数据库。 (3)架构级别所包含的安全对象主要有表、视图、函数、存储过程、类型、同义词、聚合函数等。架构的作用简单地说是将数据库中的所有对象分成不同的集合,这些集合没有交集,每一个集合就称为一个架构。数据库中的每一个用户都会有自己的默认架构。这个默认架构可以在创建数据库用户时由创建者设定,若不设定则系统默认架构为dbo。数据库用户只能对属于自己架构中的数据库对象执行相应的数据操作。至于操作的权限则由数据库角色所决定。一个数据库使用者,想要登录服务器上的SQL Server数据库,并对数据库中的表执行数据更新操作,则该使用者必须经过如下图所示的安全验证。 3.数据库的存取控制:授权和撤销权限 (1)GRANT 在安全系统中创建项目,使当前数据库中的用户得以处理当前数据库中的数据或执行特定的 Transact-SQL 语句 语法: 1)语句权限: GRANT { ALL | statement [ ,...n ] } TO security_account [ ,...n ]
信息工程学院实验报告 课程名称:《数据库原理》 实验项目名称:数据库的完整性和安全性 一、实 验 目 的: (1)掌握数据库约束的概念; (2)熟悉SQL SERVER 的完整性约束技术。 (3)了解SQL SERVER 的违反完整性处理措施。 (4)了解登录账户的管理理念与具体方法。 (5)了解数据库用户的管理的要则。 (6)了解用户权限管理的内涵与方法。 二、实 验 设 备 与 器 件 Win7 +Sql server 2008 三、实 验 内 容 与 步 骤 (一)测试完整性 运行附录中的SQL 语句,理解SQL 语句中包含的完整性定义。然后执行下面的SQL 语句,看是否能正常运行,若无法执行,请说明原因。 1.对dept 表进行数据增删改,并检查完整性规则 Dept 已存在的完整性规则如下: dno CHAR(2) PRIMARY KEY dname VARCHAR(20) NOT NULL,UNIQUE (1)增加数据 INSERT INTO dept VALUES('D1','计科系');----正常插入 INSERT INTO dept VALUES('D2','电信系');----正常插入 INSERT INTO dept VALUES(NULL,'机械系'); ----违反dno 主键(NOT NULL )规则 INSERT INTO dept VALUES('D2','机械系'); ----违反dno 主键(UNIQUE ) INSERT INTO dept VALUES('D3',NULL); ----违反dname 的NOT NULL 规则
实验7 数据库安全性策略 一、实验目的 1.掌握使用SQL语句进行数据库完全备份的办法 2.掌握使用客户端程序进行完全备份的方法 3.掌握数据库用户账号的建立与删除方法 4.掌握数据库用户权限的授予方法 二、实验准备 1.了解在MySQL Administrator中进行数据库备份操作的方法 2.了解数据库安全的重要性 3.了解数据库用户账号的建立于删除的方法 4.了解数据库用户权限的授予和回收方法 三、实验内容及要求 1.用SQL语句进行数据库备份和恢复 1)备份YGGL数据库中的Employees表到D盘FILE文件夹下,并在执行 完成后查看D盘FILE文件夹下是否有Employees.txt文件。 2)先删去Employees表中的几行数据,再使用SQL语句恢复Employees 表,执行完成后使用SELECT查看Employees表的变化。 2.使用客户端工具备份和恢复表 1)使用mysqldump备份数据库YGGL中的Salary表,并查看是否备份成 功。 2)备份整个YGGL数据库,并查看是否备份成功。 3)先删除YGGL数据库中的Employees表,再使用mysql恢复数据库。 4)假设原来的Salary表内容已经备份成Salary.txt文件,如果Salary 表中的数据发生了变动,使用mysqlimport恢复表数据。 3.数据库用户 1)创建数据库用户user_1和user_2,密码都为1234(假设服务器名为 localhost)。 2)将用户user_2的名称修改为user_3。 3)将用户user_3的密码修改为123456。 4)删除用户user_3。 5)以user_1用户身份登陆MySQL。 6)刚刚创建的用户有什么样的权限。 7)创建一个用户,并以该用户的身份登录。 4.用户权限的授予与收回 1)授予用户user_1对YGGL数据库Emlpoees表的所有操作权限及查询 操作权限。 2)授予用户user_1对Emlpoees表进行插入,修改,删除操作权限。 3)授予用户user_1对数据库YGGL的所有权限。 4)授予user_1在Salary表上的SELECT权限,并允许其将该权限授予 其他用户。 5)回收user_1的Emlpoees表上的SELECT权限。 6)授予用户user_1所有的用户权限。 7)取消用户user_1所有的权限。
北华航天工业学院 《数据库原理与应用》 实验报告 报告题目:_______ 数据库安全性管理__________ 作者所在系部:计算机
作者学号: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。 3、使用SSMS收回User2创建数据表和创建视图的权限。 4、使用SQL语句收回User2修改书名和作者列的权限。 实验目的
实验四SQL SERVER安全性 一、实验目的 掌握SQL SERVER数据访问控制策略和技术,SQL SERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。 二、实验内容 1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。 create login T with password='123456'; create login M with password='123456'; create login J with password='123456'; 2.分别为三个登录名在“Project”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“Project”数据库。 use Project go create user Tom for login T create user Mary for login M create user John for login J
3.授予用户John创建表和视图的权限。 grant alter on schema::dbo to John grant create table,create view to John 4.完成以下授权: (1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。 grant insert on S to Tom with grant option use Project insert into S(sno,sname,city) values ('S9','国安','北京')
《数据库原理》实验指导 实验7 数据的安全性 一、实验目的 本实验的目的是通过实验使学生加深对数据安全性的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法。 相关知识介绍: SQL Server提供以下四种防线: (1)Windows NT操作系统的安全防线 Windows NT的网络管理员负责建立用户组,设置帐号并注册,同时决定不同的用户对不同的系统资源的访问级别。用户只有拥有了一个有效的Windows NT登录帐号,才能对网络资源进行访问。 (2)SQL Server的运行安全防线 SQL Server 通过另外一种帐号设置来创建附加安全层。SQL Server具有标准登录和集成登录两种用户登录方式,用户只有登录成功,才能与SQL Server 建立一次连接。 (3)SQL Server数据库的安全防线 SQL Server的特定数据库都有自己的用户和角色(用户组),该数据库只能由它的用户或角色访问,其他用户无权访问其数据,数据库系统可以通过创建和管理特定的数据库的用户和角色来保证数据库不被非法用户访问。 (4)SQL Server数据库对象的安全防线 SQL Server可以对权限进行管理,SQL的DCL功能保证合法用户即使登陆了数据库也不能进行超越权限的数据操作,即合法用户必须在自己的权限范围内进行数据操作。 二、实验内容 (1)在SQL Server Management Studio中设置SQL Server的安全认证模式。 (2)通过图形界面,实现对SQL Server的用户和角色管理。
(3)分别通过SQL Server图形界面和SQL的数据控制功能,设置和管理数据操作权限。 三、实验步骤 1.在SQL Server Management Studio中为所属的SQL服务器设置为SQL Server和Windows NT混合安全认证模式。其步骤如下: (1)在对象资源管理器中,用鼠标右击需要设置的SQL服务器,在弹出的菜单中选择“属性”项,则出现服务器对话框。如图6-1所示,在“选择页”中选择“安全性”。 (2)在“服务器身份验证”中选择“SQL Server和Windows身份验证模式”单选项。 图6-1 服务器属性对话框 2.在SQL Server Management Studio中为自己建立一个服务器用户、数据库用户和数据库角色。