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. 1050000Köln 2REHAUSperlingstr. 2067100Ludwigshafen 3MüllerAGAm Kai 5067000Ludwigshafen 4LEGAHauptstr. 1780362Günzburg 5PlaymobilSpielstr. 1595001Zirndorf 6ThyssanStahlstr. 25-3533433Essen 7StahlitalGrenzstr. 183091Kiefersfelden 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 118 2 3 420 5 6145 7 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 118 0.2450 218 0.2640 3180.2545 4200.105 5200.150 61450.0310 71450.054 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. 567000Ludwigshafen 2modelle und mehrKönigstr. 1083022Rosenheim 3techno-playWendelsteinstr.283026Rosenheim Ganze Zahl Text Text / Char(5)Text Kunde IDName 815Müllauto 816Rennauto 817Feuerwehrauto Ganze ZahlText Produkt

19 Arbeitsauftrag – Lösungen BauteilNrProduktNrAnzahl 188151 188161 188171 208156 208164 208176 1458153 1458162 1458173 Ganze Zahl Zur Erinnerung: m:n-Kardinalität ist_verbaut_in

20 Arbeitsauftrag – Lösungen KundeNrProduktNrAnzahl 28163000 38172000 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 1180.2450 2180.2640 3180.2545 4200.105 5200.150 61450.0310 71450.054 IDNameStrassePLZOrt 1BASVChemiestr. 1050000Köln 2REHAUSperlingstr. 2067100Ludwigshafen 3MüllerAGAm Kai 5067000Ludwigshafen 4LEGAHauptstr. 1780362Günzburg 5PlaymobilSpielstr. 1595001Zirndorf 6ThyssanStahlstr. 25-3533433Essen 7StahlitalGrenzstr. 183091Kiefersfelden

23 Logisches Modell – Kardinalitäten IDNameStrassePLZOrtBauteilNrPreisFixkosten 1BASVChemiestr. 1050000Köln180.2450 2REHAUSperlingstr. 2067100Ludwigshafen180.2640 3MüllerAGAm Kai 5067000Ludwigshafen180.2545 4LEGAHauptstr. 1780362Günzburg200.105 5PlaymobilSpielstr. 1595001Zirndorf200.150 6ThyssanStahlstr. 25-3533433Essen1450.0310 7StahlitalGrenzstr. 183091Kiefersfelden1450.054 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 E-Mail Abz_Datum Geschlecht TEILNEHMER Name Vorname Strasse PLZ Ort Tel Geb_Datum E-Mail Abz_Datum Geschlecht LEHRER Name Vorname Strasse PLZ Ort Tel E-Mail Lohn LSt_Klasse Kto BLZ leitet LEHRER Name Vorname Strasse PLZ Ort Tel E-Mail 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 E-Mail Abz_Datum Geschlecht TEILNEHMER Name Vorname Strasse PLZ Ort Tel Geb_Datum E-Mail Abz_Datum Geschlecht LEHRER Name Vorname Strasse PLZ Ort Tel E-Mail Lohn LSt_Klasse Kto BLZ leitet LEHRER Name Vorname Strasse PLZ Ort Tel E-Mail 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…4900 1009BernauerElke…2500 1100KeilerHans…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…4900301TeamtrainingX-ConsultBonn 1009BernauerElke…2500302ProjektmanagR&TBasel 1009BernauerElke…2500301TeamtrainingX-ConsultBonn 1100KeilerHans…3000510SAP R/3X-ConsultBonn 1100KeilerHans…3000520ComputernetzeR&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…4900301TeamtrainingX-ConsultBonn 1002AbeleFranz…4900510SAP R3X-ConsultBonn 1009BernauerElke…2700302ProjektmanagR&TBasel 1009BernauerElke…2500301TeamtrainingX-ConsultBonn 1100KeilerHans…3000510SAP R/3X-ConsultBonn 1100KeilerHans…3000520ComputernetzeR&TBasel Mitarbeiter Redundanz von Daten Inkonsistenz der Datenbank

32 Typische Fehler - Redundanzen Mehrteilige Primärschlüssel mit funktional abhängigen Attributen PersIDNameVornAdrGehFIDFortbildungsbezVeranstaltOrt 1002AbeleFranz…4900301TeamtrainingX-ConsultBonn 1002AbeleFranz…4900510SAP R/3X-ConsultBonn 1009BernauerElke…2700302ProjektmanagR&TBasel 1009BernauerElke…2700301TeamtrainingX-ConsultBonn 1100KeilerHans…3000510SAP R/3X-ConsultBonn 1100KeilerHans…3000520ComputernetzeR&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…4900 1009BernauerElke…2500 1100KeilerHans…3000 Mitarbeiter IDFortbildungsbezVeranstaltOrt 301TeamtrainingX-ConsultBonn 302ProjektmanagR&TBasel 510SAP R/3X-ConsultBonn 520ComputernetzeR&TBasel Fortbildung MitarbeiterNrFortbildungNr 1002301 1002510 1009302 1009301 1100510 1100520 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…4900 1009BernauerElke…2500 1100KeilerHans…3000 Mitarbeiter IDFortbildungsbezVeranstalter Nr 301Teamtraining1 302Projektmanag2 510SAP R/31 520Computernetze2 Fortbildung MitarbeiterNrFNr 1002301 1002510 1009302 1009301 1100510 1100520 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