1 Bases de DonnÚes Objet Introduction
-
Upload
dioss-sadio-traore -
Category
Documents
-
view
5 -
download
1
description
Transcript of 1 Bases de DonnÚes Objet Introduction
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 1/xxx
Introduction et motivations
Bases de Données Avancées
Chapitre 1Introduction et motivations
Professeur Mohammed Chaouki Abounaima
EPSIEL
5ème Année
Informatique de Gestion, Informatique Industrielle, Réseaux & Télécom
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 2/xxx
Introduction et motivations
Objectif du module
L'objectif de ce module est d'appréhender lesnotions essentielles véhiculées par lesnouvelles générations de Bases de Données,en particulier les notions liées à uneapproche orientée Objet.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 3/xxx
Introduction et motivations
A qui s’adresse ce module ?
Ce module s'adresse aux étudiants :
ayant déjà des connaissances en Bases deDonnées ;
et ayant déjà pratiqué un langage deprogrammation Objet.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 4/xxx
Introduction et motivations
2- Qu’est que les bases de donnéesObjets ?
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 5/xxx
Introduction et motivations
Le modèle relationnel connaît un très grand succèset s'avère très adéquat pour les applicationstraditionnelles des bases de données (gestion).
Il est beaucoup moins adapte aux nouvellesapplications plus complexes telles que :
CAD/CAM (Computer-Aided Design/Computer-AidedManufacturing)BD d'images et de graphiquesBD géographiques (SIG: Système d’InformationGéographique)BD multimedia (son, image, texte, etc. combines)
Limites du modèle relationnel et motivation desbases de données objets
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 6/xxx
Introduction et motivations
Limites du modèle relationnel et motivation desbases de données objets
Ces nouvelles applications ont des caractéristiquesdifférentes des applications traditionnelles de gestionet elles introduisent des besoins nouveaux,notamment :
des structures d'objets plus complexes,des transactions de durée plus longue,de nouveaux types de données pour le stockaged'images ou de gros documents de texte,la possibilité de définir des opérations non standardsqui sont spécifiques aux applications,
Les BD orientées objet constituent une tentative deréponse a (certains de) ces besoins nouveaux.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 7/xxx
Introduction et motivations
Limites du modèle relationnel et motivationdes bases de données objets
Une caractéristique importante des BD orientées objet estqu'elles donnent au concepteur de la BD la capacité de spécifiernon seulement la structure d'objets complexes maisaussi les opérations à appliquer sur ces objets.
On recense actuellement plusieurs prototypes expérimentaux etquelques produits commerciaux de BD orientées objet
Ces systèmes reprennent en général les concepts adoptes dansles langages de programmation orientes objet, avec lesspécificités des systèmes de bases de données (persistance desdonnées, transactions, etc.).
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 8/xxx
Introduction et motivations
Limites du modèle relationnel et motivation desbase de données objets –suite-
Le problème de persistance des objets manipulé par desapplications objets utilisant une base de donnée relationnelle.
Plusieurs solutions de persistance objet existent:
sérialisation ;
mapping objet-relationnel (exemple utilisation d’Hibernatequi est un framework Java de mapping objet-relationnel) ;
bases de données objets (sans sérialisation et sansmapping) ;
bases XML (valables pour les sites webs).
Le choix d'une solution dépend des besoins applicatifs.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 9/xxx
Introduction et motivations
La sérialisation JavaLa sérialisation est implémentée dans les classesjava.io.ObjetInputStream etjava.io.ObjetOutputStream:
InconvénientsInefficace : accès séquentiel, pas d'accès indexé
peu robuste : un crash peut corrompre définitivementles données
pas d'accès concurrent: une seule application peutaccéder au fichier
Limites du modèle relationnel et motivation desbases de données objets
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 10/xxx
Introduction et motivations
Limites des BDR : manque de langage complet
Si le langage de développement choisi est objet (Java ou C++ parexemple), il va falloir exploiter le résultat de la requête pourreformer l'objet Piece tel qu'il existe naturellement.
La programmation de cette transformation a un coût et l'exécutiondu code également.
Comme inconvénient des systèmes relationnels, il y a aussi le faitque le langage SQL n'est pas un langage complet.
Le développement d'une application autour d'une base relationnellenécessite l'utilisation d'autres langages (Java, C++,VB.NET,...) etpose le problème de concordance des types entre le SGBD et lelangage de développement.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 11/xxx
Introduction et motivations
Limites des BDR : mapping
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 12/xxx
Introduction et motivations
Palier aux inconvénients et limites des BDR
La norme SQL3 a permis l'émergence de SGBDhybrides dont le noyau relationnel a été enrichi defonctionnalités objet.
Nous avons choisi pour illustrer ce cours le SGBDORACLE qui dispose d'un SQL étendu (SQL3)permettant un accès optimisé aux donnéesélémentaires contenues dans les objets.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 13/xxx
Introduction et motivations
Palier aux inconvénients et limites des BDR
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 14/xxx
Introduction et motivations
Système de Gestion de Bases de Données Objets :SGBDO
Les bases de données objet se trouvent àl'intersection de deux mondes :
celui des langages de programmation objet
et celui des bases de données.
Un SGBD Objet réunira les fonctions d'un SGBDet les concepts Objet.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 15/xxx
Introduction et motivations
Acronymes
BD: base de données
DB: database
SGBD: système de gestion de base de données
DBMS: database management system
R: relationnel / relational
E-A : Entité-Association/Entity-Relationship
O: objet / object
OO: orienté objet / object oriented
OR: objet-relationnel
RO: relational-object
SGBDR, SGBDOO, SGBDO, SGBDOR
RDBMS, OODBMS, ODBMS, RODBMS
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 16/xxx
Introduction et motivations
3- Rappel CONCEPT OBJETS
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 17/xxx
Introduction et motivations
OBJET et CLASSE
OBJET
collection de données structurées, identifiées parune référence unique.
CLASSE
groupe d'objets ayant les mêmes propriétés
CLASSE = structure + collection d'opérationss'appliquant aux objets de la classe et permettantd'en cacher la structure.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 18/xxx
Introduction et motivations
CONSTRUCTEUR et PROPRIETE
CONSTRUCTEURclasse structurelle permettant d'imposer une structure à unecollection d'objets et de définir des propriétés multivaluéesstructurées telles que : tuple, liste,ensemble,tableau
PROPRIETE :caractéristique d'un objet, désignée par un nom.
une propriété d'une classe peut être :
privée c'est à dire interne ,
publique c'est à dire exportable ou accessible
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 19/xxx
Introduction et motivations
GENERALISATION et HERITAGE
GENERALISATION
lien hiérarchique entre deux classes spécifiantque les objets de la classe supérieure sont plusgénéraux que ceux de la classe inférieure
HERITAGE
transmission de propriétés et de méthodes d'uneclasse vers une sous-classe
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 20/xxx
Introduction et motivations
METHODE et MESSAGE
METHODE
opération associée à une classe manipulant ou retournant l'étatd'un objet de la classe ou d'une partie d'un objet de la classe.
Une méthode pourra être déclarée :publique, c'est à dire exportable
ou privée c'est à dire interne à une classe.
Une méthode pourra être multiclasse.
MESSAGE
bloc de paramètres permettant par envoi l'invocation d'uneméthode publique d'un objet.
La communication entre les objets sera réalisée parl'intermédiaire de messages.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 21/xxx
Introduction et motivations
ENCAPSULATION et INTERFACE
ENCAPSULATION
Privatisation de la structure de l’objet
On y accède par les méthodes publiques (interface)
INTERFACE
partie visible d'un objet
Généralement constituée des méthodespubliques de l’objet
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 22/xxx
Introduction et motivations
Historique du concept objet
Le concept d'objet est né avec le langage Simula en 1967.
Bien qu'antérieur au modèle relationnel, il a fallu attendre lesannées 1980 et le succès des interfaces graphiques pour que leslangages orientés objet soient utilisés dans les entreprisesindustrielles.
Le développement des architectures client-serveur puis d'Internetet la nécessité de faire communiquer des applicationshétérogènes ont permis aux langages orientés objet de s'imposerlargement.
C'est le cas de C++, Java, Python, VB.NET et C#
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 23/xxx
Introduction et motivations
Normes connues en matière Concept Objet
L'Object Management Group (O.M.G) travailledepuis 1990 à l'élaboration de normes liées àl'approche objet.
En association avec l'Open Software Foundation,ce groupe a élaboré la norme CORBA (CommonObject Broker Architecture) pour la communicationentre applications hétérogènes.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 24/xxx
Introduction et motivations
Normes en matière Concept Objet et Bases de
Données
Dans les années 1990, les principaux distributeurs de SGBDObjet (O2, Versant, Ontos, Objectivity,...) se sont regroupés pourconstituer l'Object Data Management Group (O.D.M.G) dans lebut de définir un standard.
Trois versions ont été publiées en 10 ans:
ODMG 1.0 (1993)Langages de définition et de manipulations d'objets (ODL et OQL)
Interface C++ et Smalltalk
ODMG 2.0 (1998)Interface Java
Métamodèle
ODMG 3.0 (2000)Enrichissement de l'interface Java
Intégration de SQL3
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 25/xxx
Introduction et motivations
Méthodes d’analyse objet
Plusieurs méthodes d'analyse orientéeobjet ont été proposées dans les années1990.
Les plus connues sont Booch et OMT qui ontété fusionné pour donner UML (UnifiedModeling Language).
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 26/xxx
Introduction et motivations
Variété de bases de données orientées objet
Il existe actuellement une assez grande variété debases de données "orientées objet" dans ledomaine expérimental et dans le commerce.
Parmi les plus connues, on peut citer les prototypesexpérimentaux :
ORION (Microelectronics and Computer TechnologyCorporation)
ONTOS (Ontos)
OPENOODB (Texas Instruments)
ENCORE/Observer (Brown University)
ODE (AT&T Bell Labs, puis Lucent Technologies)
EyeDB (il est gratuit et il en existe une seule versionconçue pour UNIX)
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 27/xxx
Introduction et motivations
Variété de bases de données orientées objet
Parmi les plus connues des produits commerciaux :O2 (O2 Technology), puis ARDENT (ARDENT Software), puis n'estplus commercialiséGemstone/OPAL (Servio Logic)Ontos (Ontologic)Statice (Symbolics)Gbase (Object Databases)Vision (Innovative Systems)Objectstore (Object Design)Objectivity/DB (Objectivity)Versant (Versant Object Technology)Orion (Itasca Systems)Illustra (Illustra Inc.)SQLX (UniSQL)
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 28/xxx
Introduction et motivations
Variété de bases de données orientées objet
Cette liste, non exhaustive, laisse déjà penser à laquestion du standard et, en particulier, de lacompatibilité de ces bases et de leur langage demanipulation de données.
Leur défaut majeur est là : il n'y a pas de standardreconnu actuellement.
Dans ce cours, on se propose d’utiliser un purSGBDO gratuit qui est EyeDB. Ce SGBD n’existequ’en version Linux.
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 29/xxx
Introduction et motivations
13 règles d’un SGBDO
Normalement une base de données orientéeobjet devrait satisfaire 13 règles (Manifestode 1989) :
des règles relatives aux bases de données ,
et des règles relatives aux objets ,
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 30/xxx
Introduction et motivations
13 règles d’un SGBDO
règles OO :
1. objets composites
2. identités d'objet
3. encapsulation
4. classes, types, méthodes
5. héritage
6. surcharge et liaison dynamique
7. extensibilité
8. langage de programmation OO
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 31/xxx
Introduction et motivations
13 règles d’un SGBDO
règles BD :
9. données persistantes
10. gestion d'une grande quantité de données
11. partage des données et gestion de laconcurrence
12. fiabilité des données et reprise après incident
13. langage de requête
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 32/xxx
Introduction et motivations
Deux Approches en Bases de Données
Codd (69)le modèle relationnel
SQL l(85)
SQL2(92)
SQL3(96,97,98,99)SQL4(??)
Smalltalk,...
OODBMSManisfesto (90)
ODMG-93(91-93)ODMG-II
(97)
Convergence?ODMG
CA-Jasmine,ObjectStore, O2,Versant, POET, ...
ANSI X3H2ISO/IEC
JTC1/SC21/WG3
Oracle, Informix,Sybase, IBM DB2,CA-OpenIngres, ...
Le modèle Orienté Objet pur (OO) Le modèle Objet-Relationnel (OR)