2011-03-30 66 views
0

如何设计数据库结构,以便数据库的许多用户可以添加,更新和删除可能包含某些数据库表中的外键的记录,并阻止这些更改直到用户主管授权这些更改,其中一些更改或拒绝发生这些更改。数据库最终会有许多这样的用户和主管。数据库授权更新

什么是最好的方法或系统,我目前正在使用MySQL数据库。

回答

0

意见。

对“实时”数据的所有访问都应该通过视图。视图应该只选择那些已经被“授权”的行。您将需要管理权限(SQL GRANT和REVOKE语句),因此应用程序代码无法直接转到表中来绕过视图。

这可能并不明显,但这意味着所有用户界面代码也需要转到视图。例如,大多数用户界面将通过加载组合框或列表框,弹出模态对话框或沿着这些线来减轻挑选正确外键的负担。这些界面元素也需要从“授权”行的视图中获取他们的数据。