You are on page 1of 32

Introduction et motivations

Bases de Données Avancées
Chapitre 1
Introduction 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

1/xxx

Introduction et motivations

Objectif du module
L'objectif de ce module est d'appréhender les
notions essentielles véhiculées par les
nouvelles générations de Bases de Données,
en particulier les notions liées à une
approche orientée Objet.

Mohammed Chaouki ABOUNAIMA

Bases de Données Avancées

2/xxx

Introduction et motivations

A qui s’adresse ce module ?
Ce module s'adresse aux étudiants :
ayant déjà des connaissances en Bases de
Données ;
et ayant déjà pratiqué un langage de
programmation Objet.

Mohammed Chaouki ABOUNAIMA

Bases de Données Avancées

3/xxx

Qu’est que les bases de données Objets ? Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 4/xxx .Introduction et motivations 2.

texte. combines) Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 5/xxx .Introduction et motivations Limites du modèle relationnel et motivation des bases de données objets Le modèle relationnel connaît un très grand succès et s'avère très adéquat pour les applications traditionnelles des bases de données (gestion). image. Il est beaucoup moins adapte aux nouvelles applications plus complexes telles que : CAD/CAM (Computer-Aided Design/Computer-Aided Manufacturing) BD d'images et de graphiques BD géographiques (SIG: Système d’Information Géographique) BD multimedia (son. etc.

Les BD orientées objet constituent une tentative de réponse a (certains de) ces besoins nouveaux. de nouveaux types de données pour le stockage d'images ou de gros documents de texte. des transactions de durée plus longue.Introduction et motivations Limites du modèle relationnel et motivation des bases de données objets Ces nouvelles applications ont des caractéristiques différentes des applications traditionnelles de gestion et elles introduisent des besoins nouveaux. la possibilité de définir des opérations non standards qui sont spécifiques aux applications. notamment : des structures d'objets plus complexes. Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 6/xxx .

On recense actuellement plusieurs prototypes expérimentaux et quelques produits commerciaux de BD orientées objet Ces systèmes reprennent en général les concepts adoptes dans les langages de programmation orientes objet.Introduction et motivations Limites du modèle relationnel et motivation des bases de données objets Une caractéristique importante des BD orientées objet est qu'elles donnent au concepteur de la BD la capacité de spécifier non seulement la structure d'objets complexes mais aussi les opérations à appliquer sur ces objets. Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 7/xxx . avec les spécificités des systèmes de bases de données (persistance des données. transactions. etc.).

mapping objet-relationnel (exemple utilisation d’Hibernate qui est un framework Java de mapping objet-relationnel) . bases de données objets (sans sérialisation et sans mapping) . Plusieurs solutions de persistance objet existent: sérialisation . Le choix d'une solution dépend des besoins applicatifs. Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 8/xxx . bases XML (valables pour les sites webs).Introduction et motivations Limites du modèle relationnel et motivation des base de données objets –suiteLe problème de persistance des objets manipulé par des applications objets utilisant une base de donnée relationnelle.

io.Introduction et motivations Limites du modèle relationnel et motivation des bases de données objets La sérialisation Java La sérialisation est implémentée dans les classes java. pas d'accès indexé peu robuste : un crash peut corrompre définitivement les données pas d'accès concurrent: une seule application peut accéder au fichier Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 9/xxx .io.ObjetInputStream et java.ObjetOutputStream: Inconvénients Inefficace : accès séquentiel.

Comme inconvénient des systèmes relationnels.) et pose le problème de concordance des types entre le SGBD et le langage de développement. Le développement d'une application autour d'une base relationnelle nécessite l'utilisation d'autres langages (Java.VB. C++. il va falloir exploiter le résultat de la requête pour reformer l'objet Piece tel qu'il existe naturellement.NET.. 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++ par exemple). il y a aussi le fait que le langage SQL n'est pas un langage complet. La programmation de cette transformation a un coût et l'exécution du code également..

Introduction et motivations Limites des BDR : mapping Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 11/xxx .

Nous avons choisi pour illustrer ce cours le SGBD ORACLE 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 12/xxx .Introduction et motivations Palier aux inconvénients et limites des BDR La norme SQL3 a permis l'émergence de SGBD hybrides dont le noyau relationnel a été enrichi de fonctionnalités objet.

Introduction et motivations Palier aux inconvénients et limites des BDR Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 13/xxx .

Un SGBD Objet réunira les fonctions d'un SGBD et les concepts Objet.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. Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 14/xxx .

ODBMS. RODBMS Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 15/xxx . SGBDOO. SGBDOR RDBMS. SGBDO. OODBMS.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.

Introduction et motivations 3.Rappel CONCEPT OBJETS Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 16/xxx .

Introduction et motivations OBJET et CLASSE OBJET collection de données structurées. Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 17/xxx . CLASSE groupe d'objets ayant les mêmes propriétés CLASSE = structure + collection d'opérations s'appliquant aux objets de la classe et permettant d'en cacher la structure. identifiées par une référence unique.

ensemble. désignée par un nom. liste.Introduction et motivations CONSTRUCTEUR et PROPRIETE CONSTRUCTEUR classe structurelle permettant d'imposer une structure à une collection d'objets et de définir des propriétés multivaluées structurées telles que : tuple.tableau PROPRIETE : caractéristique d'un objet. publique c'est à dire exportable ou accessible Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 18/xxx . une propriété d'une classe peut être : privée c'est à dire interne .

Introduction et motivations GENERALISATION et HERITAGE GENERALISATION lien hiérarchique entre deux classes spécifiant que les objets de la classe supérieure sont plus généraux que ceux de la classe inférieure HERITAGE transmission de propriétés et de méthodes d'une classe vers une sous-classe Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 19/xxx .

La communication entre les objets sera réalisée par l'intermédiaire de messages. Une méthode pourra être déclarée : publique. Une méthode pourra être multiclasse.Introduction et motivations METHODE et MESSAGE METHODE opération associée à une classe manipulant ou retournant l'état d'un objet de la classe ou d'une partie d'un objet de la classe. Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 20/xxx . MESSAGE bloc de paramètres permettant par envoi l'invocation d'une méthode publique d'un objet. c'est à dire exportable ou privée c'est à dire interne à une classe.

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éthodes publiques de l’objet Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 21/xxx .

Java.NET et C# Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 22/xxx . Python. Le développement des architectures client-serveur puis d'Internet et la nécessité de faire communiquer des applications hétérogènes ont permis aux langages orientés objet de s'imposer largement. C'est le cas de C++.Introduction et motivations Historique du concept objet Le concept d'objet est né avec le langage Simula en 1967. il a fallu attendre les années 1980 et le succès des interfaces graphiques pour que les langages orientés objet soient utilisés dans les entreprises industrielles. Bien qu'antérieur au modèle relationnel. VB.

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 23/xxx . ce groupe a élaboré la norme CORBA (Common Object Broker Architecture) pour la communication entre applications hétérogènes.Introduction et motivations Normes connues en matière Concept Objet L'Object Management Group (O.G) travaille depuis 1990 à l'élaboration de normes liées à l'approche objet.M. En association avec l'Open Software Foundation.

Trois versions ont été publiées en 10 ans: ODMG 1. Objectivity.0 (1998) Interface Java Métamodèle ODMG 3.D. Versant.0 (1993) Langages de définition et de manipulations d'objets (ODL et OQL) Interface C++ et Smalltalk ODMG 2. les principaux distributeurs de SGBD Objet (O2.G) dans le but de définir un standard. Ontos..Introduction et motivations Normes en matière Concept Objet et Bases de Données Dans les années 1990.0 (2000) Enrichissement de l'interface Java Intégration de SQL3 Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 24/xxx ...) se sont regroupés pour constituer l'Object Data Management Group (O.M.

Les plus connues sont Booch et OMT qui ont été fusionné pour donner UML (Unified Modeling Language).Introduction et motivations Méthodes d’analyse objet Plusieurs méthodes d'analyse orientée objet ont été proposées dans les années 1990. Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 25/xxx .

puis Lucent Technologies) EyeDB (il est gratuit et il en existe une seule version conçue pour UNIX) 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é de bases de données "orientées objet" dans le domaine expérimental et dans le commerce. on peut citer les prototypes expérimentaux : ORION (Microelectronics and Computer Technology Corporation) ONTOS (Ontos) OPENOODB (Texas Instruments) ENCORE/Observer (Brown University) ODE (AT&T Bell Labs. Parmi les plus connues.

puis ARDENT (ARDENT Software).) SQLX (UniSQL) Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 27/xxx . puis n'est plus 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.Introduction et motivations Variété de bases de données orientées objet Parmi les plus connues des produits commerciaux : O2 (O2 Technology).

on se propose d’utiliser un pur SGBDO gratuit qui est EyeDB. de la compatibilité de ces bases et de leur langage de manipulation de données. non exhaustive.Introduction et motivations Variété de bases de données orientées objet Cette liste. Dans ce cours. Leur défaut majeur est là : il n'y a pas de standard reconnu actuellement. Ce SGBD n’existe qu’en version Linux. en particulier. Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 28/xxx . laisse déjà penser à la question du standard et.

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ée objet devrait satisfaire 13 règles (Manifesto de 1989) : des règles relatives aux bases de données . et des règles relatives aux objets .

extensibilité 8. surcharge et liaison dynamique 7. objets composites 2. encapsulation 4.Introduction et motivations 13 règles d’un SGBDO règles OO : 1. classes. héritage 6. méthodes 5. langage de programmation OO Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 30/xxx . identités d'objet 3. types.

Introduction et motivations 13 règles d’un SGBDO règles BD : 9. fiabilité des données et reprise après incident 13. partage des données et gestion de la concurrence 12. gestion d'une grande quantité de données 11. données persistantes 10. langage de requête Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 31/xxx .

Versant.. OODBMS Manisfesto (90) ODMG-93 (91-93) ODMG-II (97) ODMG CA-Jasmine. ObjectStore. Bases de Données Avancées 32/xxx ... IBM DB2. CA-OpenIngres.. O2.97. Sybase.99) SQL4 (??) ANSI X3H2 ISO/IEC JTC1/SC21/WG3 Oracle.98... . Mohammed Chaouki ABOUNAIMA Convergence ? Codd (69) le modèle relationnel SQL l (85) SQL2 (92) SQL3 (96. Informix.Introduction et motivations Deux Approches en Bases de Données Le modèle Orienté Objet pur (OO) Le modèle Objet-Relationnel (OR) Smalltalk. .. POET.