Entität (Informatik)

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 8. September 2009 um 15:07 Uhr durch Cami de Son Duc (Diskussion | Beiträge) (Beispiele: Falsche Klammer korr.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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 sein.

Entität, Entitätstyp, Entitätsmenge

Jede Entität (das einzelne individuelle Objekt) wird einem Entitätstyp 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.

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 (siehe auch Wertemenge).

Jede Entität eines Entitätstyps wird von den anderen Entitäten desselben Typs 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 bzw. diese Attributkombination nennt man Identifikation oder Identifikator oder kurz ID. 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 Beziehung (Relationship) stehen.

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[1] grafisch dargestellt. Für die Erstellung einer relationalen Datenbank kann dann ausgehend von einem Datenmodell ein Entitätstyp als eine Tabelle in einer Datenbank umgesetzt werden, wobei jeder Entität ein Tabelleneintrag bzw. ein Datensatz (im Falle einer relationalen Datenbank ein Tupel) entspricht.

Klassenbildung

Entitätstypen können zu Entitätsklassen zusammengefasst werden, die im Sinne der Definition ihrerseits Entitätstypen sind, also eine Typisierung einzelner Individuen. In diese Klassen "wandern" gemeinsame Attribute - aus Sicht der Klasse "erben" die darin enthaltenen Entitätstypen die Attribute der Klasse. So entsteht eine Hierarchie von Entitätstypen bzw. -klassen.

Diese Klassenbildung und die "Vererbung" der Attribute entspricht 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(titel) mit identifizierendem Attribut ISBN (im Falle eines Verlags und mit vielen (aus Sicht des Verlages identischen) Kopien

In diesen Beispielen kann man den Unterschied zwischen materiellen und immateriellen Objekten leicht erkennen (z. B. Artikel vs. Konto).

Entitätsklassen sind

  • Partner als Zusammenfassung von Kunde (s.o.), Lieferant, ... eines Unternehmens (gemeinsame Attribute z.B. Adresse, Jahresumsatz)
  • Produkt als Zusammenfassung von Buch (s.o.), CD, DVD, Online-Angebot, ... eines Verlages (gemeinsame Attribute z.B. Preis, Versandart)

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

Siehe auch

  1. Definition des Entity Relationship Modells