ich bin leider noch nicht sehr erfahren mit postgresql, genau genommen ein blutiger Anfänger, und ich habe da ein Problem, bei dem ich absolut nicht weiter komme.
Ich möchte eine n:m Relation für Tätigkeiten haben.
Activities: idActivities, Activity
Instanz von Activities(1): idActivities(1), Activity(1)
Zuordnungen: idActivities, idActivities(1)
Als Beispiel:
Tabelle Activities:
1, Sport
2, Kultur
3, Kampfsport
4, Karate
5, Japan
6, Tanzen
7, Theater
2 hast du schon … “Activities” und “Zuordnungen”
weiterhin benoetigst du noch eine 3. mit den n:m verknuepfungen
die koennte dann “AZTree” heissen … es wird also sogar ein Netz entstehen
CREATE TABLE “AZTree” (
id_tree, idActivities idZuordnungen
)
ob du in dieser Tabelle dann für alle übergeordnete Activities einen Datensatz für Zuordnungen erzeugst, oder nur einen Datensatz für Zuord. in dem Knoten (Activity) wo sie anhängt - bleibt dir überlassen.
Das verstehe ich nicht, die Tabelle idZuordnungen hat doch keinen Bezug zu Activities und somit bringt mir das doch nichts. Ich müsste doch eigentlich die Einträge von Activities mit sich selbst in Bezug setzen, also ist doch eigentlich die Tabelle Zuordnungen schon für die n:m Relation zuständig.
Aber vielleicht verstehe ich auch den letzten Satz falsch, ich stehe momentan sowieso ganz dolle auf dem Schlauch ;(
@akretschmer: Ja, ich suche Trees mit Querverbindungen. Aber ich benutze ja auch Postgresql und habe in deinem Link was von LTree gelesen…
Zuordnungen.idZuordnungen → AZTree.idZuordnugnen …
und dort ist ein Feld AZTree.idActivities, das auf folgende Weise
AZTree.idActivities → Activities.idActivities referenziert.
in enstprechenden Abfragen kannst du das alles wunderbar miteinandre verknuepfen …
studiere den / die links von AK … da wird ein ähnliches Beispiel ausführlich beschrieben … leider nicht sonderlich übersichtlich, da das Problem eigentlich recht einfach darzustellen ist.
Ich vermute, ihr redet aneinander vorbei. Ich versteh schon, was Du meinst, der Fragesteller will aber mehrstufige Hierarchien darstellen, ähnlich dem Beispiel in PostgreSQL: Documentation: Manuals: PostgreSQL 8.3: ltree Deine Verknüpfungstabelle erscheint mir da nicht hilfreich. Ich selbst hab damit aber auch noch nicht wirklich was zu tun gehabt.
was eine “mehrstufige Hierachie” anders sein soll, als auch “nur” eine hierachie…
wenn er sowohl activitaeten als auch zuordnungen als baum darstellen will, dann nimmt er eben 2 verknuepfungstabellen … oder auch nur eine, wenn er auf strikte foreignkeys verzichten kann … dann wird eben neben der id_parent und id_node noch ein feld mit dem “typen” gespeichert … ist fuer model-fanatiker sicher nicht schoen … aber u.U. sehr praktisch
wenn Zuordnungen z.B. ein einfacher Baum ist (über idParent in Zuordnungen) dann braucht er auch nur die eine n:m verknuepfungstabelle zwischen A und Z