我需要数据库设计方面的帮助。
项目说明:
我正在开发一个GRE词汇应用程序,其中有五个页面(所有单词列表,最喜欢的单词,令人困惑的单词,常见单词,按类别的单词)。
所有单词列表包含整个可用单词。例如。列表包含1000个单词。
收藏夹列表包含用户从所有单词中选择的单词。例如。 1000个单词中的200个单词。
令人困惑的单词会比较Admin中“所有单词”列表中的两个必需单词。例如。奋斗与争斗,这两个词也在1000个词的列表中。
公共单词包含单词,来自管理员的所有单词列表。例如完美无瑕,幸福等
按类别分类的词包含所有词按其类别分类的词列表。例如。 “快乐”类别包含兴高采烈,狂喜,喜悦,愉悦,喜悦等。
这是单用户应用吗?还是多个用户访问同一个数据库?对于项目3来说很重要。在这种情况下,您还需要其他什么来管理“用户”。 “管理员”是“超级”用户的一种形式,可以执行某些用户无法执行的维护操作?
一个词可以分为多个类别吗?也就是说,您是否需要多对多映射或多对多映射?前者需要一个额外的表。
让我开始提供一种思考此问题(以及大量数据库设计问题的方法):
列出您拥有的“实体”:
列出“关系”: