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

Bases de données OOd1n7iqsz6ob2ad.cloudfront.net/document/pdf/53272c099499b.pdf · Architecture 7. ODGM 8. Forces et faiblesses. 4 Historique des modèles de données ... SGBDOO:

  • Upload
    trananh

  • View
    217

  • 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