10.06.09 Adressen Artikel Bestellpositionen Bestellungen Buecher Kategorien Kunden KundenLogin Verlag 1) Entity-Typen Modellierung
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
10.06.09 Adressen  AdrNr Artikel  ArtNr Bestellpositionen  BestNr, ArtNr Bestellungen  BestNr Buecher  ISBN Kategorien  KatNr Kunden  KdNr KundenLogin  KdNr Verlag  Kuerzel 3) Entityschlüssel Modellierung
10.06.09 4) Beziehung zwischen den Entities Modellierung
10.06.09 Kategorien 5) Entwurf des Entity-Relationship-Modell Modellierung
10.06.09 6) Entwurf des ER-Diagramms und des physischen Datenmodells Modellierung
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)
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
10.06.09 3) Anlegen von Primär- und Fremdschlüsseln Überführung in ein relationales Datenbankmodell
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
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
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
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

Belegarbeit 1sheep2

  • 1.
    10.06.09 Adressen ArtikelBestellpositionen Bestellungen Buecher Kategorien Kunden KundenLogin Verlag 1) Entity-Typen Modellierung
  • 2.
    10.06.09 2) Attributeder 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
  • 3.
    10.06.09 Adressen AdrNr Artikel  ArtNr Bestellpositionen  BestNr, ArtNr Bestellungen  BestNr Buecher  ISBN Kategorien  KatNr Kunden  KdNr KundenLogin  KdNr Verlag  Kuerzel 3) Entityschlüssel Modellierung
  • 4.
    10.06.09 4) Beziehungzwischen den Entities Modellierung
  • 5.
    10.06.09 Kategorien 5)Entwurf des Entity-Relationship-Modell Modellierung
  • 6.
    10.06.09 6) Entwurfdes ER-Diagramms und des physischen Datenmodells Modellierung
  • 7.
    10.06.09 1) Beschreibungder 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) Analyseder 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) Anlegenvon Primär- und Fremdschlüsseln Überführung in ein relationales Datenbankmodell
  • 10.
    10.06.09 Nicht normalisierteAusgangstabelle 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 demBeispiel 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 demBeispiel 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: Beider 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