MySQL, Problem mit 1:n Beziehung.

Hi

Eine Tabelle mehr wäre eine Möglichkeit. Ist dann halt noch eine Tabelle mehr die gejoint wird.

Saison:
ID smallint (PK)
name varchar
short varchar
full varchar
year varchar
complete varchar
single char

Rennen:
ID smallint (PK)
name varchar
land smallint
season smallint
season2 smallint
season3 smallint
date date

Ich würde das so machen:

Nimm die season, season2, season3 aus der Tabelle Rennen. Also so

Code:
TABRennenDef:
nRennID  smallint  (PK)
nLandID  smallint
szName    varchar
dtDate  date

Code:
TABSaisonDef:
nSaisonID   smallint  (PK)
szName  varchar
szShort  varchar
szFull  varchar
szYear  varchar
szComplete  varchar
single  char

Die Tabelle Saison kannst du so lassen. Weiß zwar nicht was das alles bedeuten soll aber ok :)

Die Zuord Tabelle machst du dann in etwa so:

Code:
TABSaisonRennenZuord
nSaisonID smallint  (PK)
nRennID  smallint  (PK)
usw.

Somit kannst du jedes Rennen jeder Saison genau einmal zuordnen wegen dem join das wird dann noch leicher glaub mir den jede Kombi gibt es genau einmal.

lg
 
Zuletzt bearbeitet:
Hallo,

was du weis oder nicht weis ist mir egal.
Wenn man in der Literatur sucht , um mal über den Tellerand zu schauen, dann weis der Autor und jeder Leser eben wonach er suchen muss.
Das ging aus deiner zweifellos richtigen Antwort nicht hervor. Mehr wollte ich nicht sagen.

Grüße

P.S: Glückwunsch zur Berufserfahrung!
 
Hallo,

was du weis oder nicht weis ist mir egal.
Wenn man in der Literatur sucht , um mal über den Tellerand zu schauen, dann weis der Autor und jeder Leser eben wonach er suchen muss.
Das ging aus deiner zweifellos richtigen Antwort nicht hervor. Mehr wollte ich nicht sagen.

Grüße

P.S: Glückwunsch zur Berufserfahrung!

Ich weiß nicht warum du mich jetzt so anmachst ? Ich habe doch nur versucht ihm zu Helfen
 
Naja ich brauch mir das nicht ansehen ^^ ich bin ja schon seit jahren in dem Job. Fals du mich mit der Ausage gemeint hast

Ich mache niemanden an. Ich hab nur erklärt was ich aussagen wollte.
Ich habe klar stellen wollen, was ich gemeint habe. Du hast mehr oder weniger gefragt, ob ich dich damit meine.
Ich habe geantwortet wen ich meine und warum ich das gepostet habe.

Grüße
 
Wie du siehst hat er auf deinen Vorschlag einer Kreuztabelle nicht geantwortet was mich vermuten ließ das er nicht weiß was das ist, also habe ich versucht ihm zu erklären wie er vorgehen kann mehr nicht.... naja viel spass noch.

@bgauch viel glück noch du schaffst das schon
 
Na und das ist doch das Gute an diesem Forum. Man bekommt Hilfestellung zu konkreten Problemen und Literaturhinweise.
 
Was bitte ist eine Kreuztabelle?

Ohne mal klugscheissen zu wollen ... was er braucht ist eine n:m Relation und die hat genau zwei Spalten, nämlich die IDs beider Tabellenzeilen, die in Relation zueinander stehen.

Eine KREUZTABELLE ist eine Tabellenverknüpfung zwischen zwei Tabellen, deren Ergebnis eine dynamische Anzahl SPALTEN hat und somit relational in dieser Form nicht speicherbar ist, sondern vielmehr das aufbereitete Ergebnis eines JOINS zwischen den drei Tabellen (T1, n:m Relation, T2).

Grüße
gore
 
Eine KREUZTABELLE ist eine Tabellenverknüpfung zwischen zwei Tabellen, deren Ergebnis eine dynamische Anzahl SPALTEN hat und somit relational in dieser Form nicht speicherbar ist, sondern vielmehr das aufbereitete Ergebnis eines JOINS zwischen den drei Tabellen (T1, n:m Relation, T2).

Grüße
gore

Aha ok danke für den hinweiß :)

Was bitte ist eine Kreuztabelle?

Ohne mal klugscheissen zu wollen ... was er braucht ist eine n:m Relation und die hat genau zwei Spalten, nämlich die IDs beider Tabellenzeilen, die in Relation zueinander stehen.

Naja das hat er ja dann mit der TABSaisonRennenZuord oder ? vll kann er noch ein art szBesch mit einfügen wo er sich noch einen Hinweiß verspeichern kann.
lg
 
Hallo,
ich habe dein Problem jetzt gerade kurz überflogen. Ich glaube die Lösung deines Problemes sind Kreuztabellen (m : n).

So dann nochmal zu Literatur:

http://www.fb6.info/winf/bernd_bluemel/scriptewi1/datenbank.pdf

... ist ein Script oder so. Habe es gerade gefunden. Glaub S.18/19 mit einem schönen Bild wie ich finde.

Hier ist dann wohl ein Problem mit der Bennennung aufgetaucht (durch mich). Eine solche Tabelle wird mit Verbindungs- oder Beziehungstabelle
bezeichnet. Wobei die Antwort von Xervos noch immer richtig bleibt, ohne mal klugscheissen zu wollen.
 
jein, eine beziehungsrelation ist nicht dasselbe wie eine kreuztabelle.

aber gemeint hat xervos das richtige. du brauchst etwas, was dir die schlüssel aus A auf die schlüssel von B abbildet. wird diese beziehungsrelation mit attributen angereichert spricht man datenbänkisch von einer attributierenden beziehungsrelation, während der OO-mensch von assoziationsklasse spricht.

[EDIT]

wenn du das ganze in ein klassenmodell verpacken kannst, kannst du genau dieses modell in eine datenbank bringen.

der klassische ERM-Ansatz ist zwar generell richtig, beisst sich aber an einigen stellen mit objektorientierten programmen.

[/EDIT]


grüße
gore
 
Zuletzt bearbeitet:
Zurück