Erstellen von persistenten Beziehungen
Sie können zwischen Tabellen in einer Datenbank persistente Beziehungen erstellen. Persistente Beziehungen sind die in der Datenbank gespeicherten Beziehungen zwischen den Datenbanktabellen. Sie zeichnen sich durch folgende Punkte aus:
- Automatische Verwendung als Standardverknüpfungsbedingungen im Abfrage- und Ansichts-Designer.
- Anzeige im Datenbank-Designer als Zeilen für die Zuordnung von Tabellenindizes.
- Anzeige im Datenumgebungs-Designer als Standardbeziehungen für Formulare und Berichte.
- Verwendung zum Speichern von Informationen zur referentiellen Integrität.
Im Gegensatz zu temporären Beziehungen, die mit dem SET RELATION-Befehl erstellt werden, müssen persistente Beziehungen nicht bei jeder Verwendung von Tabellen neu erstellt werden. Weil persistente Beziehungen jedoch nicht die Beziehung zwischen Datensatzzeigern in Tabellen steuern, verwenden Sie beim Entwickeln von Visual FoxPro-Anwendungen sowohl temporäre SET RELATION-Beziehungen als auch persistente Beziehungen.
In Visual FoxPro werden Indizes zum Herstellen persistenter Beziehungen zwischen Tabellen in einer Datenbank verwendet. Persistente Beziehungen werden zwischen Indizes und nicht zwischen Feldern erstellt, wodurch Tabellen, die auf einem einfachen oder komplexen Indexausdruck basieren, zueinander in Beziehung gesetzt werden können.
So bereiten Sie Beziehungen vor
Entscheiden Sie, welche Tabelle die Primärdatensätze und welche die verknüpften Datensätze enthält.
Fügen Sie der Tabelle mit den Primärdatensätzen ein Integer-Feld sowie einen Index für dieses neue Feld hinzu.
Fügen Sie der Tabelle mit den verknüpften Datensätzen ein Feld hinzu, das dem soeben erstellten Primärschlüssel der anderen Tabelle entspricht. Erstellen Sie dann einen einfachen Index für dieses Feld.
Anmerkung Verwenden Sie für beide Indizes den gleichen Ausdruck. Wenn Sie beispielsweise im Ausdruck für das Primärschlüsselfeld eine Funktion verwenden, so müssen Sie die gleiche Funktion im Ausdruck für das Fremdschlüsselfeld verwenden.
So erstellen Sie eine persistente Beziehung zwischen Tabellen
Klicken Sie im Datenbank-Designer auf den gewünschten Index, und ziehen Sie diesen auf den Indexnamen der verknüpften Tabelle.
- Oder -
Verwenden Sie die Befehle CREATE TABLE oder ALTER TABLE zusammen mit der FOREIGN KEY-Klausel.
Mit dem folgenden Befehl wird z. B. eine persistente 1:n-Beziehung zwischen den Tabellen customer
und orders
hergestellt, die auf dem Primärschlüssel cust_id
der Tabelle customer
und dem neuen Fremdschlüssel cust_id
der Tabelle orders
basiert:
ALTER TABLE orders;
ADD FOREIGN KEY cust_id TAG ;
cust_id REFERENCES customer
Wenn Sie anschließend im Datenbank-Designer das Datenbankschema anzeigen, sehen Sie eine Verbindungslinie zwischen orders
und customer
. Diese Linie stellt die neue persistente Beziehung dar.
Indizes stellen die Grundlage für persistente Beziehungen dar
Die Art der erstellten persistenten Beziehung hängt von dem Indexnamen (Indextag) oder dem Indexschlüssel ab. In einer 1:n-Beziehung muss auf der "1"-Seite der Beziehung ein PRIMARY- oder CANDIDATE-Indexschlüssel und auf der "n"-Seite ein einfacher (regulärer) Indexschlüssel verwendet werden.
Sie können die Beziehung auch bearbeiten.
So bearbeiten Sie eine Beziehung zwischen Tabellen
- Doppelklicken Sie auf die Beziehungslinie zwischen den Tabellen, und wählen Sie im Dialogfeld Beziehung bearbeiten die entsprechenden Einstellungen aus.
So löschen Sie eine persistente Beziehung zwischen Tabellen
Klicken Sie im Datenbank-Designer auf die Linie, die die Beziehung zwischen den zwei Tabellen darstellt.
Die Linie wird daraufhin breiter angezeigt, um darauf hinzuweisen, dass die Beziehung ausgewählt wurde.
Drücken Sie ENTF.
- Oder -
Verwenden Sie den ALTER TABLE-Befehl zusammen mit der DROP FOREIGN KEY-Klausel.
Mit dem folgenden Befehl wird z. B. eine persistente Beziehung zwischen den Tabellen customer
und orders
gelöscht, die auf dem Primärschlüssel cust_id
der Tabelle customer
und dem Fremdschlüssel cust_id
der Tabelle orders
basiert:
ALTER TABLE orders DROP FOREIGN KEY TAG cust_id SAVE
Siehe auch
Aktualisieren der Verweise zwischen Tabelle und Datenbank | Einrichten der referentiellen Integrität | Erstellen von Datenbanken | Erstellen einer Datenbank | Datenbank-Designer | CREATE TABLE | ALTER TABLE | Arbeiten mit Datenbanken | Arbeiten mit Tabellen