Entität (Informatik)
Als Entität (synonym Informationsobjekt; englisch entity) wird in der Datenmodellierung ein eindeutig zu bestimmendes Objekt bezeichnet, dem Informationen zugeordnet werden. Die Objekte können materiell oder immateriell, konkret oder abstrakt sein.
Entität, Entitätstyp
Jede Entität (das einzelne individuelle Objekt) wird einem Entitätstyp (gelegentlich Entitätsklasse genannt) zugeordnet. Entitäten sind konkrete Ausprägungen eines Entitätstyps. Nicht selten wird fälschlicherweise statt der exakten Bezeichnung „Entitätstyp“ das kürzere Wort „Entität“ (die einzelne Ausprägung eines Entitätstyps) verwendet, wobei aus dem Zusammenhang meist hervorgeht, ob es sich um ein Einzelobjekt oder dessen Typ handelt. Kriterium für die Zuordnung von Entitäten zu einem Entitätstyp (Typisierung) sind gleiche Attribute oder Merkmale.
Einzelne Entitäten eines Entitätstyps werden als Entitätsmenge zusammengefasst. Entitäten als Elemente einer Entitätsmenge werden durch ihre Eigenschaften (Werte von Attributen) unterschieden. Jede Entität eines Entitätstyps wird von den anderen Entitäten desselben Entitätstyps durch einen eindeutigen Wert eines identifizierenden Attributs oder einer Attributkombination (z. B. die Fahrgestellnummer für ein einzelnes Auto oder das Kraftfahrzeugkennzeichen für eine einzelne Zulassung) unterschieden. Dieses Attribut oder diese Attributkombination wird Identifikation, Identifikator oder kurz ID genannt. Bei der Überführung eines Entitätstyps in eine Tabelle einer relationalen Datenbank wird aus der Identifikation der Schlüssel.
Eine Entität kann mit anderen Entitäten wie auch mit sich selbst in einer Beziehung (englisch relationship) stehen. Daraus wird in der Datenmodellierung das (meist graphische) Entity-Relationship-Modell als Abbild der Gegebenheiten der untersuchten Realität gebildet.
Die Typisierung von Entitäten und der zwischen ihnen bestehenden Beziehungen zu Beziehungstypen geschieht durch Abstraktion. Dieser mentale Akt ist notwendig, um zu einem Datenmodell zu gelangen. Im Datenmodell werden Entitäten und ihre Beziehungen auf Typebene in einem Entity-Relationship-Diagramm grafisch dargestellt.[1] Für die Erstellung einer relationalen Datenbank kann ausgehend von einem Datenmodell ein Entitätstyp als eine Tabelle in einer Datenbank umgesetzt werden, wobei jeder Entität ein Tabelleneintrag oder Datensatz (im Falle einer relationalen Datenbank ein Tupel) entspricht.
Generalisierung / Spezialisierung
Gleiche Einzelobjekte mit gemeinsamen Eigenschaften und Beziehungen, die in verschiedenen Entitätstypen vorkommen, können zu einem neuen Entitätstyp zusammengefasst werden, was als Generalisierung bezeichnet wird. Der dabei entstehende Entitätstyp nimmt die gemeinsamen Attribute auf. Die ursprünglichen Entitätstypen bleiben bestehen; sie „erben“ die Attribute des neuen Entitätstyps. So können z. B. die Entitätstypen Kunde und Lieferant zusätzlich zu dem generalisierten Entitätstyp Geschäftspartnern zusammengeführt werden, da Name, Anschrift, Bankverbindung etc. sowohl beim Kunden als auch beim Lieferanten vorkommen. Die Aufspaltung von beispielhaft Geschäftspartner in Kunde und Lieferant hingegen wird als Spezialisierung bezeichnet.
Die Generalisierung, Spezialisierung und die Vererbung der Attribute entsprechen dem Grundgedanken der Objektorientierten Programmierung.
Beispiele
Entitätstypen sind:
- Kunde mit identifizierendem Attribut Kundennummer
- Konto mit identifizierendem Attribut Kontonummer
- Artikel mit identifizierendem Attribut EAN
- Buch mit identifizierendem Attribut Inventarnummer (im Falle einer Bibliothek und als einzelnes Exemplar)
- Buch mit identifizierendem Attribut ISBN (im Falle eines Verlags und mit vielen (aus Sicht des Verlages identischen) Kopien)
Gegenüberstellung von Grundbegriffen
Tabelle | Relationale Datenbank | Entity-Relationship-Modell (ERM) | Unified Modeling Language (UML) |
---|---|---|---|
Wertebereich (Domäne, Domain) | Wertebereich (Domäne, Domain) | Wertebereich (Domäne, Domain) | Wertebereich (Domäne, Domain) |
Kopfzeile | Relationstyp/Relationsformat/Relationenschema | Entitätstyp | Klasse |
Spaltenüberschrift | Attribut | Attribut | Attribut |
Inhalt | Relation | Entitätsmenge | Objektmenge, Instanzmenge |
--/-- | Fremdschlüsselbeziehung | Beziehung (Relationship) | Assoziation |
Zeile | Tupel | Entität | Objekt, Instanz |
Zelle | Attributwert | Attributwert | Attributwert |
Unterschied Entität / Objekt
Der Begriff Entität ist mit dem Begriff Objekt (Programmierung) verwandt. Die Begriffe Entität und Objekt gelten in ihrer jeweiligen Welt, der Datenmodellierungswelt und der Objektorientierten Progammierungswelt. Sie entsprechen einander, sind aber nicht identisch noch synonym. So hat ein Objekt eine Reihe ihm eigener Funktionen, Operationen und Methoden, was bei einer Entität nicht der Fall ist. Anders ausgedrückt: Objekttyp = programmtechnische Repräsentation des Entitätstyps plus zugehörige Bearbeitungsfunktionen. Näheres siehe Objektorientierte Programmierung.
Siehe auch
Weblinks
Einzelnachweise
- ↑ Peter Pin-Shan Chen: The Entity-Relationship Model-Toward a Unified View of Data. Massachusetts Institute of Technology, , abgerufen am 7. Januar 2010 (Definition des Entity Relationship Modells).