14
Oracle Amanda Evans Mai 2000 Orienté Objet

Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

Embed Size (px)

Citation preview

Page 1: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

Oracle

Amanda EvansMai 2000

Orienté Objet

Page 2: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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

Page 3: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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

Page 4: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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

Page 5: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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

Page 6: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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.

Page 7: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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

Page 8: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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

Page 9: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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é

Page 10: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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

Page 11: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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

Page 12: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

Amanda Evans 12

Exemple

Page 13: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

Amanda Evans 13

Exemple

Page 14: Oracle Amanda Evans Mai 2000 Orienté Objet. Amanda Evans 2 La limite des systèmes relationnels La limitation de la majorité des systèmes actuels sont

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