Erläuterung von Beziehungen

Bezugstabellen erstellen Sie, indem Sie eine Beziehung zwischen zwei Tabellen definieren. Eine Beziehung wird etabliert, wenn der Wert in einem Feld, dem sogenannten Abgleichsfeld (manchmal auch Schlüsselfeld genannt) auf der einen Seite der Beziehung gemäß den von Ihnen festgelegten Kriterien erfolgreich mit einem Wert im Abgleichsfeld auf der anderen Seite der Beziehung abgeglichen wird.

Beispielsweise können Sie eine Beziehung so erstellen, dass die beiden Datensätze in den beiden Tabellen zueinander in Beziehung stehen, wenn der Wert im Feld „StudentenID“ in der Tabelle „Studenten“ mit dem Wert im Feld „StudentenID“ in der Tabelle „Klassen“ identisch ist.

Informationen zum Erstellen, Ändern und Anzeigen von Beziehungen in Ihrer Datenbank finden Sie unter Arbeiten mit dem Beziehungsdiagramm.

In Beziehungen verwendete Felder

Ein Abgleichsfeld kann aus nur einem Feld oder einer Feldkombination bestehen, um einen Datensatz in einer Tabelle zu identifizieren. Beispielsweise kann ein Abgleichsfeld Datumswerte enthalten, die beim Vergleich mit den Kriterien der Beziehung bestimmen, ob die Beziehung erfolgreich ist.

Ein Schlüssel ist eine Art von Abgleichsfeld. Schlüssel enthalten gewöhnlich Werte, die als IDs verwendet werden (z. B. eine ProduktID). Es gibt zwei Arten von Schlüsseln:

  • Primärschlüssel – ein Feld, das sich in derselben Tabelle befindet wie der Datensatz, den es identifiziert. Der Wert eines Primärschlüssels muss eindeutig sein und darf nicht leer (nicht null) sein. Es gibt nur einen Primärschlüssel in einer Tabelle, aber der Schlüssel kann aus mehreren Feldern bestehen. Wenn Sie eine Datei oder Tabelle im Dialogfeld „Datenbank verwalten“ erstellen, enthält die neue Tabelle standardmäßig ein Primärschlüsselfeld.
  • Fremdschlüssel – ein Feld in einer Tabelle, das einen Datensatz in einer anderen Tabelle identifiziert. Werte in Fremdschlüsseln müssen in der Tabelle nicht eindeutig sein und können auch leer (null) sein. Eine Tabelle kann mehrere Fremdschlüssel enthalten.

In der Datenbank „Vertrieb“ können die Tabelle „Kunden“ und die Tabelle „Rechnungen“ jeweils das Feld „KundenID“ verwenden, um jeden Kunden und Kauf eindeutig zu identifizieren. Das Feld „KundenID“ in der Tabelle „Kunden“ ist ein Primärschlüsselfeld, da dieses Feld jeden Kunden eindeutig identifiziert. Das Feld „KundenID“ in der Tabelle „Rechnung“ ist ein Fremdschlüsselfeld, da seine Werte von einer anderen Tabelle, in diesem Beispiel von der Tabelle „Kunden“, stammen. Aber das Feld „KundenID“ ist in beiden Tabellen ein Abgleichsfeld.

Wenn beide Tabellen über „KundenID“ als Abgleichsfeld verbunden sind, kann ein Datensatz in der Tabelle „Kunden“ einen Ausschnitt anzeigen, der jede Rechnung mit passender KundenID auflistet, und in der Tabelle „Rechnungen“ kann jede Rechnung mit derselben KundenID konsistente Kundendaten anzeigen.

FileMaker Pro durchsucht die indizierten Werte von Abgleichsfeldern in einer Bezugstabelle, um zu ermitteln, welche Bezugsdatensätze die Beziehungskriterien für einen Datensatz in der aktuellen Tabelle erfüllen. Daher müssen die Abgleichsfelder in der Bezugstabelle indizierbar sein.

Abgleichsfelder müssen einen der folgenden Feldtypen aufweisen: Text, Zahl, Datum, Zeit, Zeitstempel oder Formel (mit einem Text-, Zahlen-, Datums-, Zeit- oder Zeitstempelergebnis).

Typen von Beziehungen

Beziehungen fördern die Eingabe von konsistenten Daten und erzwingen Regeln in der Datenbank. FileMaker Pro unterstützt die folgenden Beziehungstypen:

Beziehungstyp

Beschreibung

1:1

Ein Datensatz in einer Tabelle ist mit einem und nur einem Datensatz in einer anderen Tabelle verknüpft. Weitere Informationen finden Sie unter 1:1-Beziehungen.

1:n oder
n:1

Ein Datensatz in einer Tabelle kann mit einem oder mehreren Datensätzen in einer anderen Tabelle verknüpft sein. Oder ein oder mehrere Datensätze in einer Tabelle können mit einem Datensatz in einer anderen Tabelle verknüpft sein. Weitere Informationen finden Sie unter 1:n-Beziehungen.

Self-Join

Beide Primärschlüssel sind in zwei Auftreten derselben Tabelle definiert. Weitere Informationen finden Sie unter Self-Join-Beziehungen.

Ein anderer Beziehungstyp ist eine n:n-Beziehung. Relationale Datenbanksysteme erlauben Ihnen gewöhnlich nicht, eine direkte n-n-Beziehung zwischen zwei Tabellen einzurichten. Jedoch können Sie eine Datenbank gestalten, die n:n-Beziehungen unterstützt, indem Sie eine dritte Tabelle oder Zwischentabelle nutzen. Weitere Informationen finden Sie unter n:n-Beziehungen.

Hinweise 

  • Ein Abgleichsfeld für eine Beziehung kann ein Referenzzielfeld sein, sofern die Referenz auf einer anderen Beziehung basiert.
  • Da sich Variablenfelder nicht indizieren lassen, können Sie sie nicht als Abgleichsfelder in einer Bezugstabelle verwenden. Sie können sie jedoch als Abgleichsfelder in der aktuellen Tabelle nutzen.
  • Beziehungen ermöglichen auch, dass Sie Ihre Daten zur Lösung komplexer Suchvorgänge gruppieren. Beziehungen können z. B. den aktuellen Lagerbestand, Umsatzprognosen und andere Aufgaben bestimmen, bei denen Daten über mehrere Tabellen hinweg berücksichtigt werden müssen.
  • Verwenden Sie Zugriffsrechte in der Quelltabelle, um Zugriff auf Bezugsdaten zu beschränken oder zu verhindern. Benutzer müssen z. B. über Zugriffsrechte zur Anzeige eines Abgleichsfelds verfügen, um die Bezugsfelder aus der entsprechenden Beziehung zu sehen.