数据库设计用户-分类-图片(循环关系?!)
Database design users-categories-pictures (cyclical relationship?!)
我必须设计一个简单的数据库,但事情比看起来更难。陷入循环关系很简单
- 用户可以选择一个或多个类别(例如动物、人类、风景、自然、抽象等)
- 同一个类别可以被其他用户选择(用户与类别的n-n关系)
- 图片可以归为一个或多个类别,因此一个类别可以有一张或多张图片(图片和类别之间的n-n关系)
- 现在是时候对查看过的图片进行历史化了,所以我认为图片和用户之间还有另一种关系,也是n-n,因为一个用户可以查看一张或多张图片,而同一张图片可以被n个用户查看
用户 <---> 类别 <---> 图片
用户 <---> 图片
我觉得设计有循环关系,能帮我解决一下吗?你有想法吗?
我没发现这里有问题。
如果所有关系都用于查询,则它可能属于 "Show me the pictures in this user's categories that they have not yet viewed" 类型,这似乎是一个合理的业务案例。
所以你会有一个查询,将用户加入图片的类别,并检查 "user_picutres_viewed" table 中是否存在该图片和用户的记录。
没问题。
我必须设计一个简单的数据库,但事情比看起来更难。陷入循环关系很简单
- 用户可以选择一个或多个类别(例如动物、人类、风景、自然、抽象等)
- 同一个类别可以被其他用户选择(用户与类别的n-n关系)
- 图片可以归为一个或多个类别,因此一个类别可以有一张或多张图片(图片和类别之间的n-n关系)
- 现在是时候对查看过的图片进行历史化了,所以我认为图片和用户之间还有另一种关系,也是n-n,因为一个用户可以查看一张或多张图片,而同一张图片可以被n个用户查看
用户 <---> 类别 <---> 图片
用户 <---> 图片
我觉得设计有循环关系,能帮我解决一下吗?你有想法吗?
我没发现这里有问题。
如果所有关系都用于查询,则它可能属于 "Show me the pictures in this user's categories that they have not yet viewed" 类型,这似乎是一个合理的业务案例。
所以你会有一个查询,将用户加入图片的类别,并检查 "user_picutres_viewed" table 中是否存在该图片和用户的记录。
没问题。