Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Erstellen einer Datenbank Vom semantischen zum logischen Modell.

Ähnliche Präsentationen


Präsentation zum Thema: "Erstellen einer Datenbank Vom semantischen zum logischen Modell."—  Präsentation transkript:

1 Erstellen einer Datenbank Vom semantischen zum logischen Modell

2 Überblick Semantisches Modell Die vier Stationen Logisches Modell Softwaremäßige Implementierung Abfragen Fälle von Redundanz* *Hintergrundwissen der Lehrkraft

3 Vorarbeit: Semantisches Modell Spielmobile AG LIEFERANT Name Strasse PLZ Ort BAUTEIL BauteilName PRODUKT ProduktName Ist_verbaut_in n m Preis Fixkosten Anzahl n KUNDE Name Strasse PLZ Ort bestellt > m liefert > 1 n

4 Logisches Modell Aufbereitung der Daten zur Eingabe in den Computer Tabellenname 1 Mengenschreibweise: Tabellenname 1 ={ Spaltenkopf 1, Spaltenkopf 2} Spaltenkopf 1Spaltenkopf 2 Feld 1Feld 2 Feld 3Feld 4

5 Logisches Modell Übergang vom semantisches Modell zum logischen Relationenmodell

6 Vergleich: Semantisch vs. Logisch SemantischLogisch Klasse / BeziehungRelation (Tabelle) KlassennameTabellenname AttributnamenSpaltenköpfe Attributwerte für ein ObjektDatensatz (Tabellenzeile) IDName 1810g Kunststoffgranulat 20Rad 145Drahtstift Bauteil 1. Datensatz 2. Datensatz 3. Datensatz Datentyp 1Datentyp 2 BAUTEIL Name

7 Logisches Modell - Datentypen Datentypen kennzeichnen die Art des Zellinhaltes einer Spalte Beispiele InhaltMögliche Bezeichnung 1 ZeichenChar n ZeichenChar(n) / Varchar(n) Beliebige Anzahl von ZeichenText Ganze ZahlInt / Integer DatumDate Ja/NeinBoolean

8 Logisches Modell Datentypen der Klasse Bauteil ID:Name 1810g Kunststoffgranulat 20Rad 145Drahtstift Ganze ZahlText Bauteil Datentyp?

9 Logisches Modell - Primärschlüssel Der Primärschlüssel ist eine Spalte, mit deren Hilfe man einen Datensatz eindeutig identifizieren kann Minimale Anzahl an Attributen in einem Datensatz Die Spalte ID stellt einen sinnvollen Primärschlüssel dar! IDName 1810g Kunststoffgranulat 20Rad 145Drahtstift Ganze ZahlText Bauteil

10 Logisches Modell - Primärschlüssel Voraussetzungen für einen Primärschlüssel Jeder Attributwert kommt nur einmal vor Jeder Attributwert kennzeichnet den Datensatz eindeutig Die Software (DBMS) sorgt für eindeutige Vergabe

11 Arbeitsauftrag Erstellen Sie die vollständigen Relationen Bauteil und Lieferant! Geben Sie die Datentypen an! Kennzeichnen Sie die Primärschlüssel! Welche Spalten könnten Primärschlüssel sein? Fallbeispiel : Spielmobile AG Semantisches Modell Arbeitsblatt: Relationen I Zeitvorschlag: 10 min

12 Arbeitsauftrag – Lösung IDName 1810g Kunststoffgranulat 20Rad 145Drahtstift Ganze ZahlText Bauteil

13 Arbeitsauftrag – Lösung IDNameStrassePLZOrt 1BASVChemiestr Köln 2REHAUSperlingstr Ludwigshafen 3MüllerAGAm Kai Ludwigshafen 4LEGAHauptstr Günzburg 5PlaymobilSpielstr Zirndorf 6ThyssanStahlstr Essen 7StahlitalGrenzstr Kiefersfelden Ganze Zahl Text Text / char(5) Text Lieferant Warum Datentyp Text und nicht ganze Zahl?

14 Logisches Modell - Beziehungsrelation Beziehungen sind eigene Klassen Primärschlüssel der Relation 1 Primärschlüssel der Relation 2 Attributwert 1Attributwert 2 Attributwert 1Attributwert 2 Attributwert 1Attributwert 2 Name der Beziehung Beziehung 1 Beziehung 2 Beziehung 3

15 Logisches Modell – Beziehungsrelation Beispiel LieferantNrBauteilNr Fremdschlüssel liefert Weitere Attribute der Beziehung sind zusätzliche Spalten! Die Kombination der Fremdschlüssel ist der Primärschlüssel dieser Relation! Fremdschlüssel sind Primärschlüssel anderer Relationen!

16 Logisches Modell – Beziehungsrelation Beispiel LieferantNrBauteilNr PreisFixkosten Ganze Zahl Dezimalzahl / Währung Währung liefert Zur Erinnerung: 1:n-Kardinalität

17 Arbeitsauftrag Erstellen Sie die vollständigen Relationen Produkt und Kunde! Erstellen Sie die vollständigen Relationen ist_verbaut_in und bestellt! Geben Sie die Datentypen an! Kennzeichnen Sie die Primär- und Fremdschlüssel! Fallbeispiel : Spielmobile AG Semantisches Modell Arbeitsblatt: Relationen I Zeitvorschlag: 20 min

18 Arbeitsauftrag – Lösungen IDNameStrassePLZOrt 1SpielparadiesHauptstr Ludwigshafen 2modelle und mehrKönigstr Rosenheim 3techno-playWendelsteinstr Rosenheim Ganze Zahl Text Text / Char(5)Text Kunde IDName 815Müllauto 816Rennauto 817Feuerwehrauto Ganze ZahlText Produkt

19 Arbeitsauftrag – Lösungen BauteilNrProduktNrAnzahl Ganze Zahl Zur Erinnerung: m:n-Kardinalität ist_verbaut_in

20 Arbeitsauftrag – Lösungen KundeNrProduktNrAnzahl Ganze Zahl Zur Erinnerung: m:n-Kardinalität bestellt

21 Logisches Modell – Zusammenführung Welche Tabelle könnte eingespart werden? Kunde Produkt Bauteil Lieferant ist_verbaut_in bestellt liefert 1:n m:n

22 Tabellen mit einer Fremd- schlüsselspalte, die identisch mit der Primärschlüsselspalte einer anderen Tabelle ist, werden zusammengeführt! Logisches Modell – Kardinalitäten Lieferant liefert IDBauteilName:Text 1810g Kunststoffgranulat 20Rad 145Drahtstift Bauteil LieferantNrBauteilNrPreisFixkosten IDNameStrassePLZOrt 1BASVChemiestr Köln 2REHAUSperlingstr Ludwigshafen 3MüllerAGAm Kai Ludwigshafen 4LEGAHauptstr Günzburg 5PlaymobilSpielstr Zirndorf 6ThyssanStahlstr Essen 7StahlitalGrenzstr Kiefersfelden

23 Logisches Modell – Kardinalitäten IDNameStrassePLZOrtBauteilNrPreisFixkosten 1BASVChemiestr Köln REHAUSperlingstr Ludwigshafen MüllerAGAm Kai Ludwigshafen LEGAHauptstr Günzburg PlaymobilSpielstr Zirndorf ThyssanStahlstr Essen StahlitalGrenzstr Kiefersfelden Lieferant IDBauteilName:Text 1810g Kunststoffgranulat 20Rad 145Drahtstift Bauteil Beziehungen der Kardinalität 1:n und 1:1 benötigen keine eigene Tabelle!

24 Logisches Modell – Zusammenfassung Jede Klasse und jede Beziehung wird zu einer Tabelle Attributnamen werden zu Spaltenbezeichnern, denen Datentypen zuzuordnen sind Jede Tabelle hat einen eindeutigen Primärschlüssel (ID) Beziehungstabellen haben Sekundärschlüssel (…Nr) Beziehungstabellen der 1:n- und 1:1-Kardinalitäten lassen sich an Klassentabellen anhängen

25 Arbeitsauftrag Finden Sie die Kardinalitäten! Stellen Sie das logische Modell auf! TEILNEHMER Name Vorname Strasse PLZ Ort Tel Geb_Datum Abz_Datum Geschlecht TEILNEHMER Name Vorname Strasse PLZ Ort Tel Geb_Datum Abz_Datum Geschlecht LEHRER Name Vorname Strasse PLZ Ort Tel Lohn LSt_Klasse Kto BLZ leitet LEHRER Name Vorname Strasse PLZ Ort Tel Lohn LSt_Klasse Kto BLZ leitet FERIEN Beginn Ende FERIEN Beginn Ende KURSTERMIN Datum Dauer Startzeit KURSTERMIN Datum Dauer Startzeit KURS Plaetze Typ Gebühr Termin_Anz Starttermin KURS Plaetze Typ Gebühr Termin_Anz Starttermin Nimmt_teil > War_da > Findet_statt >

26 Arbeitsauftrag Finden Sie die Kardinalitäten! Stellen Sie das logische Modell auf! TEILNEHMER Name Vorname Strasse PLZ Ort Tel Geb_Datum Abz_Datum Geschlecht TEILNEHMER Name Vorname Strasse PLZ Ort Tel Geb_Datum Abz_Datum Geschlecht LEHRER Name Vorname Strasse PLZ Ort Tel Lohn LSt_Klasse Kto BLZ leitet LEHRER Name Vorname Strasse PLZ Ort Tel Lohn LSt_Klasse Kto BLZ leitet FERIEN Beginn Ende FERIEN Beginn Ende KURSTERMIN Datum Dauer Startzeit KURSTERMIN Datum Dauer Startzeit KURS Plaetze Typ Gebühr Termin_Anz Starttermin KURS Plaetze Typ Gebühr Termin_Anz Starttermin Nimmt_teil > War_da > Findet_statt > n m n m n 1 n m 1n n 1 n 1

27 Typische Fehler – Ursachen Problematik (nicht im Unterricht besprechen!) ungenaue Analyse Zeitdruck Fehler im seman- tischen Modell Schlechtes logisches Modell Fehlerhafte Abfragen

28 Typische Fehler Beispiel: Es sollen möglichst schnell die absolvierten Fortbildungen der Mitarbeiter in die Personaldatenbank aufgenommen werden. IDNameVornameAdresseGehalt 1002AbeleFranz… BernauerElke… KeilerHans…3000 Mitarbeiter

29 Typische Fehler - Unauffindbarkeit Lösungsvorschlag IDNameVornameAdresseGehaltFortbildung 1002AbeleFranz…4900Teamtraining bei X-Consult in Bonn 1009BernauerElke…2500Projektmanagement bei R&T in Basel, Teamtraining bei X-Consult in Bonn 1100KeilerHans…3000SAP R/3 bei X-Consult in Bonn, Computernetze bei R&T in Basel Personal Wer war schon bei X-Consult? kann aus dem Fließtext der letzten Spalte nur schwer ausgelesen werden. Lösungsvorschläge?

30 Normalisierung Normalform I – Atomisierung der Information PersIDNameVornAdrGehFIDFortbildungsbezVeranstaltOrt 1002AbeleFranz… TeamtrainingX-ConsultBonn 1009BernauerElke… ProjektmanagR&TBasel 1009BernauerElke… TeamtrainingX-ConsultBonn 1100KeilerHans… SAP R/3X-ConsultBonn 1100KeilerHans… ComputernetzeR&TBasel Welche Spalte stellt den Primärschlüssel dar? Primärschlüssel = {PersID; FID}

31 Typische Fehler - Redundanzen Frau Bernauers Gehalt wurde um 200 Euro erhöht Herr Abele hat die SAP R/3-Fortbildung besucht PersIDNameVornAdrGehFIDFortbildungsbezVeranstaltOrt 1002AbeleFranz… TeamtrainingX-ConsultBonn 1002AbeleFranz… SAP R3X-ConsultBonn 1009BernauerElke… ProjektmanagR&TBasel 1009BernauerElke… TeamtrainingX-ConsultBonn 1100KeilerHans… SAP R/3X-ConsultBonn 1100KeilerHans… ComputernetzeR&TBasel Mitarbeiter Redundanz von Daten Inkonsistenz der Datenbank

32 Typische Fehler - Redundanzen Mehrteilige Primärschlüssel mit funktional abhängigen Attributen PersIDNameVornAdrGehFIDFortbildungsbezVeranstaltOrt 1002AbeleFranz… TeamtrainingX-ConsultBonn 1002AbeleFranz… SAP R/3X-ConsultBonn 1009BernauerElke… ProjektmanagR&TBasel 1009BernauerElke… TeamtrainingX-ConsultBonn 1100KeilerHans… SAP R/3X-ConsultBonn 1100KeilerHans… ComputernetzeR&TBasel Mitarbeiter Ziel: Nur eine Spalte als Primärschlüssel und Auflösen der Abhängigkeiten

33 Normalisierung Normalform II: Normalform I und keine funktionale Abhängigkeit von Teilschlüsseln des Primärschlüssels IDNameVornameAdresseGehalt 1002AbeleFranz… BernauerElke… KeilerHans…3000 Mitarbeiter IDFortbildungsbezVeranstaltOrt 301TeamtrainingX-ConsultBonn 302ProjektmanagR&TBasel 510SAP R/3X-ConsultBonn 520ComputernetzeR&TBasel Fortbildung MitarbeiterNrFortbildungNr hat_besucht (m:n) Bei jedem Fortbildungsbesuch soll das jeweilige Datum gespeichert werden…

34 Typische Fehler - Redundanzen Transitive Abhängigkeit vom Primärschlüssel IDFortbildungsbezVeranstaltOrt 301TeamtrainingX-ConsultBonn 302ProjektmanagR&TBasel 510SAP R/3X-ConsultBonn 520ComputernetzeR&TBasel Fortbildung

35 Normalisierung Normalform III: Normalform II und keine transitive Abhängigkeit vom Primärschlüssel IDNameVornameAdresseGehalt 1002AbeleFranz… BernauerElke… KeilerHans…3000 Mitarbeiter IDFortbildungsbezVeranstalter Nr 301Teamtraining1 302Projektmanag2 510SAP R/31 520Computernetze2 Fortbildung MitarbeiterNrFNr hat_besucht IDNameOrt 1X-ConsultBonn 2R&TBasel Veranstalter Zeichnen Sie das semantische Modell!

36 Arbeitsauftrag – Lösung Semantisches Modell MITARBEITER Name Vorname Adresse Gehalt MITARBEITER Name Vorname Adresse Gehalt FORTBILDUNG Fortbildungsbezeichnung Veranstalter FORTBILDUNG Fortbildungsbezeichnung Veranstalter VERANSTALTER Name Ort VERANSTALTER Name Ort hat_besucht m n durchgeführt_von 1

37 Übungsaufgabe Sie erhalten den Auftrag, eine Datenbank für das Ministerium zu erstellen, um einfach den Lehrerbedarf (nur Vollzeitkräfte) und die Zuweisungen zu managen. Die Datenbank soll Lehrer mit ihrer Fächerkombination, den Wunscheinsatzorten, dem aktuellen Einsatzort, der Anzahl der erfolglosen Gesuche und einem Freigabevermerk speichern Gespeichert werden sollen die Schulen mit Ort und deren Stellenbedarf. Entwerfen Sie ein semantisches und logisches Modell!


Herunterladen ppt "Erstellen einer Datenbank Vom semantischen zum logischen Modell."

Ähnliche Präsentationen


Google-Anzeigen