【问题标题】:MySQL Database - Table to share contents between usersMySQL 数据库 - 用于在用户之间共享内容的表
【发布时间】:2013-08-31 07:54:24
【问题描述】:

我只是想知道您认为哪一个是解决这种情况的最佳方法。

我有一个可以共享项目的应用程序。然而,这些项目可以是不同的类型:照片、帖子,甚至是“帖子组”等等,所以有一个称为“帖子”的表,另一个称为“媒体”等。

用户将只能看到与他们共享的项目以及他们创建的项目。那么,你觉得哪个更好呢?:

  • 创建一个名为“shared_items”的表,我将在其中放置 Item_IDUser_IDItem_Type

  • 为每种类型的项目(例如:shared_postsshared_media 等)制作一个表格,结构与上面解释的相同(但没有 Item_Type)。

当然可以接受更多解决方案,但我现在想到的只有这些。

如果您需要数据库结构示例,请告诉我,但我认为没有必要。

感谢您的宝贵时间!

【问题讨论】:

    标签: mysql database database-design sharing database-normalization


    【解决方案1】:

    这取决于您查询数据的方式和频率。如果您需要在一个查询中获取所有共享项,则最好使用单个表。它会摆脱你的表连接。至于数据库规范化,我会说把你的苍蝇分开,汤分开,然后去共享媒体,共享帖子,共享任何表格。

    【讨论】:

    • 我会考虑的!感谢您的时间和回答!但是,您不认为在添加“内容类型”的情况下,一张表可能更容易维护吗?如果我添加一个新类型,我只需要在共享时编写新类型,而不是创建一个新表并建立新关系(只是一个想法)。你怎么看?
    • 您多久添加一次新类型?一天一次?每周一次?一年一次?从不... :)
    • 是的......你是对的!事实上,这是一个仍在建设中的数据库结构,所以我是这样想的。感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 2014-02-08
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    相关资源
    最近更新 更多