我有一个网站,用户可以发布照片,视频,链接,文章和活动。
但现在是困难的部分(对我来说): 我希望用户能够将照片,视频和链接附加到活动和/或文章中。
这是什么最佳做法?我应该创建另一个表格,我将它们相互链接:
[media2articles]
m_id, m_type, media_id, m_article_id
[media2events]
m_id, m_type, media_id, m_events_id
或者我应该在我当前的表中添加一些字段,如下所示:
[videos]
v_id, v_file, **v_article_id, v_event_id**
或者还有其他方法吗?
答案 0 :(得分:1)
这取决于您的数据的关系类型。还要记住,你想要考虑它将来会有什么样的关系,因为改变架构会很痛苦。
这是基本的关系建模;阅读它将极大地帮助您进行数据库设计。
答案 1 :(得分:0)
通常,您使用“链接”表,其中包含“to_”和“from_”引用(或任何适合您的数据模型的引用)。这样可以将照片链接到多个文章,反之亦然。
答案 2 :(得分:0)
如果一个媒体项可能与不同的事件相关联,并且不同的事件可能共享同一个媒体项,那么您需要一个额外的表来分解当前两个表之间的N:M关系。
答案 3 :(得分:0)
我会为此创建“媒体”表并链接它们。将列添加到现有表是一种糟糕的设计。除非您继续向表中添加更多列,否则您将无法支持1:n关系。