MYSQL - 最好的数据结构
MYSQL - best Data Structure
我目前正在开发 Win 应用程序,Linux Mac。该应用程序的目的是多个用户能够基于单个文章创建项目。每篇文章最多有 15 个不同的 Fields/Options(将来可能会更多)。文章的字段应该是可变的,所以我应该能够添加、编辑或删除它们。
我要存储的字段:
- 数字
- 文本(主要是选项 [1 个字],有时是评论 [一些句子])
- Path/Links 到文件
我想用 dB 做什么:
在登录时加载用户的所有项目
添加、编辑、删除、删除单个项目
锁定项目(因为多个人同时操作一个用户帐户,因此可能不允许他们同时编辑一个项目,所以如果一个人开始编辑它应该被锁定,直到他保存、引导或超时)
管理此类数据的最佳方式是什么?
我应该为每个用户创建一个 Table 并且只创建一个 ID 列和一个包含所有字段(合并到一个大字符串)的所有值的列吗?
我应该为每个项目创建 Tables 并为每个 Field/Option 创建列并为用户/所有者创建一个列吗?
或者还有其他的可能吗?
如果您不知道要存储什么,那么我怀疑关系数据库是否是您的最佳选择。也许文档 store/noSQL 数据库是更好的决定,因为您可以只存储可以具有各种附加字段的文档(通常以 Json 对象的形式)。
要查看的几个此类数据库是 MongoDB、Cassandra、ElasticSearch,但您可以找到一个大列表 on Wikipedia。
我目前正在开发 Win 应用程序,Linux Mac。该应用程序的目的是多个用户能够基于单个文章创建项目。每篇文章最多有 15 个不同的 Fields/Options(将来可能会更多)。文章的字段应该是可变的,所以我应该能够添加、编辑或删除它们。
我要存储的字段:
- 数字
- 文本(主要是选项 [1 个字],有时是评论 [一些句子])
- Path/Links 到文件
我想用 dB 做什么:
在登录时加载用户的所有项目
添加、编辑、删除、删除单个项目
锁定项目(因为多个人同时操作一个用户帐户,因此可能不允许他们同时编辑一个项目,所以如果一个人开始编辑它应该被锁定,直到他保存、引导或超时)
管理此类数据的最佳方式是什么? 我应该为每个用户创建一个 Table 并且只创建一个 ID 列和一个包含所有字段(合并到一个大字符串)的所有值的列吗? 我应该为每个项目创建 Tables 并为每个 Field/Option 创建列并为用户/所有者创建一个列吗? 或者还有其他的可能吗?
如果您不知道要存储什么,那么我怀疑关系数据库是否是您的最佳选择。也许文档 store/noSQL 数据库是更好的决定,因为您可以只存储可以具有各种附加字段的文档(通常以 Json 对象的形式)。
要查看的几个此类数据库是 MongoDB、Cassandra、ElasticSearch,但您可以找到一个大列表 on Wikipedia。