我正在寻找一种数据库设计,可以跟踪和管理具有系统属性的用户。
情况: 用户可以访问组织中和每个系统内的许多系统,不同的属性,如创建日期,系统登录名,系统用户ID等。目前,我们有一个数据库,它是一个平面数据库,因此每个属性都在一个随着更多系统属性的添加,行继续增长。使用的当前工具是Access数据库,当前列数为231列(OMG)!这已经失去控制。
假设: 要跟踪的属性很多,数据库中的一个特定表不应该如此宽泛以适应这些属性。为每个系统创建一个表本身就变得一团糟,因为每个系统可能会在列方面发生变化。我们需要一个界面供管理员轻松管理。
让我举个例子: 在Google工作的用户Sunny可以访问DMV,IRS和Whitehouse。 对于DMV,Sunny具有用户名,密码和授权IP地址字段。对于IRS,Sunny有税号,组织号,许可号和访问截止日期。对于Whitehouse,Sunny具有用户名,密码,访问计划,门户地址和用户类型。正如Sunny在谷歌工作多年,慢慢地事情发生了变化。 Sunny可以访问NRA,HP,Facebook和Intel。美国国税局增加了部门许可信息。怀特豪斯需要授权ID。管理员需要查看Sunny具有哪些访问权限并查看系统;他们很容易找到他们需要的东西。
结论 修改表和添加属性可能会定期更改。开发一个表来处理这个似乎是一件苦差事。我需要一个可以适应这种变化的数据库设计。
问题 如何设计数据库以容纳这样的东西?
提前致谢!
PS。我问了一个与此类似的问题,但这是一个实际存在的软件问题。