【问题标题】:Problems with relations in database数据库中的关系问题
【发布时间】:2019-05-07 01:16:35
【问题描述】:

我正在为自动发布服务创建一个数据库。我有用户,每个用户都有很多频道,是他自己的频道。但是每个频道也有很多用户,作为该频道的内容作者。我如何在数据库结构中创建它。我试图创建这个结构,但我认为这是错误的。 here is my structure as ER-model

【问题讨论】:

  • 一个用户可以成为多个频道的作者吗?

标签: sql database django-models model


【解决方案1】:

您缺少“作者”关系。您的表格应如下所示:

Profile (id_User)

Channel (id_Channel, id_User_Owner(FK), name_Channel)

Author (id_User(FK), id_Channel(FK))

Post (...)

Payment (...)

【讨论】:

  • 是的,“作者”关系是链接ProfileChannelN:M关系;到目前为止,它只有两个外键。因此,任何个人资料都可以创作任意数量的频道,并且任何频道都可以由任意数量的个人资料创作。
【解决方案2】:

如果我理解正确的话,有两个独立的关系。 首先,用户可以拥有 0(或 1)多个频道 - 所以我们在 Channel 引用 User 中放置一个外键。 (和你一样)

然后用户可以在频道内发帖。所以帖子表有一个外键引用通道(帖子所在的位置),每个帖子都有一个作者:在帖子引用用户中添加一个外键。 这样,我们在 User 和 Channel 之间就有了多对多的关系(通过 Post 表)。一个用户可以为多个频道做出贡献。一个频道可以有多个贡献者。

【讨论】:

    猜你喜欢
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 2010-09-14
    • 2011-02-06
    相关资源
    最近更新 更多