11. Mai 200818 j hi, ich schreibe in der schule bald ne arbeit über datenbankentwicklung und bin auf der suche nach ein paar übungsaufgaben. es geht weniger um das anlegen der db in access, sondern eher um die erstellung der struktur (entitäten, kardinalitäten ...) aus einem text (kundengespräch z.b.) heraus. weiss jemand wo ich dazu übungsaufgaben herbekommen könnte um dies etwas zu üben, das was ich von der schule erhalten habe ist etwas sehr dürftig. thx!
11. Mai 200818 j Erstelle ein ERM, in dem die Mitarbeiter, Aufträge und Kunden abgebildet werden können. Jeder Mitarbeiter kann nur eine Reparatur gleichzeitig ausführen. Eine Kunde kann mehrere Autos auf einmal in der Werkstatt haben. Zur Vereinfachung kann nur ein Auto gleichzeitig repariert werden. Zu jedem Kunden gibt es eine Kundenkarte, die die Rechungen und Einzelaufstellungen der durchgeführten Tätigkeiten sowie den durchführenden Mitarbeiter beinhaltet. Begründe Deine Ausführungen und lade ein entsprechendes Modell als Bild hoch. Erstellen kannst Du dies mit Visio, Access, Openoffice oder einem anderen Tool deiner Wahl. Solltest du das einigermaßen lösen können, bist schon recht nahe an einer (kleinen) "real wold application" dran. Es fehlt zwar noch das eine oder Detail andere aber für eine Schulaufgabe mit einer 1+ sollte das auf jeden Fall reichen. Für Fragen, Auskünfte und Korrekturen stehen wir gerne zur Verfügung. Dim
11. Mai 200818 j cool, danke ! ich werde mich gleich morgen der aufgabe annehmen, und dann die lösung posten
12. Mai 200818 j Ok schaut schon mal nicht schlecht aus. Die Kundennummer in "Reparaturen" ist redundant, da sie bereits in "Aufträge" abgelegt ist. In einer echten Anwendung würde man sowas aber durchaus machen um die Performance zu erhöhen. Das nennt man dann Nenormalisierung. Allerdings kann laut deinem Modell zu einem Auftrag auch immer nur eine Reparatur erfolgen. Was ist wenn am Auto mehr zu machen ist? Z.B. 2 Jahres Service und Kotflügel ausbeulen. Zwischen "Aufträge" und "Reparaturen" muss also eine n:m Beziehung hergestellt werden, welche über eine Beziehungstabelle aufgelöst wird (z.B. "Auftragsposition"). Bei "Reparaturen" und "Art" hast es richtig gemacht. So müsstest Du auch vorgehen, wenn z.B. zwei Mitarbeiter an einem Auftrag arbeiten müssen. Des weiteren ist das Attribut "AutoNr" in "Kunden" falsch. Wenn, dann besitzt ein Kunde ein oder mehrere Autos aber er hat keine Autonummer. Auch würde das der Forderung widersprechen, dass ein Kunde mehrere Autos in der Werkstatt haben kann. Für das geforderte ist die AutoNr in "Aufträge" ausreichend. Dim
12. Mai 200818 j hm, aber auftrag und reparatur ist doch 1 zu n, d.h. doch, dass ein auftrag mehrere reparaturen beinhalten kann?
12. Mai 200818 j Nein. Aufträge - Reparaturen ist n:1 Da Du aber in der Praxis nicht ein und die selbe Reparatur einem anderen Auftrag zuweist, ist es faktisch eine 1:1 Beziehung. Eine Kunde hat einen oder mehrere Aufträge. Eine Auftrag beinhaltet eine oder mehrere Reparaturen. Dim
12. Mai 200818 j hab ich doch: ein kunde hat 1 oder mehrere aufträge ein auftrag beinhaltet 1 oder mehrere reparaturen eine reparatur hat 1 oder mehr vorgänge ...
12. Mai 200818 j Nein im Auftrag steht die Reparaturnummer. Die Reparaturnummer wiederum ist der PK der Tabelle Reparaturen und daher eindeutig. Ergo kannst Du in deinem Auftrag auf genau eine Reparatur verweisen. Dim
12. Mai 200818 j aber das ist doch bei reperatur und vorgänge das selbe, da ist ja die reperaturnummer auch eindeutig?
12. Mai 200818 j Nein. Hier hast Du eine n:m Auflösungstabelle. Vorgänge verbinden Reparaturen mit der Art. Das gleiche musst Du auch bei Aufträge und Reparaturen machen. In der Tabelle Vorgänge ist nur das Feld Nr eindeutig. ArtNr und ReparaturNr können öfter vorkommen. Dim
12. Mai 200818 j achso, also: Aufträge(AuftrasgNr, KundenNr, MitarbeiterNr, ReparaturNr, Datum, AutoNr, Uhrzeit) Kunden(KundenNr, Name, Vorname, Strasse, Plz, Ort, AutoNr) Reparaturen(ReparaturNr, KundenNr, Art) Art(ArtNr, Kosten, Dauer) Vorgänge(VorgangsNr, InhaltNr, ArtNr) Auftragsinhalt(InhaltNr, ReparaturNr, VorgangsNr) so, ich hoff ich hab jetzt nix durcheinander gebracht. Auftragsinhalt ist jetzt hinzugekommen und verbindet die Vorgänge mit den Reparaturen, jeweils 1:n, was dann wieder ein m:n ergibt.
12. Mai 200818 j Hmm nicht ganz. Auftragsinhalt hat die AuftragsNr, die Reparaturnummer und einen eigene PK der aber sonst nirgends referenziert wird. Dim
13. Mai 200818 j So ich hab mir jetzt mal in Word Dein ER-Modell auf der 1. Seite angesehen (OpenOffice kann das nicht darstellen) und das ist ja komplett anders als die Modellierung Die Du in Access gemacht hast. Zwischen Mitarbeiter und Aufträge besteht keine 1:1 Beziehung. Die Werkstatt wäre schnell pleite. Es ist eine1:n Verbindung wie sie in Access auch richtig modelliert wurde.Ist mir auch gestern Abend noch eingefallen: Mit der 1:n Beziehung zwischen Aufträge und Reparaturen hast natürlich recht (die n:m Auflösungstabelle ist nicht direkt falsch aber macht unnötigen Aufwand), allerdings hast das in Access falsch abgebildet. In Reparaturen gehört die AuftragsNr. und aus Aufträge die Reparaturnummer raus. Dim
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.