实验五 数据库的安全性
- 格式:doc
- 大小:1.75 MB
- 文档页数:24
数据库原理
实验指导书
实验五SQL Server 2000中数据库安全性设置
1. 实验的目的
1)熟悉通过SQL对数据进行安全性控制。
2)完成作业的上机练习。
2. 实验内容
要求:在SQLSERVER2000中利用SQL语句完成以下操作。
1)通过SQL对登入账号,用户的创建修改与删除。
2)通过SQL对角色管理,以及角色中添加用户。
3)对角色和用户数据的授权和权力回收
3. 实验步骤
1)复制生成xscj数据库的代码并运行。
2)创建登入账号和用户名s1,s2,t1,t2,l1,l2密码与账号相同默认登入访问xscj数据库。
3)创建角色student,teacher,leader。
4)为角色student授权student表、course表和SC表的select 权力,拒绝修改和删除这三个表的权力
5)为角色teacher授权student表、course表和SC表的select 权力,以及对SC表的修改,插入更新的权力, 拒绝修改student表和course表的权力
6)为角色leader授权student表、course表和SC表的select 权力,以及对student表、course 表修改,插入更新的权力,拒绝修改和删除表SC的权力
7)将s1,s2加入student角色
8)将t1,t2加入teacher角色
9)将l1,l2加入leader角色
10)分别以s1,t1,l1登入服务器验证对student表、course表和SC表相应权限的验证。
数据库基础与实践实验报告实验五存储过程和触发器班级:惠普测试142学号:**********姓名:***日期:2016-11-141 实验目的:1)掌握SQL进行存储过程创建和调用的方法;2)掌握SQL进行触发器定义的方法,理解触发器的工作原理;3)掌握触发器禁用和重新启用的方法。
2 实验平台:操作系统:Windows xp。
实验环境:SQL Server 2000以上版本。
3 实验内容与步骤利用实验一创建的sch_id数据库完成下列实验内容。
1.创建存储过程JSXX_PROC,调用该存储过程时可显示各任课教师姓名及其所教课程名称。
存储过程定义代码:CREATE PROCEDURE JSXX_PROCASSELECT tn 教师姓名,cn 所教课程FROM T,TC,C WHERE T.tno=TC.tno AND o=o存储过程执行语句与执行结果截图:EXECUTE JSXX_PROC2.创建存储过程XM_PROC,该存储过程可根据输入参数(学生姓名)查询并显示该学生的学号、所学课程名称和成绩;如果没有该姓名学生,则提示“无该姓名的同学”。
存储过程定义代码:CREATE PROCEDURE XM_PROC @sname VARCHAR(100)ASBEGINIF EXISTS(SELECT NULL FROM S WHERE sn=@sname)SELECT S.sno 学号,cn 课程,score 成绩FROM S,SC,C WHERE o=o AND SC.sno=S.sno ANDS.sn=@snameELSEPRINT'无该姓名的同学。
'END运行截图:3.创建存储过程XBNL_PROC,该存储过程可根据输入参数(专业名词,默认值为计算机专业),统计并显示该专业各年龄段男、女生人数。
如果没有该专业,则显示“无此专业”。
存储过程定义代码:CREATE PROCEDURE XBNL_PROC@departName VARCHAR(30)='计算机',@begin INT,@end INTASDECLARE @numOfBoys INTDECLARE @numOfGirls INTDECLARE @d# VARCHAR(3)DECLARE @result VARCHAR(50)BEGINSELECT @d# = dno FROM D WHERE dn=@departNameIF @d# IS NOT NULLBEGINSELECT @numOfBoys =COUNT(sno)FROM S WHERE age BETWEEN @begin AND @end AND dno=@d# AND sex='男'SELECT@numOfGirls =COUNT(sno)FROM S WHERE age BETWEEN@begin AND@end AND dno=@d# AND sex='女'SET @result = @departName+'专业年龄在'+CAST(@begin AS VARCHAR(3))+'-'+CAST(@end AS VARCHAR(3))+'之间的男生有'+CAST(@numOfBoys AS VARCHAR(3))+'人,'+'女生有'+CAST(@numOfGirls AS VARCHAR(3))+'人'ENDELSESET @result='无此专业。
《数据库系统原理》实验指导书《数据库系统原理》实验指导书实验1 熟悉SQL Server 2000环境及数据库⽂件管理⼀、实验⽬的1、掌握登录SQL Server 2000的⽅法,熟悉SQL Server实⽤⼯具的使⽤;2、了解SQL Serve数据库的存储结构,掌握估算数据库⼤⼩技术;3、掌握创建数据库技术,掌握扩⼤和压缩数据库技术;4、掌握使⽤企业管理器⼯具和T-SQL语句及系统存储过程对数据库进⾏管理。
⼆、实验要求1、熟悉SQL Server 2000的⼯作环境,了解SQL Server主要管理⼯具的⽤途和使⽤⽅法。
2、掌握在SQL Server 2000环境下,利⽤企业管理器和T-SQL语⾔创建和管理数据库的⽅法。
三、实验设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中⽂版四、实验原理、⽅法上机操作五、实验步骤及内容(⼀)实验步骤1、教师讲授2、教师演⽰3、学⽣实际操作(⼆)实验内容1、熟悉SQL Server 2000管理⼯具(1)企业管理器(Enterprise Manager)(2)查询分析器(Query Analyzer)(3)服务管理器(Service Manager)(4)事件探查器(Profiler)(5)导⼊和导出数据(Import and Export Data)(6)SQL Server其他管理⼯具2、数据库⽂件管理(1)数据库的创建和删除。
①在企业管理器中建⽴⼀个图书读者库。
图书读者数据库中将包括⼀个数据⽂件和⼀个⽇志⽂件,各⽂件的属性见表1-1。
②删除上题所建的数据库然后⽤T-SQL语句重新创建。
(2)修改数据库①查看图书读者数据库的属性及数据⽂件和⽇志⽂件的空间使⽤情况。
②在企业管理器中,⾸先扩⼤图书读者数据库的主数据⽂件的⼤⼩,然后查看扩⼤后的数据库属性,接着收缩主数据⽂件到定义时的⼤⼩。
实验五视图、索引及数据更新一、实验目的:熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用,熟练掌握数据插入、修改和删除的使用,为后继学习作准备。
二、实验属性(验证性)1.了解并掌握SQL查询分析器及企业管理器的使用;2.掌握基本表的定义、删除与修改。
三、实验原理SQL语言应用。
四、实验步骤:(1) 启动Oracle的SQL Developer或者SQL Plus,或者SQL Server 查询分析器;(2) 对于Oracle11g的SQL Plus需要进行登录,对于Oracle11g的SQL Developer需要进行建立连接。
1 建立索引建立唯一索引:例3.1 为学生选课数据库中的Students,Courses,SC三个表建立索引。
其中Students表按Sname升序建唯一索引,Courses表按Cname升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。
查看自己建立的索引:2 删除索引例3.2 删除基本表SC上的Rep_SCno索引。
然后查询看索引是否还存在。
理解索引的意义。
例3.3 删除基本表student上的Rep_Sno索引。
3 建立视图例3.4 建立数学系学生的视图C_Student,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。
例3.5 建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图Student_CR。
例 3.6定义一个反映学生出生年份的视图student_birth(sno,sname,s_birth,ssex,sdept)。
视图建立后,使用命令查询自己创建的视图:4 查询视图例3.7 在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。
例3.8 在Student_CR视图中查询成绩在85分以上的学生学号(Sno)、姓名(Sname)和课程名称(Cname)。
实验五编程实施学生、选课、成绩简易管理系统一.目的与要求1.通过编程扩展“学生选课系统”的功能。
2.进一步掌握调试程序的基本步骤和方法。
二.实验内容1.使学生、教师和课程表具有增加、修改、删除和查询数据的功能。
2.学生根据开设的课程进行选课.3.教师根据学生所选课程进行成绩登录。
4.各类统计分析,比如平均成绩。
系统说明:学生:可以进行选课、退课、查分、查看学生自己的信息、修改自己的密码。
教师:可以查询已选学生、登分、查看教师自己的信息、修改自己的密码。
管理员:可以增加和删除课程、学生、教师等信息,可以查看和修改学生、教师密码,可以注册和注消学生、教师,有所有学生的功能,能够查询教师信息。
部分窗口如下:部分代码如下:如查分代码如下:通过datawindow中通过学号可以查看自己成绩。
dw_1.reset()dw_1.settransobject(SQLCA)dw_1.retrieve(user)dw_1.object.datawindow.readonly="yes"三.上机体会。
进一步掌握了开发管理系统的基本方法;掌握了使用PowerBuilder开发环境提供的工具建立应用程序的步骤和方法;掌握应用PowerBuilder提供的调试程序进行应用程序的调试。
实验六SQL Server 2000高级技术的使用一.目的与要求1.练习存储过程的建立和使用。
2.学会触发器的使用。
二.实验内容1.存储过程的建立和使用。
(1)创建存储过程,使其具有如下功能:根据所提供的学号参数,返回该学生的学习情况信息。
(2)查看和修改存储过程;(3)使用存储过程;(4)删除存储过程。
2.触发器的建立和使用(1)创建两个触发器,分别具有如下功能:a.将删除的学生选课信息转移到存档学生选课表中;b.在修改学生成绩时,要求修改后的成绩一定要比原来的成绩高;(2)查看和修改触发器;(3)使用触发器;(4)删除触发器;3.为实验五设计存储过程和触发器,通过调试验证其正确性。
实验五数据库的安全性控制一、实验目的:1. 通过实验加深对数据安全性的理解,并掌握SQL Server中有关用户登录的认证以及管理办法;2. 通过实验加深对数据库存储控制机制的理解,通过自主存取控制进行权限管理,熟悉SQL Server中角色管理;3.通过实验加深对数据安全性的理解,熟悉视图机制在自主存取控制上的应用。
二、实验内容1.设置SQL Server的混合安全认证模式。
在SQL Server中的对象资源管理器中设置安全认证模式。
2.在SQL Server中,利用“对象资源管理器”创建一个名为“U1”的登录用户和数据库用户,密码为111,并允许其登录S-T数据库。
3.在SQL Server中,利用代码创建一个名为“U2”的登录用户,密码为111;其相应的数据库用户名为lucky,并允许其登录S-T数据库。
4.用“u1”用户名登录后,执行对students表的查询操作,说明执行结果,并分析原因(建议:在启动一个SQL Server 2008窗口)。
分析:没有对u1进行其他操作的授权,只能登录而不能进行插入,修改等操作5.将students表的操作权限select和insert赋予数据库用户u1,并允许其向其它用户授权。
6.以“u1”用户名登录,执行对students和teacher表的查询操作,将该运行结果进行分析。
分析:对比第4题,对U1进行授权后可以进行相应的操作7.执行下列代码后,分析用户u2能否对s_t数据库的student表进行select 和update操作,为什么?并用相应的语句验证。
分析:首先grant给public组赋予了查询,插入,更新权限,然后给lucky用户赋予了对S表的所有权限,然后又revoke收回了lucky的权限,但并没有收回public组的权限,而deny却收回了lucky的更新权限,故查询可实现,而更新不可实现8.以sa登录数据库,在s_t数据库的stc表上创建选修了课程B001的视图st_view。
数据库实验五在学习数据库的过程中,实验是巩固理论知识、提高实践能力的重要环节。
本次实验五主要围绕数据库的某些关键操作和应用展开,通过实际动手操作,让我们对数据库的理解更加深入和全面。
本次实验的环境是常见的数据库管理系统,如 MySQL 或 SQL Server 等。
实验的目的是让我们熟练掌握数据库的查询、更新、插入和删除等基本操作,同时能够运用这些操作解决一些实际的问题。
实验的第一个任务是进行数据的查询操作。
查询是从数据库中获取所需信息的重要手段。
我们需要根据给定的条件,从数据表中筛选出符合要求的数据。
这就涉及到了使用 WHERE 子句来设定条件,以及各种运算符如等于(=)、大于(>)、小于(<)、不等于(<>)等的运用。
同时,还需要掌握连接(JOIN)操作,将多个相关的数据表连接起来,以获取更全面和准确的信息。
例如,在一个学生成绩管理系统中,要查询某个班级中数学成绩大于 80 分的学生名单,就需要先从学生表中获取班级信息,再从成绩表中筛选出数学成绩符合条件的记录,最后通过学生学号将两个表连接起来,得到最终的结果。
接下来是数据的更新操作。
这包括对已有数据的修改和删除。
在进行更新操作时,必须格外小心,因为一旦操作失误,可能会导致数据的丢失或错误。
在修改数据时,同样要使用 WHERE 子句来指定要修改的记录。
例如,要将某个学生的数学成绩从 80 分修改为 90 分,就需要明确指定该学生的学号或其他唯一标识。
而删除数据则需要更加谨慎,通常建议先进行查询,确认要删除的记录准确无误后,再执行删除操作。
数据的插入操作也是实验的重要部分。
插入新的数据可以增加数据库的信息量。
在插入数据时,需要注意数据的类型和格式要与数据表的定义相匹配。
比如,一个学生信息表中,学号是整数类型,姓名是字符串类型,出生日期是日期类型,如果插入的数据类型不正确,就会导致插入失败。
在实验过程中,我也遇到了一些问题和挑战。
比如,在进行复杂的查询操作时,由于条件设置不当,导致查询结果不准确。
实验五数据库完整性与安全性实验1、实验目的1.通过对完整性规则的定义实现,熟悉了解kingbase中完整性保证的规则和实现方法,加深对数据完整性的理解。
2.通过对安全性相关内容的定义,熟悉了解kingbase中安全性的内容和实现方法,加深对数据库安全性的理解2、实验环境操作系统:Microsoft Windows 7旗舰版(32位)。
数据库版本:MySQL 6.23、实验内容3.1完整性实验:(1)分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;在create table 时已经定义了各个基表的主键。
因此,首先对每个基表删除主键,再添加主键。
实现实体完整性约束。
如下图。
删除主键:添加主键:sc表中的cno和sno分别是course表和student表的外关键字。
下图为给sc表添加student和course的外键,实现参照完整性约束。
alter table sc add constraint fk_student foreign key(sno) references student(sno);alter table sc add constraint fk_course foreign key(cno) references course(cno);主键和外键均添加成功,输入show create table 命令来查看各基表信息。
(2)分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束;向课程表中插入课程号为C01的课程。
向学生表中插入学号为30201的学生。
由上面两个实验来看,分别对student和course表插入具有相同学号和相同课程号的学生信息和课程信息,都显示sql语句错误信息为:Duplicate entry *** for key ‘PRIMARY’。
验证了实体完整性约束。
(3)向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束;插入成绩信息是学号为31428(student中存在),课程号为C07(course中不存在)的学生成绩信息。
数据库实验报告:实验五一、实验目的本次数据库实验五的主要目的是深入了解和掌握数据库的高级操作,包括存储过程的创建与使用、视图的定义和应用、以及事务处理的原理和实践。
通过这些实验内容,提高我们对数据库系统的综合运用能力,为解决实际的数据库管理问题打下坚实的基础。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,开发工具为 Navicat Premium 12。
操作系统为 Windows 10 专业版。
三、实验内容及步骤(一)存储过程的创建与使用1、创建一个名为`get_student_info` 的存储过程,用于根据学生学号查询学生的基本信息(包括学号、姓名、年龄、性别和专业)。
```sqlDELIMITER //CREATE PROCEDURE get_student_info(IN student_id INT)BEGINSELECT FROM students WHERE student_id = student_id;END //DELIMITER ;```2、调用上述存储过程,查询学号为 1001 的学生信息。
```sqlCALL get_student_info(1001);```(二)视图的定义和应用1、创建一个名为`student_grade_view` 的视图,用于显示学生的学号、姓名和平均成绩。
```sqlCREATE VIEW student_grade_view ASSELECT sstudent_id, sname, AVG(ggrade) AS average_gradeFROM students sJOIN grades g ON sstudent_id = gstudent_idGROUP BY sstudent_id, sname;```2、查询上述视图,获取所有学生的平均成绩信息。
```sqlSELECT FROM student_grade_view;```(三)事务处理1、开启一个事务,向学生表中插入一条新的学生记录(学号:1005,姓名:_____,年龄:20,性别:男,专业:计算机科学)。
实验五:数据库综合查询姓名:潘年品学号:120802010027一、实验目的1. 掌握SELECT语句的基本语法和查询条件表示方法;2. 掌握查询条件种类和表示方法;3. 掌握连接查询的表示及使用;4. 掌握嵌套查询的表示及使用;5. 了解集合查询的表示及使用。
二、实验环境已安装DBMS的计算机;具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1. 了解SELECT语句的基本语法格式和执行方法;2. 了解连接查询的表示及使用;3. 了解嵌套查询的表示及使用;4. 了解集合查询的表示及使用;5. 完成实验报告;五、实验内容及步骤以数据库原理实验2数据为基础,请使用T-SQL 语句实现进行以下操作:1.查询以‘数据_’开头,且倒数第3个字符为‘结’的课程的详细情况;2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;4. 查询缺少成绩的所有学生的详细情况;5. 查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;6. 查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩;7. 按照‚学号,姓名,所在院系,已修学分‛的顺序列出学生学分的获得情况。
其中已修学分为考试已经及格的课程学分之和;8. 列出只选修一门课程的学生的学号、姓名、院系及成绩;9. 查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;10. 只选修‚数据库‛和‚数据结构‛两门课程的学生的基本信息;11. 至少选修‚数据库‛或‚数据结构‛课程的学生的基本信息;12. 列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩;13. 查询只被一名学生选修的课程的课程号、课程名;14. 检索所学课程包含学生‘张向东’所学课程的学生学号、姓名;15. 使用嵌套查询列出选修了‚数据结构‛课程的学生学号和姓名;16. 使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和院系;17. 使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生;18. 分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息;19. 使用集合查询列出CS系的学生以及性别为女的学生名单;20. 使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集;21. 使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集;。
北邮数据库实验五数据库完整性与安全性实验以下是为您起草的一份关于“北邮数据库实验五数据库完整性与安全性实验”的协议:合同主体11 甲方:____________________________12 乙方:____________________________合同标的21 本次合同的标的为北邮数据库实验五数据库完整性与安全性实验的相关合作事宜。
22 具体包括但不限于:数据库完整性的测试与保障、数据库安全性的设置与评估等实验内容。
双方权利义务31 甲方权利义务311 甲方有权要求乙方按照合同约定的时间和质量标准完成实验任务。
312 甲方有义务为乙方提供必要的实验资源和技术支持。
313 甲方应及时对乙方提交的实验成果进行验收和反馈。
32 乙方权利义务321 乙方有权获取甲方提供的实验资源和技术支持。
322 乙方有义务按照合同约定的要求和时间进度,认真完成数据库完整性与安全性实验的各项任务。
323 乙方应保证实验过程的合法性、安全性,不得泄露相关数据和信息。
324 乙方需按照甲方的要求提交实验报告和相关成果。
违约责任41 若甲方未按照合同约定提供实验资源和技术支持,导致实验无法正常进行,应承担相应的责任,包括但不限于延长实验期限、补偿乙方因此造成的损失。
42 若乙方未按时完成实验任务,应承担违约责任,根据逾期的时间长短,按照一定比例扣除合同款项,并采取措施尽快完成实验。
43 若乙方在实验过程中违反合法性、安全性要求,泄露相关数据和信息,应承担法律责任,并赔偿甲方因此遭受的全部损失。
44 若双方在实验成果的验收标准上存在争议,且经协商无法达成一致,应按照行业通用标准或由双方共同指定的第三方机构进行评估和判定,责任方应承担相应的评估费用和可能的损失。
争议解决方式51 本合同在履行过程中如发生争议,双方应首先友好协商解决。
52 若协商不成,任何一方均可向有管辖权的人民法院提起诉讼。
本合同自双方签字(或盖章)之日起生效,一式两份,双方各执一份,具有同等法律效力。
实验五数字签名的应用及其安全性分析一、实验目的1.掌握数字签名的定义;2.了解数字签名的特征;3.理解数字签名标准算法DSA的实现原理;4.了解数字签名安全性存在的问题;5.掌握身份识别的定义;6.掌握身份识别协议的攻击方法;7.了解验证码的概念将及其作用。
二、实验环境1.互联网2.多媒体计算机3.网络安全教学实验系统三、实验内容及实验步骤1)通过网络安全教学实验系统练习DSA数字签名实现过程。
打开网络安全教学实验系统的DSA算法,进行DSA数字签名实验。
如图1所示。
注:界面操作参见使用说明。
如图2所示。
图2 DSA数字签名实验界面使用说明注意DSA原理分析:DSA数字签名实现三步骤:①参数与密钥生成②签名算法③签名的验证算法DSA运算结构图如下所示:图3 数字签名标准DSA的运算从图3可见,DSA使用了一大组参数:p、q、g、k、x和y。
其中一些参数是公开的,另一些参数是不公开的,但它们都具有一些所要求的特性:DSA中的四个函数使用这六个参数和消息的SHA-1散列值h来建立整个验证过程。
附加在消息上的签名由值(r,s)组成,它们的定义为:验证使用(r,s的过程为:如果r=r’,那么消息得到验证。
这是为什么呢?原因在于:2.数字签名应用案例分析。
通过互联网查询目前用到数字签名的应用案例,并分析说明其实现方法。
3.数字签名安全性分析。
针对数字签名DSA的实现原理,分析其存在的安全性问题。
4.验证码原理通过互联网搜索引擎等理解验证码的实现原理及作用。
5. 验证码的实际演练登录新浪或淘宝网站,注册一个新浪或淘宝会员,感受验证码的使用方法。
四、实验要求(1) 请根据自己的理解总结回答什么是数字签名、Hash函数、身份识别和认证,这几个概念的区别与联系是什么?(2) 列出5种以上数字签名的应用案例。
(3) 针对DSA存在哪些安全性问题?(即DSA易遭受到哪些攻击) 可以采用什么方法进行解决?(4) 解释说明什么是验证码?举出5种类型常见的验证码。
创新源于实践《数据库原理与应用》课程实验教学手册专业:数字媒体技术班级:2011 级 1 班学号:***********名:**任课教师:***学期:13141综合成绩:信息工程学院《数据库原理与应用》课程组许昌学院信息工程学院《数据库原理与应用》课程实验手册前言一、实验目的:《数据库原理与应用》是一门应用性很强的课程,上机实验是该课程的重要环节。
本实验是结合《数据库原理与应用》的学习而开设的实验。
本实验目的如下:1. 通过上机实验,加深对数据库基本理论知识的理解,增加对SQL Server数据库管理系统的感性认识和实际操作能力;2. 学习使用T-SQL语言,加深对T-SQL语言的认识和理解,提高T-SQL语言的实际应用能力;3. 加强对数据完整性、数据库编程等概念的认识和理解。
二、适应专业:数字媒体技术专业三、实验内容及学时安排:四、教材及参考文献1、《数据库系统概论》王珊、萨师煊主编,高等教育出版社,2006.2、《SQL Server 使用教程(第3版)》郑阿奇主编,电子工业出版社,2009.五、成绩考核上机实验考核采取实验报告和上机抽查检验相结合的方式。
每次实验结束后都必须写出实验报告。
实验一实验名称表与表数据操作、实验性质设计性、实验学时4学时姓名、学号、成绩四、实验过程实验过程、存在的问题及解决办法:1.创建YGGL数据库和相应的表语句:结果:2.将Sex列默认值设为0,语句:3.建立表Slary1如下:删除列ActIncome后:4.向表中插入数据,如下图:5.(1)将编号为000001的职工收入修改为2890原来修改后(2)将所有职工的收入增加100;(原图如上,修改后如下)代码:(3)删除编号为000001的职工的信息;代码为:结果如下:(4)删除所有女性员工的信息。
代码及结果如下:五、实验总结建立数据库时,注意数据库的位置以及Log文件。
保存时,应先关闭运行的管理器。
然后保存,再次打开时。
、可编辑修改精选全文完整版《计算机网络安全》实验报告与习题册2012 / 2013 学年第1学期系别专业班级姓名学号指导教师实验一使用网络监听工具一、实验要求与目的1.使用监听工具NetXray2.熟悉Sniffer的原理及被监听的危害二、实验内容:1.熟悉NetXray界面2.设置过滤条件(如网络病毒),过滤报文3.监视本机的业务流量三、实验步骤四、实验结果五、习题1.TCP和UDP之间的主要区别是什么?2.网桥、路由器和网关的主要区别是什么?3.将一个C类网络分成8个子网,若我们用的网络号为202.204.125.试写出网络划分的方法和子网掩码。
实验二使用Sniffer Pro 网络分析器一、实验要求与目的1.学会Sniffer Pro安装;2.掌握Sniffer Pro常用功能;3.理解网络协议分析。
二、实验内容1. 安装Sniffer Pro2. 熟悉功能面板3. 使用Sniffer Pro网络分析器抓取某台机器的所有数据包三、实验步骤四、实验结果五、习题1.网络安全主要有哪些关键技术?如何实施网络安全的安全策略?2.访问控制的含义是什么?计算机系统安全技术标准有哪些?3.数据库的加密有哪些要求?加密方式有哪些种类?实验三实现加解密程序一、实验要求与目的1.熟悉加密、解密的算法;懂得加密在通信中的重要作用2.熟悉密码工作模式3.使用高级语言实现一个加密、解密程序二、实验内容编写DES算法对一个文件进行加密和解密。
三、实验步骤四、实验结果五、习题1.计算机病毒的基本特征是什么?2.简述计算机病毒攻击的对象及所造成的危害。
3.简述宏病毒的特征及其清除方法。
4.什么是网络病毒?防治网络病毒的要点是什么?实验四安装和配置证书服务一、实验要求与目的1.了解数字证书工作原理以及对其简单的应用2.了解PKI技术。
二、实验内容运用数字证书对邮件进行加密,体会数据加密的过程与其安全性的体现。
三、实验步骤四、实验结果五、习题1.用维吉尼亚法加密下段文字:COMPUTER AND PASSWORD SYSTEM ,密钥为KEYWORD2.简述DES算法中的依次迭代过程和加密函数f的计算过程实验五使用防火墙一、实验要求与目的1. 熟悉天网防火墙软件的使用2. 熟悉防火墙基本知识二、实验内容通过对天网防火墙软件的熟悉与使用了解在网络安全中防火墙的重要性,并学会简单的防火墙配置三、实验步骤四、实验结果五、习题1.已知RSA密码体制的公开密码为n=55,e=7,试加密明文m=10,通过求解p,q和d破译这种密码体制。
数据库系统概论(第5版)习题解析与实验指导一、习题解析1.简述数据库系统的主要特点(1) 数据独立性:数据库系统对用户提供的是一组描述数据的抽象,数据库系统处理的是数据的逻辑结构、而非实际的数据物理存储于计算机上的细节;(2) 数据全面性:数据库系统可以把多个应用程序共享的数据存储在一次中,并提供所有应用程序使用;(3) 集成性:在数据库中,一个属性及它的值可以被应用到多个不同的实体中,从而大大提高系统的效率,避免了重复的输入;(4) 高性能:数据库系统采用了专门的存储、安全、编程及检索等技术,大大提高了系统的性能;(5) 并发性:数据库系统可以容许多个用户的并发访问,允许每个用户在不影响其他用户完成他们请求的情况下进行操作;(6) 数据准确性:数据库系统可以采取不同的手段确保数据的准确、完整性及时效性;(7) 可移植性:由于数据库系统基于标准的数据模型和数据操作语言,数据的描述和程序的执行可以在多种不同计算机平台移植。
2.简述实体联系模型的特点(1)实体联系模型是基于关系模式的数据模型,它将实体和它们之间的联系以图的形式表示;(2)实体可以被称为实体集,它是由类似的实例组成,每个实例有一组属性;(3)联系是特定实体之间存在的关系,它们也可以被称为联系集;(4)实体及联系之间对于数据的有效管理;(5)实体联系模型的实例代表了随着时间及业务的变化而发生的变化。
3.简述数据库规范化的意义(1)降低数据冗余,节省空间:规范化可以降低数据的冗余,减少数据浪费的存储空间。
(2)提高系统的处理速度:数据库规范化可以更加有效地组织数据,使得数据检索及处理变得更加快捷。
(3)提高数据操作的安全性:规范化可以防止存在安全隐患的非标准化数据处理,从而为数据操作提供充足的安全保障。
(4)提高数据操作的灵活性:数据规范化可以使数据操作更加灵活,对于多变的业务场景可以更加方便地提供数据应用支持。
二、实验指导1.实验目的本实验旨在让学生熟悉数据库系统概论(第五版)书中讲解的内容,从而掌握实体联系模型及数据库规范化的一般原则。
《数据库系统原理》实验报告五题目:实验五数据库的安全性学号:xxxxxxxxxxx 姓名:lrm_1036 日期:2010-12-23一、实验环境:SQL server 2005二、实验目的:1. 熟悉通过SQL对数据进行安全性控制;2. 完成上机练习。
三、实验内容与完成情况:1. 设置安全级别(1)打开SSMS的“对象资源管理器”窗口,选择目标服务器,右击,在弹出的快捷菜单中选择“属性”命令,进入“服务器属性”窗口,如图1所示;(2)打开“安全性”选项界面,如图2所示;(3)在“服务器身份验证”选项组中进行身份验证模式的选择,其中包括“Windows 身份验证模式”和“SQL Server 和Windows身份验证模式”,默认选择“SQL Server 和Windows身份验证模式”。
可以在“登录审核”选项组中设置登陆的审核方式,其中,4种审核级别决定了登录的安全性,默认选中“仅限失败的登录”单选按钮。
用户可以在“服务器代理账户”选项组中选择是否启动“服务器代理账户”选项来实现代理账户登录;(4)所有设置完成后,单击“确定”完成登录验证模式的设置。
图1 选择“属性”命令图2 服务器属性的安全性2. 创建登陆账号2.1 创建使用Windows身份验证的登陆账号User1(1)首先确认登陆账号User1是否是已存在的Windows中的用户账号。
若不是,则立即在操作系统中创建此用户账号。
(2)在SSMS中,展开“安全性”节点,右击“登录名”,选择“新建登录名”命令,如图3所示。
图3(3)在“常规”选项界面中,单击“登录名”输入框右侧的“搜索”按钮,弹出“选择用户或组”对话框,在“输入要选择的对象名称”文本框中输入User1后单击“确定”按钮;选中“Windows身份验证”单选按钮,其它选择为默认项,如图4所示。
图 4(4)单击“确定”按钮,完成SQL Server登陆账号User1的创建。
(5)刷新登录名,可以发现User1已经存在,并可查看其属性,如图5所示。
图 5(6)验证用User1账号登录SQL Server:首先在操作系统中注销当前用户的登录,然后用User1账号登录操作系统,再用此账号User1连接SQL Server服务器,可以进入SSMS。
2.2 创建使用SQL Server身份验证的登陆账号User2,设置可访问数据库MY_database(1)选择“开始”->“管理工具”->“本地安全策略”,进入“本地安全设置”窗口。
展开“账户策略”,选择“密码策略”,设置好“密码策略”中各项的属性,如图6所示;(2)以“Windows身份验证模式”登录到SSMS管理界面;(3)展开“安全性”节点,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”命令,如图7所示;(4)在新建登录名界面“常规”选项界面中,输入登录名,选中“SQL Server身份验证”单选按钮,在“密码”文本框中输入符合密码策略的密码,并对账号密码安全性原则的相关属性进行设置,在“默认数据库”下拉列表框中选择MY_database选项,如图8所示;(5)在“用户映射”选项界面中,选中MY_database复选框,如图9所示;(6)单击“确定”,完成登录名的新建和强密码的设置。
(7)刷新“登录名”,可以看到User2已经存在,如图10所示。
(8)验证用User2账号登录SQL Server:同2.1,如图11所示。
图6 本地安全设置的密码策略图7新建登录名图8 设置登陆常规属性图9 用户映射图10图11 用User2账号登录SQL Server3. 创建数据库用户3.1 为登录账号User1创建访问当前服务器实例中数据库MY_database的用户账号(1)启动SSMS,展开“安全性”,选择“登录名”选项。
(2)在右窗口“摘要”中右击User1,在弹出的快捷菜单中选择“属性”选项,如图 3.1所示,打开“User1登录属性”对话框,选择“用户映射”选项。
(3)在“映射到此登录名的用户”中选择数据库MY_database,可以看到在用户单元格中显示出“KEX1CH0Y87IORHE\User1”,即为数据库MY_database的用户名,如图3.2所示。
图3.1 User2图3.2 User1登录属性(4)单击“确定”按钮,完成数据库用户User1的创建,该用户可以访问当前服务器实例中的所有数据库。
3.2 为登录账号User2创建访问当前服务器实例中所有数据库的用户账号(1)启动SSMS,展开“安全性”,选择“登录名”选项。
(2)在右窗口“摘要”中右击User2,在弹出的快捷菜单中选择“属性”选项,打开“User2登录属性”对话框,选择“用户映射”选项。
(3)在“映射到此登录名的用户”中选择所有数据库,可以看到在所有数据库的“用户”列表中显示出“User2”,即为所有数据库的用户名,如图3.3所示。
(4)单击“确定”按钮,完成数据库用户User2的创建,该用户可以访问当前服务器实例中的所有数据库。
图3.3 用户映射4. 管理权限通过SSMS赋予新建用户查询MY_database数据库权限:(1)根据以上内容新建一个SQL Server用户,例如User3,以该用户身份登录到SSMS。
(2)单击“新建查询”按钮,打开查询分析界面,输入代码:Use MY_database;Select * from Employee;(3)在查询下面会发现有错误出现,证明此用户没有访问权限,如图4.1所示。
(4)展开“数据库”—>“MY_database”—>“安全性”—>”用户”节点,右击“User3”,在弹出的快捷菜单中选择“属性”命令,进入数据库用户常规属性界面。
图4.1 错误提示图4.2 数据库用户界面(5)打开“安全对象”选项界面,进入数据库用户安全对象属性界面,如图4.2所示。
(6)单击“添加”按钮,进入“添加对象”对话框,从中可以选择需要添加的对象类型,如图4.3所示。
图4.3 添加对象对话框图4.4 选择对象类型(7)选择“特定对象”单选按钮,单击“确定”按钮,进入“选择对象”对话框,从中可以通过选择对象类型来进行过滤。
(8)单击“对象类型”按钮,进入“选择对象类型”对话框,从中可以选择要赋予权限的对象类型;选中“表”复选框,如图4.4所示。
图4.5 查找对象图4.6 授予权力(9)单击“确定”按钮,返回到“选择对象”对话框。
(10)单击“浏览”按钮,进入“查找对象”对话框,其中罗列了当前可以赋予权限的表。
(11)选中“[dbo].[Employee]”复选框,如图4.5所示,单击“确定”按钮,返回到“选择对象”对话框。
(12)单击“确定”按钮,返回到数据库用户安全对象属性界面,从中可以对选择的对象赋予相关的权限。
(13)对表Employee,在权限列表中的select项,如图4.6所示,选中“授予”复选框,单击“确定”按钮,完成对Employee表的查询权限操作。
(14)再次运行(2)中的代码,查看结果,如图4.7所示。
图4.7 查询成功5. 角色通过SSMS创建一个拥有创建表权限的SQL Server数据库角色:(1)建立一个SQL Server用户SQLUser。
(2)以Windows管理员身份登录到SSMS上,展开“数据库”->“MY_database”->“安全性”->“角色”节点,右击“数据库角色”,在弹出的快捷菜单中选择“新建数据库角色”命令。
(3)进入新建数据库角色常规属性界面,在“角色名称”文本框中输入people,如图5.1所示。
(4)单击“所有者”文本框后的“搜索”按钮,进入“选择数据库用户或角色”对话框,单击“浏览”按钮,进入“查找对象”对话框,选中dbo复选框,如图5.2所示。
(5)单击“确定”按钮,返回“选择数据库用户或角色”对话框,单击“确定”按钮,返回新建数据库角色常规属性界面。
(6)在“此角色拥有的架构”列表框中,选中people复选框,在“此角色的成员”列表框中,单击“添加”按钮,进入“选择数据库用户或角色”;单击“浏览”按钮,进入“查找对象”对话框,选中SQLUser复选框,如图5.3所示。
(7)单击“确定”按钮,返回“选择数据库用户或角色”对话框,单击“确定”按钮,返回新建数据库角色常规属性界面。
(8)单击“安全对象”选项,进入新建数据库角色安全对象属性界面。
图5.1 新建数据库角色常规属性界面图5.2查找对象图5.3 常规属性界面配置(9)单击“安全对象”选项界面中的“添加”按钮,进入“添加对象”复选框;选中“特定对象”复选框,单击“确定”按钮,进入“选择对象”对话框。
(10)单击“对象类型”按钮,进入“选择对象类型”对话框,选中“数据库”复选框,单击“确定”按钮,返回“选择对象”对话框。
(11)单击“浏览”按钮,进入“查找对象”对话框,选中MY_database复选框,单击“确定”按钮,返回“选择对象”对话框,如图5.4所示。
(12)单击“确定”按钮,返回安全对象属性界面。
此时,在这个界面中,可以选择相关的权限赋予角色。
(13)在“MY_database的显示权限”列表框中,选中create table的“授予”复选框,如图5.5所示,单击“确定”按钮,完成创建数据库角色并添加用户成员的操作。
(14)以SQLUser身份登录到SSMS,在查询分析器界面输入如下代码,并查看运行结果,如图5.6所示:Use MY_databasegoCreate table people.Employee1(Id int,Name char(20))goInsert into people. Employee1(Id, name) values(100,’king’)goSelect * from people. Employee1Go图5.4 选择对象对话框图5.5 MY_database的显示权限设置图5.6 代码运行结果6. 使用SQL对数据进行安全性控制,包括:授权和回收(1)授权与回收A.建立用户U1、U2、U3、U4、U5、U6、U7,用户类型Connect;B.在SYSTEM(即DBA)与七个Connect用户之间进行授权:·把查询Student表的权限授给用户U1,如图6.1所示;·把对Student表和Course表的全部操作权限授予用户U2和U3,如图6.2所示;·把对表SC的查询权限授予所有用户,如图6.3所示;·把查询Student表和修改学生学号的权限授给用户U4,如图6.4所示;图6.1把查询Student表的权限授给用户U1图6.2(a)把对Student表的全部操作权限授予用户U2和U3图6.2(b)把对Course表的全部操作权限授予用户U2和U3图6.3把对表SC的查询权限授予所有用户图6.4把查询Student表和修改学生学号的权限授给用户U4图6.5把对表SC的INSERT权限授予U5,并允许U5将此权限再授予其他用户图6.6用户U5将对表SC的INSERT权限授予U6,并允许将全线转授其他用户图6.7用户U6将对表SC的INSERT权限授予U7·把对表SC的INSERT权限授予U5,并允许U5将此权限再授予其他用户,如图6.5所示;·用户U5将对表SC的INSERT权限授予U6,并允许将全线转授其他用户,如图6.6所示;·用户U6将对表SC的INSERT权限授予U7,如图6.7所示;C.在授权之后验证用户是否拥有了相应的权限(执行完上面七个语句后,可以分别以不同用户的身份登录数据库,进行相关操作,检查系统是否许可):·U4更新Student表的学生学号,如图6.8所示;·U7向SC表中插入一条数据(’95020’,’20’,88),如图6.9所示;D.回收权限:·收回用户U4修改学生学号的权限,如图6.10所示;·收回所有用户对表SC的查询权限,如图6.11所示;·收回用户U5对SC表的INSERT权限,如图6.12所示;·在回收权限之后验证用户是否真正丧失了改权限:用户U3查询表SC,如图6.13所示;图6.8(a)U4更新Student表的学生学号图6.8(a)新的Student表图6.9(a)U7向SC表中插入数据图6.9(b)新的SC表图6.10收回用户U4修改学生学号的权限图6.11收回所有用户对表SC的查询权限图6.12 收回用户U5对SC表的INSERT权图6.13用户U3查询表SC(2)数据库角色用户组的创建与授权·创建用户组G1,如图6.14所示;·给用户组授权,使得用户组G1拥有对Student表的SELECT、UPDATE、INSERT的权限,如图6.15所示;·将用户U1、U3、U7添加到用户组G1中来,如图6.16所示;·对用户组G1的权限进行修改,增加对Student表的DELETE权限,如图6.17所示,并回收对Student表的INSERT权限,如图6.18所示; ·删除用户组G1,如图6.19所示。