Maison  >  Article  >  base de données  >  Identification des objets et objets et texte

Identification des objets et objets et texte

PHPz
PHPzavant
2023-08-31 22:25:16530parcourir

Identification des objets et objets et texte

Le SGBD prend en charge les données orientées objet. Il assure une correspondance directe entre les objets du monde réel et leurs représentations dans la base de données. Cette correspondance garantit que les objets conservent leur intégrité et leur identité. Il permet une identification et une manipulation faciles. ODMS) attribue une identité unique à chaque objet indépendant stocké dans la base de données.

Cette identité unique est obtenue grâce à un identifiant d'objet (OID) généré par le système. Cet OID sert de valeur unique attribuée à chaque objet par le système. Il n'est pas visible pour les utilisateurs externes. Cependant, le système l'utilise en interne pour assurer l'identification unique de chaque objet et pour établir et gérer les références entre objets. Si nécessaire, le système attribue des OID aux variables de programme du type approprié pour les opérations impliquant l'objet.

Immuabilité et unicité

La principale exigence d'un identifiant d'objet (OID) dans un système de gestion de données d'objet (ODMS) est l'immuabilité. Il est crucial que la valeur OID attribuée à un objet spécifique reste inchangée, garantissant la préservation de l'identité de l'objet dans le monde réel. doit intégrer des mécanismes pour générer des OID et renforcer leur immuabilité. Il est souhaitable que chaque OID soit unique et utilisé une seule fois. Même si un objet est supprimé de la base de données, son OID ne doit pas être réaffecté à un autre objet.

Pour répondre à ces exigences, l'OID ne doit dépendre d'aucune valeur d'attribut de l'objet. Cela est nécessaire car les valeurs d'attribut peuvent changer ou être corrigées au fil du temps, chaque relation nécessite une clé primaire si la valeur. de la clé primaire est modifiée, le tuple prendra en compte une nouvelle identité. Dans différentes relations, l'objet du monde réel peut avoir des noms différents pour ses attributs clés. Cela peut créer des défis pour déterminer si les clés représentent le même objet du monde réel. l'identifiant de l'objet peut être représenté par "Emp_id" dans une relation et par "Ssn" dans une autre relation.

Utilisez des identifiants d'objet (OID) pour une récupération efficace

L'identifiant d'objet (OID) sur l'adresse physique de l'objet stocké est jugé inapproprié dans un système de gestion de base de données (SGBD). En effet, l'adresse physique peut changer suite à une réorganisation physique de la base de données. Les systèmes (ODMS) ont utilisé l'adresse physique comme OID afin d'améliorer l'efficacité de la récupération d'objets.

Pour s'adapter aux changements d'adresses physiques, des mécanismes impliquant des pointeurs indirects peuvent être utilisés. Ce pointeur est placé à l'adresse d'origine et fournit le nouvel emplacement physique de l'objet. Cependant, dans la pratique moderne, il est plus courant d’attribuer des entiers longs comme OID. Par la suite, une table de hachage ou une structure de données similaire est utilisée pour mapper la valeur OID à l'adresse physique actuelle de l'objet stocké. Cette approche garantit que l'OID n'est affecté par aucune réorganisation physique tout en permettant une récupération efficace des objets.

Premières approches et défis avec les OID

Dans les premiers modèles de données orientés objet (OO), il était nécessaire que toutes les entités, y compris les valeurs simples et les objets complexes, soient représentées comme des objets. Par conséquent, chaque valeur de base comme un entier, une chaîne ou une valeur booléenne était attribuée. un identifiant d'objet (OID). Cette approche permettait à des valeurs de base identiques de posséder des OID différents, ce qui pourrait être avantageux dans certaines situations. Par exemple, la valeur entière 50 pourrait représenter le poids en kilogrammes dans un contexte et l'âge d'une personne. dans un autre contexte. En créant deux objets de base distincts avec des OID séparés, les deux objets pourraient représenter la valeur entière 50. Cependant, bien que cette approche ait une valeur théorique, elle s'est avérée peu pratique car elle aboutissait à la génération d'un grand nombre d'OID.

Pour remédier à cette limitation, la plupart des systèmes de bases de données orientés objet prennent désormais en charge les représentations objet et littérales (ou valeur). Chaque objet doit avoir un OID immuable qui lui est attribué pour garantir son identification unique. En revanche, une valeur littérale n’a pas d’OID et représente simplement sa propre valeur. En règle générale, les valeurs littérales sont stockées dans l'objet et ne peuvent pas être référencées par d'autres objets. De plus, dans de nombreux systèmes, il est possible de créer des valeurs littérales structurées complexes sans OID correspondant si vous le souhaitez.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer