AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL-MasterDetail Beziehung herstellen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-MasterDetail Beziehung herstellen

Ein Thema von sniper_w · begonnen am 7. Dez 2005 · letzter Beitrag vom 8. Dez 2005
Antwort Antwort
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#1

SQL-MasterDetail Beziehung herstellen

  Alt 7. Dez 2005, 21:26
Datenbank: mySQL • Version: 4.0.23 • Zugriff über: Mit dem Programm "MySQL-Front" (auch Delphi+Zeos)
Es gibt 2 Tabellen ( type = myISAM ):
Master:
1. Kunden ( ID = int(3)unsigned primary auto_increment, Name=varchar 30, Vorname=varchar 30 )
Detail:
2. Bestellungen ( ID = int(3)unsigned primary auto_increment, ArtNr=varchar 30, Menge=int, Preis=double )

Jetzt würde ich gerne zur Tabelle "Bestellungen" noch ein Feld hinzufühgen, KundenID = forign key (Kunden.ID). Wie ? Gehe ich irgendwie falsch vor? Wird dadurch eine Master/Detail Beziehung hergestellt ? Wenn nicht, wie denn dann ? Danke .
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: SQL-MasterDetail Beziehung herstellen

  Alt 8. Dez 2005, 08:16
Moin.

Zitat von sniper_w:
Jetzt würde ich gerne zur Tabelle "Bestellungen" noch ein Feld hinzufühgen, KundenID = forign key (Kunden.ID). Wie ?
So etwa könnte das aussehen:

SQL-Code:
CREATE TABLE Bestellungen (
  Id INT(3) UNSIGNED PRIMARY AUTO_INCREMENT,
  ArtNr VARCHAR (30),
  Menge INT,
  Preis DOUBLE,
  KundenId INT,
  INDEX xKunden (KundenId),
  FOREIGN KEY (KundenId) REFERENCES Kunden(Id)
)
Eine Master-Detail-Beziehung ist ein konzeptionelles Konstrukt - du kannst versuchen es in der Datenbank angemessen nachzubilden, aber das RDBMS weiß nicht was es bedeutet.

Grüße vom marabu
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#3

Re: SQL-MasterDetail Beziehung herstellen

  Alt 8. Dez 2005, 09:10
Wenn ich mich richtig erinnere sind Foreign Keys unter MySQL allerdings nur bei Tabellen vom Typ INNODB unterstützt. Bei MyIsam kann man das zwar angeben, aber die Referentielle Integrität wird nicht geprüft.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: SQL-MasterDetail Beziehung herstellen

  Alt 8. Dez 2005, 10:08
Zitat von dfried:
Wenn ich mich richtig erinnere sind Foreign Keys unter MySQL allerdings nur bei Tabellen vom Typ INNODB unterstützt. Bei MyIsam kann man das zwar angeben, aber die Referentielle Integrität wird nicht geprüft.
Das stimmt.

Die Frage ist ja aber, er will eine Spalte hinzufügen, und nicht gleich die Tabelle neu erstellen:
SQL-Code:
alter table Bestellungen
Add KundenID int NULL
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: SQL-MasterDetail Beziehung herstellen

  Alt 8. Dez 2005, 10:29
Hi Tom,

dann fehlt noch:

SQL-Code:
ALTER TABLE Bestellungen
  ADD FOREIGN KEY (KundenId) REFERENCES Kunden(Id)
marabu
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: SQL-MasterDetail Beziehung herstellen

  Alt 8. Dez 2005, 10:39
Yupp... Aber weil das unter MyISAM eh nichts ändert
  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 06:46 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