Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: [SQL] brauche hilfe bei vielen N:M verkn.

  Alt 5. Mai 2008, 14:58
Ich mach dir mal die Abfrage für eine N:M Beziehung:
SQL-Code:
SELECT fdb_musik.*,
fdb_komponisten.vorname,
fdb_komponisten.nachname,
fdb_komponisten.Webseite
 FROM
fdb_musik LEFT OUTER JOIN fdb_kom ON fdb_musik.musikid=fdb_kom.fdb_musik_musikid
LEFT OUTER JOIN fdb_komponisten ON fdb_komponisten.kid=fdb_kom.fdb_komponisten_kid
Hinweise:
1.) ich habe LEFT OUTER JOIN anstelle von INNER JOIN verwendet, damit auch die Datensätze von Tabelle "fdb_musik" geliefert werden, bei denen kein Komponist eingetragen ist
2.) das Feld "WebSeite" ist viel zu kurz; mach varchar(255) draus
3.) für meinen Geschmack übertreibst du es mit dem Prefix "fdb_"; weniger ist manchmal mehr
4.) weitere Tabellen lassen sich wie oben gezeigt mit LEFT OUTER JOIN verknüpfen. Mach mal mit fdb_label weiter.

Nachtrag:
Bei den Tabellen für die N:M Verknüpfung hast du jeweils einen eigenen Index auf die Fremdschlüsselfelder gelegt.
Es sollte aber nur ein Index, der beide Felder umfasst vorhanden sein. Dieser Index sollte Unique sein, damit doppelte Einfügungen verhindert werden.
Andreas
  Mit Zitat antworten Zitat