4 Entitäten und Attribute
Gemäss Wikipedia ist eine Entität:
Als Entität (auch Informationsobjekt genannt, englisch entity) wird in der Datenmodellierung ein eindeutig zu bestimmendes Objekt bezeichnet, über das Informationen gespeichert oder verarbeitet werden sollen. Das Objekt kann materiell oder immateriell, konkret oder abstrakt sein. Beispiele: Ein Fahrzeug, ein Konto, eine Person, ein Zustand.
Dies bedarf einer Erklärung - dem wollen wir uns in diesem Kapitel annehmen.
4.1 Lernziele
Jede/r Lernende:
- …kennt die Begriffe Entität, Tupel und Attribut und kann Sie sinngemäss wiedergeben.
- …kann aus einer Beschreibung Entitäten selektieren
- …kann zu Entitäten die Attribute hinzufügen
- …kann Entitäten graphisch darstellen
4.2 Entität und Tupel
Eine Entität (philosophisch auch das Ding), ist ein Objekt, welches alle Eigenschaften eines Dings beinhaltet. Nicht mehr - aber eben auch nicht weniger.
Das Festlegen von Entitäten funktioniert meistens, in dem man alle Substantive in einer Aufgabenbeschreibung markiert.
Machen wir ein Beispiel:
In Büroräumen sitzen Mitarbeiter. In den Zimmern sind Telefone aufgestellt.
Dies führt man unserer Analyse zu folgenden Entitäten:
- Büroräume
- Mitarbeiter
- Telefone
In diesem Beispiel werden vor allem physische Objekte benannt. Sie können aber auch abstrakter sein…zum Bespiel:
- Ein Individuum wie beispielsweise ein Arzt, ein Patient, eine Krankenschwester usw.
- Ein reales Objekt wie beispielsweise ein Operationssaal, ein Krankenzimmer usw.
- Ein abstraktes Konzept wie beispielsweise eine Diagnose, ein Fachgebiet usw.
- Ein Ereignis wie beispielsweise ein Kreislaufkollaps, eine Patientenaufnahme usw.
Aus der Sicht des Modellentwerfers kann eine Entität folgendermassen charakterisiert werden:
- Eine eindeutig identifizierbare Einheit.
- Eine Einheit, deren Existenz auf einem geeigneten Speichermedium aufgrund eines Identifikationsmerkmal darstellbar sein muss (Schlüssel).
- Eine Einheit, für die Informationen zu sammeln und auf einem geeigneten Speichermedium festzuhalten sind.
Diese Merkmale sind bei der Ermittlung der ``Ankerpunkte’’ eines Datenmodells von entscheidender Bedeutung.
4.3 Tupel
Ein Datensatz einer Entität (also “der Büroraum 207”, “der Mitarbeiter YY”) bezeichnet man als Tupel.
4.3.1 Entitätsmenge
Die Entität ist der Einzelfall. Bei Datenbanken fasst man eine Entität zusammen. Es gibt ja schliesslich nicht nur eine Bestellung, es gibt Bestellungen von vielen Kunden. Man spricht dann auch von einer Entitätsmenge. Als Überschrift wird dann oft einfach die Einzahl der Entitäten verwendet.
4.4 Attribute
Damit Entitäten beschrieben, und mit Inhalten gefüllt werden können, werden sie mit Attributen angereichert. Diese Eigenschaften können zu folgenden Dingen nützlich sein:
- Charakterisierung (Informationen)
- Klassierung (Gruppierungen)
- Identifizierung (das wären dann Schlüssel, kommt später)
Bleiben wir bei unserem Beispiel - und erweitern wir die Aufgabenbeschreibung:
In Büroräumen (charakterisiert durch eine Zimmernummer) sitzen seit einem Zeitpunkt Mitarbeiter (Personalnummer, Name, Titel, Status) an einem bestimmten Platz. In den Zimmern sind Telefone (besitzen eine eindeutige Telefonnummer) aufgestellt, die als Hausapparat oder Amtsapparat geschaltet sind.
Die führt zu folgenden Entitäten, mit den jeweiligen Attributen:
- Büroraum
- Attribut: Zimmernummer
- Mitarbeiter
- Attribut: Personalnummer
- Attribut: Name
- Attribut: Titel
- Attribut: Status
- Telefon
- Attribut: Telefonnummer
- Attribut: IstHaustelefonOderNicht
Was jetzt natürlich noch fehlt, sind die Beziehungen zwischen den Entitäten.
4.4.1 Darstellung
Sie sehen schon bei der Auflistung der Inhalte oben, es wäre schon diese Inhalt graphisch darstellen zu können. Entitäten werden als Vierecke mit Attribut-Inhalten dargestellt - unser Beispiel sieht also wie folgt aus:
Figure 4.1: Ohne Relationen
4.5 Ausblick : Begriff Domänen
Eine Domäne beschreibt den zulässigen Wertebereich eines Attributs. Das können fest vorgegebene Werte sein (z.B. Januar, Februar, …), Bereiche (z.B. von 0 bis 999, von A bis G) oder Mengenangaben bzw. Datentypangaben (z.B. natürliche Zahl, reelle Zahl, Datum).
Wir werden uns später genauer mit diesen Wertebereichen auseinandersetzen, da diese auch DBMS-Produkt-abhängig sein können.