一份物理表,不同权限的人,看到的内容应是不同的.
有时,是要看到的行不同,例如不同部门之间的人事数据,A部门只能看自己部门的数据.
有时,是要看到的列不同,如单价金额之类的敏感数据,不能对无关的人员开放.
处理方法:
横切(行): 取标志行,如部门编号,做为where子句的条件,写进基础视图,这样不论如何查询,都不会出现超额的数据.
竖切(列名):这个相对麻烦
做法1.针对不同的用户组,编写不同的视图,差异就在于返回栏位不同.(给视图赋不同权限).
做法2:只做一个视图,但原子级的栏位权限判断比较麻烦.
故选择做法1,虽然会增加工作量,但整体的结构干净有效.