Eine zusammenhängendes "Datennetzwerk"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eine zusammenhängendes "Datennetzwerk"

    Also nehmen wir mal folgendes Szenario. Ich habe eine Sammlung von Daten, die miteinander verknüpft sind und diese möchte ich darstellen. Das ganze soll dann in etwa so aussehen:

    Code:
                                            ITEM1
                                -               |              -
                         |                      |                    |
    
                     ITEM2                    ITEM3                 ITEM4
                  -           -                                      |
            |                     |                                   |
    
        ITEM5                    ITEM6                                ITEM7
    Diese Daten befinden sich alle in einer Datenbank und in einer zweiten Tabelle sind die Relationen. Jetzt könnte ich natürlich sagen, ich hole mir ITEM1 aus der DB und les mir die Zusammenhänge aus, danach für ITEM2, ITEM3 usw.

    Bei einigen tausend Datensätzen würde ich allerdings schnell die DB sprengen. Ich suche jetzt einen Ansatz, mit dem ich diese Relationen mit möglichst wenig DB Abfragen erstellen kann. Wenn sich jemand bei openbc.de auskennt. Dort machen die das auch - allerdings mit Personendaten.

    Wie kann ich das umsetzen.

    P.S: Leider zerreist es hier meine Darstellung, aber ich hoffe, Ihr wisst, was gemeint ist.
    Zuletzt geändert von S.Oliver; 16.09.2005, 20:26.

  • #2
    Kannst du den einzelnen Datensätzen nicht noch eine Eigenschaft mitgeben, welchem anderen Datensatz sie untergeordnet sind.

    Also bei ITEM6 zum Beispiel als zusätzliche Info "parent_item" mit dem Inhalt ITEM2

    Kommentar


    • #3
      such doch mal nach "nested sets", afaik gibt's da eine schöne Lösung und ich denke das ist das, was du haben willst (hab nicht wirklich verstanden was du haben willst )

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        An nested sets hab ich auch schon gedacht, allerdings wäre das hier zu aufwendig, weil die Struktur nicht statisch ist und sich quasi andauernd ändert - > also zu datenbankintensiv. Ausserdem muss das ganze von jedem Punkt aus durchführbar sein, sprich wenn ich von Item 5 ausgehe, muss das auch funktionieren und zwar in alle Richtungen.

        Kennt hier niemand die Verknüpfungen auf openbc.de ?

        Kommentar


        • #5
          Wieso ist das zu aufwendig? Struktur nicht statisch soll das heißen die Spalten ändern sich dauernd und wenn ja, wie willst du dann etwas erstellen wo du es nicht ändern müsstest?

          Wie sieht deine Tabelle mit den Relationen denn genau aus?


          Floriam
          PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

          Kommentar


          • #6
            Ich erkläre es am besten mal am openbc. Also dort kann man "Partnerschaften" eintragen. Diese Partner haben wieder Partner usw. Wenn man das jetzt über 4 Ebenen macht, dann entsteht ein Netzwerk. Ausserdem machen die es so, dass man Relationen zu anderen Partnern herstellen kann, d. h. ich habe dann sowas:

            Wie hängen Herr A. und Herr X. zusammen und dann bekomme ich so etwas:

            Herr A. -> Herr Z. -> Frau Y. -> Herr X.

            oder

            Herr A. -> Frau B. -> Herr D. -> Herr X.

            Also innerhalb des Netzwerkes kann man quasi jede Person miteinander in Verbindung bringen, meistens sogar über mehrere Wege.

            Und genau so ein System suche ich. Also zum einen die Möglichkeit der Darstellung eines solchen Netzwerkes und auch die Möglichkeit, einzelne Teile herauszunehmen und diese zu verbinden.

            Nested sets sind eher dafür da, sich kaum ändernde Strukturen abzuzeichnen (z. B. Menüs), aber wenn das Netzwerk wächst kann ich ja nicht jedes Mail die gesamten Tabellen sperren bis die ganzen IDs verteilt sind.

            Bisher ist es so, dass die Artikel in einer Tabelle stehen und in einer zweiten Tabelle werden die Artikel miteinander verknüpft, sprich :
            id, relation_id, relation_type

            Ich hoffe, jetzt ist etwas klarer, was ich gern hätte.

            Kommentar

            Lädt...
            X