Vous êtes sur la page 1sur 8

INTRODUCTION AUX BASES DE DONNÉES

OBJET-RELATIONNELLES

RELATIONNEL VS. OBJET-RELATIONNEL


Introduction

•  Le développement des SGBD objet s’est rapidement heurté à la nécessité de


conserver la compatibilité avec l’existant. En effet, la fin des années 80 a vu
le déploiement des SGBD relationnels et des applications client-serveur. Les
utilisateurs n’étaient donc pas prêts à remettre en cause ces nouveaux systèmes
dès le début des années 90.

•  Cependant, les tables relationnelles ne permettaient guère que la gestion de


données alphanumériques. Avec l’avènement du Web au milieu de la décennie
90, la nécessité de supporter des données complexes au sein de la base de
données s’est amplifiée. Ces données complexes peuvent être des documents
textuels, des données géométriques ou géographiques, audiovisuelles ou
soniques. En bref, il s’agit de supporter de manière intelligente des données
multimédia.

© O.Lamouchi 2
RELATIONNEL VS. OBJET-RELATIONNEL
Rappels sur le modèle relationnel

!  le schéma définit la structure de la relation


!  les n-uplets représentent les différents éléments
!  Les tables respectent des propriétés définies sur les dépendances fonctionnelles
(en général, troisième forme normale (3NF) )

Avantages du modèle relationnel et des SGBD relationnels

!  Organisation structurée des données


!  Permanence des données
!  Accessibilité par des utilisateurs concurrents
!  Bien implanté dans le monde professionnel.

© O.Lamouchi 3

RELATIONNEL VS. OBJET-RELATIONNEL


Caractéristiques du modèle Relationnel Objet

Inconvénients du modèle relationnel


!  Absence de pointeurs visibles: pour lier des données qui se correspondent, on a
besoin de faire des jointures (opérations coûteuses)
!  Non support des domaines composés: on ne peut pas avoir pas exemple un attribut
qui correspond à une adresse avec le numéro de la rue, le nom de la rue, la ville, ...
=>Impossible à cause de la première forme normale, qui impose l’atomicité des
attributs
!  Pas d’opérations définies sur les données

"  On veut donc un SGBD capable de traiter


•  des éléments de structure complexe
•  des opérations sur les éléments
•  des pointeurs reliant les éléments (pour de l’héritage par exemple)

=> Ces notions correspondent à la philosophie objet : il nous faut des SGBD objet.
© O.Lamouchi 4
RELATIONNEL VS. OBJET-RELATIONNEL
Caractéristiques du modèle Relationnel Objet

•  On veut un modèle qui intègre des éléments de structure complexe


•  Une relation sera en NF2 (Non First Normal Form) et pourra contenir un
attribut composé d’une liste de valuers ou de plusieurs attributs.

© O.Lamouchi 5

RELATIONNEL VS. OBJET-RELATIONNEL


Caractéristiques du modèle Relationnel Objet
# Par rapport au modèle relationnel standard :

!  on a moins besoin d’aplatir les données, ici on a une seule table avec des tables
imbriquées au lieu de 3 tables
!  on a moins besoin de faire des jointures pour récupérer les informations sur les
accidents du contrat 1111, on accède simplement à l’attribut accidents.

# Les types utilisés dans les BDO sont :


!  les types standards existant dans les BD classiques : VARCHAR, NUMBER...
!  les types utilisateurs
•  définis par le concepteur de la base
•  utilisés comme des types standards
!  On appelle aussi ces types utilisateurs des types objet car ils ont une structure
complexe et peuvent contenir des opérations (méthodes).
© O.Lamouchi 6
RELATIONNEL VS. OBJET-RELATIONNEL

Pour permettre une migration graduelle du modèle relationnel vers le modèle


objet-relationnel pour les systèmes existants, la norme prévoit que ce dernier
assure une comptabilité ascendante totale avec le précédent.
☛ Toutes les possibilités du modèle relationnel sont aussi utilisables dans le
modèle objet-relationnel.

Comment il est possible de représenter les associations


dans le modèle objet-relationnel?

© O.Lamouchi 7

RELATIONNEL VS. OBJET-RELATIONNEL


Exemple:

Il s’agit de modéliser les différentes configurations d’un réseau local ainsi que les
affectations de machines aux utilisateurs.
Nous faisons les hypothèses suivantes:
•  Afin que deux machines situées sur deux segments différents puissent
communiquer, elles doivent passer par une passerelle, ce qui est modélisé par
l’association « est relié/relie » de type 1-N. La classe Interface représente la
carte réseau à laquelle est connecté le segment;
•  Sur une machine peuvent être installés plusieurs logiciels. Dans le cas de
terminaux, il n’y a aucun logiciel! D’autre part, un logiciel peut être installé
sur plusieurs machines. Il s’agit donc bien d’une association N-N;
•  Dans cette exemple, on va supposer qu’une personne possède sa propre
machine et qu’elle ne peut accéder à aucune autre. Il s’agit ici d’une
association 1-1.
© O.Lamouchi 8
RELATIONNEL VS. OBJET-RELATIONNEL

© O.Lamouchi 9

RELATIONNEL VS. OBJET-RELATIONNEL


Association 1-1
=> l’association entre les postes de travail ainsi de leurs utilisateurs.
Solution avec le modèle relationnel

Solution avec le modèle objet-relationnel

 Remplacer la clé étrangère par un pointeur (la référence de l’objet) directement sur le
tuple concerné (accès direct au tuple associé).
© O.Lamouchi 10
RELATIONNEL VS. OBJET-RELATIONNEL
Association 1-n
=> l’association entre les tables segment et poste

Solution avec le modèle relationnel

Solutions avec le modèle objet-relationnel


1)

© O.Lamouchi 11

 Solution classique: utilisation de deux tables dont l’une contient une table imbriquée.
Chaque tuple de la table imbriquée fait référence à un tuple de l’autre table.

RELATIONNEL VS. OBJET-RELATIONNEL


Association 1-n (suite)
⇒ l’association entre les tables segment et poste

Solutions avec le modèle objet-relationnel


2)

  tilisation d’une seule table(imbrication totale)


U
+ Recherches plus rapides (une seule table pas de jointure);
+ Gain de place;
+ Bien adapté pour les associations 1 à N dans lesquelles les objets fils n’ont pas
d’éxistance propre.
- On ne peut pas ajouter de fils sans que ceux-ci ne soient rattachés à un père;
- L’évolution de la base est plus difficile et même parfois compromise.
© O.Lamouchi 12
RELATIONNEL VS. OBJET-RELATIONNEL
Association n-n

=> Les installations des logiciels

Solution avec le modèle relationnel

© O.Lamouchi 13

RELATIONNEL VS. OBJET-RELATIONNEL


Association n-n (la suite)
⇒ Les installations des logiciels

Solutions avec le modèle objet-relationnel


1)
 Utilisation de 3 tables (2+1) dont l’une contient ou pas une ou plusieurs tables
imbriquées.

 On peut définir des privilèges sur les attributs de l’association.


(par exemple ici on a définie code comme privilégié)

 Lors de la sélection d’un tuple on aura:


-  d’abord accès à une des clés étrangères (la plus privilégiée)
-  ensuite à la suivante en accédant à la table imbriquée
-  et ainsi de suite…
© O.Lamouchi 14
RELATIONNEL VS. OBJET-RELATIONNEL
Association n-n (la suite)
⇒ Les installations des logiciels

Solutions avec le modèle objet-relationnel


2)
 Utilisation de 2 tables dont l’une contient une ou des tables imbriquées.
  éfinir une table imbriquée contenant les attributs de la table matérialisant
D
l’association moins l’identifiant de la table mère.

© O.Lamouchi 15

RELATIONNEL VS. OBJET-RELATIONNEL


Conclusion

•  L’extension du modèle objet-relationnel est impressionnante.

  e modèle objet-relationnel ne possède pas de bases théoriques comme en


L
possède le modèle relationnel. La modélisation n’est donc pas aussi bien
maîtrisée.

•  Le concepteur a la possibilité de choisir parmi différentes options et cela selon


ses goûts.

  a responsabilité revient au concepteur de ne choisir que ce qui est bon


L
dans l’approche objet en laissant de côté ce qui pourrait rendre la base
incohérente.

© O.Lamouchi 16