Stunde9-dpm.ink Abhängigkeiten zwischen Attributen einer Relation (Fortsetzung) a) Funktionale Abhängigkeit (siehe letzte Stunde) b) Transitive Abhängigkeit Eine transitive Abhängigkeit besteht, wenn ein Attribut a von einem Attribut b und ein Attribut b von einem Attribut c abhängig ist. In diesem Fall ist a transitiv von c abhängig. R Lieferung (Liefernr, Artikelnr, Artikelname, Anzahl, Lieferdatum, Lieferfirma, AnschriftFirma) 1 Stunde9-dpm.ink Normalformen 1. Normalform Eine Relation befindet sich in der 1. Normalform (1. NF), wenn - die Relation zweidimensional ist (also ein Gebilde Spalten und Zeilen) (- sich in jedem Datensatz nur Daten befinden, die zu einem Objekt der realen Welt) gehören - jeder Datensatz nur einmal in der Relation vorkommt - für jedes Attribut nur ein Wert eingetragen ist - jedes Attribut kommt nur einmal in der Relation vor (keine zwei Spalten gleichen Namens) Das Attribut Name ist von der Personalnummer funktional abhängig Das Attribut ProjektNr ist von der Personalnummer funktional unabhängig 2 Stunde9-dpm.ink 2. Normalform Eine Relation befindet sich in der zweiten Normalform, wenn jedes Nicht-SchlüsselAttribut vom ganzen (!) Primärschlüssel (der aus mehreren Attributen bestehen kann) abhängig ist und die 1. NF erfüllt ist. Stundenlohn abhängig von Tätigkeit Tätigkeit abhängig von Projektnr 3 Stunde9-dpm.ink 3. Normalform Eine Relation befindet sich in der 3. Normalform, wenn alle Datenfelder vom gesamten Primärschlüsselabhängig sind und untereinander keine Abhängigkeiten auftreten und die 2. NF erfüllt ist. In der 3. NF gibt es somit keine transitiven Abhängigkeiten. 4 Stunde9-dpm.ink Übungen 1. R Autoverkauf(Kundenname, Kundenadresse, Autohersteller, Autotyp, Fahrgestellnr Datum, Verkäufer) R Auto (Fahrgestelltnr, Autotyp, Hersteller) R Kunde (Kundennr, Adresse, Kundenname) R Kauf (FK_Kundennr, FK_Fahrgestelltnr, Verkäufer, Datum) Fahrgestellnr Kundenname Datum Kundennr Auto N N kauft Autotyp Kunde Kundenadresse Autohersteller Verkäufer 5 Stunde9-dpm.ink Hausaufgabe R Busunternehmen ( Fahrtnummer, Busnummer, Herstellerfirma Bus, Anzahl Plätze im Bus Datum Erstzulassung Bus, Anschaffungspreis Bus, Datum der Wartung des Busses, Wartungsfirma, Behobener Mangel, Abfahrtsdatum, Abfahrtszeit, Name Fahrer, Vorname Fahrer, Fahrernr., PLZ Fahrer, Strasse Fahrer, Gehalt Fahrer, Anzahl für Fahrt gebuchte Plätze) Aufgabe aus Skript "SQL" des Rechenzentrums der Hochschule Hannover ISBN 4032141001063 Aufgabe - ERD erstellen - In Tabellen überführen - Auf 3. NF prüfen 6