Académique Documents
Professionnel Documents
Culture Documents
Dr H. HACHICHI
1- Application traditionnelle:
- Quatre générations de SGBD: SGF , Hiérarchique , Reseau et relationnel. Tous sont conçus pour les
application de business : banque , université , réservation air –line.
2- Nouvelles applications
d- Systèmes multi-média :
- 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
- On part des langages objet dans lesquels on intègre les notions des
SGBD (persistance des données, aspect multi-utilisateurs, …). Ce sont
les SGBD orientés objet : O2 (basé sur C++)
• les SGBDOO sont plus “propres” du point de vue objet et les mieux adaptés pour traiter
les objets mais ils sont complètement absents du monde professionnel
• les SGBDRO sont basés sur des SGBD robustes et éprouvés répandus dans le monde
professionnel mais qui ne sont pas prévus pour gérer l’objet Jusqu’à présent, les
améliorations qui ont été développées pour les SGBD se sont fondus dans les SGBD
existants.
• SQL3 est une norme pour les SGBD relationnels-objets, définie par le comité international de normalisation
ISO. C'est une extension du SQL relationnel aux fonctionnalités orientées objet et à d'autres fonctionnalités,
telles que:
les règles actives
le multimédia
le spatial ou le temporel
Cette extension est compatible avec l'ancien SQL, c'est-à-dire que les bases de données relationnelles
traditionnelles peuvent être gérées par SQL3 et que toute requête SQL classique peut s'exécuter sur un des
nouveaux systèmes offrant SQL3.
SQL3 est offert par les dernières versions des SGBD relationnels des grands constructeurs comme IBM, Oracle
ou Sybase.
Pour le moment, les deux propositions sont incompatibles, mais des discussions ont lieu entre les
deux comités pour essayer de faire converger les deux normes en une seule.
Il n'existe pas un seul modèle de données orienté objets, mais un par SGBDO existant.
Pour les exemples nous employons –sauf indication contraire– une syntaxe très proche de
celle de ODMG ‘Object Database Management Group’
Cours BDDA Dr H. HACHICHI
Structure complexe
on a alors:
o1.B == o2.B mais o1 == o2 est faux
o1 = o2 mais o1 = o3 est faux
o21 = o22 mais o21 == o22 est faux
• Un lien de composition relie une classe C1 à une classe C2 si les objets de C1 (appelés "objets
composés") sont composés d'objets C2 (appelés "objets composants"). C'est un lien orienté de
cardinalité quelconque (0:1 ou 1:1 ou 1:N ou N:M ou 0:N…).
• Un lien de généralisation/spécialisation, CS –>CG, est un lien binaire orienté entre deux classes:
• CS appelée sous-classe (ou classe spécifique) et
• CG appelée sur-classe (ou classe générique).
• Il est noté graphiquement sur les diagrammes par une flèche épaisse ; et il est défini par les règles
suivantes :
• l’inclusion des populations : CS représente un sous-ensemble des entités du monde réel décrites
par CG. Du point de vue conceptuel, la population de CS est incluse dans celle de CG.
• l’héritage : CS hérite des attributs et méthodes de CG. C'est ce concept d'héritage de la structure
et des méthodes qui permet la réutilisation des classes.
• Exemple : graphe de généralisation des classes décrivant les personnes dans une
université
• Lors de la conception du schéma d'une base de données orientée objets, la structure des données
et les opérations (les méthodes) qu'on peut effectuer sur ces données sont définies en même
temps.
• L'accès aux données des objets se fait ensuite à travers ces opérations: on dit que les données
sont "encapsulées".
• Plus précisément, le principe d'encapsulation consiste à ne laisser connaître aux utilisateurs des
objets d'une classe que l'interface d'appel des méthodes de la classe. La structure des objets et le
code des méthodes leur sont cachés. Seules les méthodes de la classe et de ses sous classes
peuvent accéder directement à la valeur des objets.
• Encapsulation stricte: tout accès depuis un objet o aux données d'un autre objet
o' se fait par appel d'une méthode de l'objet o‘.
• Encapsulation selon le type d'accès: les accès faits à partir d'un langage de manipulation de
données déclaratif type SQL étendu aux objets peuvent ne pas respecter l'encapsulation, les
accès faits depuis une méthode et un langage de programmation doivent respecter
l'encapsulation.
• Par exemple, le SGBDO O2 propose trois niveaux d'encapsulation pour les attributs et méthodes:
• Private: (option par défaut) qui signifie l'encapsulation stricte;
• Read: (option possible pour un attribut uniquement) qui signifie l'encapsulation des écritures;
• Public: aucune encapsulation, accès possible par tous en lecture et écriture.