mysql - 文档管理的数据库设计?

标签 mysql ruby-on-rails ruby database database-design

我们提供有关任务、提要、评论等不同内容的文档上传。 并且用户可以共享或下载的文档有很多不同的权限。文档是私有(private)的还是公开的。

我们已经有了遗留代码和数据库,但它不可维护和可扩展。

我想知道我应该如何设计一个涵盖所有这些场景的数据库。并且它对于其他用户来说是可维护和可扩展的。

任何示例或解决方案?

最佳答案

我不确定“上传任务、提要、评论等”到底是什么意思。如果您可以提供更多详细信息甚至遗留数据库结构,这将很有用。不过,这是一个总体思路......

--users--
uid
name
email
(etc)

--comments--
cid
uid
docid
date
text

--documents--
docid
uid
upload_date
(etc)

--permissions--
pid
docid
uid

“评论”表用于对文档进行评论(如果那是您要查找的内容?)。 “权限”表只是允许访问文档的文档 ID 和用户 ID 的列表。或者,您甚至可以通过用户组定义权限(这需要另一个表,但您明白了)。

关于mysql - 文档管理的数据库设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6465974/

相关文章:

php - 如何从同一个表中选择不同的总和值

MySQL。如何获得 "GROUP BY"的结果,每个行在其自己的列中具有不同的行?

ruby-on-rails - 单个规范在单独运行时通过,但在所有规范运行时失败

ruby-on-rails - 在 Parent 的节目中创建新的 Child

ruby-on-rails - TimeOut 与事务 block rails

ruby - 如何强制从供应商文件夹加载外部gem

mysql - 列重命名属于检查mysql查询

ruby-on-rails - 在 ActiveRecord 中查询包含来自多个数组的一个或多个 id 的对象

ruby-on-rails - Rail3 - 显示菜单和添加事件样式类的智能方式?

mysql - nodejs和mysql使用压缩字符串