SlideShare une entreprise Scribd logo
1  sur  15
10.06.09 Belegarbeit 6 Online-Bestellung von Büchern Stefan Rüschenberg Sebastian Schäfer
10.06.09 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1) Entity-Typen Modellierung
10.06.09 2) Attribute der einzelnen Entities Modellierung Adressen Artikel Bestellpositionen Bestellungen Buecher AdrNr Anrede Vorname Name 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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],3) Entityschlüssel Modellierung
10.06.09 Kunden KundenLogin Adressen Artikel Bücher Verlag Bestellungen Bestellpositionen Kategorien besitzt besitzt speichert Passwort erstellt Besteht aus gehört zu beinhaltet besteht aus tätigt beinhaltet 1 n 1 1 1 n 1 2 1 n 1 2 1 1 1 1 1 1 1 1 4 u. 5) Beziehung zwischen den Entities; 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) Name 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  Adressen Artikel Bestellpositionen Bestellungen Buecher Primärschlüssel: AdrNr Fremdschlüssel: keine Primärschlüssel: ArtNr Fremdschlüssel: ISBN Primärschlüssel: BestNr, ArtNr Fremdschlüssel: ArtNr Primärschlüssel: BestNr Fremdschlüssel: KdNr VerlagKuerzel RechAdrNr LiefAdrNr Primärschlüssel: ISBN Fremdschlüssel: KatNr Kategorien Kunden KundenLogin Verlag Primärschlüssel: KatNr Fremdschlüssel: keine Primärschlüssel: KdNr Fremdschlüssel: DefRechAdrNr DefLiefAdrNr Primärschlüssel: KdNr Fremdschlüssel: KdNr Primärschlüssel: Kuerzel Fremdschlüssel: AdrNr
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, 1. NF Ü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, 3. NF Ü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 Verletzung der 4. NF, da Lieblingsserie unabhängig von Lieblingsclub ist und Lieblingsserie als auch Lieblingsclubs eine MWA von Person ist. Tabellen in der 4. NF Tabelle, welche die 4. NF verletzt 5) Normalisierungsprozess, 4. NF Überführung in ein relationales Datenbankmodell  Person Lieblingsserie Lieblingsclubs Stefan Dr. House Watergate Stefan Dr. House Weekend Stefan Stromberg Watergate Stefan Stromberg Weekend Sebastian Switch Berghain Sebastian Switch Tresor Person Lieblingsserie Stefan Dr. House Stefan Stromberg Sebastian Switch Person Lieblingsclubs Stefan Watergate Stefan Weekend Sebastian Berghain Sebastian Tresor
10.06.09 Verletzung der 5. NF, da die Tabelle weiter aufgeteilt werden kann, ohne dass Informationen Verloren gehen. Tabellen in der 5. NF Tabelle, welche die 5. NF verletzt 5) Normalisierungsprozess, 5. NF Überführung in ein relationales Datenbankmodell  Person Projekt Aufgabe Stefan Projekt 1 Programmierung Stefan Projekt 2 Datenbank Sebastian Projekt 1 Programmierung Sebastian Projekt 3 CI Person Projekt Stefan Projekt 1 Stefan Projekt 2 Sebastian Projekt 1 Sebastian Projekt 3 Projekt Aufgabe Projekt 1 Programmierung Projekt 2 Datenbank Projekt 1 Programmierung Projekt 3 CI Person Aufgabe Stefan Programmierung Stefan Datenbank Sebastian Programmierung Sebastian CI
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

Contenu connexe

En vedette (20)

Biotecnologia
BiotecnologiaBiotecnologia
Biotecnologia
 
Sistemas de información gerencial
Sistemas de información gerencialSistemas de información gerencial
Sistemas de información gerencial
 
Telefonía móvil o celular
Telefonía móvil o celularTelefonía móvil o celular
Telefonía móvil o celular
 
Ya vienen los_reyes_magos
Ya vienen los_reyes_magosYa vienen los_reyes_magos
Ya vienen los_reyes_magos
 
Id amigos
Id amigosId amigos
Id amigos
 
Anteproyecto de reforma del Código Penal
Anteproyecto de reforma del Código PenalAnteproyecto de reforma del Código Penal
Anteproyecto de reforma del Código Penal
 
Ciespal analisis julio
Ciespal analisis julioCiespal analisis julio
Ciespal analisis julio
 
Regulamento 27º carijo
Regulamento 27º carijoRegulamento 27º carijo
Regulamento 27º carijo
 
Antes que el_mundo_hiciera
Antes que el_mundo_hicieraAntes que el_mundo_hiciera
Antes que el_mundo_hiciera
 
Expo
ExpoExpo
Expo
 
Protestes del 68
Protestes del 68Protestes del 68
Protestes del 68
 
Ejercicio13
Ejercicio13Ejercicio13
Ejercicio13
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Lisbet cano
Lisbet canoLisbet cano
Lisbet cano
 
Recetas de la paz
Recetas de la pazRecetas de la paz
Recetas de la paz
 
Didáctica de la lengua castellana y la literatura
Didáctica de la lengua castellana y la literaturaDidáctica de la lengua castellana y la literatura
Didáctica de la lengua castellana y la literatura
 
Presentación plasticos
Presentación plasticosPresentación plasticos
Presentación plasticos
 
Cato Partners 100slides
Cato Partners 100slidesCato Partners 100slides
Cato Partners 100slides
 
Tic project
Tic projectTic project
Tic project
 
Presentación Gama Garantia
Presentación Gama GarantiaPresentación Gama Garantia
Presentación Gama Garantia
 

Belegarbeit 1

  • 1. 10.06.09 Belegarbeit 6 Online-Bestellung von Büchern Stefan Rüschenberg Sebastian Schäfer
  • 2.
  • 3. 10.06.09 2) Attribute der einzelnen Entities Modellierung Adressen Artikel Bestellpositionen Bestellungen Buecher AdrNr Anrede Vorname Name 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
  • 4.
  • 5. 10.06.09 Kunden KundenLogin Adressen Artikel Bücher Verlag Bestellungen Bestellpositionen Kategorien besitzt besitzt speichert Passwort erstellt Besteht aus gehört zu beinhaltet besteht aus tätigt beinhaltet 1 n 1 1 1 n 1 2 1 n 1 2 1 1 1 1 1 1 1 1 4 u. 5) Beziehung zwischen den Entities; Entwurf des Entity-Relationship-Modell Modellierung
  • 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) Name 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 Adressen Artikel Bestellpositionen Bestellungen Buecher Primärschlüssel: AdrNr Fremdschlüssel: keine Primärschlüssel: ArtNr Fremdschlüssel: ISBN Primärschlüssel: BestNr, ArtNr Fremdschlüssel: ArtNr Primärschlüssel: BestNr Fremdschlüssel: KdNr VerlagKuerzel RechAdrNr LiefAdrNr Primärschlüssel: ISBN Fremdschlüssel: KatNr Kategorien Kunden KundenLogin Verlag Primärschlüssel: KatNr Fremdschlüssel: keine Primärschlüssel: KdNr Fremdschlüssel: DefRechAdrNr DefLiefAdrNr Primärschlüssel: KdNr Fremdschlüssel: KdNr Primärschlüssel: Kuerzel Fremdschlüssel: AdrNr
  • 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, 1. NF Ü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, 3. NF Ü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 Verletzung der 4. NF, da Lieblingsserie unabhängig von Lieblingsclub ist und Lieblingsserie als auch Lieblingsclubs eine MWA von Person ist. Tabellen in der 4. NF Tabelle, welche die 4. NF verletzt 5) Normalisierungsprozess, 4. NF Überführung in ein relationales Datenbankmodell Person Lieblingsserie Lieblingsclubs Stefan Dr. House Watergate Stefan Dr. House Weekend Stefan Stromberg Watergate Stefan Stromberg Weekend Sebastian Switch Berghain Sebastian Switch Tresor Person Lieblingsserie Stefan Dr. House Stefan Stromberg Sebastian Switch Person Lieblingsclubs Stefan Watergate Stefan Weekend Sebastian Berghain Sebastian Tresor
  • 14. 10.06.09 Verletzung der 5. NF, da die Tabelle weiter aufgeteilt werden kann, ohne dass Informationen Verloren gehen. Tabellen in der 5. NF Tabelle, welche die 5. NF verletzt 5) Normalisierungsprozess, 5. NF Überführung in ein relationales Datenbankmodell Person Projekt Aufgabe Stefan Projekt 1 Programmierung Stefan Projekt 2 Datenbank Sebastian Projekt 1 Programmierung Sebastian Projekt 3 CI Person Projekt Stefan Projekt 1 Stefan Projekt 2 Sebastian Projekt 1 Sebastian Projekt 3 Projekt Aufgabe Projekt 1 Programmierung Projekt 2 Datenbank Projekt 1 Programmierung Projekt 3 CI Person Aufgabe Stefan Programmierung Stefan Datenbank Sebastian Programmierung Sebastian CI
  • 15. 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