Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier...
Transcript of Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier...
![Page 1: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/1.jpg)
Bases de données OO
D. Girouard ■ C. Godard ■ M-E. Tétreault
Mars 2006
![Page 2: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/2.jpg)
2
Objectifs
Objectifs de la présentation:
Application Comparaison Critique
![Page 3: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/3.jpg)
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
![Page 4: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/4.jpg)
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
![Page 5: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/5.jpg)
5
Modèles de données: situation actuelle
![Page 6: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/6.jpg)
6
SGBDR: une critique
Lacunes au niveau pratique
Domaines/app lications : Fabrication assistée par ord inateur Systèmes de bureautique et multimédias
![Page 7: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/7.jpg)
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
![Page 8: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/8.jpg)
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
![Page 9: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/9.jpg)
9
SGBDOO
2005, Éditions Reynald Goulet inc
![Page 10: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/10.jpg)
10
SGBDOO- Manifeste
![Page 11: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/11.jpg)
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
![Page 12: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/12.jpg)
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
![Page 13: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/13.jpg)
13
Identificateurs d’objets (IDO) et adresses physiques
Objets résidents vs objets non résidents
Fonctionnalités- Navigation
![Page 14: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/14.jpg)
14
Pointeurs Pointer swizzling Accès à un objet
Fonctionnalités- Navigation
![Page 15: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/15.jpg)
15
Fonctionnalités- Navigation
![Page 16: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/16.jpg)
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
![Page 17: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/17.jpg)
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
![Page 18: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/18.jpg)
18
SGBDOO- Architecture
Serveur d’objets
Serveur de pages
Serveur de BD
2005, Éditions Reynald Goulet inc
![Page 19: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/19.jpg)
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
![Page 20: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/20.jpg)
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
![Page 21: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/21.jpg)
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
![Page 22: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/22.jpg)
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
![Page 23: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/23.jpg)
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
![Page 24: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/24.jpg)
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
![Page 25: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/25.jpg)
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.
![Page 26: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/26.jpg)
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
![Page 27: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/27.jpg)
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
![Page 28: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/28.jpg)
28
Merci!
![Page 29: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/29.jpg)
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é.
![Page 30: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/30.jpg)
30
La gestion des versions
2005, Éditions Reynald Goulet inc
![Page 31: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/31.jpg)
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)
![Page 32: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/32.jpg)
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.
![Page 33: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/33.jpg)
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
![Page 34: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/34.jpg)
34
Architecture
![Page 35: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/35.jpg)
35
Langages POO et de la BD
![Page 36: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/36.jpg)
36
Hiérarchie des types ODMG
![Page 37: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/37.jpg)
37
SGBDRO - SGBDOO
![Page 38: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/38.jpg)
38
SGBDRO - SGBDOO
![Page 39: Bases de données OO · SGBDOO- Définition Limites inférieures d’un SGBDOO (Zodnik & Maier (1990)): 1. Fournir des fonctionnalités de BD 2. Supporter la notion d’identité](https://reader034.fdocument.pub/reader034/viewer/2022051915/6007408e6176af1f627287cb/html5/thumbnails/39.jpg)
39
SGBDRO - SGBDOO