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
mkinzler
(Moderator)

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

AW: Warum Primary Key und/oder Foreign Key ?

  Alt 4. Jul 2010, 14:22
Jein.
Besseres Beispiel

Rechnung:
Code:
ID   Kunde Datum
...
1087  156   02.01.2010
1088  154   02.01.2010
...
Rechungspositionen:

Code:
ID   Rechnung Artikel Anzahl EP
...
7654  1087      1567    2      1,5
7655  1087      1876    3      0,99
7656  1087      765     1      2
7657  1088      1567    1      1,5
7658  1088      2345    6      0,2
...
Die ID Felder sind PK
Kunde, Rechnung Artikel sind PKs ( hiewrbei betrachte ich aber nur die Master/Detail Beziehung zwischen REechnungsposition und Rechnung.
Alle Positionen mit dem selben Wert in Rechnung gehören zu einem Eintrag in der Rechnugstabelle
Für rechnung sind nur Werte in der Tabelle Rechnung möglch. Wenn man ein delete-On-Cascade als Löschregel deklariert, werden alle Rechnungspositionen zur einer rechnung mitgelöscht, wenn diese aus der rechnungstabelle entfernt wird
-> Löscht man den Datensatz mit der ID 1087 aus der Tabelle Rechnung werden die Datensätze mit den IDs 7654, 7655, 7656 aus der Tabelle Rechnungspositionen mitgelöscht
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

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.879 Beiträge
 
Delphi 11 Alexandria
 
#3

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


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 17:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz