M.artin: mysql-anfänger: wieviele Tabellen max. gleichzeitig abfragbar?

Hallo zusammen,

ich erstelle gerade meine erste größere mysql-datenbank und bei der Konzeption stellt sich mir die Frage, wieviele Tabellen ich in EINER Abfrage gleichzeitig abfragen kann.

Beispiel:

In der 1. Tabelle stehen Namen und weitere pers. Daten
In der nächsten Tabelle zur ID der Namen der ersten Tabelle die Kinder desjenigen.
In der 3. Tabelle steht das Geschäftsjahr mit Begin und Ende als Datumsangaben.
In der 4. Tabelle steht die Abteilung, in der der Mitarbeiter (ID aus Tabelle1) arbeitet und die ID des Geschäftsjahres, in dem er in dieser Abteilung arbeitet.
In der 5. Tabelle befinden sich Leistungsbewertungen des Mitarbeiters plus seiner ID und der ID des Geschäftsjahres der Bewertung.
In der 6. Tabelle ... usw.

Kann ich in einer Abfrage 5,6 oder 7 Tabellen gleichzeitig abfragen und deren Informationen zusammentragen?
Worauf muß ich achten beim Erstellen der Tabellen?

Und wo kann ich (falls das geht) die Systematik dieser Abfrage verständlich erklärt nachlesen?

Danke für Eure Hilfe

Martin

  1. Hallo,

    Kann ich in einer Abfrage 5,6 oder 7 Tabellen gleichzeitig abfragen und deren Informationen zusammentragen?
    Worauf muß ich achten beim Erstellen der Tabellen?

    Theoretisch kannst du so viele Tabellen miteinander verknüpfen, wie du willst. Allerdings müssen diese mit einer Beziehung (Stichworte: Primary Key, Foreign Key, JOIN) miteinander verknüpt werden.
    Wie diese Verknüpfungen aussehen, hast du ja hoffentlich in deinem Datenmodell definiert.

    Und wo kann ich (falls das geht) die Systematik dieser Abfrage verständlich erklärt nachlesen?

    Was genau meinst du mit "Systematik"?

    Markus

    1. Hallo,

      Theoretisch kannst du so viele Tabellen miteinander verknüpfen, wie du willst. Allerdings müssen diese mit einer Beziehung (Stichworte: Primary Key, Foreign Key, JOIN) miteinander verknüpt werden.

      Ich dachte immer, dass der DBMS-Server dafür auch mindestens ein Handle pro Tabelle benötigt.

      Standard wäre da z.B.   inno_db_open_files = 300
      Bei MyISAM ist es mMn nur von den Einstellungen des Filesystems abhängig. 255 ist da gängig, aber auch größere Werte.

      @all: Wenn es nicht stimmt, dann bitte meckern.

      LG
      Der Chris

      1. Hallo,

        Standard wäre da z.B.   inno_db_open_files = 300
        Bei MyISAM ist es mMn nur von den Einstellungen des Filesystems abhängig. 255 ist da gängig, aber auch größere Werte.

        Ja, das kann schon stimmen. Dass eine Art Begrenzung vorhanden sein könnte, habe ich mir fast gedacht, allerings glaube ich nicht, dass diese in der Praxis so schnell erreicht würde.

        Markus

      2. Hallo,

        @all: Wenn es nicht stimmt, dann bitte meckern.

        Das sagt jedenfalls das Handbuch:

        http://dev.mysql.com/doc/refman/5.1/en/table-cache.html

        LG
        Der Chris

  2. Hallo Martin,

    Kann ich in einer Abfrage 5,6 oder 7 Tabellen gleichzeitig abfragen und deren Informationen zusammentragen?

    Ja.

    Und wo kann ich (falls das geht) die Systematik dieser Abfrage verständlich erklärt nachlesen?

    in SELFHTML aktuell:

    Einführung in Joins
    Fortgeschrittene Jointechniken

    Freundliche Grüße

    Vinzenz