sql >> Databasteknik >  >> RDS >> PostgreSQL

vad är nyttan med array-typ?

Jag har använt dem för att göra det lättare att arbeta med träd (som kommentarstrådar). Du kan lagra sökvägen från trädets rot till en enda nod i en array, varje nummer i arrayen är grennumret för den noden. Sedan kan du göra sådant här:

SELECT id, content
FROM nodes
WHERE tree = X
ORDER BY path -- The array is here.

PostgreSQL kommer att jämföra arrayer element för element på naturligt sätt så ORDER BY path kommer att dumpa trädet i en rimlig linjär visningsordning; sedan kontrollerar du längden på path för att ta reda på en nods djup och det ger dig indraget för att få rätt rendering.

Ovanstående tillvägagångssätt tar dig från databasen till den renderade sidan med en gång genom data.

PostgreSQL har också geometriska typer , enkla nyckel-/värdetyper , och stöder konstruktionen av olika andra komposittyper .

Vanligtvis är det bättre att använda traditionella associationstabeller men det är inget fel med att ha fler verktyg i din verktygslåda.



  1. hur man väljer n rader

  2. PostgreSQL:FEL:42601:en kolumndefinitionslista krävs för funktioner som returnerar post

  3. Analysera JSON till mySQL

  4. PostgreSQL Logical Replication Gotchas