Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: xyz am Februar 20, 2015, 16:00:20

Titel: Normalisierung
Beitrag von: xyz am Februar 20, 2015, 16:00:20
Hallo,
bin noch ein blutjunger Anfänger und daher noch mit den einfachsten Grundlagen von Access nicht vertraut.
Gerade verzweifel ich an der 2. und 3. Normalform. Kann mir vielleicht jemand helfen? Vielen Dank

Titel: Re: Normalisierung
Beitrag von: Wurliwurm am Februar 20, 2015, 17:33:01
Zitat von: xyz am Februar 20, 2015, 16:00:20
Gerade verzweifel ich an der 2. und 3. Normalform. Kann mir vielleicht jemand helfen?

Ganz cool bleiben, es ist eigentlich sehr einfach. Aber daß Dir jemand hier nochmal hinschreibt, was im Web tausendfach schon mehr oder weniger anschaulich und in Hochschul-Skripten zu Datenbankgrundlagen auch sehr formal beschrieben ist, erwartest Du nicht, oder?

Wenn Du ausführst, wo Du hängst, kann Dir ja der eine oder andere weiterhelfen.
Titel: Re: Normalisierung
Beitrag von: xyz am Februar 20, 2015, 17:40:12
Erstmal vielen Dank für deine Antwort.
Nein eine genaue Beschreibung der Theorie brauche ich nicht mehr, da hast du recht. Die habe ich mir schon zur Genüge durchgelesen.
Leider mangelt es mir an praktischen Lösungsansätzen.
Bin mir bei der eingestellten Aufgabe zum Beispiel nicht sicher ob die Primärschlüssel Reise-Nr. und Kunden-Nr. sind oder muss ich auch noch eine Nr. für die Fluggesellschaft angelegen?

Titel: Re: Normalisierung
Beitrag von: xyz am Februar 20, 2015, 18:04:02
Ich hab die Aufgabe versucht weiter zu bearbeiten.
Vielleicht kann mir ja jemand sagen ob ich auf dem richtigen Weg bin.
Titel: Re: Normalisierung
Beitrag von: Wurliwurm am Februar 20, 2015, 18:06:22
Zitat von: xyz am Februar 20, 2015, 17:40:12
Bin mir bei der eingestellten Aufgabe zum Beispiel nicht sicher ob die Primärschlüssel Reise-Nr. und Kunden-Nr. sind oder muss ich auch noch eine Nr. für die Fluggesellschaft angelegen?

Die Fluggesellschaft ist offensichtlich nur von der ReiseNr abhängig und würde in eine eigene Relation (~Tabelle) mit Schlüssel Reise und Nichtschlüsselfeld Fluggesellschaft gehören. Das denke ich mir, weil eine Reise mit einem Abflugtermin und einer Dauer immer nur ein Flugzeug sein dürfte und dieses normalerweise genau einer Fluggesellschaft gehört.

Ich sehe in Deinem Beispiel eine Aufteilung in mehrere Relationen notwendig
Intuitiv würde ich sagen
Reise mit Key ReiseNr und abhängigen Feldern Fluggesellschaft Ziel, Abflug, Dauer Kosten
Fluggast mit Key FluggastNr und abhängigen Feldern Name, Vorname, Wohnort
Buchung mit Key ReiseNr+FluggastNr

Wichtig: Man kann eine funktionale Abhängigkeit ohne Hintergrundwissen immer nur widerlegen, aber nicht beweisen.
Titel: Re: Normalisierung
Beitrag von: Wurliwurm am Februar 20, 2015, 18:12:12
An deiner Lösung stört mich, daß Du in der m:n-Tabele Reise-Nr/Fluggast-Nr als von der der Kombination Reise/Fluggast abhängige Werte den Abflug setzt. Das würde bedeutet, daß das Flugzeug für jeden Gast an einem anderen Tag fliegen könnte. Oder daß es um Linienflüge geht und nicht um Charterflüge, eine ReiseId mehrere Abflugtermine hat. Auch der Preis ist ja im Ursprungsbeispiel gleich pro Ziel und Abflug für alle Reisenden. So wie Du es modellierst, könnte jeder unterschiedliche Preise zahlen.

Kann mir schon vorstellen, daß solche Zerlegungen Kopfschmerzen bereiten, merke ich auch gerade.

Titel: Re: Normalisierung
Beitrag von: Wurliwurm am Februar 20, 2015, 18:26:32
Du brauchst noch die Relation
Airline-Nr -> Name

mit 1 Eintrag
1;Lufthansa
Titel: Re: Normalisierung
Beitrag von: xyz am Februar 20, 2015, 18:33:30
Super, schon einmal ganz lieben Dank für deine Antworten.
Bei dem Abflug und den Kosten war ich mir selbst auch sehr unsicher, dachte, dass wenn man die gleiche Reise zu einem späteren Zeitpunkt noch einmal anbietet das Datum ja ein anderes ist und habe es deshalb nicht zu der Tabelle Reise-Nr. gesetzt, das gleiche mit den Kosten. Aber wahrscheinlich ist das falsch. Wenn ich eine neue Reise nach New York anbiete müsste ich wahrscheinlich eine ganz neue Reise-Nr. erstellen, oder?!
Titel: Re: Normalisierung
Beitrag von: MzKlMu am Februar 20, 2015, 18:43:07
Hallo,
es könnte aber auch sein, dass es unterschiedliche Preise gibt für den Fluggast. Reise/Flugpreise können sich auch nach dem Alter eines Fluggastes richten. Ich sehe hier folgende Tabellen:
- Flughafen
- Fluggast
- Wohnort
- Fluglinie
- Reisen
- ReiseFluggast

Zitatmüsste ich wahrscheinlich eine ganz neue Reise-Nr. erstellen, oder?!
selbstverständlich, neue Reise > neuer Datensatz bei den Reisen. Wie sonst willst Du unterschiedliche Reiseteilnehmer erfassen ?
Es ist ja mehr als unwahrscheinlich, dass exakt die gleichen Teilnehmer auch bei einer 2. Reise dabei sind.
Titel: Re: Normalisierung
Beitrag von: Wurliwurm am Februar 20, 2015, 18:43:33
Zitat von: xyz am Februar 20, 2015, 18:33:30
Wenn ich eine neue Reise nach New York anbiete müsste ich wahrscheinlich eine ganz neue Reise-Nr. erstellen, oder?!

So sehe ich das auch. Das Beispiel ist wohl so gemeint.

Wenn es ein regelmäßiger Flug wäre (a la LH***, der jeden Tag oder jede Woche stattfindet), dann müßte es eine weitere Relation mit einem 3-Feld-Schlüssel geben, weil der Fluggast ja nur einmal fliegt.

PK wäre dann
Flugnummer/Flugdatum/Passagier -> Preis, Sitzplatz etc...
Titel: Re: Normalisierung
Beitrag von: xyz am Februar 20, 2015, 19:06:46
Oh man, Ihr seit so nett, aber ich stehe immer noch total auf dem Schlauch. Kann es mir einfach nicht logische erklären. Grrrrrrrrrrr

Titel: Re: Normalisierung
Beitrag von: MzKlMu am Februar 20, 2015, 19:12:33
Hallo,
es wäre auch noch zu klären, ob das eine Reispreis ist, oder der Flugpreis.
Reispreise können viel stärker an die Person gebunden sein, z.B. Einzelzimmer, Zimmerkategorie usw.
Dann gibt es auch noch Familienpreise.
Dann gibt es Reisen, bei den der Flugpreis extra geht usw. usw.

Ist das eine reale Aufgabe oder dient die Aufgabe dem Lernen ?
Titel: Re: Normalisierung
Beitrag von: xyz am Februar 20, 2015, 19:36:24
Die Aufgabe dient lediglich dem lernen. Allerdings weiß ich nicht ob ich es dadurch verstehen werde. Haben von unserem Dozenten noch 20 weitere solcher Aufgaben bekommen.