PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como armazenar uma tabela de dados no banco de dados?


Existem dois tipos especialmente adequados para armazenar dicionários como um todo:hstore e json - ou o mais superior jsonb no Postgres 9.4 ou posterior.

O Postgres também tem um xml dedicado tipo de dados, mas prefiro escolher uma das três opções anteriores. XML é comparativamente detalhado e mais complexo (para não dizer complicado) e pode ser um exagero para o seu propósito.

Se tudo o que você deseja do banco de dados é armazenar e recuperar todo o dicionário, essas são boas opções. Ver:

Você também encontrará uma ampla discussão de prós e contras sobre (entity-attribute-value) armazenamento em bancos de dados relacionais.

Se você quiser outras coisas do banco de dados, como integridade referencial, chaves estrangeiras ou várias outras restrições, fácil acesso a valores individuais, tamanho mínimo de armazenamento, índices simples etc. Sugiro uma ou mais tabelas com dedicado (normalizado ) colunas.

Layout de tabela normalizado


Pelo que entendi, "MyObject" (m ) contém uma coleção de referências a "OtherObject" (o ). Cada m está relacionado a (24) o e cada o está relacionado a 0-n m - que pode ser implementado em um relacionamento clássico n:m. Aqui estão as instruções detalhadas: