Wikipedia · einfach zusammengefasst · Stand
Entität (Informatik)
Als Entität (auch Informationsobjekt genannt, englisch entity) wird in der Datenmodellierung ein eindeutig zu bestimmendes Objekt bezeichnet, …
Inhalt6 Abschnitte
Grundidee
Eine Entität, auch Informationsobjekt genannt, ist in der Datenmodellierung ein eindeutig zu bestimmendes Objekt, über das Informationen gespeichert oder verarbeitet werden sollen. Dieses Objekt kann materiell oder immateriell, konkret oder abstrakt sein, zum Beispiel ein Fahrzeug, ein Konto, eine Person oder ein Zustand.
Entitäten sind wichtig, weil sie die einzelnen Dinge beschreiben, die in einem Datenmodell erfasst werden. Aus ihnen werden Typen, Attribute und Beziehungen abgeleitet. Diese bilden die Grundlage für Datenbanken und für Darstellungen wie Entity-Relationship-Diagramme.
Entitäten, Attribute und Identifikation
Eine Entität ist ein individuell identifizierbarer Gegenstand, eine Person oder ein anderes Objekt in einem bestimmten Betrachtungsbereich. Ihr können Eigenschaften zugeordnet werden. Solche Eigenschaften heißen Attribute; ihre konkreten Werte können zum Beispiel Farbe = rot, Geburtsdatum = 28. August 1749, Höhe = 2962 Meter oder Temperatur = −4,5 Grad sein.
Durch Typisierung, also durch das Erkennen gleicher Attribute oder Merkmale mehrerer Entitäten, entstehen Entitätstypen, gelegentlich auch Entitätsklassen genannt. Aus mehreren einzelnen Personen kann zum Beispiel der Entitätstyp KUNDEN abgeleitet werden. Die einzelnen Kunden sind dann Entitäten, also konkrete Ausprägungen oder Instanzen dieses Typs, und besitzen eine Identität.
Die Menge der Entitäten eines Entitätstyps heißt Entitätsmenge. Sie kann je nach Auswahl alle, nur bestimmte oder auch keine Entitäten umfassen. Entitäten desselben Entitätstyps werden durch ihre Attributwerte unterschieden. Jede Entität wird durch einen eindeutigen Wert eines identifizierenden Attributs oder einer eindeutigen Attributkombination bestimmt. Beispiele sind die Fahrgestellnummer für ein einzelnes Auto oder das Kraftfahrzeugkennzeichen für eine einzelne Zulassung. Ein solches Attribut oder eine solche Attributkombination heißt Identifikation, Identifikator oder kurz ID.
Beziehungen und Umsetzung in Datenbanken
Eine Entität kann mit anderen Entitäten oder auch mit sich selbst in einer Beziehung stehen. Eine Beziehung, englisch relationship, beschreibt dabei die Bedeutung der Verbindung. Beispiele sind: Person X ist Eigentümer von Fahrzeug Y oder Person A ist Vorgesetzter von Person B.
Die Typisierung von Entitäten und der zwischen ihnen möglichen Beziehungen geschieht durch Abstraktion. Dabei unterscheidet man zwischen einzelnen Instanzen und allgemeinen Typen. Diese Unterscheidung ist notwendig, um ein Datenmodell zu erstellen. In einem solchen Modell werden Entitäten zu Entitätstypen und Beziehungen zu Beziehungstypen. Grafisch können sie in einem Entity-Relationship-Diagramm dargestellt werden.
Im Sprachgebrauch wird manchmal statt der genaueren Bezeichnung „Entitätstyp“ nur „Entität“ gesagt. Aus dem Zusammenhang muss dann klar werden, ob eine einzelne Objektinstanz oder der Typ dieser Objekte gemeint ist.
Bei der Erstellung einer relationalen Datenbank wird ein Entitätstyp typischerweise als Tabelle umgesetzt. Jede Tabellenzeile dieser Tabelle, auch Datensatz oder Tupel genannt, repräsentiert eine Entität. Der Identifikator wird zum Primärschlüssel, Beziehungen werden durch Fremdschlüssel umgesetzt.
Generalisierung und Spezialisierung
Generalisierung bedeutet, dass gemeinsame Attribute und/oder Beziehungstypen verschiedener Entitätstypen in einem neuen Entitätstyp zusammengefasst werden. Der neue Entitätstyp enthält die gemeinsamen Attribute. Die ursprünglichen Entitätstypen bleiben bestehen und „erben“ die Attribute des neuen Entitätstyps.
Ein Beispiel ist die Zusammenführung der Entitätstypen Kunde und Lieferant zum allgemeineren Entitätstyp Geschäftspartner. Gemeinsame Merkmale wie Name, Anschrift oder Bankverbindung können dann für Kunden und Lieferanten gemeinsam geführt werden.
Spezialisierung ist die Umkehrung. Dabei wird erkannt, dass bestimmte Attribute eines Entitätstyps nur in bestimmten Situationen oder Rollen auftreten. Daraus kann ein neuer spezieller Entitätstyp entstehen, zum Beispiel Privatkunde. Generalisierung, Spezialisierung und die Vererbung von Attributen entsprechen dem Grundgedanken der Objektorientierten Programmierung.
Typische Beispiele
Entitätstypen können je nach Fachgebiet unterschiedlich aussehen. Ein Artikel kann zum Beispiel durch das identifizierende Attribut EAN bestimmt werden. Ein Konto kann durch die Kontonummer und ein Kunde durch die Kundennummer identifiziert werden.
Beim Entitätstyp Buch hängt die Identifikation vom Zusammenhang ab. In einem Verlag mit vielen aus Sicht des Verlags identischen Kopien kann ein Buch durch das identifizierende Attribut ISBN und ein beschreibendes Attribut wie Lagermenge beschrieben werden. In einer Bibliothek reicht die ISBN allein nicht aus, wenn mehrere Exemplare desselben Buches vorhanden sind; dort kann die Identifikation aus ISBN plus Exemplarnummer bestehen.
Abgrenzung zu Objekt und Grundbegriffen
Der Begriff Entität ist mit dem Begriff Objekt aus der Objektorientierten Programmierung verwandt, aber nicht identisch und nicht synonym. Eine Entität ist ein datenbezogenes Konstrukt. Sie enthält für die im Entitätstyp festgelegten Attribute und Beziehungen konkrete Wertausprägungen, zum Beispiel „15.3.1994“ als Geburtsdatum eines bestimmten Kunden. Vereinfacht entspricht eine Entität am Ende einem Datensatz. Entitäten können aber auch nur die Begriffswelt eines Unternehmens beschreiben und müssen nicht ausschließlich für Softwareentwicklung entstehen.
Ein Objekt in der Objektorientierten Programmierung besitzt zusätzlich dynamische Funktionen, Operationen und Methoden. Ein dynamischer Objekttyp ist also eine programmtechnische Repräsentation des Entitätstyps plus zugehörige Bearbeitungsfunktionen. Außerdem beziehen sich OOP-Objekte nicht nur auf Entitätstypen aus einem Datenmodell, sondern auch auf andere Bereiche, etwa Benutzeroberflächen, Textverarbeitung oder Computerspiele.
In verschiedenen Modellierungswelten entsprechen sich Grundbegriffe ungefähr: In einer relationalen Datenbank entspricht ein Tupel einer Entität, eine Relation einer Entitätsmenge, ein Attribut einem Attribut und eine Fremdschlüsselbeziehung einer Beziehung. Im Entity-Relationship-Modell heißt die Kopfzeile bzw. Struktur Entitätstyp, die Zeile Entität und der Zellinhalt Attributwert. In UML entspricht der Entitätstyp ungefähr einer Klasse, die Entität einem Objekt oder einer Instanz und eine Beziehung einer Assoziation.