Vous êtes sur la page 1sur 32

Introduction et motivations

Bases de Donnes Avances


Chapitre 1
Introduction et motivations
Professeur Mohammed Chaouki Abounaima
EPSIEL
5me Anne
Informatique de Gestion, Informatique Industrielle, Rseaux & Tlcom
Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

1/xxx

Introduction et motivations

Objectif du module
L'objectif de ce module est d'apprhender les
notions essentielles vhicules par les
nouvelles gnrations de Bases de Donnes,
en particulier les notions lies une
approche oriente Objet.

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

2/xxx

Introduction et motivations

A qui sadresse ce module ?


Ce module s'adresse aux tudiants :
ayant dj des connaissances en Bases de
Donnes ;
et ayant dj pratiqu un langage de
programmation Objet.

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

3/xxx

Introduction et motivations

2- Quest que les bases de donnes


Objets ?

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

4/xxx

Introduction et motivations

Limites du modle relationnel et motivation des


bases de donnes objets
Le modle relationnel connat un trs grand succs
et s'avre trs adquat pour les applications
traditionnelles des bases de donnes (gestion).
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 gographiques (SIG: Systme dInformation
Gographique)
BD multimedia (son, image, texte, etc. combines)

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

5/xxx

Introduction et motivations

Limites du modle relationnel et motivation des


bases de donnes objets
Ces nouvelles applications ont des caractristiques
diffrentes des applications traditionnelles de gestion
et elles introduisent des besoins nouveaux,
notamment :
des structures d'objets plus complexes,
des transactions de dure plus longue,
de nouveaux types de donnes pour le stockage
d'images ou de gros documents de texte,
la possibilit de dfinir des oprations non standards
qui sont spcifiques aux applications,

Les BD orientes objet constituent une tentative de


rponse a (certains de) ces besoins nouveaux.
Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

6/xxx

Introduction et motivations

Limites du modle relationnel et motivation


des bases de donnes objets
Une caractristique importante des BD orientes objet est
qu'elles donnent au concepteur de la BD la capacit de spcifier

non seulement la structure d'objets complexes mais


aussi les oprations appliquer sur ces objets.

On recense actuellement plusieurs prototypes exprimentaux et


quelques produits commerciaux de BD orientes objet
Ces systmes reprennent en gnral les concepts adoptes dans
les langages de programmation orientes objet, avec les
spcificits des systmes de bases de donnes (persistance des
donnes, transactions, etc.).

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

7/xxx

Introduction et motivations

Limites du modle relationnel et motivation des


base de donnes objets suiteLe problme de persistance des objets manipul par des
applications objets utilisant une base de donne relationnelle.
Plusieurs solutions de persistance objet existent:
srialisation ;
mapping objet-relationnel (exemple utilisation dHibernate
qui est un framework Java de mapping objet-relationnel) ;
bases de donnes objets (sans srialisation et sans
mapping) ;
bases XML (valables pour les sites webs).
Le choix d'une solution dpend des besoins applicatifs.

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

8/xxx

Introduction et motivations

Limites du modle relationnel et motivation des


bases de donnes objets
La srialisation Java
La srialisation est implmente dans les classes
java.io.ObjetInputStream et
java.io.ObjetOutputStream:

Inconvnients
Inefficace : accs squentiel, pas d'accs index
peu robuste : un crash peut corrompre dfinitivement
les donnes
pas d'accs concurrent: une seule application peut
accder au fichier
Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

9/xxx

Introduction et motivations

Limites des BDR : manque de langage complet


Si le langage de dveloppement choisi est objet (Java ou C++ par
exemple), il va falloir exploiter le rsultat de la requte pour
reformer l'objet Piece tel qu'il existe naturellement.
La programmation de cette transformation a un cot et l'excution
du code galement.
Comme inconvnient des systmes relationnels, il y a aussi le fait
que le langage SQL n'est pas un langage complet.
Le dveloppement d'une application autour d'une base relationnelle
ncessite l'utilisation d'autres langages (Java, C++,VB.NET,...) et
pose le problme de concordance des types entre le SGBD et le
langage de dveloppement.

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

10/xxx

Introduction et motivations

Limites des BDR : mapping

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

11/xxx

Introduction et motivations

Palier aux inconvnients et limites des BDR


La norme SQL3 a permis l'mergence de SGBD
hybrides dont le noyau relationnel a t enrichi de
fonctionnalits objet.

Nous avons choisi pour illustrer ce cours le SGBD


ORACLE qui dispose d'un SQL tendu (SQL3)
permettant un accs optimis aux donnes
lmentaires contenues dans les objets.

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

12/xxx

Introduction et motivations

Palier aux inconvnients et limites des BDR

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

13/xxx

Introduction et motivations

Systme de Gestion de Bases de Donnes Objets :


SGBDO
Les bases de donnes objet se trouvent
l'intersection de deux mondes :
celui des langages de programmation objet
et celui des bases de donnes.

Un SGBD Objet runira les fonctions d'un SGBD


et les concepts Objet.

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

14/xxx

Introduction et motivations

Acronymes
BD: base de donnes
DB: database
SGBD: systme de gestion de base de donnes
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 Donnes Avances

15/xxx

Introduction et motivations

3- Rappel CONCEPT OBJETS

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

16/xxx

Introduction et motivations

OBJET et CLASSE
OBJET
collection de donnes structures, identifies par
une rfrence unique.

CLASSE
groupe d'objets ayant les mmes proprits

CLASSE = structure + collection d'oprations


s'appliquant aux objets de la classe et permettant
d'en cacher la structure.
Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

17/xxx

Introduction et motivations

CONSTRUCTEUR et PROPRIETE
CONSTRUCTEUR
classe structurelle permettant d'imposer une structure une
collection d'objets et de dfinir des proprits multivalues
structures telles que : tuple, liste,ensemble,tableau

PROPRIETE :
caractristique d'un objet, dsigne par un nom.
une proprit d'une classe peut tre :
prive c'est dire interne ,

publique c'est dire exportable ou accessible


Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

18/xxx

Introduction et motivations

GENERALISATION et HERITAGE
GENERALISATION
lien hirarchique entre deux classes spcifiant
que les objets de la classe suprieure sont plus
gnraux que ceux de la classe infrieure

HERITAGE
transmission de proprits et de mthodes d'une
classe vers une sous-classe

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

19/xxx

Introduction et motivations

METHODE et MESSAGE
METHODE
opration associe une classe manipulant ou retournant l'tat
d'un objet de la classe ou d'une partie d'un objet de la classe.
Une mthode pourra tre dclare :
publique, c'est dire exportable
ou prive c'est dire interne une classe.

Une mthode pourra tre multiclasse.

MESSAGE
bloc de paramtres permettant par envoi l'invocation d'une
mthode publique d'un objet.
La communication entre les objets sera ralise par
l'intermdiaire de messages.

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

20/xxx

Introduction et motivations

ENCAPSULATION et INTERFACE
ENCAPSULATION
Privatisation de la structure de lobjet
On y accde par les mthodes publiques (interface)

INTERFACE
partie visible d'un objet
Gnralement constitue des mthodes
publiques de lobjet

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

21/xxx

Introduction et motivations

Historique du concept objet


Le concept d'objet est n avec le langage Simula en 1967.
Bien qu'antrieur au modle relationnel, il a fallu attendre les
annes 1980 et le succs des interfaces graphiques pour que les
langages orients objet soient utiliss dans les entreprises
industrielles.
Le dveloppement des architectures client-serveur puis d'Internet
et la ncessit de faire communiquer des applications
htrognes ont permis aux langages orients objet de s'imposer
largement.
C'est le cas de C++, Java, Python, VB.NET et C#

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

22/xxx

Introduction et motivations

Normes connues en matire Concept Objet


L'Object Management Group (O.M.G) travaille
depuis 1990 l'laboration de normes lies
l'approche objet.
En association avec l'Open Software Foundation,
ce groupe a labor la norme CORBA (Common
Object Broker Architecture) pour la communication
entre applications htrognes.

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

23/xxx

Introduction et motivations

Normes en matire Concept Objet et Bases de


Donnes
Dans les annes 1990, les principaux distributeurs de SGBD
Objet (O2, Versant, Ontos, Objectivity,...) se sont regroups pour
constituer l'Object Data Management Group (O.D.M.G) dans le
but de dfinir un standard.
Trois versions ont t publies en 10 ans:
ODMG 1.0 (1993)
Langages de dfinition et de manipulations d'objets (ODL et OQL)
Interface C++ et Smalltalk

ODMG 2.0 (1998)


Interface Java
Mtamodle

ODMG 3.0 (2000)


Enrichissement de l'interface Java
Intgration de SQL3
Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

24/xxx

Introduction et motivations

Mthodes danalyse objet


Plusieurs mthodes d'analyse oriente
objet ont t proposes dans les annes
1990.
Les plus connues sont Booch et OMT qui ont
t fusionn pour donner UML (Unified
Modeling Language).

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

25/xxx

Introduction et motivations

Varit de bases de donnes orientes objet


Il existe actuellement une assez grande varit de
bases de donnes "orientes objet" dans le
domaine exprimental et dans le commerce.
Parmi les plus connues, on peut citer les prototypes
exprimentaux :
ORION (Microelectronics and Computer Technology
Corporation)
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 version
conue pour UNIX)
Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

26/xxx

Introduction et motivations

Varit de bases de donnes orientes objet


Parmi les plus connues des produits commerciaux :
O2 (O2 Technology), puis ARDENT (ARDENT Software), 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.)
SQLX (UniSQL)

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

27/xxx

Introduction et motivations

Varit de bases de donnes orientes objet


Cette liste, non exhaustive, laisse dj penser la
question du standard et, en particulier, de la
compatibilit de ces bases et de leur langage de
manipulation de donnes.
Leur dfaut majeur est l : il n'y a pas de standard
reconnu actuellement.
Dans ce cours, on se propose dutiliser un pur
SGBDO gratuit qui est EyeDB. Ce SGBD nexiste
quen version Linux.
Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

28/xxx

Introduction et motivations

13 rgles dun SGBDO


Normalement une base de donnes oriente
objet devrait satisfaire 13 rgles (Manifesto
de 1989) :
des rgles relatives aux bases de donnes ,
et des rgles relatives aux objets ,

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

29/xxx

Introduction et motivations

13 rgles dun SGBDO


rgles OO :
1. objets composites
2. identits d'objet
3. encapsulation
4. classes, types, mthodes
5. hritage
6. surcharge et liaison dynamique
7. extensibilit
8. langage de programmation OO
Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

30/xxx

Introduction et motivations

13 rgles dun SGBDO


rgles BD :
9. donnes persistantes
10. gestion d'une grande quantit de donnes
11. partage des donnes et gestion de la
concurrence
12. fiabilit des donnes et reprise aprs incident
13. langage de requte

Mohammed Chaouki ABOUNAIMA

Bases de Donnes Avances

31/xxx

Introduction et motivations

Deux Approches en Bases de Donnes


Le modle Orient Objet pur (OO)

Le modle Objet-Relationnel (OR)

Smalltalk,...
OODBMS
Manisfesto (90)
ODMG-93
(91-93)
ODMG-II
(97)

ODMG
CA-Jasmine,
ObjectStore, O2,
Versant, POET, ...
Mohammed Chaouki ABOUNAIMA

Convergence
?

Codd (69)
le modle relationnel
SQL l
(85)
SQL2
(92)
SQL3
(96,97,98,99)
SQL4
(??)
ANSI X3H2
ISO/IEC
JTC1/SC21/WG3
Oracle, Informix,
Sybase, IBM DB2,
CA-OpenIngres, ...

Bases de Donnes Avances

32/xxx