Heim  >  Artikel  >  Datenbank  >  Objektidentifikation und Objekte und Text

Objektidentifikation und Objekte und Text

PHPz
PHPznach vorne
2023-08-31 22:25:16530Durchsuche

Objektidentifikation und Objekte und Text

DBMS unterstützt objektorientierte Daten. Es stellt eine direkte Korrespondenz zwischen realen Objekten und ihren Darstellungen in der Datenbank sicher. Es ermöglicht eine einfache Identifizierung und Manipulation. ODMS) weist jedem in der Datenbank gespeicherten unabhängigen Objekt eine eindeutige Identität zu.

Diese eindeutige Identität wird durch einen vom System generierten Objektidentifikator (OID) erreicht. Diese OID dient als eindeutiger Wert, der jedem Objekt vom System zugewiesen wird. Für externe Benutzer ist es nicht sichtbar. Das System verwendet es jedoch intern, um die eindeutige Identifizierung jedes Objekts sicherzustellen und Referenzen zwischen Objekten herzustellen und zu verwalten. Bei Bedarf weist das System OIDs Programmvariablen des entsprechenden Typs für Vorgänge zu, an denen das Objekt beteiligt ist.

Unveränderlichkeit und Einzigartigkeit

Hauptvoraussetzung für einen Objektidentifikator (OID) in einem Objektdatenverwaltungssystem (ODMS) ist die Unveränderlichkeit. Es ist entscheidend, dass der einem bestimmten Objekt zugewiesene OID-Wert unverändert bleibt, um die Wahrung der Identität des Objekts in der realen Welt sicherzustellen Es ist wünschenswert, dass jede OID eindeutig ist und nur einmal verwendet wird. Selbst wenn ein Objekt aus der Datenbank entfernt wird, sollte seine OID keinem anderen Objekt zugewiesen werden

Um diese Anforderungen zu erfüllen, sollte die OID nicht von irgendwelchen Attributwerten des Objekts abhängen. Dies ist notwendig, da sich Attributwerte im Laufe der Zeit ändern oder korrigiert werden können Wird der Primärschlüssel geändert, berücksichtigt das Tupel in verschiedenen Beziehungen möglicherweise unterschiedliche Namen für seine Schlüsselattribute. Dies kann zu Herausforderungen bei der Bestimmung führen, ob die Schlüssel dasselbe reale Objekt darstellen. Die Objektkennung kann in einer Beziehung als „Emp_id“ und in einer anderen Beziehung als „Ssn“ dargestellt werden.

Verwenden Sie Objektidentifikatoren (OIDs) für einen effizienten Abruf

Object Identifier (OID) für die physische Adresse des Objekts im Speicher wird in einem Datenbankverwaltungssystem (DBMS) als ungeeignet erachtet. Dies liegt daran, dass sich die physische Adresse nach einer physischen Neuorganisation der Datenbank ändern kann Systeme (ODMS) haben die physische Adresse als OID verwendet, um die Effizienz des Objektabrufs zu verbessern.

Um sich an Änderungen der physischen Adressen anzupassen, können Mechanismen mit indirekten Zeigern genutzt werden. Dieser Zeiger wird an der ursprünglichen Adresse platziert und gibt den neuen physischen Standort des Objekts an. In der modernen Praxis ist es jedoch üblicher, lange Ganzzahlen als OIDs zuzuweisen. Anschließend wird eine Hash-Tabelle oder eine ähnliche Datenstruktur verwendet, um den OID-Wert der aktuellen physischen Adresse des Objekts im Speicher zuzuordnen. Dieser Ansatz stellt sicher, dass die OID nicht von einer physischen Reorganisation betroffen ist und ermöglicht dennoch einen effizienten Objektabruf.

Frühe Ansätze und Herausforderungen mit OIDs

In frühen objektorientierten (OO) Datenmodellen bestand die Anforderung, dass alle Entitäten, einschließlich einfacher Werte und komplexer Objekte, als Objekte dargestellt werden. Folglich wurde jedem Grundwert wie einer Ganzzahl, einer Zeichenfolge oder einem booleschen Wert zugewiesen Dieser Ansatz ermöglichte es, dass identische Grundwerte unterschiedliche OIDs besitzen, was in bestimmten Situationen von Vorteil sein könnte. Beispielsweise könnte der ganzzahlige Wert 50 das Gewicht in Kilogramm in einem Kontext und das Alter einer Person darstellen In einem anderen Kontext könnten durch die Erstellung zweier unterschiedlicher Basisobjekte mit separaten OIDs beide Objekte den ganzzahligen Wert 50 darstellen. Dieser Ansatz hatte zwar theoretischen Wert, erwies sich jedoch als unpraktisch, da er zur Generierung einer großen Anzahl von OIDs führte.

Um dieser Einschränkung zu begegnen, unterstützen die meisten objektorientierten Datenbanksysteme jetzt Objekt- und Literal- (oder Wert-)Darstellungen. Jedem Objekt muss eine unveränderliche OID zugewiesen sein, um seine eindeutige Identifizierung sicherzustellen. Im Gegensatz dazu hat ein Literalwert keine OID und stellt einfach seinen eigenen Wert dar. Typischerweise werden Literalwerte innerhalb des Objekts gespeichert und können von anderen Objekten nicht referenziert werden. Darüber hinaus ist es in vielen Systemen möglich, auf Wunsch komplex strukturierte Literalwerte ohne entsprechende OID zu erstellen.

Das obige ist der detaillierte Inhalt vonObjektidentifikation und Objekte und Text. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen