如何设计满足以下要求的数据库?
How can I design database for following requirements?
我需要数据库设计方面的帮助。
项目描述:
我正在开发一个GRE词汇App,里面有五个页面(所有单词列表,最喜欢的单词,易混淆单词,常用单词,单词分类)。
所有单词列表包含可用的整个单词。例如。列表包含 1000 个单词。
收藏列表包含用户从所有单词中选择的单词。例如。 1000 个单词列表中的 200 个单词。
混淆词比较管理员所有单词列表中的两个所需单词。例如。 Strive vs Strife,这两个词也在1000词表里。
常用词包含词,来自管理员的所有词表。例如。完美、快乐等
按类别分类的单词包含按类别分类的所有单词的单词列表。例如。 "Happy" 类别包含 Elation、Ecstasy、Joy、Pleasure、Delight 等。
这是一个单用户应用程序吗?或者多个用户访问同一个数据库?这对第 3 项很重要。在这种情况下,您还需要什么来管理 "users"。 "Admin" 是 'super' 用户的一种形式,可以执行某些用户不能执行的维护操作吗?
一个词可以在多个类别中吗?也就是说,你需要 many:many 还是 1:many 映射?前者需要额外的 table.
让我通过提供一种思考此问题(以及大量 class 数据库设计问题)的方法来帮助您入门:
列出您拥有的"entities":
- Words -- 单词,是否'common'等
- 类别
- 容易混淆 -- 也许这像类别一样工作?
- 用户
列出 "relationships":
- 单词:类别
- 用户:最喜欢的词
我需要数据库设计方面的帮助。
项目描述:
我正在开发一个GRE词汇App,里面有五个页面(所有单词列表,最喜欢的单词,易混淆单词,常用单词,单词分类)。
所有单词列表包含可用的整个单词。例如。列表包含 1000 个单词。
收藏列表包含用户从所有单词中选择的单词。例如。 1000 个单词列表中的 200 个单词。
混淆词比较管理员所有单词列表中的两个所需单词。例如。 Strive vs Strife,这两个词也在1000词表里。
常用词包含词,来自管理员的所有词表。例如。完美、快乐等
按类别分类的单词包含按类别分类的所有单词的单词列表。例如。 "Happy" 类别包含 Elation、Ecstasy、Joy、Pleasure、Delight 等。
这是一个单用户应用程序吗?或者多个用户访问同一个数据库?这对第 3 项很重要。在这种情况下,您还需要什么来管理 "users"。 "Admin" 是 'super' 用户的一种形式,可以执行某些用户不能执行的维护操作吗?
一个词可以在多个类别中吗?也就是说,你需要 many:many 还是 1:many 映射?前者需要额外的 table.
让我通过提供一种思考此问题(以及大量 class 数据库设计问题)的方法来帮助您入门:
列出您拥有的"entities":
- Words -- 单词,是否'common'等
- 类别
- 容易混淆 -- 也许这像类别一样工作?
- 用户
列出 "relationships":
- 单词:类别
- 用户:最喜欢的词