2. 10.06.09 2) Attribute der einzelnen Entities Modellierung Adressen Artikel Bestellpositionen Bestellungen Buecher AdrNr Anrede Vorname Strasse HausNr PLZ Ort ArtNr ISBN VKPreis BestNr ArtNr Menge BestNr KdNr VerlagKuerzel Datum RechAdrNr LiefAdrNr ISBN KatNr Titel Autor Jahr Druckdatum SeitenAnz EKPreis Kategorien Kunden KundenLogin Verlag KatNr Bezeichnung KdNr Email Anrede Vorname Name DefRechAdrNr DefLiefAdrNr KdNr Passwort Kuerzel Name AdrNr Telefon Telefax Email Homepage
6. 10.06.09 6) Entwurf des ER-Diagramms und des physischen Datenmodells Modellierung
7. 10.06.09 1) Beschreibung der Tabellen und Attribute Überführung in ein relationales Datenbankmodell Adressen Artikel Bestellpositionen Bestellungen Buecher AdrNr Int(11) Anrede Varchar(16) Vorname Varchar(256) Strasse Varchar(256) HausNr Varchar(8) PLZ Char(5) Ort Varchar(256) ArtNr Int(11) ISBN Char(32) VKPreis Decimal(6,2) BestNr Int(11) ArtNr Int(11) Menge Int(6) BestNr Int(11) KdNr Int(11) VerlagKuerzel Char(5) Datum Datetime RechAdrNr Int(11) LiefAdrNr Int(11) ISBN Char(32) KatNr Int(11) Titel Varchar(256) Autor Varchar(256) Jahr Year Druckdatum Date SeitenAnz Int(8) EKPreis Decimal(6,2) Kategorien Kunden KundenLogin Verlag KatNr Int(11) Bezeichnung Varchar(255) KdNr Int(11) Email Varchar(1024) Anrede Varchar(16) Vorname Varchar(256) Name Varchar(256) DefRechAdrNr Int(11) DefLiefAdrNr Int(11) KdNr Int(11) Passwort Char(32) Kuerzel Char(5) Name Varchar(256) AdrNr Int(11) Telefon Varchar(32) Telefax Varchar(32) Email Varchar(1024) Homepage Varchar(1024)
8. 10.06.09 2) Analyse der Zusammenhänge Überführung in ein relationales Datenbankmodell Adressen Artikel Bestellpositionen Bestellungen Buecher Funktionale Abhängigkeiten AdrNr -> Anrede AdrNr -> Vorname AdrNr -> Name AdrNr -> Strasse AdrNr -> HausNr AdrNr -> PLZ AdrNr -> Ort Funktionale Abhängigkeiten ArtNr -> ISBN ArtNr -> VKPreis Voll funktionale Abh. BestNr, KdNr -> Menge Funktionale Abhängigkeiten BestNr -> KdNr BestNr -> VerlagKuerzel BestNr -> Datum BestNr -> Rech/LiefAdrNr Funktionale Abhängigkeiten ISBN -> KatNr ISBN -> Titel ISBN -> Autor ISBN -> Jahr ISBN -> Druckdatum ISBN -> Seiten ISBN -> EKPreis Kategorien Kunden KundenLogin Verlag Funktionale Abhängigkeit KatNr -> Bezeichnung Funktionale Abhängigkeiten KdNr -> Email KdNr -> Anrede KdNr -> Vorname KdNr -> Name KdNr -> DefRechAdrNr KdNr -> DefLiefAdrNr Funktionale Abhängigkeit KdNr -> Passwort Funktionale Abhängigkeiten Kuerzel -> Name Kuerzel -> AdrNr Kuerzel -> Telefon Kuerzel -> Telefax Kuerzel -> Email Kuerzel -> Homepage
9. 10.06.09 3) Anlegen von Primär- und Fremdschlüsseln Überführung in ein relationales Datenbankmodell
10. 10.06.09 Nicht normalisierte Ausgangstabelle für Bestellpositionen (als Beispiel): Nächster Schritt: Einfachheit und Eindeutigkeit der Attribute herstellen => Normalisierungsprozess zur 1. NF 4) Nicht normalisierte Relation Überführung in ein relationales Datenbankmodell KundeID KundeName VerlagKuerzel VerlagName BestellNr BestellDatum Artikel 1001 Sebastian Schäfer ABC Softwarehaus ABC 1 16.12.2008 AJAX, Erklär mir … 2 17.12.2008 Erklär mir … 1002 Stefan Rüschenberg ABC Softwarehaus ABC 3 15.12.2008 Grundlagen, DBII, MySQL5 DEF Softwarehaus DEF 4 17.12.2008 AJAX
11. 10.06.09 Aus dem Beispiel ergibt sich für die 1.NF: Nächster Schritt: Abhängigkeiten herausfinden und atomisieren => Normalisierungsprozess zur 2 bzw. 3. NF 5) Normalisierungsprozess Überführung in ein relationales Datenbankmodell KundeID KundeName VKuerzel VerlagName BestellNr BestellDatum ArtikelNr ArtikelName Menge 1001 Sebastian Schäfer ABC Softwarehaus ABC 1 16.12.2008 2 AJAX 4 1001 Sebastian Schäfer ABC Softwarehaus ABC 1 16.12.2008 3 Erklär mir … 1 1001 Sebastian Schäfer ABC Softwarehaus ABC 2 17.12.2008 3 Erklär mir … 4 1002 Stefan Rüschenberg ABC Softwarehaus ABC 3 15.12.2008 1 Grundlagen 10 1002 Stefan Rüschenberg ABC Softwarehaus ABC 3 15.12.2008 4 DB II 3 1002 Stefan Rüschenberg ABC Softwarehaus ABC 3 15.12.2008 5 MySQL 5 1 1002 Stefan Rüschenberg DEF Softwarehaus DEF 4 17.12.2008 3 Erklär mir … 1 1002 Stefan Rüschenberg DEF Softwarehaus DEF 4 17.12.2008 2 AJAX 50
12. 10.06.09 Aus dem Beispiel ergibt sich für die 3.NF: Schon hier gibt es keine transitiven Abhängigkeiten; es erübrigt sich also die 2.NF Bestellungen Bestellpositionen Kunden Verlag 5) Normalisierungsprozess Überführung in ein relationales Datenbankmodell KundeID KundeVN KundeNN 1001 Sebastian Schäfer 1002 Stefan Rüschenberg VerlagKuerzel VerlagName ABC Softwarehaus ABC DEF Softwarehaus DEF BestellNr BestellDatum 1 16.12.2008 2 17.12.2008 3 15.12.2008 4 17.12.2008 BestNr ArtNr Menge 1 2 4 1 3 1 2 3 4 3 1 10 3 4 4 3 5 1 4 3 1 4 2 50
13. 10.06.09 Definition: Bei der referentiellen Integrität geht es um die Integrität auf Beziehungsebene. Hierdurch wird gewährleistet, dass Fremdschlüssel in einer Detailtabelle nur Werte annehmen können, die zuvor in der referenzierten Mastertabelle als Primärschlüssel angelegt wurden. Ziel: Verhinderung von Inkonsistenzen im Datenbestand Beispiel: Tabelle Artikel, Fremdschlüssel ISBN verweist auf Primärschlüssel der Tabelle Bücher. Durch die referentielle Integrität wird gewährleistet, dass kein Buch was sich noch im Artikelstamm des Verlags befindet gelöscht werden kann. SQL: ALTER TABLE `Artikel` ADD CONSTRAINT `Artikel_ibfk_1` FOREIGN KEY (`ISBN`) REFERENCES `Buecher` (`ISBN`) ON UPDATE CASCADE; 6) Referentielle Integrität Überführung in ein relationales Datenbankmodell