sql >> Database teknologi >  >> RDS >> PostgreSQL

jsonb vs jsonb[] for flere adresser til en kunde

Brug en jsonb (ikke jsonb[]!) kolonne med strukturen som denne:

select
'[{
        "adresse_line-1": "a11",
        "adresse_line-2": "a12",
        "postalcode": "code1"
    },
    {
        "adresse_line-1": "a21",
        "adresse_line-2": "a22",
        "postalcode": "code2"
    }
]'::jsonb;

Et almindeligt bord relateret til det vigtigste er dog en bedre mulighed.

Hvorfor ikke jsonb[]? Tag et kig på JSON-definitionen:

JSON er bygget på to strukturer:

  • En samling af navn/værdi-par. På forskellige sprog realiseres dette som et objekt, post, struktur, ordbog, hash-tabel, nøgleliste eller associativ array.
  • En ordnet liste over værdier. På de fleste sprog er dette realiseret som en array , vektor, liste eller sekvens.

I en jsonb-kolonne kan du derfor gemme en række objekter. Forsøg på at bruge arrayet af jsonb skyldes sandsynligvis misforståelser af denne type data. Jeg har aldrig set et rimeligt behov for en sådan løsning.




  1. Django Migrations:A Primer

  2. Fejl ved Update Join

  3. Sådan starter parallelle planer – del 5

  4. 3 måder at få dagsnavnet fra en dato i SQL Server (T-SQL)