1、一个表有多个字段,某个字段某种操作由用户的某种角色完成,这样要怎样设计它们的表结构??   我原来是这样设计的,是否合理?
   DataTb表
   ID Field1 Field2 ...   CommTB表
   ID TBNAME FieldNAME Command 
    1  DataTb  Field1  Insert 
    2  DataTb  Field2  Select    RoleOperator表
   PK_CommTB_ID ROLE
   1            数据员1
   2            浏览员1if exists ( select role from RoleOperator where PK_CommTB_ID in (select [id] from commTb where tbname='tb' and fieldname='Field1' and command='insert') and role='录入员')
insert into DataTb (Field1) values ('d3A')
--这样做,实在是太麻烦了,不知各位有什么高招?2、有多个表实行 left join 或 inner join (根据where条件,是否用inner join )是先建立视图:select * from aaaaaaaaa1 a1  left join  bbbbbbb1 b1 on a1.[id]=b1.a1id
查看数据时再加上 select * from 视图  where 条件还是直接用 select * from aaaaaaaaa1 a1 inner  join ( select * from bbbbbbbbb1  where treetype='bbbb') b1 on a1.[id]=b1.a1id  --(还有多个left join ,当b1有where 条件,用inner 不用left ) 这两种方法,哪一种更好点、更方便???