MYSQL - 最佳数据结构

时间:2015-03-04 21:01:20

标签: mysql database database-design database-schema

我目前正在开发一个Win,Linux Mac应用程序。应用程序的目的是多个用户可以基于单个文章创建项目。每篇文章最多有15个不同的字段/选项(将来也可能更多)。文章的字段应该是可更改的,因此我应该能够添加,编辑或删除它们。

我想存储的字段:

  • 数字
  • 文本(主要是选项[1字],有时评论[部分句子])
  • 路径/文件链接

我想用dB做什么:

  • 在登录时加载用户的所有项目

  • 添加,编辑,删除,删除单个项目

  • 设置项目锁定(因为多个人同时操作一个用户帐户,因此可能不允许他们同时编辑项目,所以如果开始编辑它应该被锁定,直到<保存,引导或超时)

管理此类数据的最佳方法是什么? 我应该为每个用户创建一个表,只创建一个ID列和一个所有字段的所有值(合并为一个大字符串)的表吗? 我应该为每个项目创建表格,并为每个字段/选项创建列,还为用户/所有者创建一个列? 或者还有其他可能性吗?

1 个答案:

答案 0 :(得分:1)

如果你不知道你将要存储什么,那么我怀疑关系数据库是否是最适合你的选择。也许文档存储/ noSQL数据库是一个更好的决定,因为你可以只存储可以包含各种附加字段的文档(通常以Json对象的形式)。

要查看的几个这样的数据库是MongoDB,Cassandra,ElasticSearch,但是你可以找到一个大的列表on Wikipedia