sql >> Database >  >> RDS >> PostgreSQL

jsonb vs jsonb[] voor meerdere adressen voor een klant

Gebruik een jsonb (niet jsonb[]!) kolom met de structuur als volgt:

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

Een gewone tabel gerelateerd aan de hoofdtabel is echter een betere optie.

Waarom niet jsonb[]? Bekijk de JSON-definitie:

JSON is gebouwd op twee structuren:

  • Een verzameling naam/waarde-paren. In verschillende talen wordt dit gerealiseerd als een object, record, struct, woordenboek, hashtabel, ingetoetste lijst of associatieve array.
  • Een geordende lijst met waarden. In de meeste talen wordt dit gerealiseerd als een array , vector, lijst of reeks.

In een jsonb-kolom kun je daarom een ​​array van objecten opslaan. Pogingen om de array van jsonb te gebruiken zijn waarschijnlijk te wijten aan een verkeerd begrip van dit type gegevens. Ik heb nog nooit een redelijke behoefte aan een dergelijke oplossing gezien.




  1. Wat is de meest aanbevolen manier om tijd op te slaan in PostgreSQL met Java?

  2. 4 Voorbeelden van anonieme PL/SQL-blokken

  3. oracle plsql:hoe XML te parseren en in tabel in te voegen

  4. Alles wat u moet weten over coderingsstandaarden voor SQL-query's