39
Bases de données OO D. Girouard ■ C. Godard ■ M-E. Tétreault Mars 2006

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é

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

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é

39

SGBDRO - SGBDOO