- Entität (Informatik)
-
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.
Inhaltsverzeichnis
Entität, Entitätstyp
Aus Entitäten (die einzelnen individuellen Objekte) werden Entitätstypen (gelegentlich Entitätsklasse genannt) abgeleitet. Entitäten sind also konkrete Ausprägungen (Instanzen) eines Entitätstyps und haben eine Identität. Im Sprachgebrauch wird statt der korrekteren Bezeichnung „Entitätstyp“ gelegentlich das kürzere Wort „Entität“ verwendet, wobei aus dem Zusammenhang meist hervorgeht, ob eine Objektinstanz oder deren Typisierung gemeint ist.
Kriterium für die Bildung von Entitätstypen (Typisierung) sind gleiche Attribute/Merkmale von Entitäten.
Die Menge der Entitäten eines Entitätstyps wird Entitätsmenge genannt – die (je nach Auswahl) alle, nur bestimmte oder keine Entitäten umfassen kann. 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 (engl. 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 Entitäten möglichen Beziehungen (zu Beziehungstypen) geschieht durch Abstraktion. Diese Unterscheidung von Instanzen und Typen ist notwendig, um zu einem Datenmodell zu gelangen. Im Datenmodell werden Entitäten als Entitätstypen und die Beziehungen als Beziehungstypen 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 jede Tabellenzeile (oder Datensatz, im Falle einer relationalen Datenbank Tupel genannt) einer Entität entspricht.
Generalisierung / Spezialisierung
Treten in verschiedenen Entitätstypen identische Attribute und Beziehungstypen auf, die zu den selben Entitäten gehören, so können diese Eigenschaften 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 Umkehrung (Erkennen, dass Attribute eines Entitätstyps nur in bestimmten Situationen/Rollen auftreten) kann ebenfalls zu einem neuen Entitätstyp führen (z. B. Privatkunde) und 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 ISBN plus Exemplarnummer (im Falle einer Bibliothek)
- Buch mit identifizierendem Attribut ISBN und beschreibendem Attribut Lagermenge (im Falle eines Verlags 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 der Entität ist mit dem Begriff des Objekt verwandt. Die Begriffe Entität und Objekt gelten in ihrer jeweiligen Begriffswelt, der Datenmodellierungswelt und der Objektorientierten Programmierungswelt. Sie entsprechen einander, sind aber weder identisch noch synonym. So hat ein Objekt eine Reihe ihm eigener dynamischer Funktionen, Operationen und Methoden, was bei einer Entität, der lediglich statische Attribute zugeordnet sind, nicht zutrifft. Anders ausgedrückt: dynamischer Objekttyp = programmtechnische Repräsentation des statischen Entitätstyps plus zugehörige Bearbeitungsfunktionen. Näheres siehe Objektorientierte Programmierung.
Siehe auch
Weblinks
Wiktionary: Entität – Bedeutungserklärungen, Wortherkunft, Synonyme, ÜbersetzungenEinzelnachweise
- ↑ Peter Pin-Shan Chen: The Entity-Relationship Model-Toward a Unified View of Data. Massachusetts Institute of Technology, März 1976, abgerufen am 7. Januar 2010 (Definition des Entity Relationship Modells).
Kategorien:- Datenbankmodellierung
- Datentyp
- Theoretische Informatik
Wikimedia Foundation.