我想在 PostgreSQL 数据库的一列中存储多个数据

问题描述 投票:0回答:1

我正在为博客内容设计一个数据库。例如,假设我需要将“参考书目”列的数据包含在我的博客内容中。一篇博客内容可以有多个参考书目内容。或者在另一个示例中,假设我想在博客内容的标签部分中标记多个用户。在这样的操作中,如何将这些数据保留在我的数据表中?我应该使用哪种数据类型。我在网上看到数组数据类型不太可靠,所以我想到了一种通过将JSON数据转换为String数据来存储数据的方法(我使用的是NodeJS,我使用的是JSON.srigfy(data)方法)。我不确定这个方法是否也正确。如果相关人士回答我的问题,我将不胜感激。

node.js database postgresql
1个回答
0
投票

你应该使用关系。 例如:

我们有用户表

create table users{
    id primary key,
    name varchar(100)
    (...etc)
}

我们还有博客表,每个用户都有多个博客。我们应该在用户和博客之间建立关系。我们应该在 blogs 表中定义

FOREIGN KEY
。您可以阅读更多有关
FOREIGN KEY
=> https://www.w3schools.com/sql/sql_foreignkey.asp

create table blogs{
    id primary key,
    content varchar(100),
    user_id int,
    foreign key (user_id) references users(id)
}

现在我们有了博客,每个博客都包含 user_id,我们可以轻松找到谁拥有该博客。

根据此示例,您可以构建数据库模型。

在像 postgreSQL 这样的 SQL 数据库中,您应该使用表之间的关系,您可以阅读更多相关信息 -> https://www.geeksforgeeks.org/relationships-in-sql-one-to-one-one-to-many-多对多/

要检索用户博客,您可以在 potgresql 中使用

JOIN
。在node.js中,您可以使用一些orm来实现此目的,例如:
typeorm,sequelizer
等。但首先您应该知道什么是sql,什么是sql中表之间的连接和关系。 首先阅读关系和连接,当你可以构建一些简单的表和关系时,使用
JOINS
进行更多练习。当您可以阅读有关 orm 的内容、什么是 orm、为什么应该使用它。

© www.soinside.com 2019 - 2024. All rights reserved.