faecher:informatik:oberstufe:datenbanken:er_modelle:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:datenbanken:er_modelle:start [21.10.2020 15:44] sbelfaecher:informatik:oberstufe:datenbanken:er_modelle:start [23.01.2024 14:47] (aktuell) Frank Schiebel
Zeile 1: Zeile 1:
- 
 ===== Das Entity-Relationship-Modell ===== ===== Das Entity-Relationship-Modell =====
  
Zeile 6: Zeile 5:
 In der Datenbank wird ein Ausschnitt der Realität abgebildet oder modelliert. Da die Realität eine überschaubare Anzahl von Möglichkeiten und Randbedingungen beinhaltet ist bei der Beschreibung dieses Ausschnitts eine Beschränkung auf die wichtigsten oder interessantesten Objekte der Realität und ihre Beziehungen untereinander sinnvoll. Wir erzeugen dadurch einen Ausschnitt der realen Welt, eine "Miniwelt". In der Datenbank wird ein Ausschnitt der Realität abgebildet oder modelliert. Da die Realität eine überschaubare Anzahl von Möglichkeiten und Randbedingungen beinhaltet ist bei der Beschreibung dieses Ausschnitts eine Beschränkung auf die wichtigsten oder interessantesten Objekte der Realität und ihre Beziehungen untereinander sinnvoll. Wir erzeugen dadurch einen Ausschnitt der realen Welt, eine "Miniwelt".
  
-Eine Datenbank verknüpft verschiedene **Entitäten** der Miniwelt auf logische Weise. eine Entität ist dabei ein Objekt  der Minwelt, das verschiedenen Eigenschaften haben kann - diese Eigenschaften nennt man **Attribute** der Entität.+Eine Datenbank verknüpft verschiedene **Entitäten** der Miniwelt auf logische Weise, stellt also die **Beziehungen** zwischen den Entitäten darEine Entität ist dabei ein Objekt  der Minwelt, das verschiedenen Eigenschaften haben kann - diese Eigenschaften nennt man **Attribute** der Entität.
  
-Verknüpft im Beispiel die Entitäten "Schüler" und "Lehrer", dargestellt im folgenden **Entity-Relations-Diagram** (ER-Diagramm). Unterschlagen werden dabei Aspekte der Realität wie "Schüler findet Lehrer doof", "Lehrer schreibt schwere Klasssenarbeiten" u.ä. Je nach dem Zweck den ,eine Datenbank erfüllen soll, werden anderen Aspekte der Realität in der Miniwelt abgebildet und in das Modell übernmommen.+Im folgenden Beispiel sind die Entitäten "Schüler" und "Lehrer", dargestellt im folgenden **Entity-Relations-Diagram** (ER-Diagramm). Unterschlagen werden dabei Aspekte der Realität wie "Schüler findet Lehrer doof", "Lehrer schreibt schwere Klasssenarbeiten" und der Umsatnd, dass in der realen Welt Eltern existieren. Je nach dem Zweck den,eine Datenbank erfüllen soll, werden anderen Aspekte der Realität in der Miniwelt abgebildet und in das Modell übernommen.
  
-{{.:ent.png?780|}}+{{ .:erd.png |}}
  
-//"Jeder Schüler hat genau einen Klassenlehrer"// ist hie die Beziehung zwischen den Entitäten "Schüler" und "Lehrer". Da jeder Schüler nur genau einen Klassenlehrer hat, spricht man hier von einer **N:1 Relation** ("Viele zu Eins") zwischen den Entitäten "Schüler" und "Lehrer".+//"Jeder Schüler hat genau einen Klassenlehrer"// ist hier die Beziehung zwischen den Entitäten "Schüler" und "Lehrer". Da jeder Schüler nur genau einen Klassenlehrer hat, spricht man hier von einer **N:1 Relation** ("Viele zu Eins") zwischen den Entitäten "Schüler" und "Lehrer". 
 + 
 +Insgesamt gibt es nur **vier** Beziehungen zwischen Entitäten, der Fachbegriff ist "Kardinalität"
  
-Insgesamt gibt es nur vier Beziehungen: 
   - 1:1 - Beziehung   - 1:1 - Beziehung
   - 1:N - Beziehung   - 1:N - Beziehung
Zeile 21: Zeile 21:
  
  
-{{.:er-modell.pdf|Übersicht zum ER-Modell}}+==== Aufgaben ==== 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (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:** Neue Entitäten> 
   * 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 "neue" Schulverwaltungsdatenbank   * Zeichne ein ER-Diagramm für deine "neue" Schulverwaltungsdatenbank
-</box> 
  
-==== Übung 2 ====+++++ Lösungsvorschlag | Hier gibt es zahlreiche richtige Lösungen. Eine denkbare Möglichkeit sieht so aus: 
 +{{ :faecher:informatik:oberstufe:datenbanken:er_modelle:erd_schule_erweitert.drawio.png |}}
  
-<box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe:** ER-Diagramme+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 "unterrichtet in". Ultimativ ist auch beides denkbar:  
-Finde für folgende ER-Diagramme den Beziehungstyp heraus und notiere ihn auch am Diagramm. Falls nötig kannst du dir verbale Formulierungen überlegen: + 
-</box>+{{ :faecher:informatik:oberstufe:datenbanken:er_modelle:erd_schule_variante2.drawio.png?400 |}} 
 +++++ 
 + 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A2) === 
 + 
 +ER-DiagrammeFinde für folgende ER-Diagramme den Beziehungstyp heraus und notiere ihn auch am Diagramm. Falls nötig kannst du dir verbale Formulierungen überlegen:
  
 Beispiel: {{.:er1.jpg?600|}} \\  Beispiel: {{.:er1.jpg?600|}} \\ 
 Lösung:\\  Lösung:\\ 
-Ein Lehrer ist Klassenlehrer von vielen Schülern => 1:N \\  +Ein Lehrer ist Klassenlehrer von vielen Schülern -> 1:N \\  
-(anders als oben: jeder Schüler hat genau einen Klassenlehrer => N:1) \\ +(anders als oben: jeder Schüler hat genau einen Klassenlehrer -> N:1) \\ 
  
 Diagramm 1: {{.:er2.jpg?600|}} \\  Diagramm 1: {{.:er2.jpg?600|}} \\ 
Zeile 51: Zeile 58:
  
  
-===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“ 
- 
-==== Übung 3 ==== 
- 
-<box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe:** ER-Diagramme> 
 Modelliere die folgenden Situationen in einem ER-Diagramm: Welche Beziehung besteht zwischen den Entitäten, welche Attribute haben die Entitäten? Modelliere die folgenden Situationen in einem ER-Diagramm: Welche Beziehung besteht zwischen den Entitäten, welche Attribute haben die Entitäten?
   * 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, deren Datum und Auflösung bekannt ist, soll ein Stichwortverzeichnis angelegt werden.    * Zu einer gespeicherten Sammlung von Digitalfotos, deren Datum und Auflösung bekannt ist, soll ein Stichwortverzeichnis angelegt werden. 
   * 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!)
-</box> 
  
-  +---- 
-==== Übung 4 ====+{{:aufgabe.png?nolink  |}} 
 +=== (A4) === 
 + 
 +Erweitere die Entitäten im Webshop in PHPmyAdmin 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, überlege, welche Typen für deine Ideen jeweils geeignet sind. 
 + 
 +==== Material ====
  
-<box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe:** ER-Diagramme> +{{simplefilelist>.:03*}}
-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>+
  
  • faecher/informatik/oberstufe/datenbanken/er_modelle/start.1603287893.txt.gz
  • Zuletzt geändert: 21.10.2020 15:44
  • von sbel