AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Warum Primary Key und/oder Foreign Key ?
Thema durchsuchen
Ansicht
Themen-Optionen

Warum Primary Key und/oder Foreign Key ?

Ein Thema von RWarnecke · begonnen am 4. Jul 2010 · letzter Beitrag vom 4. Jul 2010
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#11

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 17:55
Hi,

Edit : Das hätte ich ja beinahe vergessen, müssen eigentlich die verknüpften Felder immer den gleichen Namen haben und als PK deklariert sein ?
Weder noch


Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 17:57
Zitat:
Das hätte ich ja beinahe vergessen, müssen eigentlich die verknüpften Felder immer den gleichen Namen haben und als PK deklariert sein ?
Den gleichen Namen nicht, aber sie müssen PK sein
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#13

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 18:17
Hallo Markus, Hallo Frederic,

danke für euren Hinweis. Habe auch jetzt das Beispiel von Markus hinbekommen.


Das sind die Vorteile, die ich im Moment von den Schlüsseln ersehe :
  • Update der verknüpften Felder über mehrere Tabellen hinweg.
  • Löschen von allen Datensätzen über mehrere Tabellen, die über die Felder verknüfpft sind.
  • Einträge in der Detail-Tabelle können erst gemacht werden, wenn der verknüpfte Datensatz in der Master-Tabelle eingetragen ist.

Gibt es noch weitere Vorteile und gibt es irgendwelche Stolpersteine, die man beachten sollte ? Wie zum Beispiel das die Änderungsregel und die Löschregel jeweils durchgehend gleich ist.
Was ist hiermit, gibt es noch weitere Vorteile und gibt es noch Stolpersteine die man beachten muss ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 18:40
Zitat:
* Update der verknüpften Felder über mehrere Tabellen hinweg.
Jein, bnötigt etwas Mehrarbeit und würde auch ohne Fremdschlüssel gehen, dann aber u.U. mit deutlich mehr Aufwand
Zitat:
* Löschen von allen Datensätzen über mehrere Tabellen, die über die Felder verknüfpft sind.
Oder Verhinderung der Löschung von datensätzen in Mastertabellen, wenn noch Detaildatensätze bestehen
Zitat:
* Einträge in der Detail-Tabelle können erst gemacht werden, wenn der verknüpfte Datensatz in der Master-Tabelle eingetragen ist.
Ja

Zitat:
Gibt es noch weitere Vorteile und gibt es irgendwelche Stolpersteine, die man beachten sollte ?
Bezieht sich deine Frage auf das Konstrukt oder das Prinzip?
Zitat:
Wie zum Beispiel das die Änderungsregel und die Löschregel jeweils durchgehend gleich ist.
Derartige Regeln sollte man sich gut überlegen und ggf durch Rechteverwaltung schützen, denn eine kaskadierender delete eines falschen Datensatzes könnte bei entsprechenden Struktur zum Leeren der gesamten Datenbank führen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#15

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 18:51
Zitat:
* Update der verknüpften Felder über mehrere Tabellen hinweg.
Jein, bnötigt etwas Mehrarbeit und würde auch ohne Fremdschlüssel gehen, dann aber u.U. mit deutlich mehr Aufwand
Dann habe ich glaube ich Dein Beispiel falsch umgesetzt. Denn ich habe in der Tabelle Rechnung nur die Spalte ID und in der Tabelle Rechnungsposition die Spalte Rechnung als PK gesetzt. Zusätzlich habe ich dann noch den FK in der Tabelle Rechnungsposition gesetzt und damit die beiden PK's verbunden. Ich nehme mal an, das war nicht ganz das was Du mit dem Beispiel erreichen wolltest oder ? Siehe Beispiel von David.

Zitat:
Gibt es noch weitere Vorteile und gibt es irgendwelche Stolpersteine, die man beachten sollte ?
Bezieht sich deine Frage auf das Konstrukt oder das Prinzip?
Auf beides. Wo gibt es welche und worauf sollte man achten ?

Zitat:
Wie zum Beispiel das die Änderungsregel und die Löschregel jeweils durchgehend gleich ist.
Derartige Regeln sollte man sich gut überlegen und ggf durch Rechteverwaltung schützen, denn eine kaskadierender delete eines falschen Datensatzes könnte bei entsprechenden Struktur zum Leeren der gesamten Datenbank führen
Wie sieht das hier aus mit SET DEAFULT und SET NULL ?

Ein weiterer Vorteil ist, dass ich immer eine sortierte Tabelle nach dem PK habe.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#16

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 18:53
Hi!

Zitat:
Das hätte ich ja beinahe vergessen, müssen eigentlich die verknüpften Felder immer den gleichen Namen haben und als PK deklariert sein ?
Den gleichen Namen nicht, aber sie müssen PK sein
Bist du dir da sicher?
Afaik muss es nur ein Kandidatenschlüssel sein (klar), aber eben nicht der PK. Wiki (englisch zumindest) gibt mir da auch recht...


Grüße, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#17

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 19:00
Stimme hier Frederic mit meinem doch begrenzten Wissen zu dem Thema zu. Habe eben ein Feld als Uniques deklariert und konnte dieses in den FK einfügen und verbinden, zumindest unter Firebird.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 19:04
Zitat:
Dann habe ich glaube ich Dein Beispiel falsch umgesetzt. Denn ich habe in der Tabelle Rechnung nur die Spalte ID und in der Tabelle Rechnungsposition die Spalte Rechnung als PK gesetzt.
Ja den in beiden Tabellen wäre es die Spalte ID. Die Spalte Rechnung der Positionstabelle ist der Fremdschlüssel der den Primärschlüssel der Mastertabelle (Rechnung) referenziert.

Zitat:
Zusätzlich habe ich dann noch den FK in der Tabelle Rechnungsposition gesetzt und damit die beiden PK's verbunden. Ich nehme mal an, das war nicht ganz das was Du mit dem Beispiel erreichen wolltest oder ?
Nein, hatte aber genau geschrieben, was PK und was FK ist.

Zu solltest dir vielleicht im Allgemeinen mal die Grundlagen von relationalen Datenbanksystemen anschauen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#19

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 19:13
Zitat:
Dann habe ich glaube ich Dein Beispiel falsch umgesetzt. Denn ich habe in der Tabelle Rechnung nur die Spalte ID und in der Tabelle Rechnungsposition die Spalte Rechnung als PK gesetzt.
Ja den in beiden Tabellen wäre es die Spalte ID. Die Spalte Rechnung der Positionstabelle ist der Fremdschlüssel der den Primärschlüssel der Mastertabelle (Rechnung) referenziert.

Zitat:
Zusätzlich habe ich dann noch den FK in der Tabelle Rechnungsposition gesetzt und damit die beiden PK's verbunden. Ich nehme mal an, das war nicht ganz das was Du mit dem Beispiel erreichen wolltest oder ?
Nein, hatte aber genau geschrieben, was PK und was FK ist.
In dem Beitrag mit Deinem Beispiel steht leider nichts vom FK drin. Werde es aber nochmals mit der jetzigen Bemerkungen versuchen umzusetzen.

Zu solltest dir vielleicht im Allgemeinen mal die Grundlagen von relationalen Datenbanksystemen anschauen.
Hättest Du dazu ein paar gute Links ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 19:18
Zitat:
In dem Beitrag mit Deinem Beispiel steht leider nichts vom FK drin.
Doch
Zitat:
Die ID Felder sind PK
Kunde, Rechnung Artikel sind PKs ( hiewrbei betrachte ich aber nur die Master/Detail Beziehung zwischen REechnungsposition und Rechnung.
Zitat:
Hättest Du dazu ein paar gute Links ?
http://de.wikipedia.org/wiki/Relationale_Datenbank
http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
http://www.ib.hu-berlin.de/~is/rel-db2.htm
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:57 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