Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:er_modelle:start [21.10.2020 13:36] – sbel | faecher:informatik:oberstufe:datenbanken:er_modelle:start [28.11.2024 18:24] (aktuell) – [Material] Frank Schiebel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | |||
===== Das Entity-Relationship-Modell ===== | ===== Das Entity-Relationship-Modell ===== | ||
Das Entity-Relationship-Modell (ERM oder ER-Modell) ist das heute mit am weitesten verbreitete Datenmodell. Der Einsatz von ER-Modellen ist der De-facto-Standard für die Datenmodellierung, | Das Entity-Relationship-Modell (ERM oder ER-Modell) ist das heute mit am weitesten verbreitete Datenmodell. Der Einsatz von ER-Modellen ist der De-facto-Standard für die Datenmodellierung, | ||
- | Eine Datenbank verknüpft verschiedene **Entitäten** auf logische Weise, in der Datenbank wird ein Teil der Realität abgebildet oder modelliert | + | In der Datenbank wird ein Ausschnitt |
- | Verknüpft im Beispiel die Entitäten | + | Eine Datenbank verknüpft verschiedene **Entitäten** der Miniwelt auf logische Weise, stellt also die **Beziehungen** zwischen den Entitäten dar. Eine Entität ist dabei ein Objekt |
- | {{.:ent.png?780|}} | + | Im folgenden Beispiel sind die Entitäten " |
- | //" | + | {{ .:erd.png |}} |
+ | |||
+ | //" | ||
+ | |||
+ | Insgesamt gibt es nur **drei** Beziehungen zwischen Entitäten, der Fachbegriff ist " | ||
- | Insgesamt gibt es nur vier Beziehungen: | ||
- 1:1 - Beziehung | - 1:1 - Beziehung | ||
- | - 1:N - Beziehung | + | - 1:N - Beziehung (oder anders herum) |
- | - N:1 - Beziehung (Umkehrung zu 1:N) | + | |
- N:M - Beziehung | - N:M - Beziehung | ||
- | {{.:er-modell.pdf|Übersicht zum ER-Modell}} | + | ==== Aufgaben ==== |
+ | ---- | ||
+ | {{:aufgabe.png? | ||
+ | === (A1) === | ||
- | ==== Übung 1 ==== | + | Erweiterung der Schuldatenbank: |
- | Lege zur Bearbeitung der Übungen einen entsprechenden Unterbereich auf deiner Wikiseite an und beantworte die Fragen dort **schriftlich**. **Diagramme** kannst du mit einem Programm deiner Wahl erstellen und in die Wikiseiten einfügen. | ||
- | |||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe: | ||
* Ergänze die Entitäten der beispielhaften Schulverwaltungsdatenbank durch weitere Attribute | * Ergänze die Entitäten der beispielhaften Schulverwaltungsdatenbank durch weitere Attribute | ||
* Ergänze die Schulverwaltungsdatenbank durch eine weitere Entität, die mit mindestens einer der beiden vorgegebenen in einer Beziehung steht. | * Ergänze die Schulverwaltungsdatenbank durch eine weitere Entität, die mit mindestens einer der beiden vorgegebenen in einer Beziehung steht. | ||
* Zeichne ein ER-Diagramm für deine " | * Zeichne ein ER-Diagramm für deine " | ||
- | </ | ||
- | ==== Übung 2 ==== | + | ++++ Lösungsvorschlag | Hier gibt es zahlreiche richtige Lösungen. Eine denkbare Möglichkeit sieht so aus: |
+ | {{ : | ||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa # | + | Die Beziehungskardinalität zwischen Lehrern und Klassen kann natürlich anders formuliert werden und/oder anders aussehen, je nachdem, ob ein Lehrer z.B. Klassenlehrer in mehr als einer Klasse sein kann - oder man die Beziehung allgemeiner formuliert als " |
- | Finde für folgende ER-Diagramme den Beziehungstyp heraus und notiere ihn auch am Diagramm. Falls nötig kannst du dir verbale Formulierungen überlegen: | + | |
- | </ | + | {{ : |
+ | ++++ | ||
+ | |||
+ | ---- | ||
+ | {{:aufgabe.png? | ||
+ | === (A2) === | ||
+ | |||
+ | ER-Diagramme: Finde für folgende ER-Diagramme den Beziehungstyp heraus und notiere ihn auch am Diagramm. Falls nötig kannst du dir verbale Formulierungen überlegen: | ||
Beispiel: {{.: | Beispiel: {{.: | ||
Lösung: | Lösung: | ||
- | Ein Lehrer ist Klassenlehrer von vielen Schülern | + | Ein Lehrer ist Klassenlehrer von vielen Schülern |
- | (anders als oben: jeder Schüler hat genau einen Klassenlehrer | + | (anders als oben: jeder Schüler hat genau einen Klassenlehrer |
Diagramm 1: {{.: | Diagramm 1: {{.: | ||
- | Diagramm 2: {{.:er3.jpg?600|}} \\ | + | Diagramm 2: {{.:er4.jpg?600|}} \\ |
- | Diagramm 3: {{.:er4.jpg?600|}} \\ | + | Diagramm 3: {{.:er3.jpg?600|}} \\ |
- | ===Versuche den Beziehungstyp von der sprachlichen Umschreibung abzuleiten=== | ||
- | a) „Eine Bestellung kann verschiedene Produkte enthalten“ \\ | + | ---- |
- | Diagramm 4: {{.:er5.jpg?600|}} | + | {{:aufgabe.png?nolink |
+ | === (A3) === | ||
- | b) „Neben normalen Kunden kann die Datenbank auch Kunden enthalten, die noch nichts bestellt haben“ | + | Modelliere die folgenden Situationen in je einem ER-Diagramm: |
- | + | ||
- | ==== Übung 3 ==== | + | |
- | + | ||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe: | + | |
- | Modelliere die folgenden Situationen in einem ER-Diagramm: | + | |
* Schüler (Vorname, Name) erhalten Zeugnisse. Die Zeugnisse enthalten eine Bemerkung über Mitarbeit und Verhalten und die Fachnoten. | * Schüler (Vorname, Name) erhalten Zeugnisse. Die Zeugnisse enthalten eine Bemerkung über Mitarbeit und Verhalten und die Fachnoten. | ||
* Zu einer gespeicherten Sammlung von Digitalfotos, | * Zu einer gespeicherten Sammlung von Digitalfotos, | ||
* CDs (Titel, ISBN-Nummer) sind von bestimmten Interpreten (Name) und enthalten Songs (Titel). (3 Entitäten!) | * CDs (Titel, ISBN-Nummer) sind von bestimmten Interpreten (Name) und enthalten Songs (Titel). (3 Entitäten!) | ||
- | </ | ||
- | + | ---- | |
- | ==== Übung 4 ==== | + | {{: |
+ | === (A4) === | ||
+ | |||
+ | Erweitere die Entitäten im Webshop in deinem Datenbankmanagementprogramm um weitere Attribute, indem du Felder in vorhandene Tabellen hinzufügst. Füge neue Entitäten hinzu, indem du neue Tabellen anlegst. Informiere dich in einer Internetrecherche über die möglichen Feldtypen in deinem Datenbanksystem (mysql/ | ||
+ | |||
+ | ==== Material | ||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe:** ER-Diagramme> | + | * [[https:// |
- | Erweitere die Entitäten in deiner Bücherdatenbank in mysql um weitere Attribute indem du Felder in vorhandene Tabellen hinzufügst. Füge neue Entitäten hinzu, indem du neue Tabellen anlegst. Informiere dich in einer Internetrecherche über die möglichen Feldtypen in mysql und halte die wichtigsten auf deiner Wiki-Seite fest. | + | |
- | </box> | + | |