Bases de données orientées objet : concept, notions de base, gestion, exemples

Table des matières:

Bases de données orientées objet : concept, notions de base, gestion, exemples
Bases de données orientées objet : concept, notions de base, gestion, exemples
Anonim

Dans les bases de données orientées objet (OODB), les utilisateurs peuvent définir des opérations sur une base de données particulière, qui est composée d'objets pouvant être d'une grande variété de types et pour lesquels des opérations sont définies. Ils peuvent gérer efficacement des informations binaires telles que des objets multimédias. Un autre avantage supplémentaire d'OODB est qu'il peut être programmé avec de légères différences de procédure sans affecter l'ensemble du système.

Prérequis pour la création de la norme

L'histoire des bases de données OODB orientées objet commence à la fin du siècle dernier. Ils ont été créés pour répondre aux besoins des nouvelles applications. L'hypothèse était que les bases de données orientées objet révolutionneraient les systèmes logiciels au cours des années 1990. Il est maintenant clair que ce n'est pas le cas. Cependant, la renaissance de ce concept à travers les communautés du logiciel libre et l'identification d'applications adaptées à celui-ci motivent une révision des caractéristiquesOODB, qui est une alternative aux bases de données relationnelles omniprésentes.

Prérequis pour la création de la norme
Prérequis pour la création de la norme

Orienté objet offre la flexibilité nécessaire pour gérer tout ou partie des exigences et ne se limite pas aux types de données et aux langages de requête des bases de données traditionnelles. Une caractéristique clé des OODB est la capacité qu'elles offrent au développeur, lui permettant de spécifier à la fois la structure des objets complexes et les opérations de l'application. Une autre raison de créer des OODB est l'utilisation croissante de langages pour le développement de logiciels.

Les bases de données sont devenues la base de nombreux systèmes d'information, mais les bases de données traditionnelles sont difficiles à utiliser lorsque les applications qui y accèdent sont écrites en C++, Smalltalk ou Java. Par exemple, les bases de données orientées objet 1C ont été conçues de manière à pouvoir être directement intégrées aux applications utilisant des langages orientés objet en adoptant leurs concepts: Visual Studio. Net, C++, C, Microsoft SQL Server et autres.

Le principal avantage d'OODB est l'élimination complète du besoin de RM1 (impédance) avec des améliorations de performances ultérieures.

Le principal avantage d'OODB
Le principal avantage d'OODB

Défauts:

  1. Mécanismes de consultation très primitifs, pas de plate-forme standard acceptée.
  2. Impossible de stocker les procédures car les objets ne sont accessibles que dans le client.
  3. Immaturité sur le marché.
  4. Pas de regroupement physique d'objets.

Paradigme de l'objet

Paradigme objet
Paradigme objet

Les bases de données orientées objet sont des bases de données programmables qui stockent directement des données complexes et leurs relations sans assigner de lignes ni de colonnes, ce qui les rend plus adaptées aux applications qui fonctionnent avec des lots volumineux. Les objets ont des relations plusieurs à plusieurs et sont accessibles via l'utilisation de pointeurs qui leur sont associés pour établir des relations. Comme tout logiciel programmable, OODB fournit un environnement de développement d'applications et un référentiel persistant prêt à être exploité. Il stocke et manipule des informations qui peuvent être numérisées sous forme d'objets, fournit un accès rapide et offre de grandes capacités de traitement.

Concepts de base utilisés dans une base de données orientée objet:

  • identité d'objet;
  • type de constructeur;
  • compatibilité linguistique;
  • hiérarchies de types et héritage;
  • traitement d'objets complexes;
  • polymorphisme et surcharge d'opérateurs;
  • créer des versions.
Gestion des versions
Gestion des versions

Afin de bien considérer tous les aspects qui caractérisent une base de données orientée objet, il est important de noter tous les paradigmes objet importants:

  1. L'encapsulation est une propriété qui vous permet de masquer les informations d'autres objets, empêchant ainsi les accès incorrects ou les conflits.
  2. L'héritage est une propriété par laquelle les objets héritent du comportement dans une hiérarchie de classes.
  3. Le polymorphisme est une propriété d'une opération avec laquelle il peut être appliqué àdifférents types d'objets.
  4. L'interface ou la signature d'une opération inclut le nom et les types de données de ses arguments ou paramètres.
  5. L'implémentation ou la méthode d'une opération est spécifiée séparément et peut être modifiée sans affecter l'interface. Les applications utilisateur peuvent travailler avec des données en appelant des opérations spécifiées via leurs noms et arguments, quelle que soit la manière dont elles ont été implémentées.

Classes et fonctionnalités

Classes et fonctionnalités
Classes et fonctionnalités

Lorsque l'on considère le concept de classes dans OODB, il est nécessaire de faire la distinction entre les termes "classe" et "type". Un type est utilisé pour décrire un ensemble d'objets ayant un comportement similaire. En ce sens, cela dépend des opérations qui peuvent être appelées sur l'objet. Une classe est une collection d'objets qui partagent la même structure interne, elle définit donc une implémentation, tandis qu'un type décrit comment l'utiliser.

Le terme instanciation fait référence au fait que l'instanciation d'une classe peut être utilisée pour produire un ensemble d'objets qui ont la même structure et le même comportement que ceux définis par la classe.

Une fonctionnalité très importante pour l'évolution des objets est qu'il peut changer de classe, y compris les attributs et les opérations, tout en conservant l'identité. Cela nécessiterait un mécanisme pour gérer l'intégrité sémantique résultante.

Hériter de la base de données orientée objet d'une organisation permet de définir une classe comme une sous-classe d'une superclasse déjà existante. Il héritera de tous les attributs et méthodes de ce dernier et pourra éventuellement définirpropres. Ce concept est un mécanisme important pour soutenir la réutilisation. Les mêmes parties de la structure de deux classes différentes ne peuvent être définies qu'une seule fois dans une superclasse commune, donc moins de code sera écrit. Certains systèmes permettent à une classe d'être une sous-classe de plusieurs superclasses. Cette fonctionnalité est appelée héritage multiple par opposition à l'héritage unique.

Exemple de base de données orientée objet

Il est souvent utile d'utiliser le même nom pour des méthodes différentes mais similaires de la superclasse media des classes picture et video. De nombreux fichiers peuvent être visualisés par différents visualiseurs. Ils ont souvent besoin de visualiser toutes les photos et vidéos à l'aide de la méthode "afficher", et le programme approprié doit être lancé. Lorsque la fonction est appelée et qu'un lien vers la vidéo est passé, le lecteur multimédia est lancé. Pour implémenter cette fonctionnalité, il est tout d'abord nécessaire de définir l'opération "présentation" dans la superclasse média commune à partir des classes image et vidéo. Chacune des sous-classes redéfinit l'opération de recherche pour ses besoins spécifiques. Il en résulte différentes méthodes qui ont le même nom d'opération. Dans ce cas, l'utilisation de cette fonction présente un avantage important.

Structure OODB

Structure OODB
Structure OODB

Le paradigme orienté objet est basé sur l'encapsulation des données et du code liés à chaque objet dans un seul module. Conceptuellement, toutes les interactions entre celui-ci et le reste du système sont réalisées à l'aide de messages. D'où l'interfaceentre eux est déterminé par l'ensemble autorisé.

En général, chaque objet est associé à un ensemble:

  1. Variables contenant des données d'objet et correspondant aux attributs du modèle ER.
  2. Messages auxquels il répond. Chacun peut avoir ou non des paramètres, un ou plusieurs.
  3. Méthodes, dont chacune est un code qui implémente des messages et renvoie une valeur en réponse.

La messagerie dans un environnement OO n'implique pas l'utilisation de SMS physiques dans les réseaux informatiques. Au contraire, il fait référence à l'échange de requêtes entre objets, quels que soient les détails corrects de leur mise en œuvre. Parfois, une expression appelle une méthode pour déclencher le fait qu'un message a été envoyé à un objet, et utilise l'exécution de la méthode correspondante.

Identité de l'objet

Identité de l'objet
Identité de l'objet

Le système de base de données orienté objet fournit une identification unique pour chaque objet indépendant stocké dans la base de données. Il est généralement implémenté à l'aide d'un identifiant d'objet unique ou d'un OID généré par le système. La valeur OID est invisible pour l'utilisateur externe, mais le système l'utilise en interne pour gérer les liens entre les objets.

La principale propriété d'un OID est d'être immuable. La valeur OID d'un objet particulier ne doit jamais changer. Cela préserve l'identité du monde réel représenté. Il est également préférable que chaque OID ne soit utilisé qu'une seule fois, même s'il est supprimé de la base de données, son OID ne doit pas être attribué à un autre. Il est également souvent considéré comme inapproprié de se baser sur unl'adresse de l'objet en stockage, car leur réorganisation dans la base de données peut modifier l'OID. Cependant, certains systèmes utilisent l'adresse physique comme OID pour augmenter l'efficacité de la récupération des objets. Un framework orienté objet impose automatiquement des contraintes relationnelles, généralement plus applicables: domaine, clé, intégrité d'objet et intégrité référentielle.

Trois constructeurs principaux

Trois constructeurs principaux
Trois constructeurs principaux

Dans OODB, les valeurs ou les états d'objets complexes peuvent être créés à partir d'autres en utilisant des constructeurs de certains types. Une façon de les représenter est de penser à chacun comme un triplet (i, c, v), où i est l'identifiant unique de l'objet (OID), c est le constructeur, c'est-à-dire un pointeur sur la façon dont la valeur de l'objet est créé, et v est la valeur ou l'état de l'objet. Il peut y avoir plusieurs constructeurs en fonction du modèle de données et du système OO.

Trois constructeurs de bases de données orientées objet de base:

  • atomes;
  • tuples;
  • ensembles.

D'autres utilisations plus courantes sont les listes et les graphiques. Il y a aussi le domaine D, qui contient toutes les valeurs atomiques de base directement disponibles sur le système. Ils incluent généralement des nombres entiers, des nombres réels, des chaînes de caractères, des dates et tout autre type de données que le système gère directement. La structure des objets et des opérations sont incluses dans les définitions de classe.

Compatibilité avec les langages de programmation

Les concepts de base des bases de données orientées objet sont utilisés danscomme outils de conception et codifiés pour fonctionner avec la base de données.

Il existe plusieurs langages possibles dans lesquels ces concepts peuvent être intégrés:

  1. Étendre un langage de traitement de données comme SQL en ajoutant des types complexes et de la POO. Les systèmes fournissent des extensions orientées objet aux systèmes relationnels, appelés systèmes relationnels orientés objet.
  2. Utiliser un langage de programmation orienté objet existant et l'étendre pour travailler avec des bases de données. Ils sont appelés langages de programmation persistants et permettent aux développeurs de travailler directement avec les données sans avoir à passer par un langage de traitement de données comme SQL. Elles sont appelées persistantes car les données continuent d'exister après la fin du programme qui les a créées.

Lors du choix de l'option à utiliser, gardez à l'esprit que les langages persistants ont tendance à être puissants et qu'il est relativement facile de faire des erreurs de programmation qui endommagent la base de données. La complexité des langages rend difficiles les optimisations automatiques de haut niveau, telles que la réduction des E/S disque. Dans de nombreuses applications, la possibilité de faire des requêtes déclaratives est importante, mais les langages persistants ne permettent actuellement pas de telles requêtes sans problème.

Hiérarchie des types d'héritage

Les schémas de base de données orientés objet nécessitent généralement un grand nombre de classes. Cependant, plusieurs classes sont similaires entre elles. Pour permettre une représentation directe des similitudes entre elles, il faut mettreles classer dans une hiérarchie de spécialisations. Ce concept est similaire aux modèles ER. Les spécialisations de classe sont appelées sous-classes, qui définissent des attributs et des méthodes supplémentaires pour une classe existante. Les objets créés avec des sous-classes héritent de tout du parent. Certaines de ces caractéristiques héritées peuvent avoir elles-mêmes été empruntées à des personnes plus haut placées dans la hiérarchie.

Les objets sont considérés comme complexes car ils nécessitent une grande quantité d'espace de stockage et ne font pas partie des types de données standard que la gestion de base de données orientée objet (OODBS) propose généralement. Étant donné que la taille des objets est importante, SOOBMS peut recevoir une partie d'un objet et la fournir à une application avant d'acquérir l'objet entier. Il peut également utiliser des méthodes de tampon et de cache pour obtenir des parties d'un objet à l'avance, avant qu'une application ne puisse y accéder.

OODB permet aux utilisateurs de créer de nouveaux types qui incluent à la fois la structure et les opérations, dans ce cas le système de type extensible. Vous pouvez créer des bibliothèques de nouveaux types en définissant leur structure et leurs opérations. Beaucoup d'entre eux peuvent stocker et recevoir un grand objet structuré sous la forme de chaînes et de caractères ou de bits, qui sont transmis "tels quels" au programme d'application pour interprétation.

La méthode peut accéder directement aux attributs de l'objet cible par leur nom, y compris ceux hérités des classes parentes, mais doit accéder aux attributs d'autres objets avec des signaux secondaires. Le concept permet d'associer le même nom ou symbole d'opérateur àdeux ou plusieurs implémentations différentes de celui-ci, selon le type d'objets auxquels il s'applique.

Création d'applications

Création d'applications
Création d'applications

De nombreuses applications de base de données utilisant des systèmes OO nécessitent plusieurs versions du même objet. En règle générale, les activités de maintenance sont appliquées à un système logiciel à mesure que leurs exigences changent et impliquent la modification de certains des modules de développement et de mise en œuvre. Si le système est déjà en cours d'exécution et si un ou plusieurs modules doivent être modifiés, le développeur doit créer une nouvelle version de chacun d'eux en effectuant des modifications.

Notez qu'il peut y avoir plus de deux versions d'un objet, au cas où deux seraient nécessaires en plus du module d'origine. Les propres versions du même module logiciel peuvent être mises à jour en même temps. C'est ce qu'on appelle la conception de bases de données parallèles orientées objet. Cependant, il arrive toujours un moment où ils doivent être fusionnés pour que l'OODB hybride intègre les modifications qui ont été apportées afin qu'elles soient compatibles.

Conditions orientées objet

Tous les systèmes informatiques doivent avoir des propriétés de leur architecture pour être pris en compte. Par exemple, un système doit avoir des tables pour être considéré comme relationnel. OODB ne fait pas exception et contient certaines propriétés de base de l'architecture objet. Cependant, dans le monde réel, bon nombre de ces propriétés sont discutées et certaines, telles que l'héritage multiple, sont considérées comme des améliorations du modèle de base de données orienté objet plutôt que commedans le cadre de la ligne de base. Par exemple, dans le langage orienté objet Smalltalk, l'héritage multiple n'est pas pris en charge, même s'il est considéré comme faisant partie de l'architecture objet.

Les méthodes d'une classe définissent un ensemble d'opérations pouvant être effectuées sur un objet. Par exemple, lorsqu'il est appliqué à un objet, il renvoie une valeur ou effectue une opération pour mettre à jour les valeurs. Parfois, les méthodes ne le renvoient pas. Si la méthode était conçue pour mettre à jour le nombre de passagers d'un véhicule, aucune valeur ne serait renvoyée, mais l'élément de données dans la cible la modifierait.

Les objets sont un concept fondamental dans OODB. Essentiellement, les objets sont une représentation abstraite des choses du monde réel qui y sont stockées. Un objet est une instance d'une classe dans le sens où il est exclu de sa définition.

Vous pouvez considérer un objet comme un package autonome composé de trois parties:

  1. Propres informations personnelles, valeurs de données.
  2. Procédures privées qui manipuleront les valeurs via la définition de classe.
  3. Ouvrir l'interface pour que cet objet puisse communiquer avec d'autres.

Exemples OODB

L'utilisation d'OODB simplifie la conceptualisation car il est plus naturel de représenter les informations qui doivent être stockées. Pour modéliser la structure ou la logique d'une base de données, l'utilisation de diagrammes de classes permet d'introduire des classes avec leurs relations structurelles et leur héritage. Afin de modéliser une partie de la dynamique, de l'interaction etcomportement entre les objets, un diagramme de séquence sera utilisé pour représenter l'interaction entre les objets situés dans une relation temporaire, décrivant les états possibles afin qu'ils puissent être trouvés compte tenu de l'état modifié après que l'événement se soit produit.

Exemples OODB
Exemples OODB

Un exemple de base de données orientée objet est présenté ci-dessous.

Exemples de bases de données orientées objet
Exemples de bases de données orientées objet

Ils ont un nom et une durée de vie, qui peut être temporaire ou permanente. La clé OODB est la capacité qu'ils fournissent au développeur de spécifier le nombre de structures et d'opérations qui leur seront appliquées. Il existe une flexibilité et une prise en charge pour la gestion de types de données complexes. Vous pouvez créer des classes et des sous-classes, par exemple, la base client peut avoir une sous-classe du lien de ce client, et elle héritera de tous les attributs et caractéristiques de la classe d'origine, cette approche vous permet de traiter rapidement et de manière flexible des données complexes.

Conseillé: