有人能告诉我是否有RDBMS允许我为每个用户创建一个单独的数据库,以便完全分离用户的数据? 有没有?
我知道我可以在每个表中添加UID,但是这个解决方案有自己的问题(例如,每个用户数据库架构更改都是不可能的)。
答案 0 :(得分:1)
MySQL,PostgreSQL,Oracle等等不允许你这样做吗?有控制ACL的grant语句
答案 1 :(得分:1)
我认为大多数(所有?)数据库允许您创建一个用户,然后您可以授予数据库级别访问权限? SQL服务器当然可以。
答案 2 :(得分:1)
另一个简单的解决方案,如果你不需要数据库是大规模的或可扩展的,比如说给学生教SQL或者让很多测试人员针对他们自己的数据库来隔离问题就是SQLite,这样整个数据库就是一个文件(每个用户),每个用户都不可能搞砸或干扰其他用户。
他们甚至可以将数据库邮寄给您,或者将它们安装在任何地方,例如在家中和工作时都不需要互联网。
答案 3 :(得分:0)
MS SQLServer2005是一个可以用于多个用户的。可以创建一个实例 如果你有,运行previlegs并为每个实例使用一个用户
答案 4 :(得分:0)
Oracle允许您为单个用户创建单独的模式(表,索引,函数等)。如果他们应该有单独的不同表,这是好的。创建新用户可能是一个非常昂贵的操作,因为您将创建新表。更新也是一场噩梦,因为您需要为每个用户更新模型。
如果您希望每个人都拥有相同的一组表,但只能查看自己的记录,那么您可以使用Fine Grain Access Control或虚拟专用数据库功能来执行此操作。