db:modellierung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
db:modellierung [2014/05/01 14:35] – roehner | db:modellierung [2016/03/02 08:35] – roehner | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Modellierung ===== | ||
+ | Ausgangspunkt der Modellierung ist die Betrachtung der beteiligten Objekte, die in der Miniwelt vorkommen. Diese werden als [[https:// | ||
+ | Entitäten sind einzelne Ausprägungen von Dingen, Personen oder Vorgängen, die voneinander unterscheidbar, | ||
+ | * eine natürliche oder juristische Person; ein Gegenstand (Produkt, Maschine) | ||
+ | * ein abstrakter Begriff (Fachgebiet) | ||
+ | * ein immaterielles Ding oder ein Sachverhalt (Vorgang, Ereignis, Buchung, Vertragsverhältnis) | ||
+ | |||
+ | Beispiele für Entitäten sind: | ||
+ | *der Bundespräsident | ||
+ | *die Lichtenbergschule | ||
+ | *die Einladung zum diesjährigen Schulfest an unserer Schule. | ||
+ | |||
+ | In der Datenmodellierung wird ein Objekt der realen Welt als Entität (engl. entity) modelliert. | ||
+ | Gleichartige Entitäten bilden einen Entitätstyp (engl. entity type). | ||
+ | Beispiele für Entitätstypen sind: | ||
+ | *Präsidenten | ||
+ | *Schulen | ||
+ | *Einladungen einer Schule | ||
+ | |||
+ | Hilfreich bei der Suche nach geeigneten Entitätstypen zur Konzeption der Datenbank ist der Hinweis, dass Entitätstypen typischerweise durch Substantive beschrieben werden. Die beteiligten Entitätstypen stehen zueinander in Beziehungen. Die Beziehung zwischen je zwei Entitätstypen wird typischerweise durch ein Verb ausgedrückt. | ||
+ | <WRAP box round> | ||
+ | **Beispiel** | ||
+ | |||
+ | Lehrer | ||
+ | (Enitätstyp) (Beziehung) | ||
+ | </ | ||
+ | |||
+ | ==== Klassifizierung – Entität/ | ||
+ | Um sachgerecht über Modellierungen sprechen zu können, müssen Fachbegriffe benutzt werden. Fachkompetenz zeigt sich immer auch darin, dass man die Fachbegriffe drauf hat, sowie zielsicher einsetzt und nicht schwammig und diffus versucht Sachverhalte zu beschreiben. | ||
+ | |||
+ | In objektorientierter Terminologie ist ein bestimmter Oberstufenkurs ein Objekt, das bestimmte Attributwerte hat. Ist nicht ein bestimmter Kurs gemeint, sondern der Begriff Kurs allgemein, so wird dieser in der Datenbankterminologie Entitätstyp (engl. entity type) genannt. Weitere für eine Oberstufenverwaltung relevante Entitätstypen sind: Schüler, Lehrer und Räume. | ||
+ | |||
+ | <WRAP box round> | ||
+ | **Entität** | ||
+ | |||
+ | Eine Entität (engl. entity) ist ein Exemplar von Personen, Gegenständen | ||
+ | oder nicht materiellen Dingen über das Informationen gespeichert werden. | ||
+ | |||
+ | Beispiel: der Busfahrer Max Maier. | ||
+ | </ | ||
+ | |||
+ | <WRAP box round> | ||
+ | **Entitätstyp** | ||
+ | |||
+ | Ein Entitätstyp (engl. entity type) ist eine durch einen Namen eindeutig | ||
+ | benannte Klasse von Entitäten, über die die gleichen Informationen gespeichert | ||
+ | werden. | ||
+ | | ||
+ | Beispiel: Busfahrer | ||
+ | </ | ||
+ | |||
+ | Entitätstypen werden im ER-Diagramm durch Rechtecke dargestellt. Der Name des Entitätstyps steht im Singular im Rechteck. Entitätstypen entsprechen den Karteikästen der traditionellen Informationsspeicherung. Die Bildung von Entitätstypen hängt entscheidend von den jeweiligen Anforderungen ab. | ||
+ | |||
+ | ==== Abstraktion - Festlegung relevanten Eigenschaften – Attribute ==== | ||
+ | |||
+ | Kursbezeichnung, | ||
+ | |||
+ | <WRAP box round> | ||
+ | **Attribut** | ||
+ | |||
+ | Ein Attribut (engl. attribute) ist die Benennung für eine relevante | ||
+ | Eigenschaft aller Entitäten, die in einem Entitätstyp zusammengefasst werden. | ||
+ | |||
+ | Beispiel: Geburtsdatum | ||
+ | </ | ||
+ | <WRAP box round> | ||
+ | **Attributwert** | ||
+ | |||
+ | Ein Attributwert (engl. attribute value) ist eine spezielle Ausprägung, | ||
+ | die ein Attribut für eine konkrete Entität annimmt. | ||
+ | |||
+ | Beispiel: 16.07.1986 | ||
+ | </ | ||
+ | Attribute werden im ER-Diagramm durch Ovale dargestellt, | ||
+ | |||
+ | Attribute müssen soweit zerlegt werden, dass man in der Datenbank-Anwendung nicht auf Teile eines Attributs zugreifen muss. Eine Adresse muss also in Straße, Postleitzahl und Ort zerlegt werden. Man kann Straße und Hausnummer zusammen in einem Attribut StraßeNr speichern, wenn der Zugriff auf die Hausnummer nicht nötig ist. Mehrere Werte dürfen in einem Attribut nicht gespeichert werden, z. B. 1., 2. und 3. Wahl bei der Kurswahl bzw. die Fächer eines Lehrers. Die [[Normalformen|1. Normalform]] verlangt, dass Attribute **atomar** sein müssen. | ||
+ | |||
+ | ==== ER-Diagramm versus Objektorientierte Modellierung ==== | ||
+ | Ein Datenbankentwurf wird anschaulich als ER-Diagramm dargestellt. Jeder Entitätstyp wird als Rechteck dargestellt, | ||
+ | |||
+ | {{SchuelerKurs.gif}}\\ | ||
+ | ER-Diagramm Schüler und Kurse | ||
+ | |||
+ | Bei objektorientierter Modellierung würde man dieses Klassendiagramm erhalten. | ||
+ | |||
+ | {{SchuelerKursOOM.gif}}\\ | ||
+ | Klassendiagramm Schüler und Kurs | ||
+ | |||
+ | ==== Modellierungsprobleme ==== | ||
+ | Bei jeder Modellierung muss man sich überlegen, ob man die zu verwaltenden Daten modelliert als | ||
+ | * ein einziges Attribut | ||
+ | * eine Menge von Attributen | ||
+ | * einen Entitätstyp | ||
+ | Die Entscheidung darüber hängt von der zu modellierenden Miniwelt ab. | ||
+ | |||
+ | Bei der Modellierung muss auch auf den Unterschied zwischen Attributen und Attributwerten geachtet werden. Zum Beispiel sind Deutsch und Mathematik Attributwerte, | ||
+ | |||
+ | ==== Identifizierung der Entitäten – Schlüssel – Primärschlüssel ==== | ||
+ | An unserer Schule gibt es öfters namensgleiche Schülerpaare. Es kam schon vor, dass zwei Schüler mit dem selben Namen sogar in einer Klasse waren. Auch bei der Anwendung einer Datenbank treten schnell Probleme auf, wenn die Datensätze nicht eindeutig identifizierbar sind. Zwar könnte man zu Namen und Vornamen noch das Geburtsdatum hinzunehmen, | ||
+ | |||
+ | <WRAP box round> | ||
+ | **Schlüssel** | ||
+ | |||
+ | Ein Schlüssel ist ein Attribut oder Kombination von Attributen, | ||
+ | die die Entitäten eindeutig identifizieren. | ||
+ | |||
+ | Beispiel: Schülernummer oder Name, Vorname und Geburtsdatum eines Schülers | ||
+ | </ | ||
+ | |||
+ | <WRAP box round> | ||
+ | **Primärschlüssel** | ||
+ | |||
+ | Ein Primärschlüssel ist der unter allen möglichen Schlüsseln | ||
+ | für das Datenmodell ausgewählte Schlüssel. | ||
+ | |||
+ | Beispiel: Schülernummer | ||
+ | </ | ||
+ | |||
+ | Schlüsselattribute werden im ER-Diagramm und Relationenmodell durch Unterstreichen gekennzeichnet: | ||
+ | |||
+ | <WRAP pre> | ||
+ | Schüler(__Schülernummer__, | ||
+ | Kurs(__Kursnummer__, | ||
+ | </ | ||
+ | |||
+ | ==== Modellierung von Beziehungen ==== | ||
+ | Bei der objektorientierten Modellierung haben wir gesehen, dass Assoziation, | ||
+ | |||
+ | |||
+ | ====Präsentation zum Datenbankentwurf==== | ||
+ | {{Datenbankentwurf.ppt|Präsentation zum Datenbankentwurf}} | ||
+ | |||
+ | ====Aufgaben==== | ||
+ | Modelliere diese Miniwelten als ER-Diagramm: | ||
+ | * [[Kaufhaus]] | ||
+ | * [[Busunternehmen]] | ||
+ | * [[Kino]] | ||
+ | * [[Autovermietung]] | ||
db/modellierung.txt · Zuletzt geändert: 2016/03/02 08:39 von roehner