q2:modellierung

Wie im vorletzten Kapitel ausgeführt, ist es zunächst sinnvoll, ein konzeptuelles Modell des gegebenen Problems zu erstellen. Dabei wird ganz allgemein ein Abbild der Wirklichkeit geschaffen, bei dem bestimmte Aspekte weggelassen, vereinfacht, zusammengefasst werden. Dabei lassen sich drei Abstraktionsmechanismen unter-scheiden:

(1) Klassifikation, Dinge bzw. Objekte mit gemeinsamen Eigenschaften werden zu einer Klasse zusammengefasst. Dabei werden nicht alle Eigenschaften der Objekte, meist Attribute genannt, berücksichtigt, sondern nur die für die Aufgabe relevanten.

Als Beispiel betrachten wir wieder die Schulverwaltung. Eine typische Klasse wäre „Schüler“ mit den Attributen „Name, Vorname, Geburtsdatum, Adresse“, die viele Individuen erfasst, dabei aber nur bestimmte Eigenschaften berücksichtigt. So macht das Attribut „Schuhgröße“ in diesem Zusammenhang wenig Sinn.

(2) Aggregation, bereits bestehende Klassen werden zu einem neuen Oberbegriff zusammengefasst.

So würde sich „Abiturbewertung“ aus „Halbjahresnoten“ und „Prüfungsergebnisse“ zusammen-setzen.

(3) Generalisierung oder Spezialisierung, dabei wird eine Teilmengenbeziehung zwischen Elementen verschiedener Klassen definiert.

So wäre „Ausleiher in der Schulbibliothek“ eine Generalisierung der Klassen „Schüler“ und „Lehrer“. Umgekehrt wäre „Abiturient“ eine Spezialisierung von „Schüler“. Bei Generalisierung, bzw. Spezialisierung gibt es immer Vererbung. So besitzt die untergeordnete Klasse (die Teilmenge) alle Attribute der Oberklasse, kann aber noch zusätzliche Eigenschaften haben. „Ausleiher“ braucht sicher die Attribute „Name, Vorname, Adresse“, die Teilmenge Schüler hat noch zusätzlich „Noten“, „Lehrer“ haben zusätzlich noch „Unterrichtsfächer“.

Um die Modellierung der Realität systematischer gestalten zu können, gibt es verschiedene Standardstrategien. Eine der bekanntesten zur Erstellung von DB-Anwendungen ist das sogenannte Entity-Relationship-Modell (kurz ER-Modell genannt). Das ER-Modell wurde zuerst von P.P. Chen 1976 vorgeschlagen.

Dabei versteht man unter einem Entity ein konkretes Objekt der Realität, z.B. den Schüler Fritz Immerfaul, unter einem Entity-Typ eine sinnvolle Klasse von einzelnen Entities, in unserem Bsp. wäre das der Typ „Schüler“. Das lässt sich sehr gut mit den Begriffen Klasse und Instanz aus der objektorientierten Programmierung vergleichen.

Entität

Eine Entität (engl. entity) ist ein Exemplar von Personen, Gegenständen oder nicht materiellen Dingen (Objekten) über das Informationen gespeichert werden sollen.

Entitätstyp

Ein Entitätstyp ist eine durch einen Namen eindeutig benannte Klasse von Entitäten, über die die gleichen Informationen gespeichert werden.

Die Entities besitzen gemeinsame Eigenschaften, Attribute genannt, im Bsp. „Name, Vorname“, usw. Im allgemeinen Fall können diese Attribute mehrere Werte umfassen, bzw. selbst wieder zusammengesetzt sein. Man kann das graphisch sehr gut veranschaulichen:

Dabei wird der Entity-Typ durch ein Rechteck dargestellt, die Attribute durch mit dem Rechteck verbundene Kreise. Ein zusammengesetztes Attribut wie „Adresse“ wird durch entsprechende Folgekreise gezeichnet, ein mehrwertiges Attribut wie „Vorher besuchte Schule“, das einen oder mehrere Einträge haben könnte, erscheint als Doppelkreis.

Attribut

Ein Attribut (engl. attribute) ist die Benennung für eine relevante Eigenschaft aller Entitäten, die in einem Entitätstyp zusammengefasst werden.

Attributwert

Ein Attributwert (engl. attribute value) ist eine spezielle Ausprägung, die ein Attribut für eine konkrete Entität annimmt.

Ein oder mehrere Attribute, die ein Entity eindeutig charakterisieren, werden Schlüssel genannt. In unserem Bsp. wäre ein möglicher Schlüssel eine Kombination der Attribute „Name, Vorname, Geburtsdatum“, denn es erscheint doch extrem unwahrscheinlich, dass es zwei Schüler mit gleichem Nachnamen, Vornamen und Geburtsdatum gibt. Es wäre (wenn auch nicht in diesem Bsp.) denkbar, dass noch andere Attributmengen mögliche Schlüssel sind. In diesem Fall wird einer der Kandidaten als Primärschlüssel vereinbart und durch Unterstreichen der Attri-butnamen kenntlich gemacht. Häufig verwendet man auch künstliche Attribute, um einen Primärschlüssel zu schaffen. In unserem Bsp. wäre das eine Schüler-Nummer, die jedes Entity eindeutig charakterisiert.

Schlüssel

Ein Schlüssel ist ein Attribut oder Kombination von Attributen, die die Entitäten eindeutig identifizieren.

Primärschlüssel

Ein Primärschlüssel ist der unter allen möglichen Schlüsseln für das Datenmodell ausgewählte Schlüssel.

  • /var/www/infowiki/data/pages/q2/modellierung.txt
  • Zuletzt geändert: 2017/07/14 09:32
  • von admin03