Autor Beitrag
eruhenon
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53



BeitragVerfasst: Mi 13.06.07 16:43 
Moin!
Ich muss für die Schule eine Filmdatenbank schreibn. Bislang hatte mein Entwurf folgender massen ausgesehn:

T_primary
mit Titel,Bewertung,FSprache(fremdschlüsel sind alle bei mir mit einem F vorangestellt), FDarsteller1, Fdarsteller2 bis5

T_darsteller
Darsteller


Das Problem ist nun entstanden wenn ich versuche per sql entsprchend zu verknüpfen meckert Delphi rum (ist ja auch verständlich) und zwar bei den Darstellern. Es zeigt mir ja nur ein Feld an mit dem Wert Darsteller. und nicht Darsteller1-5. Da ich mir die Namen anzeigen lassen will und nciht die Zahlen^^.

Hoffe es hat jemand das Problim aus meiner etwas konfusen beschreibung verstanden... =)

thx
JensLaskowski
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 168

Win XP
BDS 2006 Architect
BeitragVerfasst: Mi 13.06.07 17:20 
Wäre gut, wenn du deinen SQL String mal posten würdest.

Benuzt du ein left outer join??

Mit freundlichen Grüßen
JensLaskowski

_________________
Nichtstun macht nur dann Spaß, wenn man eigentlich viel zu tun hätte.
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Mi 13.06.07 17:51 
ich würde noch einen dritten Typ bzw. Tabelle einführen, in der die Beziehung Film - Dasteller gespeichert ist :


T_primary
mit FilmID,Titel,Bewertung,FSprache(fremdschlüsel sind alle bei mir mit einem F vorangestellt), FFilm_DarstellerID

n:n-Beziehung

T_film_darsteller
ID
FDarstellerID
FFilmID

n:n-Beziehung

T_darsteller
DarstellerID
Darsteller

Auf diese Weise kannst du ausserdem beliebig viele Darsteller einem Film zuordnen.
eruhenon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53



BeitragVerfasst: Mi 13.06.07 20:34 
also mein sql-string sieht wie folgt aus:

select distinct * from T_primary , T_darsteller, t_besitzer, t_lable, t_sprache
where fsprache=id_sprache and flable=id_lable and fbesitzer=id_besitzer
and fdarsteller1=id_darsteller

würde bei der extra tabelle nicht dann ein film mehrfach angezeigt werden sobald er mehrere Schaupieler hat?
Agawain
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: Mi 13.06.07 21:54 
ja, aber nun kommt es ja auch drauf an, was Du machen willst.

Z.B. Ein Formular, da stellst Du die Einzeldaten des Films in einzelnen EditFeldern dar, als die Felder der Filmtabelle dar.

Die ist dann auch der Master...

unter diese hängst Du ein BDgrid, dort werden die Darsteller ls Detaildaten angezeigt.

Die weitere Vorgehensweise hängt von der Delphi-Version und den verwendeten Komponenten ab.

Was immer geht, Table-Komponenten dafür verwenden und in diesem Fall der Darstellertabelle als Mastersource die Filmtabelle anzugeben.
Dann müssen noch die Masterfields angegeben werden, also die Felder, die beide Tabellen verknüpfen.

Für eine Schulaufgabe wahrscheinlich die pragmatischste Lösung.

Eine weitere Möglichkeit wäre die Verwendung von parametrisierten Abfragen, lies mal in der Delphi-Hilfe dazu.

Gruß

Aga