首先,我知道问题已在stackoverflow上讨论here和here。但是这种情况可能会有所不同。
让我解释一下情况:
老板希望我和我的同事开发一个网络应用程序,在那里他可以添加客户(阅读公司,现在表格'用户')。 每个用户都会在应用程序中拥有自己的私人部分,在那里他可以管理他的股票/账单/付款/订单/ ......他们甚至可以选择询问不同的模块/菜单项/视图/ ..他们的私人部分 我们的老板必须能够通过检查主控制部分中的选项来添加/删除一些模块/视图/ .. 等等......
我的第一个想法是为每个用户提供一个主模块。我的同事抛弃了这个想法。他认为这太过分了
但是,当我们开始设计数据库时,他说他希望每个用户都拥有数据库中的大多数表格。
我知道这是不好的做法,并试图解释。 然而他表示,如果我们将所有内容保存在同一个表格中,那将是不安全的。 (如果我们被黑了,他们不仅会有一家公司的数据,而是来自所有公司的数据)
讨论花了一些时间,最后他的“点”'''''''''''''甚至让我们的老板相信他的方法。
由于我是这里的新人,如果没有确定,如果his statement === false
所以,我希望你对此有所了解。
提前致谢
答案 0 :(得分:6)
这在某种程度上是个人意见的问题。但有些事情并不是好的做法。以下是我对这些观点的看法:
在同一个表中拥有多个“用户”不应该构成安全风险。
将用户分离到自己的表中的解决方案听起来就像是在跳过开发可靠且安全的数据模型所需的时间。这通常会在您的应用程序的后期开发或维护过程中导致许多问题。我强烈反对这一点。
经验法则应该是每个对象类型使用一个表,而不是每个对象实体。