Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Bases de données OO
D. Girouard ■ C. Godard ■ M-E. Tétreault
Mars 2006
2
Objectifs
Objectifs de la présentation:
Application Comparaison Critique
3
PlanModèles de données 1. Historique 2. SGBDR: une critique
SGBDOO: 3. Définition et Manifeste 4. Approches de développement 5. Fonctionnement 6. Architecture 7. ODGM 8. Forces et faiblesses
4
Historique des modèles de données
2005, Éditions Reynald Goulet inc
Génération 2
1970
Génération 3
Génération 1
Fin des années 1960
5
Modèles de données: situation actuelle
6
SGBDR: une critique
Lacunes au niveau pratique
Domaines/app lications : Fabrication assistée par ord inateur Systèmes de bureautique et multimédias
7
SGBDR: une critique
Faiblesses techniques
1. Piètre représentation des entités du monde réel2. Surcharge sémantique3. Piètre soutien aux contraintes d’intégrité4. Structure de données trop homogène5. Nombre assez limité d’opérations6. Difficulté à gérer les requêtes réflexives7. Dichotomie d’impédance 8. Durée de vie de la transaction9. Évolution des schémas
8
SGBDOO- Définition
Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)):
1. Fourn ir des fonctionnalités de BD
2. Supporter la notion d’identité des onjets
3. Assurer l’encapsulation
4. Gérer des objets qui comportent un état complexe
9
SGBDOO
2005, Éditions Reynald Goulet inc
10
SGBDOO- Manifeste
11
1. Développer un tout nouvel ensemble
2. Étendre un langage de BD existant
3. Intégrer des constructions de BDOO à un langage de programmation traditionnel
4. Proposer des bibliothèques de SGBDOO
5. Étendre un langage OO déjà existant avec les fonctionnalités de BD
SGBDOO- Approches de développement
12
Fonctionnalités- Stockage
SGBDR : 2 niveaux, 3 difficultés: Programmeur doit décider de la lecture et de la m ise à jour des
enregistrements Traduction des codes de langage OO en ceux pour SGBDR
(30% de l’effort de programmation) Vérification de types
13
Identificateurs d’objets (IDO) et adresses physiques
Objets résidents vs objets non résidents
Fonctionnalités- Navigation
14
Pointeurs Pointer swizzling Accès à un objet
Fonctionnalités- Navigation
15
Fonctionnalités- Navigation
16
Définitions Mécanisme responsable de la sauvegarde et de
la restauration de données, afin qu’un programme puisse se terminer sans que ses données ni son état d’exécution soient perdus. (Wikipédia)
Objet dont l’historique des instances créées est gardé dans la base sous forme de versions consultables et modifiables (Gardarin, 1999)
Fonctionnalités- Persistance
17
Fonctionnalités- Persistance Stratégies de réalisation
1. Établissement de points de contrôle
2. Sérialisation
3. Pagination explicite Manuelle Par héritage
4. Approche orthogonale Indépendance Orthogonalité des types de données Persistance transitive
18
SGBDOO- Architecture
Serveur d’objets
Serveur de pages
Serveur de BD
2005, Éditions Reynald Goulet inc
19
L’Object Data Management Group 2 objectifs
Une norme: L’ODMG 3.0, 1999
1. Modèle objet
2. Langage de définition objet
3. Langage de requête objet
4. Liaisons avec les langages de programmation
20
1. Le Modèle Objet Un standard pour les prim itives
de modélisation et la sémantique
Objet et littéral, types, opérations, attributs,
association etc…
Notion de Schéma
ODMG 3.0
21
2. Le langage de définition d’objet: ODL Langage qui définit les spécifications des types
d’objets pour les systèmes compatibles ODMG
Équivaut au langage de définition de données (DDL) des SGBD traditionnels.
ODMG 3.0
22
3. Le langage de requêtes objet: OQL Accès déclaratif à la base de données objet, par
l’entremise d’une syntaxe semblable à celle de SQL. Le résultat d’une requête est un objet avec ou sens entité.
Langage autosuffisant ou intégré à un autre langage
Exemples:
Count (Client)
SELECT struct (nom:e.nomComplet.nom, prenom: e.nomComplet.prenom, âge: e.lireAge)
FROM e IN Electricien
SELECT distinct e.nomComplet.nomFROM e IN ElectricienWHERE e.age()<35
ODMG 3.0
23
4. Autres spécifications Liaisons avec les langages C++, Java,
Smalltalk; Définissent la façon dont les constructions en ODL ou en OML (langage de
manipulation d’objet), se collent sur les constructions du langage de programmation
Le format d’échange objet (OIF) Langage qui sert à l'échange d'objets entre SGBD, à générer une documentation,
ou à mener des suites de test.
ODMG 3.0
24
Les SGBDOO Commercialisées ObjectStore de Progress Software
Corporation Gemstone System Inc. Objectivity/DB de Objectivity Inc. O2 de O2 Technology's FastObjects bu Poet de Poet Software
Corporation Jasmine Object Database de Computer
Associates/Fujitsu Limited Versant de Versant Corporation
25
SGBDOO: Forces Meilleur support pour les types de données complexes Prise en charge de l’évolution du schéma Gestion des versions Prise en charge des transactions de longue durée Capacités de modélisation enrichies Suppression de la dichotomie d’impédance Extensibilité et réduction de la redondance Adéquation à des applications évoluées de BD Amélioration des performances Manipulation des Objets plus rapide Développement et maintenance facilités.
26
SGBDOO: faiblesses Absence d’un modèle de données universel Manque d’expérience Optimisation de requête compromettant l’encapsulation Piètre support de la sécurité Effet néfaste du verrouillage au niveau objet sur les performances Vues quasi absentes Complexité Concurrence commerciale ardente
27
Bibliographie. Bases de données : objet et relationnel Gardarin G. Éditions
Eyrolles, 1999. Connolly, Thomas, Systèmes de bases de données:
approche pratique de la conception de l’implémentation et de l’administration, Reynald Goulet Inc., 2005
When it comes to choosing a database, the object is value.) Karen Watterson.Datamation Dec 1997 v44 n1 p101(6)
www.odmg.org http://www.isnetne.ch www.wikipedia.com http://www.service-architecture.com/object-oriented-
databases http://www.commentcamarche.net/sql/sqlintro.php3 http://lifc.univ-
fcomte.fr/~lasalle/bda/COURSHTM/cours/chap02/lec01/page01.htm
28
Merci!
29
Capacités de modélisation enrichies Représentation plus naturelle et réaliste
des objets de la vie réelle : L’objet encapsule à la fois l’état et le comportement
Un objet est capable de mémoriser toutes les associations qu’il entretient avec les autres objets Y compris les associations de plusieurs à plusieurs.
Les objets peuvent atteindre une complexité que les modèles de données traditionnels n’arrivent pas à représenter avec autant de justesse et de facilité.
30
La gestion des versions
2005, Éditions Reynald Goulet inc
31
L’évolution des schémas
Garder la cohérence des schémas suite à:
Mod ification de la définition de classe Modification de la hiérarchie d’héritage Création et suppression de classes…
Règles de cohérence (Itasca, GemStone)
32
Invariances de schéma (Itasca, GemStone) 1) Résolution des conflits dus à l’héritage multiple et à la
redéfinition d’attributs et de méthodes dans une sous-classe. 1.1 Règle de précédence des sous-classes sur les superclasses 1.2 Règle de précédence entre superclasses d’origines différentes 1.3 Règle de précédence entre superclasses de même origine
2) La propagation des modifications aux sous-classes. 2.1 Règle de propagation des modifications 2.2 Règle de propagation des modifications dans l’éventualité de conflits 2.3 Règle de modification des domaines
3) L’agrégation et la suppression d’associations d’héritage parmi des classes, ainsi que la création et la suppression de classes. 3.1 Règle d’insertion de superclasses 3.2 Règle de suppression de superclasses 3.3 Règle d’insertion d’une classe dans un schéma 3.4 Règle de suppression d’une classe dans un schéma
4) Traitement des objets composites.
33
Les transactions de longue durée
Transaction : unité de travail logique, qui doit toujours amener la base de données d’un
état cohérent à un autre.
protocoles de contrôle de concurrence multiversions
modèles de transaction évolués
34
Architecture
35
Langages POO et de la BD
36
Hiérarchie des types ODMG
37
SGBDRO - SGBDOO
38
SGBDRO - SGBDOO
39
SGBDRO - SGBDOO