PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Was ist der Nutzen des Array-Typs?

Ich habe sie verwendet, um die Arbeit mit Bäumen (z. B. Kommentar-Threads) einfacher zu machen. Sie können den Pfad von der Wurzel des Baums zu einem einzelnen Knoten in einem Array speichern, jede Zahl im Array ist die Verzweigungsnummer für diesen Knoten. Dann können Sie Folgendes tun:

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

PostgreSQL vergleicht Arrays Element für Element auf natürliche Weise, also ORDER BY path wird den Baum in einer vernünftigen linearen Anzeigereihenfolge ausgeben; Dann überprüfen Sie die Länge von path um die Tiefe eines Knotens herauszufinden und das gibt Ihnen die Einrückung, um das Rendering richtig zu machen.

Der obige Ansatz bringt Sie mit einem Durchgang durch die Daten von der Datenbank zur gerenderten Seite.

PostgreSQL hat auch geometrische Typen , einfache Schlüssel/Wert-Typen , und unterstützt die Konstruktion verschiedener anderer zusammengesetzten Typen .

Normalerweise ist es besser, herkömmliche Assoziationstabellen zu verwenden, aber es spricht nichts dagegen, mehr Tools in Ihrer Toolbox zu haben.