您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 实验三-数据库安全性技术
数据库系统原理实验报告1实验三数据库安全性技术班级:姓名:学号:任课教师:实验教师:上机时间:【实验目的】1、理解安全性的概念。2、理解用户及角色的相关概念。3、掌握Oracle的安全性技术,系统权限及对象权限的授予和回收方法。【实验性质】综合性实验【实验学时】2H【实验内容】今有两个关系模式:部门(部门号,名称,经理名,地址,电话号)职工(职工号,姓名,年龄,职务,工资,部门号)一、在Hr用户模式下,创建职工和部门表,各插入2条测试数据。droptable职工CREATETABLE部门(部门号VARCHAR2(10)PRIMARYKEY,名称VARCHAR2(10),经理名VARCHAR2(8),地址VARCHAR2(10),电话号VARCHAR2(11));CREATETABLE职工数据库系统原理实验报告2(职工号VARCHAR2(10)PRIMARYKEY,姓名VARCHAR2(8),年龄INT,职务VARCHAR2(10),工资INT,部门号VARCHAR2(10),FOREIGNKEY(部门号)REFERENCES部门(部门号));INSERTINTO部门VALUES('D1','人事部','张三','湖北','07196586365');INSERTINTO部门VALUES('D2','财务部','李四','湖北','07198645214');SELECT*FROM部门;INSERTINTO职工VALUES('E1','王五',32,'科长',2300,'D1');INSERTINTO职工VALUES('E2','赵六',48,'部长',4300,'D2');SELECT*FROM职工;二、定义用户,用SQL的GRANT和REVOKE语句完成以下授权定义或存取控制功能。1、创建数据库本地用户test,密码为oracle,默认表空间为users,临时表空间为temp,同时具有createsession系统权限。DROPusert20100230203_TEST;CREATEUSERt20100230203_TESTIDENTIFIEDBYoracleDEFAULTTABLESPACEusersTEMPORARYTABLESPACETEMP;GRANTCREATESESSIONTOt20100230203_TEST;数据库系统原理实验报告3REVOKECREATESESSIONFROMt20100230203_TEST;2、用户王明对两个表有SELECT权力;DROPusert20100230203_王明;CREATEUSERt20100230203_王明IDENTIFIEDBYORACLEDEFAULTTABLESPACEusersTEMPORARYTABLESPACETEMP;GRANTCREATESESSIONTOt20100230203_王明;GRANTSELECTON部门TOt20100230203_王明;GRANTSELECTON职工TOt20100230203_王明;REVOKECREATESESSIONFROMt20100230203_王明;REVOKESELECTON部门FROMt20100230203_王明;REVOKESELECTON职工FROMt20100230203_王明;3、用户李勇对两个表有INSERT和DELETE权力;CREATEUSERt20100230203_李勇IDENTIFIEDBYORACLEDEFAULTTABLESPACEusersTEMPORARYTABLESPACETEMP;GRANTCREATESESSIONTOt20100230203_李勇;GRANTINSERT,DELETEON部门TOt20100230203_李勇;GRANTINSERT,DELETEON职工TOt20100230203_李勇;REVOKECREATESESSIONFROMt20100230203_李勇;数据库系统原理实验报告4REVOKEINSERT,DELETEON部门FROMt20100230203_李勇;REVOKEINSERT,DELETEON职工FROMt20100230203_李勇;4、用户刘星对职工表有SELECT权力,对工资字段具有更新权力;CREATEUSERt20100230203_刘星IDENTIFIEDBYORACLEDEFAULTTABLESPACEusersTEMPORARYTABLESPACETEMP;GRANTCREATESESSIONTOt20100230203_刘星;GRANTUPDATE(工资)ON职工TOt20100230203_刘星;GRANTSELECTON职工TOt20100230203_刘星;REVOKECREATESESSIONFROMt20100230203_刘星;REVOKEUPDATEON职工FROMt20100230203_刘星;REVOKESELECTON职工FROMt20100230203_刘星;5、用户周平具有对两个表所有权力(读、插、改、删数据),并具有给其他用户授权的权力;提示:所有权力为ALLPRIVILEGE,在GRANT语句中使用WITHGRANTOPTION选项,被授权的用户就具有了再次将对象权限授予其他用户的能力。CREATEUSERt20100230203_周平IDENTIFIEDBYORACLEDEFAULTTABLESPACEusersTEMPORARYTABLESPACETEMP;GRANTCREATESESSIONTOt20100230203_周平;GRANTALLPRIVILEGESON部门TOt20100230203_周平WITHGRANTOPTION;GRANTALLPRIVILEGESON职工TOt20100230203_周平WITHGRANTOPTION;SELECT*FROM职工;数据库系统原理实验报告5REVOKECREATESESSIONFROMt20100230203_周平;REVOKEALLPRIVILEGESON部门FROMt20100230203_周平;REVOKEALLPRIVILEGESON职工FROMt20100230203_周平;6、用户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。提示:首先创建视图查询每个部门职工中的最高工资,最低工资和平均工资,然后授予用户查询视图的权限。CREATEVIEW职工_VIEW(最高工资,最低工资,平均工资)ASSELECTMAX(工资),MIN(工资),AVG(工资)FROM职工;CREATEUSERt20100230203_杨兰IDENTIFIEDBYORACLEDEFAULTTABLESPACEusersTEMPORARYTABLESPACETEMP;GRANTCREATESESSIONTOt20100230203_杨兰;GRANTSELECTON职工_VIEWTOt20100230203_杨兰;REVOKECREATESESSIONFROMt20100230203_杨兰;REVOKESELECTON职工_VIEWFROMt20100230203_杨兰;三、设计安全机制使得用户“liming”只能查询年龄在40岁以上(包括)职工。提示:用视图实现CREATEVIEWliming_VIEW1(职工号,姓名,年龄,职务,工资,部门号)ASSELECT*FROM职工WHERE年龄40;数据库系统原理实验报告6dropusert20100230203_liming;CREATEUSERt20100230203_limingIDENTIFIEDBYORACLEDEFAULTTABLESPACEusersTEMPORARYTABLESPACETEMP;GRANTCREATESESSIONTOt20100230203_liming;GRANTSELECTONliming_VIEW1TOt20100230203_liming;REVOKECREATESESSIONFROMt20100230203_liming;REVOKESELECTONliming_VIEW1FROMt20100230203_liming;四、设计安全机制使得用户“liming”只能访问“职工”的职工号、姓名。提示:用视图实现CREATEVIEWliming_VIEW2(职工号,姓名)ASSELECT职工号,姓名FROM职工;CREATEUSERt20100230203_liming2IDENTIFIEDBYORACLEDEFAULTTABLESPACEusersTEMPORARYTABLESPACETEMP;GRANTCREATESESSIONTOt20100230203_liming2;GRANTSELECTONliming_VIEW2TOt20100230203_liming2;REVOKECREATESESSIONFROMt20100230203_liming2;REVOKESELECTONliming_VIEW2FROMt20100230203_liming2;数据库系统原理实验报告7五、设计角色“student”,可以查看“职工”的职工号、姓名、年龄。将用户“liming”添加到角色“student”中。提示:用视图实现CREATEVIEWliming_VIEW3(职工号,姓名,年龄)ASSELECT职工号,姓名,年龄FROM职工;CREATEROLEt20100230203_student;GRANTSELECTONliming_VIEW3TOt20100230203_student;CREATEUSERt20100230203_liming3IDENTIFIEDBYORACLEDEFAULTTABLESPACEusersTEMPORARYTABLESPACETEMP;GRANTCREATESESSIONTOt20100230203_liming3;GRANTt20100230203_studentTOt20100230203_liming3;REVOKECREATESESSIONFROMt20100230203_liming3;REVOKEt20100230203_studentFROMt20100230203_liming3;【实验总结】请根据实验内容谈谈你对本次实验的收获、感想,或提出你对实验内容的建议等等。数据库系统原理实验报告8批改教师评语:实验报告成绩:批改教师签字批改时间:
本文标题:实验三-数据库安全性技术
链接地址:https://www.777doc.com/doc-7223459 .html