【发布时间】:2019-08-16 04:11:27
【问题描述】:
在 Book 表的数组中存储 0-1000 个章节 ID 并从章节表中选择它们是一个好主意,如下所示:
SELECT id, name, updated FROM chapters
WHERE id IN (SELECT unnest(chapters_array) FROM books WHERE id=$1);
或者最好制作单独的表并将chapter_id 到book_id 的关系存储在那里?
【问题讨论】:
-
这是一个坏主意,因为它破坏了关系数据库的第一种正常形式。使用书籍表的主键的外键制作章节表。如果可以的话,您不想在一个字段中存储多个数据点。
-
这是(显然)一个(很容易找到)常见问题解答。在考虑发布之前,请始终在谷歌上搜索您的错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有或没有您的特定字符串/名称,并阅读许多答案。如果您发布问题,请使用一个短语作为标题。 How to Ask
标签: sql postgresql database-design many-to-many one-to-many