Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La...
-
Upload
jerome-ledoux -
Category
Documents
-
view
107 -
download
1
Transcript of Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La...
Oracle
Amanda EvansMai 2000
Orienté Objet
Amanda Evans 2
La limite des systèmes relationnels
La limitation de la majorité des systèmes actuels sont les suivantes [Soutou99]
• La simplicité du modèle de données et l'existence du langage SQL déclaratif natif induisent l'interfaçage avec un langage de programmation qui permet de répondre à des contraintes de spécification complexes. De ce fait, le dialogue entre la base et le langage n'est plus directe. On parle de défaut d'impédance (impedance mismatch)
• La normalisation conduit à l'accroissement du nombre de relations. Ainsi, si deux objets doivent être liés en mémoire, il faut simuler ce lien au niveau de la base par un mécanisme de clés étrangères ou de tables de corrélations. Parcourir un lien implique souvent une jointure dans la base. Il en résulte un problème de performance dès que le style d'interrogation devient navigationnel: manipulation d'arbres, de graphes ou toute autre application mettant en relation un grand nombre d'objets
• La faible capacité de modélisation: seules les structures de données tabulaires sont permises. Il est ainsi difficile de représenter directement des objets complexes
Amanda Evans 3
Les bases de données objet
• Le premier SGBD objet date de 1983. Il s'agit du prototype Gemstone. L'approche suivie par ce système est simple: étendre le langage de programmation objet Smalltalk aux fonctions de SGBD
• Des produits commerciaux sont à présents disponibles:– O2 d'Ardent Software
– Ontos
– Objectstore d'Object Design
– OpenODB de Hewlett-Packard
– Objectivity
– Versant, …
Ces systèmes permettent d'accéder à des informations complexes avec des programmes écrits dans des langages objets. Ils concernent un segment limité du marché des SGBD
Amanda Evans 4
Règles d'or d'un SGBD Objet
Pour être qualifié d'objet, un SGBD doit respecter treize règles [Soutou99]
• Données persistantesContrairement aux langages de programmation où les données disparaissent
lorsque le programme est arrêté, les données persistantes sont conservées. Les données persistantes et non persistantes (temporaires) sont manipulées de la même façon par un programme
• Grande quantité de donnéesLe système gère l'espace mémoire secondaire en utilisant des techniques de
regroupement physique, d'indexation, d'optimisation de requêtes et de gestion de cache
• Fiabilité des donnéesLe système assure la cohérance des données par les contraintes d'intégrité, la
sûreté de fonctionnement par des transactions et la sécurité des accès par l'affectation de privilèges
• Partages de donnéesLe système est multi-utilisateur et gère des mécanismes de verrous
Amanda Evans 5
Règles d'or d'un SGBD Objet
• Facilité d'interrogationLe système permet à l'utilisateur d'interroger la base à l'aide d'un langage de
requêtes. Le résultat d'une requête n'est pas forcément un objet d'une classe existante. Le langage offre en outre la puissance d'un langage de programmation
• EncapsulationLes données sont accessibles par des méthodes à différents degrés (visibilité)
• Objets compositesLes structures de données à définir et à manipuler peuvent être complexes
• Identificateur d'objetL'accès aux objets s'opère directement ou par des liens inter-objets via les OID
• Classes, types et méthodesLe sytème permet la gestion des types abstraits de données et supporte les
concepts de classes et de méthodes de l'approche objet
• HéritageLe système prend en charge le mécanisme d'héritage
Amanda Evans 6
Règles d'or d'un SGBD Objet
• Surcharge et liaison dynamiqueLes méthodes peuvent être surchargées. La liaison dynamique est la capacité
d'établir la correspondance entre le nom d'une méthode et son implantation lors de l'exécution et non lors de la compilation
• Langage de programmation completLe système dispose d'un langage de programmation qui ne nécessite pas
d'opérateur externe pour écrire une application
• ExtensibilitéLe système autorise l'ajout dynamique de nouveaux types abstraits de donnée, de
nouvelles classes, de nouvelles méthodes, etc.
Amanda Evans 7
Bilan de la technologie objet dans les bases de données
• Les SGBD objet trouvent leur origine dans les langage de programmation objet. Le principe de base de ces deux disciplines est le même: les données ne doivent être manipulées directement sans passer par une méthode. L'objectif principal de l'approche objet est d'augmenter le niveau d'abstraction. La technologie objet dans le domaine des bases de données vise à combiner les avantages des fichiers (simplicité et rapidité d'accès), des bases hiérarchiques ou réseaux (navigation entre objets) et des bases relationnelles (langage de requêtes)
• La technologie objet vise à réduire les différences entre le langage de programmation et la base de données d'une part, et entre le monde à modéliser et le modèle de données d'autre part. La concept objet induit ainsi une certaine idée de complémentarité entre les applications et les données stockées dans des SGBD
Amanda Evans 8
Bilan de la technologie objet dans les bases de données
• Les SGBD objet risquent de subir des inconvénients découlant principalement du manque de théorie dans la conception d'un schéma. Cette insuffisance s'explique par la complexité et par le manque de maturité du modèle de données
• Un autre point faible des SGBD objet concerne la tenue de charge des moteurs lorsque le nombre d'utilisateurs concurrents augmente d'une manière importante
Amanda Evans 9
La technologie objet-relationnel
• La technologie objet-relationnel est née en 1992 avec le SGBD UNISQL/X combinant un moteur relationnel et un système objet
• De nombreux SGBD ont suivis et tous s'orientent vers trois grands mouvements technologiques– L'évolution interne du moteur de leur SGBD
– La connexion entre le moteur relationnnel et les moteurs spécialisés pour la manipulation de certains types de données complexes
– La promotion du middleware qui compose les couches au sens réseau du terme, lesquelles permettent d'interconnecter des applications à des SGBD hétérogènes
• Les éditeurs de SGBDR tendent à intégrer la technologie objet-relationnelle en préservant la totalité des fonctions de leur SGBDR; ils proposent des concepts qui font le succès de l'approche objet et des nouveaux types de données afin de mieux répondre à la demande du marché
Amanda Evans 10
SGBD objet-relationnel
• Un SGBD objet-relationnel doit selon Stonebraker prendre en compte les quatre mécanismes suivants– L'extension des types de données
– Les objets complexes (en terme de structures de données)
– L'héritage
– Les systèmes de règles
Amanda Evans 11
Le modèle de données
• Le modèle de données objet-relationnel est une extension du modèle de données relationnel
• Une des principales extensions consiste à manipuler des structures de données complexes incluant– Des pointeurs (facilitent la navigation)
– Des tables imbriquées (permettent de s'affranchir de la règle de la première forme normale)
• Les objets sont stockés dans des tables objets-relationnelles qui présentent des caractéristiques semblables au modèle de données NF2 (Non First Normal Form)
Une table au modèle NF2 peut contenir un attribut
qui est composé d'une liste de valeurs
Amanda Evans 12
Exemple
Amanda Evans 13
Exemple
Amanda Evans 14
Oracle8 et l'objet-relationnel
• Oracle 8 est le premier serveur objet-relationnel d'Oracle
• Un des objetifs d'Oracle est de disposer de produits permettant le développement du commerce électronique basé sur un mécanisme transactionnel
• L'architecture d'Oracle est un montage trois tiers– Le client (navigateur Internet)
– Le serveur applicatif (exécutable)
– Le serveur de base de données
• Oracle ne met pas encore en oeuvre le mécanisme d'héritage dans la version 8.0.x