der_tommy Geschrieben 11. Mai 2002 Geschrieben 11. Mai 2002 hi, zu dem Thema kam auch relativ wenig im Forum dran. Ein Werkenlehrer führt folgende Tabelle: Name: Meier Daniel Klasse: 2C KL-Lehrer: Hew Fachnoten: 3,4,5 Fleissnoten: 2,3,3 Name: Aebi Daniel Klasse: 2C KL-Lehrer: Hew Fachnoten: 4,5,5 Fleissnoten: 5,5,4 Name: Hammer Sven Klasse: 1B KL-Lehrer: Kranz Fachnoten: 1,3 Fleissnoten: 6,6 Name: Caflisch Erika Klasse: 3A KL-Lehrer: Müller Fachnoten: 4,4,5 Fleißnote: 4,2,4 Name: Hammer Beatirce Klasse: 3A KL-Lehrer: Müller Fachnoten: 5,5,6 Fleissnoten: 6,6,6 Aufgabe 1 Wende die hier die 1. Normalform an! Aufgabe 2 Gehe von Aufgabe 1 in die zweite Normalform über und Stelle die Daten in der 2. Normalform dar. Aufgabe 3 Gehe von Aufgabe 2 in die dritte Normalform über und stelle die Daten in der 3. Normalform dar. Naja, und wer möchte kann dann noch das Relationsmodell mit Beziehungen etc. aufzeichnen Zitieren
Lachdanan Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 1.NF: Tabelle Schüler: Name: 'Meier' Vorname: 'Daniel' Klasse: '2C' KL-Lehrer: 'Hew' Fachnote1:3 Fachnote2:4 Fachnote3:5 Fleissnote1:2 Fleissnote2:3 Fleissnote3:3 2.NF: Tabelle Schüler: SchülerID:1 Primary Key Name: 'Meier' Vorname: 'Daniel' Klasse: '2C' KL-Lehrer: 'Hew' Fachnote1:3 Fachnote2:4 Fachnote3:5 Fleissnote1:2 Fleissnote2:3 Fleissnote3:3 3.NF: Tabelle Schüler: SchülerID: (serial) Primary Key Name: (varchar) bspw. 'Meier' Vorname: (varchar) bspw. 'Daniel' KlassenID: KlassenID (integer) Foreign Key KL-LehrerID: KL-LehrerID (integer) Foreign Key Fachnote1: NotenID (integer) Foreign Key Fachnote2: NotenID (integer) Foreign Key Fachnote3: NotenID (integer) Foreign Key Fleissnote1: NotenID (integer) Foreign Key Fleissnote2: NotenID (integer) Foreign Key Fleissnote3: NotenID (integer) Foreign Key Tabelle Klassen: KlassenID (Serial) Primary Key Klasse (varchar) bspw. '2C' Tabelle Lehrer: KL-LehrerID (Serial) Primary Key KL-Lehrer (varchar) bspw. 'Hew' Tabelle Noten: NotenID (Serial) Primary Key Note (integer) bspw. 1 Ich hoff Du meinst in etwa sowas:) ? Zitieren
Lachdanan Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Hmm, ich glaub bei der 2.NF hab ich was vergessen. Wer kann helfen ? Ich muss das bis Dienstag auch drauf haben Zitieren
ThimschE Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 muss man da net die PKs machen? oder nur einen? ich hät da jetzt die andren noch mitreingepackt. Zitieren
Ninsai Wan Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Also in der 2.Normalform musst jedes Attribut voll funktional vom Schlüssel abhängen. Wie SchülerNr , NotenNr , LehrerNr. ...da wir aber jetzt mehrere Primärschlüssel in der Tabelle Schüler haben müssen wir die Lehrer in eine separate Relation umwandeln und ihre Daten in eine eigene Tabelle bringen. is das für die 2.Normalform ausreichend??? Zitieren
HolzOnkel Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 ...glaubt ihr wirklich, dass sowas dran kommt? Ich meine, die meisten von uns werden sowieso "instinktiv" die dritte Normalform anwenden, wenn sie eine Datenbank aufziehen... Ausserdem kostet das doch eh nur viel zu viel Zeit in so einer Prüfung... ein Bekannter aus dem Prüfungsaussschuss hat gemeint, dass da alle Fachleute dagegen gewettert hätten, als die Sache zur Sprache kam... Gruss, der Onkel Zitieren
Lachdanan Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 @Ninsai-Wan So in etwa hatte ich mir das gedacht, nur was ist dann der genaue Unterschied zwischen 2. und 3.NF? (transitive Abhängigkeiten) Zitieren
ThimschE Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Ist bestimmt total falsch aber man kann es ja mal probieren aus Si er! *lach.. 1 NF: SchülerName Klasse Kl-Leher Fachnote Fleißnote 2 NF: SchülerID SchülerName LehrerID Kl_Lehrer NotenID Fachnote Fleißnote KlassenID Klasse 3 NF: Tabelle Schüler SchülerID (PK) SchülerName NotenID (FK) LehrerID (FK) KlassenID (FK) Raum Tabelle Lehrer LehrerID (PK) KlassenID( FK) Kl-Lehrer Name usw... Tabelle Klasse KlassenID (PF) Klasse Tabelle Noten NotenID (PK) Fleißnoten Fachnoten Zitieren
Ninsai Wan Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 ..ich versuche es zu erklären: Da in der 2.Normalform alle Nicht-Schlüssel-Attribute funktional abhängig von ihrem Primärschlüssel sind, können immer noch Anomalien auftreten. z.B. wenn du eine Note änderst, müsste diese in mehreren Datensätzen mit geändert werden Um das zu umgehen werden in der 3.Normalform die transitiven Abhängigkeiten (Abhängigkeit zwischen nicht Schlüsselattributen) in eigene Relatioenen bzw. Tabellen ausgelagert. Zitieren
adminmail Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Ich fürchte, ich werde hinsichtlich Normalformen wohl meine altbewährte Taktik anwenden: MUT ZUR LÜCKE Hier ist es aber ganz gut erklärt finde ich: http://ffm.junetz.de/members/reeg/DSP/node6.html#SECTION03240000000000000000 Zitieren
ThimschE Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 kann mal einer was zu meinem sagen? ist es falsch richtig oder was? Zitieren
ThimschE Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 und auf Seite 186 unten sind die Normalformen erklärt. Zweite Auflage Zitieren
Ninsai Wan Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 @ThimschE also in der 2.Normalform sollen ja alle Teile in eine eigene Tabelle ausgelagert werden. Also Zeilen mit unterschiedlichen Werten: 2 NF: SchülerID SchülerName KlassenID --------------- LehrerID Kl_Lehrer --------------- NotenID Fachnote Fleißnote --------------- KlassenID Klasse Wichtig sind die 1-N oder auch M-N Beziehungen. Wie z.B. Ein Schüler kann nur eine Klasse haben, aber 1 Klasse kann mehrere Schüler haben usw. Ich glaube so wie ich es dastehen habe ist es noch nicht ganz fertig, aber ich hoffe ich bin auf dem richtigen Weg. Zitieren
ThimschE Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 mom, ich hole mal unterlagen und hack das hier ein! Zitieren
ThimschE Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Also, Für ein Unternehmen, das Baumaschinen vermietet, ist eine Datenbank zu erstellen. 1. Bestimmen sie nach den NF die Tabellenstruktur der Rela. DB 2. Entwickeln sie ein ER Modell Attribute Typ, Art, Ndl_Kennzeichen, Mietbegin, Mietende, Kfz_kennzeichen, Hersteller, KundenAdresse, Kundenart, AnsprechPartner, Name, Befähigungsklasse, Inspektionsdatum, Werkstatt, Anfang-km, End-km, Anfangs-Betriebsstunden, End-Betriebsstunden, Kaufdatum, Tarif-Tag, Tarif-km, Tarif-Betriebsstunden, Ansprechpartner(Ndl), Niederlassungsort. Dann legt mal los Jungs und Mädels Zitieren
Ben-To Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Mach mit der neuen Aufgabe doch einfach einen neuen Thread! Zu der anderen Aufgabe sage ich nur: die 3. NF kann so nicht stimmen! Original geschrieben von ThimschE 3 NF: Tabelle Noten NotenID (PK) Fleißnoten Fachnoten In dem Feld Fleißnoten und Fachnoten hättest Du mehrere Einträge, durch Kommata getrennt. Ist nicht! Sinnvoller wäre eine Notentabelle mit NotenID(PK) SchülerID(FK) Note Notenart Die ist zwar dann mit mehr Zeilen, aber so kommt es mit der Normalisierung hin. Der Fremdschlüssel NotenID aus der Tabelle Schüler fällt dann natürlich raus. Zitieren
riana Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Original geschrieben von ThimschE Dann legt mal los Jungs und Mädels Na dann bin ich mal so motivert und beginne obwohl ich nicht glaube (nicht glauben will!!9 das eine Aufgabe in diesem Umfang und mit so seltsamen Attributen drankommt :-)! Hab auch nicht alle miteingebaut! Tabelle Maschinen MaschinenNR Typ Art KFZKennzeichen Hersteller Kaufdatum Tabelle Kunde KundenNr Name Vroname Straße Ort Kundenart AnsprechpartnerNR Tabelle Ansprechpartner AnsprechpartenerNr Name Befähigungsklasse Tabelle Vermietung VermietungsNr Mietbegin Mietende ZwischentabelleVermietung/Maschinen MaschinenNr VermietungsNr AnfangKm EndKm Zwischentabelle Maschinen/kunde MaschineneNr KundenNr Tja mehr fällt mir zu den Attributen nicht ein würde ich dafür wohl ein paar Punkte bekommen auch wenn die Hälfte falsch ist oder fehlt??? Zitieren
Firewire Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Schueler: *Schueler_ID Name Vorname Klasse Noten_Id K-Lehrer_ID Noten *Noten_ID Fleissnote Fachnote Kl-Lehrer *K-Lehrer_ID Name Schuler_ID KLasse Schueler n:1 Kl-Lehrer Kl-Lehrer 1:n Noten Schueler 1:n Noten Warum noch mal eine Tabelle Klasse aufmachen, die ist doch eindeutig? Zitieren
der_tommy Geschrieben 12. Mai 2002 Autor Geschrieben 12. Mai 2002 @ Firewire relationale Datenbankmodelle sollten immer von der realen Welt absrahieren. Und somit würde es mehr Sinn machen, hat man eine Tabelle der möglichen Klassen, eine Tabelle der Lehrer in der Schule und eine Tabelle der Schüler. Du musst auch immer auf Erweiterbarkeit der DB hinzielen. Bis zur 3. NF wäre es so logischer: Schüler id name vorname klasse fachnoten fleißnoten Klassen id klasse Lehrer id name vorname klasse so ist es doch am logischsten. Warum sollte ich noch eine Tabelle Noten aufmachen ? Ist doch eigentlich blödsinn. Höchstens ich möchte auf einfache Weise den Durchschnitt eines Jeden Schülers ausrechnen. Dann brauche ich ein Tabelle Noten die alle derzeit Verfügbaren Noten enthält. Das wäre dann aber eine m:n Beziehung ;-) und müsste über eine Zwischentabelle gelöst werden, zumindest im physischen Datenmodell, nicht im logischen Zitieren
Metaner Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Original geschrieben von der_tommy Schüler id name vorname klasse fachnoten fleißnoten Deine Tabelle "Schüler" kann nicht der 3ten Normalform entsprechen, denn mehrere voneinander getrennte Werte innerhalb eines Attributs müssen bereits in der 1ten Normalform aufgelöst werden. (sofern es logisch ist!!!) Wie könntest Du z.B. in Deinem Modell eine Deutschnote von einer Englischnote unterscheiden ... und dann auch noch die zum jeweiligen Fach dazugehörige Fleissnote? Mein Vorschlag wären zwei weitere Tabellen Tabelle: Fach fach_id fachbezeichnung Tabelle: Zeugnis jahr schueler_id fach_id fachnote fleissnote Diese Variante lässt in meinen Augen auch eine beliebige Erweiterung zu. Oder habe ich etwas übersehen? Gruss Metaner Zitieren
Metaner Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Original geschrieben von der_tommy Schüler id name vorname klasse fachnoten fleißnoten Deine Tabelle "Schüler" kann nicht der 3ten Normalform entsprechen, denn mehrere voneinander getrennte Werte innerhalb eines Attributs müssen bereits in der 1ten Normalform aufgelöst werden. (sofern es logisch ist!!!) Wie könntest Du z.B. in Deinem Modell eine Deutschnote von einer Englischnote unterscheiden ... und dann auch noch die zum jeweiligen Fach dazugehörige Fleissnote? Mein Vorschlag wären zwei weitere Tabellen Tabelle: Fach fach_id fachbezeichnung Tabelle: Zeugnis jahr schueler_id fach_id fachnote fleissnote Diese Variante lässt in meinen Augen auch eine beliebige Erweiterung zu. Oder habe ich etwas übersehen? Gruss Metaner Zitieren
Snowghost Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 @Hunchback Hier mal eine Erklärung zur "transitiven Abhängigkeit": Transitive Abhängigkeit herrscht dann, wenn das Attribut C nur deshalb von Attribut A abhängig ist, weil C von B abhängig ist und B wiederum von A abhängt. Zitieren
Metaner Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 @der_tommy Mache aus der Tabelle "Zeugnis" einfach "Klassenarbeiten" ... hab oben überlesen, das es speziel um den Werkunterricht geht :-)) Zitieren
der_tommy Geschrieben 12. Mai 2002 Autor Geschrieben 12. Mai 2002 es könnte übrigens in der Prüfung auch mal dran kommen nur bis zur 2. Normalform zu gehen. Zitieren
Ninsai Wan Geschrieben 12. Mai 2002 Geschrieben 12. Mai 2002 Original geschrieben von der_tommy es könnte übrigens in der Prüfung auch mal dran kommen nur bis zur 2. Normalform zu gehen. oder auch Die Boyce-Codd-Normalform *angsthab* *brrrrrrrr* Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.