【问题标题】:Creating a blog database创建博客数据库
【发布时间】:2014-07-17 07:31:04
【问题描述】:

我正在尝试创建一个博客网站。我的问题是如何处理博客数据库系统。

例如,我有一个场景,比如每个博客可能有更多的 cmets、likes、photos、videos 用于一个博客。所以我为评论、点赞、照片、视频创建了单独的表格,并插入每条记录以及相关的博客 ID(例如:一个博客可以有多个照片、cmets、视频...)。

但是当我尝试通过为具有相关表的博客创建视图来创建博客摘要时,我真正面临的问题。 当我使用博客 ID 加入带有 cmets、likes、videos 表的博客表时,博客视图有重复项。

请帮我解决这个问题?任何人都可以提出解决这个问题的任何想法,或者任何人都可以知道 fb 或 twitter 是如何处理这种情况的吗?

如果有错误请纠正我如果有人有新想法我准备重新设计数据库...

如果你能帮助我,那就太好了。我正在努力寻找解决这个问题的方法......

谁能给我一个例子。

【问题讨论】:

  • 这是一个相当广泛的话题,很难具体回答。很大程度上取决于你做了什么,你没有分享任何细节(或非常模糊的细节)。如果您告诉我们您在哪个平台上构建它,那么有很多关于如何构建博客的示例。另外,只是一些一般性建议,从一个简单的博客开始,让它运作良好,然后再扩展它。

标签: mysql sql database database-design twitter


【解决方案1】:

你需要的是建立聚合机制。从 SQL 视图读取后,此机制应将使用 LEFT JOINS 生成的多行组合成适合您需要的对象。它很可能会有用于照片和其他可连接数据的数组。

这里有一篇文章展示了如何创建这样的对象。
Database results as objects or arrays?

【讨论】:

  • 使用对象或数组如何知道连接没有重复意味着每个博客对象内部必须有自己的评论、喜欢、照片、视频对象。
  • @user3678467 你在构造对象并消除它们的机制中检查它。
  • 什么机制...我不是 mysql 专业人士...我只是想知道如何返回带有相关信息(照片,cmets)的单个博客响应。
  • 你是如何从数据库中读取数据的? SELECT的机制是什么?
  • 我正在尝试为每个博客创建一个包含所有相关属性的视图,例如该视图必须看起来像 blogid -1、博客内容、blog_photos(从 blog_id =1 的照片中选择照片)和类似的评论,视频等。照片表将返回多个数据,所以我该如何处理我卡在这个问题上?如果我有一个单独的表还有任何方式我需要组合所有与博客相关的响应。请参阅fb json结构类似的场景请在下面找到我附加的评论以供参考我需要这样的响应来直接处理响应而不是发送更多选择查询.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-04
  • 1970-01-01
  • 2010-12-29
  • 1970-01-01
  • 2011-03-23
相关资源
最近更新 更多