【问题标题】:Using a key value pair list/array in postgres json在 postgres json 中使用键值对列表/数组
【发布时间】:2015-08-06 10:08:06
【问题描述】:

我第一次在 postgres 中创建数据库,我想知道存储内容的最佳方式。我在一张桌子上有用户,在另一张桌子上有书籍。如何存储用户想要的书籍 ID 列表?此外,我还想存储该用户必须拥有该书的日期。两个不同的人可能想要一本书。

我正在考虑在用户表中创建一个 json 列,其中包含某种存储图书 ID 的列表,但我还想存储有关用户何时需要图书的日期。

“SETOF anyelement”会是我想要的吗?经常“推”新书、“删”旧书会不会好?

我看过:http://www.postgresql.org/docs/9.3/static/functions-json.html,但它并没有真正提供我正在寻找的那种更高层次的解释。

【问题讨论】:

    标签: json postgresql


    【解决方案1】:

    JSON 列(很可能)是一个非常糟糕的主意。 SQL中正确的做法是使用联结表:

    create table BookUsers (
        BookUserId serial primary key,
        BookId int references Books(BookId),
        UserId int references Users(UserId),
        TargetDate date,
        . . .
    );
    

    【讨论】:

    • 感谢您的建议,我不会想到只制作一张全新的桌子。 (如果它仍然是最佳答案,我会在一天内接受)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 2021-10-10
    • 2017-07-29
    • 1970-01-01
    • 2021-11-08
    • 2020-09-28
    相关资源
    最近更新 更多