gpt4 book ai didi

database-design - 如何为 Tumblr 等多种帖子类型构建博客引擎的数据库?

转载 作者:行者123 更新时间:2023-12-04 06:19:25 24 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

7年前关闭。




Improve this question




我正在构建一个具有多种帖子类型的博客引擎,例如:文本、图像、链接、引用。

在我看来,我有两个选择:

选项 1:包含所有列的单个 Posts 表,其中一些列将不可避免地为 NULL

Post table
==========
* post_id
* created_at
* updated_at
* user_id
* post_type
* text
* image_url
* link_url
* quote_source

选项 2:每个帖子类型的单独表格
Post table
==========
* post_id
* created_at
* updated_at
* user_id
* post_type

Text table
==========
* post_id
* text

Image table
===========
* post_id
* image_url

我想你明白了。每种方法的优缺点是什么?

有谁知道 Tumblr 是做什么的? (从他们的 API 文档中不清楚。)

最佳答案

避免对类似实体使用多个表(在本例中为“帖子”)。我不知道 Tumblr 本身是如何做到的,但它很可能更类似于您的第一篇文章,每行中有一些字段为 NULL,并且它们的可执行代码评估 post_type 值以确定如何处理它。

当您从多个表中提取数据来处理“一个”请求时,多个表很快就会变成一场噩梦。例如,如果您想选择上周所有类型的所有帖子,您必须从每个表中选择并合并结果(在某种 SQL 临时表中,或以编程方式在您的脚本/可执行代码)。这只是为了一件简单的事情。想象一下搜索等。

同样,我不知道 Tumblr 是如何做到的,也不知道他们的“正确”方式——但有效的方式是一张 table 。

关于database-design - 如何为 Tumblr 等多种帖子类型构建博客引擎的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6782841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com