4.3 视图机制
可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内。也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。
视图机制间接地实现支持存取谓词的用户权限定义。例如,在某大学中假定王平老师只能检索计算机系学生的信息,系主任张明具有检索和增删改计算机系学生信息的所有权限。这就要求系统能支持“存取谓词”的用户权限定义。在不直接支持存取谓词的系统中,可以先建立计算机系学生的视图CS Student,然后在视图上进一步定义存取权限。
例4.14 建立计算机系学生的视图,把对该视图的SELECT权限授予王平,把该视图上的所有操作权限授予张明。
CREATE VIEW CS_Student /先建立视图CS Student*/ AS SELECT * FROM Student WHERE Sdept='CS'; GRANT SELECT /*王平老师只能检索计算机系学生的信息* ON CS_Student TO 王平; GRANT ALL PRIVILEGES /*系主任具有检索和增删改计算机系学生信息的所有权限*/ ON CS_Student TO 张明;