sql >> Databáze >  >> RDS >> PostgreSQL

jsonb vs jsonb[] pro více adres pro zákazníka

Použijte sloupec jsonb (nikoli jsonb[]!) se strukturou takto:

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

Lepší možností je však běžná tabulka související s hlavní.

Proč ne jsonb[]? Podívejte se na definici JSON:

JSON je postaven na dvou strukturách:

  • Sbírka párů název/hodnota. V různých jazycích je to realizováno jako objekt, záznam, struktura, slovník, hashovací tabulka, klíčovaný seznam nebo asociativní pole.
  • Seřazený seznam hodnot. Ve většině jazyků je to realizováno jako pole , vektor, seznam nebo sekvence.

Ve sloupci jsonb tedy můžete uložit pole objektů. Pokusy o použití pole jsonb jsou pravděpodobně způsobeny nepochopením tohoto typu dat. Nikdy jsem neviděl rozumnou potřebu takového řešení.




  1. Jak integrovat Oracle a Kafka

  2. Nasazení a konfigurace ODP.NET pro práci bez instalace s Entity Framework

  3. Ovladač PayPal ODBC

  4. Použití Oracle JDeveloper 12c s databází Oracle, část 1