You are on page 1of 11

Rpublique Algrienne Dmocratique Et Populaire

Ministre de lenseignement suprieur et de la recherche scientifique

Facult des sciences et de la technologie


Dpartement De Linformatique

Bases De Donnes Orientes Objets

Promotion : 2011-2012

Introduction
Base de donnes:
Collection d'informations ou de donnes qui existent sur une longue priode de temps
et qui dcrivent les activits d'une ou plusieurs organisations
1

Ensemble de donnes modlisant les objets d'une partie du monde rel et servant
de support une application informatique
Un gros ensemble dinformations structures mmorises sur un support permanent
SGBD
Systmes de Gestion de Bases de Donnes (DataBase Management Systems - DBMS)
Ensemble de logiciels systmes permettant aux utilisateurs de faire des applications
(insrer, modifier, et rechercher) efficacement des donnes spcifiques dans une grande
masse d'informations (pouvant atteindre plusieurs milliards d'octets) partage par de
multiples utilisateurs
Exemples de SGBD:

BD duniversit (donnes sur les tudiants, les enseignements, les salles, etc.)
BD de compagnie arienne (donnes sur les clients, les vols, les rservations, etc.)
BD bancaire (donnes sur les clients, les comptes, les transactions, etc.)

Problmes en absence de SGB


1. Programmes dapplication crits directement au-dessus du systme de gestion de
fichier
2. Redondance (cot de stockage et daccs)
3. Incohrence (ex: changement dadresse)
4. Difficult daccs (requtes non prvues dans les programmes)
5. Isolation des donnes (nouveau programme qui cherche des donnes dans des
fichiers varis de diffrents formats)
6. Manque de scurit
7. Gestion de lintgrit (obir des contraintes)
Principales fonctionnalits dun SGBD:
Contrle de la redondance dinformation
Partage des donnes
Gestion des autorisations daccs
Vrifications des contraintes dintgrit
Contraintes structurelles (un employ a un seul chef), contraintes dynamiques (un salaire
ne peut diminuer), etc.
Scurit et reprise sur panne
Principaux composants dun SGBD
Systme de gestion de fichiers (physique)
Stockage et accs des fichiers
Gestionnaire de requtes
2

Traduction des requtes des mis jour et dinterrogation


Gestionnaire de transactions
Regroupement des actions (modifications, mises jour, etc.) qui doivent tre excutes
ensemble squentiellement (ex : virement dune somme de A B , lire la somme
de A, effacer de A, ajouter B, etc. )
Abstraction de donnes : 3 niveaux (abstraction des donnes,
indpendance entre utilisateurs et gestion):
Niveau interne ou physique :
plus bas niveau
indique comment (avec quelles structures de donnes) sont stockes
physiquement les donnes
Niveau logique ou conceptuel :
dcrit par un schma conceptuel
indique quelles sont les donnes stockes et quelles sont leurs relations
indpendamment de limplantation physique
Niveau externe ou vue :
propre chaque utilisateur
dcrit par un ou plusieurs schmas externes
Diffrents langages dun SGBD :
LDD : Langage de Dfinition de Donnes,
construire un schma pour dcrire la structure, incluant les contraintes
LMD : Langage de Manipulation de Donnes
appliquer les oprations aux donnes (retrouver et mettre jour les
donnes)
Atouts d'un SGBD(R)
Persistance : les donnes survivent aux programmes
Taille : accs efficace aux grandes quantits de donnes : gestion des tampons,
index, optimisation des requtes
Performances sur le transactionnel (OLTP)
Standard industrie :
SQL2 : indpendance des applications
3

architecture client-serveur
optimisation de requtes
Scurit
Transactions
Architecture client-serveur
Premier SGBD objet : 1983 (Gemstone)
Approche : tendre le langage de programmation objet aux fonctions de SGBD
Persistance
orthogonale au type
langages : C++, smalltalk, Java/OQL
Produits
O2, Object Store, Ontos, Objectivity, Jasmine, Versant
Niches technologiques
rseau, CAO, SIG, Gestion de donnes Techniques
pas de transactionnel lourd
Rgles d'or d'un SGBD Objet
Pour tre qualifi d'objet, un SGBD doit respecter treize rgles [Soutou99]
1. Donnes persistantes
Les donnes persistantes et non persistantes (temporaires) sont manipules
de la mme faon par un programme
2. Grande quantit de donnes
Techniques de regroupement physique, d'indexation, d'optimisation de
requtes et de gestion de cache
3. Fiabilit des donnes
Transactions et privilges
4. Partages de donnes
multi-utilisateur mcanismes de verrous
5. Facilit d'interrogation
Langage de requtes.
4

Le rsultat d'une requte n'est pas forcment un objet d'une classe existante.
Le langage offre en outre la puissance d'un langage de programmation
6. Encapsulation
Les donnes sont accessibles par des mthodes diffrents degrs (visibilit)
7. Objets composites
Les structures de donnes dfinir et manipuler peuvent tre complexes
8. Identificateur d'objet
Accs aux objets directement ou par des liens inter-objets via les OID
Objets partags
9. Classes, types et mthodes
Types abstraits de donnes
Concepts de classes et de mthodes de l'approche objet
10.

Hritage

11.

Surcharge et liaison dynamique


Les mthodes peuvent tre surcharges. La liaison dynamique est la capacit
d'tablir la correspondance entre le nom d'une mthode et son implantation
lors de l'excution et non lors de la compilation

12.

Langage de programmation complet


Le systme dispose d'un langage de programmation qui ne ncessite pas
d'oprateur externe pour crire une application

13.

Extensibilit
Le systme autorise l'ajout dynamique de nouveaux types abstraits de
donne, de nouvelles classes, de nouvelles mthodes, etc.

SGBD objet-relationnel
Un SGBD objet-relationnel doit selon Stonebraker prendre en compte les quatre
mcanismes suivants
L'extension des types de donnes
Les objets complexes (en terme de structures de donnes)
L'hritage
Les systmes de rgles

Oracle, Informix,
Sybase, IBM, DB2,
CA-OpenIngres

Bases de donnes objet-relationnel


Oracle8 et l'objet-relationnel
Oracle 8 est le premier serveur objet-relationnel d'Oracle
Un des objectifs d'Oracle est de disposer de produits permettant le dveloppement
du commerce lectronique bas sur un mcanisme transactionnel
L'architecture d'Oracle est un montage trois tiers
Le client (navigateur Internet)
Le serveur applicatif (excutable)
Le serveur de base de donnes
Oracle ne met pas encore en oeuvre le mcanisme d'hritage dans la version 8.0.x
La programmation OO avec Oracle
Dans PL/SQL la programmation oriente-objet est base sur des types objets (Object
types).
Ces types objets fournissent
1)

des modles abstraits pour des objets du monde rel

2)

l'encapsulation ("bote noire").

Pour utiliser un type objet dans un programme, il suffit de connatre ce qu'il fait et
non comment il le fait.
La structure d'un type-objet
Un type-objet est form de 2 parties:
1)

une spcification
6

L'interface dclarant la structure de donnes (l'ensemble des attributs) ainsi que les
oprations (mthodes) associes la manipulation de ces donnes.
2)

un corps (body)

Il dfinit compltement les mthodes, et ainsi implmente la spcification.

Spcification
Dclaration des attributs

Interface publique

Spcification des mthodes

Corps

Implmentation prive

Corps des mthodes

SGBD OO = LPOO + BD
Reprsentation du rel
Persistance
Gestion des disques
Partage des donnes
Fiabilit des donnes
Scurit
Langages de requtes
Indpendance logique / physique
Dveloppement
Structure complexe
Identit
Encapsulation
Classe = usine
Hritage
Redfinition
Bibliothques de classes
Intrt dun SGBD OO / LP OO
Cest un SGBD (mieux quun LP):
1.
2.
3.
4.

Persistance des donnes


Indpendance modles logique et physique
Intgrit des donnes
Confidentialit, fiabilit, concurrence, gestion de transactions,
Approche OO Ensemble de mthodologies et doutils pour concevoir et raliser des
logiciels structurs et rutilisables, par composition dlments indpendants.

Deux manires dutiliser lobjet dans les SGBD On part des langages objet
dans lesquels on intgre les notions des SGBD (persistance des donnes, aspect
multi-utilisateurs, ). Ce sont les SGBD orients objet : O2 (bas sur C++) On part
des SGBD relationnels dans lesquels on insre des notions objet. Ce sont les SGBD
relationnels objet : ORACLE 8 (SQL 3) On peut constater que
les SGBDOO sont plus propres du point de vue objet et les mieux adapts pour traiter
les objets mais ils sont compltement absents du monde professionnel les SGBDRO sont
bass sur des SGBD robustes et prouvs rpandus dans le monde professionnel mais qui
ne sont pas prvus pour grer lobjet Jusqu prsent, les amliorations qui ont t
dveloppes pour les SGBD se sont fondus dans les SGBD existants. Dans le monde
professionnel, les concepteurs et les utilisateurs de bases de donnes ne sont pas prts
remettre en cause leurs savoirs et redvelopper toutes leurs applications sur de
nouveaux systmes. On va privilgier les SGBDRO.
ODMG - Cest un groupe de normalisation des SGBD OO - Norme finale publie en 2001 A regroup de nombreux vendeurs de SGBO OO :Poet ,Ardent, Objectivity,Versant et des
constructeurs, des utilisateurs, des chercheurs
SGBD OO = LPOO + BD

I.
II.
III.

Objectifs des SGBDOO


Rduire le dysfonctionnement entre langage de programmation et langage de base
de donnes en offrant un unique langage de programmation de base de donnes
Supporter directement les objets arbitrairement complexes par un modle objet
partager le code rutilisable au sein du SGBD

Dfinition des SGBDOO


The Object-Oriented Database, System Manifesto (1989)
-Dfini par des chercheurs
-Ensemble de rgles caractrisant un SGBDOO: obligatoires, facultatives, ouvertes

Dfinition des SGBDOO

ODMG 93
Dfini par des diteurs
Standard de portabilit des SGBDOO

Un SGBDOO est un SGBD

Persistance
Gestion du disque
Partage des donnes (multi-utilisateurs)
Fiabilit des donnes
Scurit des donnes
Interrogation ad hoc

Objets complexes
Identit d'objet

Un SGBDOO est Orient Objet

Encapsulation, Classes
Hritage
Surcharge, Lien retard
Valeurs, Types
Polymorphisme

Architecture Fonctionnelle

Outils de Dveloppement
Langage
de
Dfinition

Langages de
Programmat
ion

Gestion de Schma

Langage
de
Requtes

Autres
interfaces

Gestion d'Objets

Architecture Oprationnelle

Architecture Client/Serveur

Serveur d'objets

Architecture Client/serveur
Serveur d'objets
Fort degr de concurrence
(verrouillage et journalisation au niveau de l'objet)
Possibilit d'excution de mthodes sur le serveur
9

Architecture Client/serveur

Serveur de pages

Architecture Client/serveur
Serveur de

pages
Utilisation de la puissance de calcul des clients
Accrot le nombre de connections possibles
Serveur isol
Verrouillage et journalisation par page

Architecture Client/serveur
Multiserveurs

Aspects Bases de Donnes


Modle de persistance
Facult pour un objet ou une valeur d'exister au-del du programme qui
l'a cr(e).
Modle de persistance par attachement
Tout objet ou valeur rfrenc(e) par un objet ou valeur persistant(e) est
persistant(e).
Consquences du modle par attachement
transparent pour le dveloppeur
Ramasse-miettes pour dtruire les objets et valeurs qui ne sont plus
rfrencs par un objet ou une valeur persistant(e)
10

ncessit de racines de persistance


Les racines de persistance sont nommes explicitement dans le schma l'aide de
l'instruction name.
Les racines de persistance peuvent tre des objets et/ou des valeurs, de
classes et/ou de
type quelconques.
Name Les Hommes: set(Personne);
Name LePresident: Personne;

11