| Autor |
Nachricht |
y-vonne
Unregistrierter
|
y-vonne Unregistrierter
08:35:02 28.03.2012 Titel: |
Designfrage |
Zitieren |
Hallo zusammen.
In meiner Datenbanken habe ich zwei Tabellen. Nehmen wir mal ein Beispiel.
Student und Studienfach. Hier habe ich nun eine n zu n Beziehung. Und habe dazu eine Zwischentabelle: StudentStudienfach. Jetzt würde ich mir gerne noch in einer Spalte merken wär der beste Student im jeweiligen Studienfach war.
Jetzt habe ich zwei Möglichkeiten: Entweder habe ich in der Zwischentabelle eine Spalte mit bool bester true/false. Oder ich merke mir in Studienfach eine Spalte, bester Student, den Schlüssel von Student.
Welches ist die schönere / bessere Lösung?
In beiden gibt es einen Nachteil. Mit der bool Variante kann man mehrere Studenten in einem Studienfach auf true setzen. Was nicht vorkommen darf.
In der anderen Lösung kann ich aber einen Studenten als besten setzten der gar nicht dieses Studienfach besucht.
(Bitte nicht als Lösung sagen ich kann mir auch die Noten merken und daraus dann den besten ermitteln, es ist hier nur ein Beispiel. Sagen wir einfach Walddorf Uni es gibt keine Noten und nur einen besten :-) ) |
|
|
|
 |
x++
Unregistrierter
|
x++ Unregistrierter
09:43:28 28.03.2012 Titel: |
|
Zitieren |
Nimm die 3. Lösung:
Neue Tabelle StudentStudienfachBester. In der verknüpfst du einfach einen Datensatz aus StudentStudienfach mit deiner boolschen Spalte. Das Studienfach darf nur einmal in der Tabelle StudentStudienfachBester vorkommen. |
|
|
|
 |
y-vonne
Unregistrierter
|
y-vonne Unregistrierter
10:26:19 28.03.2012 Titel: |
|
Zitieren |
Ok. Habs aber nur halbwegs verstanden. Für was brauch ich dann noch die boolsche Spalte? |
|
|
|
 |
y-vonne
Unregistrierter
|
y-vonne Unregistrierter
10:17:41 29.03.2012 Titel: |
|
Zitieren |
Also doch keine so gute Lösung.
Irgendjemand noch einen verständlichen Vorschlag? |
|
|
|
 |
LOLAlter
Unregistrierter
|
LOLAlter Unregistrierter
14:36:29 29.03.2012 Titel: |
|
Zitieren |
Dritte Tabelle
Studienfachbester mit Referenz auf Studienfach und Referenz auf Student.
Warum sollte man die Info an den JOIN Table hängen?
LOL Alter! Wenn ich sowas lese, lolt es mich regelrecht weg. Da roflt es mir frei die Fußnägel weg. |
|
|
|
 |
y-vonne
Unregistrierter
|
y-vonne Unregistrierter
15:15:51 29.03.2012 Titel: |
|
Zitieren |
Also nur raus mit den Vorschlägen LOLAlter. |
|
|
|
 |
LOLAlter
Unregistrierter
|
LOLAlter Unregistrierter
15:52:04 29.03.2012 Titel: |
|
Zitieren |
Das oben war mein Vorschlag.
Mach eine dritte Tabelle Studiengangsbester. Dort eine Referenz auf Studiengang und eine Referenz auf Student, also den besten des jeweiligen Studiengangs. |
|
|
|
 |
hustbaer
Mitglied
Benutzerprofil
Anmeldungsdatum: 27.10.2006
Beiträge: 16045
|
hustbaer Mitglied
22:53:25 29.03.2012 Titel: |
|
Zitieren |
| Code: | 1 2 3 4 5 6 7 8 9 | CREATE TABLE das_kann_doch_nicht_so_schwer_zu_verstehen_sein
(
INT Studienfach_ID NOT NULL PRIMARY KEY,
INT Student_ID NOT NULL,
CONSTRAINT der_muss_das_auch_studieren
FOREIGN KEY(Studienfach_ID, Student_ID)
REFERENCES StudentStudienfach(Studienfach_ID, Student_ID)
) | | |
_________________ "Let there be Licht..." http://lichttools.sourceforge.net/
Sehr cooles ASCII Spiel (leider nicht von mir): ASCII-Scramble - http://www.roskakori.at/ascii/
Zuletzt bearbeitet von hustbaer am 22:54:11 29.03.2012, insgesamt 1-mal bearbeitet |
|
 |
x++
Unregistrierter
|
x++ Unregistrierter
10:43:36 30.03.2012 Titel: |
|
Zitieren |
Hm ja genau so hatte ich das auch gemeint. Ziemlich doof wenn man erst nach 2 Tagen wieder in den Thread schaut |
|
|
|
 |
y-vonne
Unregistrierter
|
y-vonne Unregistrierter
14:06:57 30.03.2012 Titel: |
|
Zitieren |
Bitte was LOLAlter. Komm mal zurück zur deutschen Sprache.
Ich dachte bei einer dritten Tabelle lolt es dich regelrecht weg. Oder auf was hast du das bezogen.
@hustbear. Wenn ich das mit einem Constraint machen könnte, dann könnte ich ja genauso in Studienfach hinterlegen wer der beste ist. Dazu bräuchte ich ja keine 3 Tabelle.
Da ich aber das EntityFramwork von .Net verwende kann ich keine Constraints anlegen. |
|
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|