Objektidentität und persistente Programmiersprachen

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 3,27 KB

Arten der Objektidentität

Erklärung der verschiedenen Arten von Objektidentität, die entstehen können:

  • Wertbasierte Identität (Anlage): Verwendet einen Datenwert als Identität. Diese Form wird in relationalen Systemen genutzt (z. B. der Primärschlüsselwert in einem Tupel als Identifikator).
  • Namensbasierte Identität: Die Identität wird vom Benutzer als Name vergeben. Diese Form wird häufig für Dateien in Dateisystemen verwendet. Jede Datei hat einen eindeutigen Namen, der sie unabhängig vom Inhalt identifiziert.
  • Integrierte Identität (Incorporated): Integriert das Konzept der Identität direkt in das Datenmodell oder die Programmiersprache. Der Benutzer muss keinen eigenen Identifikator bereitstellen. Diese Form wird in objektorientierten Systemen genutzt, bei denen das System jedem Objekt im Moment der Erstellung automatisch einen Identifikator zuweist.

Komplexe Objekte und Beispiele

Komplexe Objekte werden mithilfe einfacherer Objekte oder durch die Anwendung von Konstruktoren auf diese gebildet.

Beispiel: Susan und Peter sind die Eltern ein und desselben Kindes oder zweier verschiedener Kinder. Dies wird wie folgt dargestellt:

  • Peter: (Peter, 40, {(John, 15, {})})
  • Susan: (Susana, 41, {(John, 15, {})})

Persistente Programmiersprachen

Datenbanksprachen unterscheiden sich von herkömmlichen Programmiersprachen dadurch, dass sie direkt mit persistenten Daten arbeiten. Diese Daten existieren auch nach dem Beenden des Programms, das sie erstellt hat, weiter. Datenbankbeziehungen und deren Tupel sind typische Beispiele für persistente Daten. Im Gegensatz dazu arbeiten traditionelle Programmiersprachen standardmäßig nur direkt mit transienten (nicht-persistenten) Daten.

Der Zugriff auf Datenbanken ist nur ein Teilbereich realer Anwendungen. Während Sprachen wie SQL für den Datenzugriff hocheffektiv sind, wird für andere Anwendungskomponenten (wie Benutzeroberflächen oder Netzwerkkommunikation) eine universelle Programmiersprache benötigt. Der traditionelle Weg besteht darin, SQL in diese Programmiersprachen zu integrieren (Embedded SQL).

Persistente Sprachen vs. Embedded SQL

Persistente Programmiersprachen unterscheiden sich von Sprachen mit integriertem SQL in mindestens zwei wesentlichen Punkten:

  1. Typsystem-Integration: Bei eingebetteten Sprachen unterscheidet sich das Typsystem der Programmiersprache (die Anwendungsumgebung) meist vom Typsystem der Datenverarbeitung. Entwickler sind hier selbst für die Typumrechnungen zwischen der Programmiersprache und SQL verantwortlich.
  2. Datenzugriff und Speicherung: Programmierer, die eingebettete Abfragesprachen nutzen, müssen explizit Code schreiben, um Daten aus der Datenbank in den Speicher zu laden. Bei Aktualisierungen muss ebenfalls explizit Code geschrieben werden, um die Änderungen zurück in die Datenbank zu schreiben. In persistenten Programmiersprachen hingegen können Entwickler direkt mit persistenten Daten arbeiten, ohne explizit Code für das Laden in den Speicher oder das Zurückschreiben auf die Festplatte verfassen zu müssen.

Verwandte Einträge: