Unterschiede

Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.

start:info:10_diff:datenbanken:er-modell 21.10.2008 10:53 — aktuell
Zeile 1: Zeile 1:
-====== ER-Modell ====== 
- 
-Um überhaupt eine Datenbank anlegen und mit ihr arbeiten zu können, muss man erst wissen, was man will. Sehr hilfreich sind dabei Modelle, die das Problem beschreiben. Vor allem kommt es bei Datenbanken darauf an, Daten nicht **redundant**((mehrfach)) abzulegen und darauf zu achten, dass diese **konsistent**((jederzeit stimmen)) sind.\\ 
- 
-Ein solches Modell ist das **Entity-Relationship-Modell** ((kurz ER-Modell genannt))\\ 
- 
-Aus dem Namen ist schon zu erkennen, dass die grundlegendsten Modellierungsstrukturen dieses Modells die Entities((Gegenstände)) und die Relationships((Beziehungen)) zwischen den Entities sind. Zusätzlich "kennt" das Entity-Relationship-Modell noch Attribute und Rollen - dazu aber später mehr((oder gar nichts mehr ;-) ))\\ 
- 
-Hier gibt's noch Lesestoff: [[wpde>Entity-Relationship-Modell]]\\ 
- 
- 
-{{ :start:info:10_diff:datenbanken:entity.gif|Entity}}**Gegenstände** (bzw. Entities) sind wohlunterscheidbare physisch oder gedanklich existierende Konzepte der zu modellierenden Welt. Man abstrahiert ähnliche Gegenstände zu Gegenstandstypen (Entitytypen oder Entitymengen), die man graphisch als Rechtecke darstellt, wobei der Name des Entitytyps innerhalb des Rechtecks angegeben wird.\\ 
- 
-{{ :start:info:10_diff:datenbanken:relationship.gif|Beziehung}}**Beziehungen** werden auf analoge Weise zu Beziehungstypen zwischen den Gegenstandstypen abstrahiert. Die Beziehungstypen werden als Rauten mit entsprechender Beschriftung repräsentiert. Die Rauten werden mit den beteiligten Gegenstandstypen über ungerichtete Kanten verbunden.\\ 
- 
-Im Folgenden werden wir oft die Unterscheidung zwischen Gegenständen und den Gegenstandstypen, bzw. zwischen Beziehungen und Beziehungstypen, vernachlässigen. Aus dem Kontext dürfte immer leicht ersichtlich sein, was gemeint ist. 
- 
-====== Fragen ====== 
-  - Was ist ein ER-Modell? (Wofür steht ER?) 
-  - Welche Begriffe sind im Zusammenhang des ER-Modells relevant? siehe: (([[http://www.little-idiot.de/mysql/mysql.html#toc12|Planung der Datenbankstruktur]])) 
- 
-====== Entitytypen ====== 
- 
-Auch der Schulalltag bietet viele Möglichenkeiten das ER-Modell einmal auszuprobieren. Dazu müssen wir uns überlegen, welche Daten wir verarbeiten wollen und in welcher Beziehung diese zueinander stehen.\\ 
- 
-Einige **Entitytypen** hierzu könnten sein:\\ 
- 
-  * Schüler 
-  * Lehrer 
-  * Klasse/Jgst. 
- 
-====== Beziehungen ====== 
- 
-Erst die Beziehung macht die Datenmodellierung interessant, da man hier Daten verarbeitet und die Infrmationen abfragt/ändert/löscht...\\ 
- 
-In unserem Beispiel sind **Beziehungen** zwischen den Entitytypen z.B.:\\ 
- 
-  * istIn (zwischen Schüler und Klasse/Jgst.) 
-  * unterrichten (zwischen Lehrer und Klasse/Jgst.) 
- 
-====== Attribute ====== 
- 
-Jetzt haben wir zwar die Entitytypen und Beziehungen genannt - also ich weiß, dass es Schüler gibt und dass sie in eine Klasse gehen - aber ich muss die einzelnen Entities, die selben Typs sind auch unterscheiden können.\\ 
- 
-**Attribute** helfen uns hierbei, Entities bzw. Beziehungen zu charakterisieren. Diese stellt man durch Kreise (oder Ovale) dar und verbindet sie mit den entsprechenden Entitytypen bzw. Beziehungen durch eine gerade Linie((in der Informatik heißt so etwas **Kante**)).\\ 
- 
-====== Schlüsslattribute ====== 
- 
-Die einzelnen Entites gilt es natürlich zu unterscheiden. Wie geschieht das? WIe unterscheidet z.B. eine Schule ihre einzelnen Schüler? ((Dazu sollte man wissen, dass auch Abgänger noch in den Datenbeständen gepflegt werden)) wie unterscheidet ein Online-Shop seine Kunden?\\ 
- 
-Man braucht hierzu Attribute, die (alleine oder in Kombination mit anderen Attributen) als Unterscheidungsmerkmal herangezogen werden können. Dabei gilt:\\ 
- 
-Eine minimale Menge von Attributen, deren Werte das zugeordnete Entity eindeutig innerhalb aller Entities seines Typs identifiziert, nennt man **Schlüssel**. Sehr oft gibt es Attribute, die als Schlüssel "künstlich" eingebaut werden, wie z.B. Personalnummer (PNr), Schülernummer (SNr), etc. Schlüsselattribute werden durch Unterstreichung gekennzeichnet.\\ 
- 
-Es kann auch vorkommen, dass es auch zwei unterschiedliche Schlüsselkandidaten gibt: Dann wählt man einen dieser Kandidaten-Schlüssel als //Primärschlüssel// aus. 
- 
-====== ER-Schema ====== 
- 
-Wie kann man nun diese Modellierung visualisieren? Antwort: Mit einem ER-Schema:\\ 
- 
-{{:start:info:10_diff:datenbanken:er-schema.gif|ER-Schema}} 
- 
-====== Fragen ====== 
- 
-  - Nenne Entities zum Thema "Deutschland". Welche Beziehungen gibt es in diesem Kontext? 
-  - Von wem stammt die auf dieser Seite verwendete Schema-Darstellung? 
-  - Zeichne ein ER Schema zum Thema "Handys". Die Entities und Beziehungen legen wir im Unterricht fest... 
- 
-====== Charakterisierung von Beziehungstypen ====== 
- 
-Wenn man sich eine Beispieltabelle zu dem Schüler-Lehrer-Klasse-Modell anlegt stellt man Unterschiede in den Beziehungen fest:\\ 
- 
-{{ :start:info:10_diff:datenbanken:tabelle_erschema.gif |Tabelle zum ER-Schema}}\\ 
- 
-  * Ein Schüler kann nur einer Klasse angehören, aber 
-  * einer Klasse gehören mehrere Schüler an. 
- 
-  * In einer Klasse können mehrere Lehrer Unterrichten und 
-  * ein Lehrer kann auch in mehreren Klassen unterrichten. 
- 
-Es gibt hier einen feinen Unterschied unter den Beziehungstypen hinsichtlich ihrer Funktionalität, die nachfolgend aufgezählt werden sollen: 
- 
-===== 1:1-Beziehung ===== 
- 
-{{ :start:info:10_diff:datenbanken:1-1.gif|1:1-Beziehung}} 
-Falls jedem Entity e<sub>1</sub> aus E<sub>1</sub> höchstens ein Entity e<sub>2</sub> aus E<sub>2</sub> zugeordnet ist und umgekehrt jedem Entity e<sub>2</sub> aus E<sub>2</sub> höchstens ein Entity e<sub>1</sub> aus E<sub>1</sub> zugeordnet ist, spricht man von einer 1:1-Beziehung.\\ 
- 
-Man beachte dass es auch Entities aus E<sub>1</sub> (bzw. E<sub>2</sub>) geben kann, denen kein "Partner" aus E<sub>2</sub> (bzw. E<sub>1</sub>) zugeordnet ist.\\ 
- 
-**Beispiele:**\\ 
- 
-===== 1:N-Beziehung ===== 
- 
-{{ :start:info:10_diff:datenbanken:1-n.gif|1:N-Beziehung}} 
-Falls jedem Entity e<sub>1</sub> aus E<sub>1</sub> beliebieg viele (also mehrere oder auch gar keine) Entities aus E<sub>2</sub> zugeordnet sein können, aber jedes Entity e<sub>2</sub> aus E<sub>2</sub> mit maximal einem Entity aus E<sub>1</sub> in Beziehung stehen kann, spricht man von einer 1:N-Beziehung.\\ 
- 
-**Beispiele:**\\ 
- 
- 
-===== N:1-Beziehung ===== 
- 
-{{ :start:info:10_diff:datenbanken:n-1.gif|N:1-Beziehung}} 
-...analog zu obigem...\\ 
- 
-**Beispiele:**\\ 
- 
- 
-===== N:M-Beziehung ===== 
- 
-{{ :start:info:10_diff:datenbanken:n-m.gif|N:M-Beziehung}} 
-Wenn keinerlei Einschränkungen gelten müssen, d.h. jedes Entity aus E<sub>1</sub> mit beliebig vielen Entities aus E<sub>2</sub> in Beziehung stehen kann und umgekehrt jedes Entity aus E<sub>2</sub> mit beliebig vielen Entities aus E<sub>1</sub> assoziiert werden darf, spricht man von einer N:M-Beziehung.\\ 
- 
-**Beispiele:**\\ 
- 
-== 
- 
-**Wichtige Anmerkung:**\\ 
- 
-Man beachte, dass die Funktionalitäten Integritätsbedingungen darstellen, die in der zu modellierenden Welt immer gelten müssen. D.h. diese Bedingungnen sollen nicht nur im derzeit existierenden Zustand der Miniwelt (rein zufällig) gelten, sondern sie sollen Gesetzmäßigkeiten darstellen, deren Einhaltung erzwungen wird.\\ 
- 
-__Kurz und knapp:__ Die Funktionalität muss immer gelten - jetzt und auch auch später! 
- 
-====== Fragen ====== 
- 
-  - Finde Beispiele zu den unterschiedlichen Beziehungstypen. (Wird oben ergänzt) 
-  - Lade das Bild des ER-Schemas herunter und bearbeite es so, dass die Funktionalitäten auf den Kanten stehen und die Schlüsselattribute unterstrichen sind. (Abgabe per Email) 
-  - Eine Fluggesellschaft will ein Informationssystem aufbauen, um diese Informationen zu speichern:\\ Die Piloten, identifiziert durch die Personal-Nr mit Name und Alter, die verwendeten Flugzeugtypen mit ihrer eindeutigen Typ-Bezeichnung und Reisegeschwindigkeit sowie die Information, welcher Pilot welchen Flugzeugtyp fliegt. Außerdem die Flugstunden, die ein Pilot insgesamt geflogen ist, die Flugstunden die er auf einem bestimmten Flugzeugtyp geflogen ist und die Flugstunden, die mit einem Flugzeugtyp insgesamt geflogen wurden. 
-    - Zeichne das entsprechende ER-Diagramm, unterstreiche die Schlüsselattribute. 
-    - Gib die Funktionalitäten an. 
-    - Gib ein Beispiel in Tabellenform an. (Je 4 Zeilen) 
- 
start/info/10_diff/datenbanken/er-modell.1224579198.txt.gz · Zuletzt geändert: 23.10.2013 10:12 (Externe Bearbeitung)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0