实验四 oracle的安全性和完整性控制
实验目的:
1.通过本实验能够熟练应用sql语言进行用户权限的授予和回收。
2.熟练掌握实体完整性,参照完整性及用户定义的完整性的定义。
3.并体会oracle数据库系统在安全性和完整性保护方面的特性。
实验要求:
1.在进行本实验之前,应熟练课程内容,在上机之前做好实验计划,编写
好相应的代码。
实验内容:
Grant 语句的格式:
Grant [,]…
On [, ]…
To [,]…
[with grant option]
Public 全体用户
如果指定了[with grant option],则获得某种权限的用户还可以把这种权限再授予其他用户。但不允许循环授权。
(一)授权
1.创建用户u1,u2,u3…选择全部为connect角色。
2.用户jsj***把查询某个表(如emp,student均可)权限授给用户u1,u1执
行相应的查询。
●以u1的用户名登陆,查看u1是否具有授予的权限。
如:查询u1用户的全体学生的详细记录。
3.jsj***把对Student表和Course表的全部权限授予用户u2;
●以u2身份登陆数据库,查看u2是否具有授予的权限。
如:修改JSJ***中的student的数据。
4.jsj***把对表SC的查询权限授予所有用户。
●以u3身份登陆数据库,查看u3是否具有授予的权限。
如:查询选修了3号课程的学生的学号及其成绩,查询结果按分数的
降序排列
如:查询各个课程号与相应的选课人数。