FrankieB: MySQL - Tabellen verknüpfen ?

Hallo,

suche nach einer Möglichkeit MySQL-Tabellen möglichst elegant miteinander zu verknüpfen. Bin mir aber nicht sicher ob das mit MySQL-eigenen Mitteln geht. In den einschlägigen Fundgruben habe ich schon gesucht aber nix gefunden.

Derzeit handle ich die "Verknüpfung" mit PHP. Diese Variante ist aber leider nur dann einigermaßen sicher, wenn der Request über das PHP-Script abgeschickt wurde ...

Wer hat Erfahrung damit und kann mir mit Tips und Tricks weiterhelfen?

Gruss
Frankie

  1. Hi,

    suche nach einer Möglichkeit MySQL-Tabellen möglichst elegant miteinander zu verknüpfen. Bin mir aber nicht sicher ob das mit MySQL-eigenen Mitteln geht.

    prinzipiell ist es selbstverständlich auch in MySQL möglich, mehrere Tabellen bei einer Abfrage miteinander zu verknüpfen. Im Prinzip brauchst Du nur die Tabellen in der FROM-Clause anzugeben und in der WHERE-Clause die Verknüpfungsbedingung zu nennen (wobei MySQL noch über eine darüber hinausgehende JOIN-Syntax verfügt, die AFAIK aber allenfalls bei Outer Joins benötigt wird).

    In den einschlägigen Fundgruben habe ich schon gesucht aber nix gefunden.

    Eigentlich sollte das leicht zu finden sein - zu leicht möglicherweise. Auf was für Probleme bist Du denn gestoßen?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi Cheatah,

      danke für deine Antwort.

      Wie fast immer habe ich mein Anliegen wahrscheinlich nicht sonderlich exakt genug formuliert...

      prinzipiell ist es selbstverständlich auch in MySQL möglich, mehrere Tabellen bei einer Abfrage miteinander zu verknüpfen. Im Prinzip brauchst Du nur die Tabellen in der FROM-Clause anzugeben und in der WHERE-Clause die Verknüpfungsbedingung zu nennen (wobei MySQL noch über eine darüber hinausgehende JOIN-Syntax verfügt, die AFAIK aber allenfalls bei Outer Joins benötigt wird).

      Das ist mir durchaus bekannt. Aber ich will das nicht bei einer Abfrage einsetzen, sondern bei der Defintion einer Tabelle selbst.

      z.B. ich habe ein Feld, dessen (mögliche) Werte aus den Inhalten anderer Tabellen zusammengestellt werden ... also z.B. ein Feld vom Typ 'SET', wobei die Daten der (zulässigen) Werte aus einer (anderen) Tabelle kommen ...

      Frankie

      1. Ergänzung.

        suche sowas wie "Datenherkunft" bezogen auf ein Feld einer MySQL-Tabelle ..

      2. hi,

        Das ist mir durchaus bekannt. Aber ich will das nicht bei einer Abfrage einsetzen, sondern bei der Defintion einer Tabelle selbst.

        z.B. ich habe ein Feld, dessen (mögliche) Werte aus den Inhalten anderer Tabellen zusammengestellt werden ... also z.B. ein Feld vom Typ 'SET', wobei die Daten der (zulässigen) Werte aus einer (anderen) Tabelle kommen ...

        du suchst also so etwas wie eine "view", wie es sie in bestimmten DB-systemen gibt?

        so etwas hat mysql nicht.

        gruss,
        wahsaga

        1. Hi wahsaga,

          so etwas hat mysql nicht.

          ... das dachte ich mir schon ...

          greetings
          Frankie

          1. Hi,

            so etwas hat mysql nicht.
            ... das dachte ich mir schon ...

            also, es ist mir ja schon oft passiert, dass jemand vor mir geantowrtet hatte, während ich noch schrieb; aber dass _darauf_ dann geantwortet wurde, bevor ich fertig war, ist neu :-)

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
      3. Hi,

        Aber ich will das nicht bei einer Abfrage einsetzen, sondern bei der Defintion einer Tabelle selbst.

        MySQL kennt (noch[1]) keine Fremdschlüsselbeziehungen, falls Du das meinst.

        z.B. ich habe ein Feld, dessen (mögliche) Werte aus den Inhalten anderer Tabellen zusammengestellt werden ... also z.B. ein Feld vom Typ 'SET', wobei die Daten der (zulässigen) Werte aus einer (anderen) Tabelle kommen ...

        Ein View? Ob MySQL dies kann, vermag ich nicht zu sagen; ich schätze aber dass nicht, weil ein View im Grunde nichts anderes ist als ein benamster Subselect, und Subselects kann MySQL (noch[1]) nicht ... Aber schau trotzdem mal in der Doku nach, vielleicht wirst Du fündig.

        Cheatah

        [1] Beide Funktionen sind AFAIK geplant, und möglicherweise können aktuellste Versionen es bereits. Du müsstest dann prüfen, ob Du über eine solche Version verfügst.

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes