在postgres json中使用键值对列表/数组

时间:2015-08-06 02:05:06

标签: json postgresql

我是第一次在postgres中创建一个数据库,并且想知道存储内容的最佳方式。我有一个表中的用户和另一个表中的书。如何存储用户想要的ID书列表?此外,我还想存储该用户何时必须拥有该书的日期。一本书可以由两个不同的人通缉。

我想在用户的表中有一个json列,其中包含存储书籍ID的某种列表,但我还想存储用户何时需要该书的日期。

" SETOF anyelement"是我想要的吗?经常"推动"它会好吗?新书和"删除"旧书?

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

1 个答案:

答案 0 :(得分:1)

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

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