【发布时间】:2016-04-17 15:43:29
【问题描述】:
我目前正在为文件共享服务设计一个数据库。在此服务上创建的每个文件夹都有自己的表(Folder_),每个文件夹也将被添加到一个包含文件夹及其所有者的表中。
这是不好的做法吗?原因是我有几个功能要合并到此服务中,这要求我为每个文件夹都有一个表,即权限/不同的访问级别。
例如,文件夹 A 的所有者添加了 3 个对文件夹 User1、User2、User3 具有不同访问权限的用户。
User1 具有仅查看权限。
User2 具有编辑权限。
User3 具有完全访问权限。
除了为每个文件夹创建一个表之外,我看不到另一个这样做的原因是,如果我有一个具有通常属性的文件/文件夹表,我可以将有权访问该文件夹的用户和他们的许可级别?另外,User1 将如何通过对整个数据库等的大搜索来查看他们有权访问的文件夹等
我认为这不是一个好的做法的原因是数据库中的表数量?
【问题讨论】:
-
在基于意见关闭问题之前,我建议您绘制 ER 图...您将能够更好地完成表格。
-
您为每个文件夹使用 1 个表只是为了避免使用权限表?
-
Folders--
--Permissions-- -
在应用程序的正常操作中需要更改数据库架构是code smell。你应该(几乎)永远不想/不需要这样做。
-
回答标题中的问题,我认为在1万亿张表之后,数据库变得有些笨拙。