sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur lagrar man en datatabell i databasen?

Det finns två typer som är särskilt lämpade för att lagra ordböcker som helhet:hstore och json - eller den mestadels överlägsna jsonb i Postgres 9.4 eller senare.

Postgres har också en dedikerad xml datatyp, men jag skulle hellre välja ett av tidigare tre alternativ. XML är jämförelsevis utförligt och mer komplext (för att inte säga invecklat) och kan vara överdrivet för ditt syfte.

Om allt du vill ha från DB är att lagra och hämta hela ordboken är dessa bra alternativ. Se:

Du hittar också omfattande diskussioner om för- och nackdelar kring (entity-attribute-value) lagring i relationsdatabaser.

Om du vill ha andra saker från DB, som referensintegritet, främmande nycklar eller olika andra begränsningar, enkel tillgång till individuella värden, minimal lagringsstorlek, enkla index etc. Jag föreslår en eller flera tabeller med dedikerad (normaliserad ) kolumner.

Normaliserad tabelllayout

Enligt vad jag förstår, "MyObject" (m ) innehåller en samling referenser till "OtherObject" (o ). Varje m är relaterad till (24) o och varje o är relaterad till 0-n m - som kan implementeras i ett klassiskt n:m-förhållande. Här är detaljerade instruktioner:




  1. Vad är skillnaden mellan "inte med" och "finns inte"?

  2. Oracle Hierarchical Query

  3. Gruppera sidor från en kolumn

  4. JSON_MERGE_PATCH() – Utför en RFC 7396-kompatibel sammanslagning av JSON-dokument i MySQL