日期:2014-05-17  浏览次数:20731 次

OA中有用户表和员工表,都有部门字段,怎么处理比较好,在线等
找到这个问题:http://topic.csdn.net/u/20111122/00/81057c79-ed5b-4be7-b301-9ebc7baea9be.html
但是只提到了用户表和员工表是否应该分开的问题。
我的OA中这两个表是分开的,
用户表中有临时的帐号信息;员工可能有用户信息;用户可能有员工信息;员工中有UserID字段来关联员工表:
员工表:Employee
ID,Name,DeptID,UserID...
用户表:User
ID,UserName,UserPwd,DeptID...
现在关键是,这两个表中都有部门信息,更新了用户表,关联的员工表也要更新;更新了员工表,关联的用户表也需要反填。
问问大侠们是怎么处理的呢?

------解决方案--------------------
用触发器可以实现
create trigger tri_update1 on 员工表
after update
as
begin
 update 用户表
end
create trigger tri_update2 on 用户表
after update
as
begin
 update 员工表
end
------解决方案--------------------
LZ是要解决冗余的问题还是表结构无法修改要保持数据同步的问题?
冗余的话就若用户和部门没有必然联系的话把用户里的dept删掉。
表结构动不了的话,要么添加触发器,要么添加时在过程里同步更新。
------解决方案--------------------
如果楼主这么在意DeptID冗余的问题
直接干掉User表中的这个字段啊
反正是冗余的,而且听你的描述好像User可以不是员工
那可能很多DeptID都是空。除非你需要从这个表中查DeptID,否则我觉得干掉更好

------解决方案--------------------
个人认为去掉用户表的DeptId字段比较合适