Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Primär und Fremdenschlüssel in Paradox 7 Tab (https://www.delphipraxis.net/34811-primaer-und-fremdenschluessel-paradox-7-tab.html)

Steffen87 28. Nov 2004 18:28


Primär und Fremdenschlüssel in Paradox 7 Tab
 
Hallo
Ich versuche seit 2 Wochen mich in Delphi anzuvertrauen und eine kleine Datenbank zu erstellen. (=> bin Anfänger)

Ich habe mir schon die 2 db-Toturials von eurer seite runtergeladen, aber beim 2. bin ich hängengeblieben:

In den Paradox 7 Tabellen muss ich Primär- und Fremdenschlüssel erstellen, hab aber keine Ahnung wie das gehen soll. dort ist zwar die Spalte "Schlüssel", aber wenn ich draufklicke, dann kommt jeweils nur ein Sternchen (*).

Wie erstell ich jeweils diese Schlüssel?

Ich hoffe, dass ihr mir helfen könnt, danke schonmal...


PS: Ich benutze Delphi 7
PPS: meine ICQ# 161732525

MrSpock 28. Nov 2004 20:39

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

zunächst einmal herzlich willkommen in Delphi-PRAXIS Forum.

Du hast bereits einen Primärschlüssel erstellt! Wenn du das Schlüssel anklickst erscheint ein Stern in dem Feld und jedes Feld mit einem Stern gehört dann zum (zusammengestzten) Primärschlüssel der Tabelle. Du musst immer oben anfangen und darfst kein Feld auslassen.

Ein Fremdindex kann jedes Feld der Tabelle sein, dass dieselbe Struktur (Typ und Größe) wie das Schlüsselfeld einer anderen Tabelle hat. Über Einrichtung einer Refernzintegrität erreichst du, dass der Wert in diesem Feld dieser Tabelle nur angenommen wird, wenn er als Schlüssel in einer Fremdtabelle existiert.

Steffen87 28. Nov 2004 21:23

Re: Primär und Fremdenschlüssel in Paradox 7 Tab
 
Liste der Anhänge anzeigen (Anzahl: 1)
vielen dank erstmal...

aber ich muss doch noch einmal dumm nachfragen:

Wenn ich jetzt meine Tabelle A (so nenn ich sie einfach mal) habe, dann klick ich rechts bei Schlüssel und es kommt ein Sternchen *. Dies bedeutet das das mein Pimärschlüssel ist.

Soweit hab ich das glaub ich verstanden...

Ich kann euch ja mal zeigen was ich meine (siehe angehängete Datei)

Wenn ich dann die Tabellen erstellen würde würde ich überall hinter "ID" ein Sternchen setzen:
Damit hätte ich glaube ich die Primärschlüssel.

Aber da mit dem Fremdenschlüssel... Das versteh ich noch nicht so ganz.


Vielen Dank

PS: Ich erstelle die Schlüssel mit dem Programm "Datenbankoberfläche" welches bei delphi schon mit dabei ist.

MrSpock 29. Nov 2004 06:57

Re: Primär und Fremdenschlüssel in Paradox 7 Tab
 
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.

Steffen87 29. Nov 2004 19:51

Re: Primär und Fremdenschlüssel in Paradox 7 Tab
 
danke, ich glaub ich habs jetzt verstanden :wink:

Werd es gleich mal ausprobieren...


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz