Description
La popularité de l’approche objet dans toutes les étapes du processus de développement de logiciel rend l’utilisation des bases de données objet très attrayante.
Bases de données objet et SGBD relationnel
En effet, un problème difficile de l’utilisation des SGBD relationnels dans le contexte d’un programme objet est la nécessité d’effectuer la conversion entre les types de données du langage objet et les types de données du SGBD. Dans le cas d’un SGBD relationnel, il faut traduire les objets sous forme de lignes dans des tables. Il faut en même temps gérer l’identification des objets par des clés primaires qui servent aussi à réaliser les associations. Nous avons d’ailleurs traité de manière détaillée du problème de traduction d’un modèle conceptuel objet sous forme d’un schéma relationnel au chapitre 3 Introduction au modèle relationnel.
Un objectif visé par les bases de données objet est la possibilité de supporter la persistance des objets de manière directe et transparente sans avoir à effectuer de conversion entre les types du programme et les types du SGBD. Ceci implique donc un support des notions de classe et d’objet persistants par le SGBDO en intégrant des mécanismes au niveau du langage objet à cet effet. Du point de vue de la conception de la base de données, la traduction d’un modèle conceptuel UML en un schéma de bases de données objet devient une tâche presque triviale.
Un frein à l’utilisation des bases de données objet
Une difficulté importante qui a freiné l’utilisation des SGBDO au niveau du marché des BD est l’absence de standard établi qui réduit la portabilité des applications. En effet, en voulant rapprocher les types du SGBD de ceux des langages à objet, il y a un problème important : les différents langages à objet ne supportent pas exactement les mêmes types. Les premiers SGBD objet ont donc souvent supporté la persistance pour un langage particulier (par exemple C++).
L’interopérabilité entre les langages à objet devient donc difficile. L’absence de standard réduit aussi l’interopérabilité entre les différents SGBDO et la portabilité des applications entre différents SGBDO.
Pour corriger cette situation, un effort important de standardisation a été entrepris par l’organisme ODMG (Object Data Management Group). Le standard ODMG pour les SGBDO adresse le problème d’interopérabilité pour trois langages à objet : C++, Smalltalk et Java. Il devient ainsi possible de manipuler les mêmes bases de données objet par n’importe lequel de ces trois langages. La plupart des grandes compagnies de bases de données objet sont membres de l’ODMG, ce qui en fait un standard de facto de l’industrie. Plusieurs SGBDO commerciaux adhèrent à ce standard qui en est à sa version 3 (Cattell, Barry, Berler, Eastman, Jordan, Russel, Schadow, Stanienda, et al., 2000).
Le standart ODMG des bases de données objet
Nous aborderons les SGBDO en présentant le standard ODMG. Le standard incorpore trois langages :
- Object Definition Language (ODL). C’est le langage de définition de données de la BD objet. Ce langage est basé sur le modèle objet (Object Model – OM) standard et langage de spécification d’interfaces (Interface Definition Language – IDL) de l’OMG. L’OMG vise à produire une architecture générale commune pour l’interopérabilité des systèmes à objets. Il est donc naturel d’adhérer à ce standard pour les SGBDO.
- Object Query Language (OQL). OQL est un langage de manipulation de données déclaratif inspiré de SQL et adapté au modèle objet.
- Object Manipulation Language (OML). OML spécifie une interface standard de manipulation d’objets persistants pour les langages C++, Smalltalk et Java.
Dans ce chapitre, nous allons décrire ces trois langages du standart des bases de données objet. La compréhension des concepts du modèle objet UML présentés au chapitre 2 dans le cadre de la modélisation conceptuelle est un préalable à ce chapitre. La dernière section introduit JDO.
Table des matières – Bases de données objet et persistance transparente
16.1 Le langage de définition de données ODL 906
- Classe et interface ODL 910
- Interface ODL 911
- Héritage d’interface (:) et de classe (extends) 912
- Littéral ODL 913
- Collections ODL 916
- Association en ODL (relationship) 917
- Spécification de la signature des opérations 917
16.2 Mécanismes de gestion des objets persistants 918
- Constructeurs d’objets 918
- Contrôle de concurrence 919
- Noms de racines persistantes 919
- Gestion des OID persistants 920
16.3 Le langage de requête OQL 920
- SELECT de base 921
- Clause DISTINCT 921
- Constructeur STRUCT 922
- Sélection d’objets de la BD 922
- Requête sans SELECT 922
- Expressions de chemins 923
- SELECT enchâssé dans le FROM 924
- SELECT enchâssé dans la spécification du résultat d’un SELECT 925
- Aplatissement d’une collection de collections (FLATTEN) 925
- Extraction de l’élément d’un singleton (ELEMENT) 926
- Constructeurs d’objets 926
- Comparaison par identité ou par valeur 926
- Quantificateurs FOR ALL et EXISTS 926
- Quantificateurs SOME, ANY et ALL 927
- Fonctions de groupe 927
- Partition avec GROUP BY 928
- La valeur UNDEFINED 928
- Tri avec ORDER BY 928
16.4 Le langage de manipulation de données OML 929
- Transactions 929
- Cas de JAVA 930
Scénario global de manipulation de données en Java 933
Définition de classes capables de persistance 934
Création d’une racine persistante 936
Navigation à partir d’une racine persistante 937
Requête simple sur une Dcollection 938
Requête OQL 939
16.5 Persistance transparente avec la norme JDO 940
Systèmes de gestion de bases de données par l'exemple

La popularité de l’approche objet dans toutes les étapes du processus de développement de logiciel rend l’utilisation des bases de données objet très attrayante.
URL: https://www.lozedion.com/systemes-de-gestion-de-bases-de-donnees-sgbd/
Auteur: Robert Godin
Nom: Bases de données objet et persistance transparente JDO 940
URL: https://www.lozedion.com/produit/bases-de-donnees-objet-persistance-transparente/
Auteur: Robert Godin
ISBN: 978-2-923565-15-6 vol 3
Date de publication: 2020-10-20
Format: https://schema.org/EBook
4.5
Avis
Il n’y a pas encore d’avis.