Entwickler-Ecke
Datenbanken - Film Datenbank Entwurf
eruhenon - Mi 13.06.07 16:43
Titel: Film Datenbank Entwurf
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 - 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
azubi_20 - 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 - 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 - 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
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!