我只是想知道你认为哪一种是这种情况的最佳解决方案。
我有一个可以共享项目的应用程序。但是,这些项目可以是不同类型:照片,帖子,甚至是“帖子组”等等,所以有一个名为“帖子”的表格,另一个名为“媒体”等等。
用户将只能看到与他们共享的项目及其创建的项目。那么,您认为哪种更好?:
创建一个名为'shared_items'的表,其中我将 Item_ID , User_ID , Item_Type 。
为每种类型的项目制作一个表格(例如: shared_posts , shared_media 等),具有与上述相同的结构(但没有< I> ITEM_TYPE 的)。
接受更多解决方案,当然,但这些是我现在想到的唯一解决方案。
如果您需要数据库结构示例,请告诉我,但我认为没有必要。
感谢您的时间!
答案 0 :(得分:2)
这取决于您将如何查询数据以及查询频率。如果您需要在一个查询中获取所有共享项,则最好使用单个表。它将摆脱你的表连接。至于数据库规范化,我会说你的苍蝇分开,汤分开,去共享媒体,共享帖子,共享任何表格。