Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Primär und Fremdenschlüssel in Paradox 7 Tab

  Alt 29. Nov 2004, 06:57
Hallo Steffen87,

das mit dem Primärschlüssel hast du korrekt verstanden und es ist auch richtig, jede ID zum Primärschlüssel zu machen. Das mit dem Fremdschlüssel ist wie folgt zu verstehen: z.B. deine ArtikelID in der Tabelle ArtikelAnzahl ist wahrscheinlich ein Integer, genauso wie die ID in der Tabelle Artikel, damit ist das Feld als Fremdschlüssel geeignet. Das ist zunächst einmal eine Festlegung, die du triffst, das das Feld als Fremdschlüssel zu verstehen ist. Erst in einer entsprechenden SQL Abfrage oder in einer Master - Detail Beziehung wird es dann tatsächlich als Fremdschlüssel benutzt.

Wenn du aber willst, dass das DBMS bestimmte Prüfungen für dich vornimmt, z.B. das ein Satz in Artikel nicht gelöscht werden darf, solange in ArtkelAnzahl ein Datensatz auf diesen Artikel verweist, oder dass in ArtikelAnzahl nur die Werte in dem Feld ArtikelID eingestzt werden dürfen, die auch in der Tabelle Artikel vorkommen, dann kannst du eine sogenannte referentielle Integrität definieren. Das geht wie folgt mit der DB Oberfläche:

Über Umstrukturieren (oder bereits bei der Neudefinition) einer Tabelle wählst du in der DropdownListe Tabelleneigenschaften den Eintrag Referenzintegrität und klickst "Definieren" an. Links wählst du ArtikelID als Fremdschlüssel aus, rechts die Tabelle Artikel und dort das Feld ID. Dieser Definition gibst du noch einen Namen und fertig. Die Hilfe erklärt dir noch, was "Strikte Referenzintegrität" ist und was man unter Aktualisierungsregeln versteht. Letztere funktionieren aber nicht mit Delphi. Dort musst du ggf. selbst die Aktualisierungsregeln implementieren.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat