PDA

View Full Version : [FRAGE] - ER Relationen


SinusDiabolicus
28-05-2002, 21:43
bin jetzt grad mit den ER Relationen fertig gworden, hab aber teilweise das gefühl das sie zu simpel sind :-)

also wenn wem fad is, bitte bestätigen/korrigieren :-)

Legende:
Schlüssel
Relation.Fremdschlüssel
{Erklärung/Ergänzung}

1.)
Kunde (Kundennr, Name)
Firma (Name, Adresse)
Produkt (Bezeichnung, Kategorie)
Produktion (Firma.Name, Produkt.Bezeichnung, Produkt.Kategorie, Kosten)
Kauf (Kunde.Kundennr, Produkt.Bezeichnung, Produkt.Kategorie, Firma.Name, erstes Datum, letztes Datum)

2.)
Haus (Postleitzahl, Strasse, Hausnummer, Kategorie)
Stockwerk (Nummer, Haus.Postleitzahl, Haus.Strasse, Haus.Hausnummer, Fläche)
Wohnung (Türnummer, Stockwerk.Nummer, Haus.Postleitzahl, Haus.Strasse, Haus.Hausnummer, Fläche, Kategorie)

3.)
Wagon (Inventarnummer, Plätze, Baujahr)
Schlafwagon (Inventarnummer, Bad, 2 Bett/3 Bett)
Speisewagon (Inventarnummer, Klimaanlage)
Sitzwagon (Inventarnummer, Klasse)
Zug (Code, Name, Kategorie)
Verkuppelt{=Wagon gehört zu Zug} (Zug.Code, Wagon.Inventarnummer)
Bahnhof (Name, Bahnsteige)
Station (Zug.Code, Bahnhof.Name, Ankunft, Abfahrt)

4.)
Angestellter (SVNr, Name, Adresse, Gehalt, Bonus, Raum.Adresse, Raum.Raumcode, Abteilung.Nummer, Angestellter.SVNr) {2te SVNR=Vorgesetzter)
Raum (Adresse, Raumcode, Fläche)
Abteilung (Nummer, Name, Angestellter.SVNr) {Angestellter.SNVr=Leiter}
{Ich weiss das man Abteilungszugehörigkeit und Abteilungsleiter unter Umständen durch eigene Relationen ausdrücken kann, find das hier aber nicht nötig und hoff das es reicht wenn ich dem tutor sag das ich eh weiss daß/wie es anders geht}

5.)
Werk (Name, Komponist, Datum)
Musiker (Name, Adresse, Geburtsdatum)
Instrument (Name, Ton hoch, Ton tief)
CD (ISSNr, Titel, Firma)
Beherrscht (Musiker.Name, Musiker.Adresse, Instrument.Name)
Aufnahme (Datum, Tonstudio, Werk.Name, Werk.Komponist, Musiker.Name, Musiker.Adresse, Instrument.Name, Dauer)
{wenn man annimmt das ein Musiker auch mehrere Instrumente bei der gleichen Aufnahme spielt muss man Instrument auch als schlüssel nehmen, davon geh ich aber nicht aus}
Track (CD.ISSNr, Aufnahme.Datum, Aufnahme.Tonstudio, Werk.Name, Werk.Komponist)

Shade
28-05-2002, 21:51
bei aufnahme hatse zuviel schlüssel ist nur ne weak entity von werk...

Shade
28-05-2002, 21:59
ausserdem scheint ne relation für spielt zu fehlen...
aber sonst hab ich keinen fehler gefunden
:)

Lukas
28-05-2002, 22:36
Angestellter (SVNr, Name, Adresse, Gehalt, Bonus, Raum.Adresse, Raum.Raumcode, Abteilung.Nummer, Angestellter.SVNr) {2te SVNR=Vorgesetzter)
Raum (Adresse, Raumcode, Fläche)
Abteilung (Nummer, Name, Angestellter.SVNr) {Angestellter.SNVr=Leiter}
{Ich weiss das man Abteilungszugehörigkeit und Abteilungsleiter unter Umständen durch eigene Relationen ausdrücken kann, find das hier aber nicht nötig und hoff das es reicht wenn ich dem tutor sag das ich eh weiss daß/wie es anders geht}

also das stimmt so sicher nicht, du brauchst eine eigene relation sitzt_in(svnr, adresse, raumcode) und vorgesetzt(svnr, vorgesetzter_svnr). sonst kannst du beim angestellten wenn er in keiner abteilung arbeitet oder keinen vorgesetzten hat nullwerte haben.
für abteilungsleiter darfst du aber keine eigene relation machen weil das redundant wäre.
hat mir der tutor alles so erklärt, sollte also stimmten.

wennst einen netten tutor erwischst akzeptiert er deine lösung vielleicht auch, aber ich würd mich nicht drauf verlassen. ich hab alles richtig gehabt, nur hab ich eine relation leitet(nummer, svnr) dabei gehabt, die seiner meinung nach redundant war -> das beispiel war falsch.

SinusDiabolicus
28-05-2002, 23:25
naja, die sache mit den nullwerten is halt die, das die ja nicht prinzipiell verboten sind, und nur am ER-diagramm allein sieht man ja nicht wos erlaubt sind und wo nicht...
aber ok, sicher is sicher ;-)

@ shade
'spielt' hab ich zu 'Aufnahme' dazugetan, deshalb auch die schlüssel Musiker.* und Instrument.*
würds mit der erklärung passen? (weil ich mein um 'spielt' einer bestimmten aufnahme zuzuordnen muss ich ja erst wieder die schlüssel aus 'werk' hinzufügen weil eben 'aufnahme' nur eine weak entity is)

Shade
29-05-2002, 00:01
also ich glaub nicht ob du so einfach eine relation und eine entity zusammenfassen kannst.also ich hab zumindets nicht gehört das sowas geht... bin aber auch kein experte
ich weiss aber auf alle fälle das die version mit Spielt seperat richtig ist...

JimmyNeutron
05-06-2002, 23:47
frage: gehört bei BSP 4 nicht eine eigene Relation mit sitzt_in???
und kann mir irgendwer sagen der schon abgabe gehabt hat, ob alle Beispiele so stimmen??

danke!!

SinusDiabolicus
06-06-2002, 03:28
also so wie ichs oben ghabt hab stimmen nicht alle, hier meine bsp wie ich sie abgegeben hab, die müssten eigentlich stimmen (dwas schlüssel sind kann man sich hoffentlich denken, ich bin zu müd und zu unnüchtern um das noch zu formatieren ;-))

1.)
Kunde (Kundennr, Name)
Firma (Name, Adresse)
Produkt (Bezeichnung, Kategorie)
Produktion (Firma.Name, Produkt.Bezeichnung, Produkt.Kategorie, Kosten)
Kauf (Kunde.Kundennr, Produkt.Bezeichnung, Produkt.Kategorie, Firma.Name, erstes Datum, letztes Datum)

2.)
Haus (Postleitzahl, Strasse, Hausnummer, Kategorie)
Stockwerk (Nummer, Haus.Postleitzahl, Haus.Strasse, Haus.Hausnummer, Fläche)
Wohnung (Türnummer, Stockwerk.Nummer, Haus.Postleitzahl, Haus.Strasse, Haus.Hausnummer, Fläche, Kategorie)

3.)
Wagon (Inventarnummer, Plätze, Baujahr)
Schlafwagon (Inventarnummer, Bad, 2 Bett/3 Bett)
Speisewagon (Inventarnummer, Klimaanlage)
Sitzwagon (Inventarnummer, Klasse)
Zug (Code, Name, Kategorie)
Verkuppelt (Zug.Code, Wagon.Inventarnummer)
Bahnhof (Name, Bahnsteige)
Station (Zug.Code, Bahnhof.Name, Ankunft, Abfahrt)

4.)
Angestellter (SVNr, Name, Adresse, Gehalt, Bonus)
Raum (Adresse, Raumcode, Fläche)
Abteilung (Nummer, Name, Angestellter.SVNr)
sitzt in (Angestellter.SVNR, Raum.Adresse, Raum.Raumcode)
Vorgesetzter (Angestellter.SVNr, Angestellter.SVNr)
in Abteilung (Angestellter.SVNr, Abteilung.Nummer)

5.)
CD (ISSNr, Titel, Firma)
Werk (Name, Komponist, Datum)
Instrument (Ton tief, Ton hoch, Name)
Aufnahme (Datum, Tonstudio, Dauer, Werk.Name, Werk.Komponist)
Musiker (Name, Adresse, Geburtsdatum)
Beherrscht (Musiker.Name, Musiker.Adresse, Instrument.Name)
Spielt (Aufnahme.Datum, Aufnahme.Tonstudio, Musiker.Name, Musiker.Adresse, Instrument.Name)
Erscheint (CD.ISSNr, Aufnahme.Datum, Aufnahme.Tonstudio, Werk.Name, Werk.Komponist)

Heavy
06-06-2002, 22:22
Wie kommt man bitte auf die Beziehung "verkuppelt"? :confused:
Im Buch steht, dass bei der ist-Beziehung, die Entities (ohne Pfeilspitze) jeweils den Primärschlüssel der Entity(mit Pfeilspitze) übernehmen.

Lukas
07-06-2002, 11:15
zwischen zug und wagon is auch eine ganz normale beziehung und keine ist-beziehung

SinusDiabolicus
08-06-2002, 06:31
genau...
der name der beziehung is viell. ein bisschen unglücklich gewählt *gg*
soll heissen das ein wagon zu dem zug gehört, also damit verkuppelt is :-)
und 'zug ist wagon' oder umgekehrt is ja nicht ;-)
die ist beziehung in dem bsp is ja nur zw. wagon und schlaf/speise/sonstwas-wagon

Ronin
10-06-2002, 01:22
ad BEISPIEL 5

@sinus diabolicus

ich glaube auch dass die relation SPIELT so lautet:

SPIELT (INSTRUMENT.NAME, MUSIKER.NAME, MUSIKER.ADRESSE, AUFNAHME.DATUM, AUFNAHME.TONSTUDIO, und , WERK.NAME, WERK.KOMPONIST)

was sagt IHR dazu ??????????? schlüssel von aufnahme geüngt nicht (siehe WEAK ENTITY), ergo SCHLÜSSEL von WERK werden hinzugefügt.