1 bases de donnÚes objet introduction

32
Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 1/xxx Introduction et motivations Bases de Données Avancées Chapitre 1 Introduction et motivations Professeur Mohammed Chaouki Abounaima EPSIEL 5 ème Année Informatique de Gestion, Informatique Industrielle, Réseaux & Télécom

Upload: dioss-sadio-traore

Post on 24-Dec-2015

5 views

Category:

Documents


1 download

DESCRIPTION

BDA

TRANSCRIPT

Page 1: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 1/xxx

Introduction et motivations

Bases de Données Avancées

Chapitre 1Introduction et motivations

Professeur Mohammed Chaouki Abounaima

EPSIEL

5ème Année

Informatique de Gestion, Informatique Industrielle, Réseaux & Télécom

Page 2: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 2/xxx

Introduction et motivations

Objectif du module

L'objectif de ce module est d'appréhender lesnotions essentielles véhiculées par lesnouvelles générations de Bases de Données,en particulier les notions liées à uneapproche orientée Objet.

Page 3: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 3/xxx

Introduction et motivations

A qui s’adresse ce module ?

Ce module s'adresse aux étudiants :

ayant déjà des connaissances en Bases deDonnées ;

et ayant déjà pratiqué un langage deprogrammation Objet.

Page 4: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 4/xxx

Introduction et motivations

2- Qu’est que les bases de donnéesObjets ?

Page 5: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 5/xxx

Introduction et motivations

Le modèle relationnel connaît un très grand succèset s'avère très adéquat pour les applicationstraditionnelles des bases de données (gestion).

Il est beaucoup moins adapte aux nouvellesapplications plus complexes telles que :

CAD/CAM (Computer-Aided Design/Computer-AidedManufacturing)BD d'images et de graphiquesBD géographiques (SIG: Système d’InformationGéographique)BD multimedia (son, image, texte, etc. combines)

Limites du modèle relationnel et motivation desbases de données objets

Page 6: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 6/xxx

Introduction et motivations

Limites du modèle relationnel et motivation desbases de données objets

Ces nouvelles applications ont des caractéristiquesdifférentes des applications traditionnelles de gestionet elles introduisent des besoins nouveaux,notamment :

des structures d'objets plus complexes,des transactions de durée plus longue,de nouveaux types de données pour le stockaged'images ou de gros documents de texte,la possibilité de définir des opérations non standardsqui sont spécifiques aux applications,

Les BD orientées objet constituent une tentative deréponse a (certains de) ces besoins nouveaux.

Page 7: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 7/xxx

Introduction et motivations

Limites du modèle relationnel et motivationdes bases de données objets

Une caractéristique importante des BD orientées objet estqu'elles donnent au concepteur de la BD la capacité de spécifiernon seulement la structure d'objets complexes maisaussi les opérations à appliquer sur ces objets.

On recense actuellement plusieurs prototypes expérimentaux etquelques produits commerciaux de BD orientées objet

Ces systèmes reprennent en général les concepts adoptes dansles langages de programmation orientes objet, avec lesspécificités des systèmes de bases de données (persistance desdonnées, transactions, etc.).

Page 8: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 8/xxx

Introduction et motivations

Limites du modèle relationnel et motivation desbase de données objets –suite-

Le problème de persistance des objets manipulé par desapplications objets utilisant une base de donnée relationnelle.

Plusieurs solutions de persistance objet existent:

sérialisation ;

mapping objet-relationnel (exemple utilisation d’Hibernatequi est un framework Java de mapping objet-relationnel) ;

bases de données objets (sans sérialisation et sansmapping) ;

bases XML (valables pour les sites webs).

Le choix d'une solution dépend des besoins applicatifs.

Page 9: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 9/xxx

Introduction et motivations

La sérialisation JavaLa sérialisation est implémentée dans les classesjava.io.ObjetInputStream etjava.io.ObjetOutputStream:

InconvénientsInefficace : accès séquentiel, pas d'accès indexé

peu robuste : un crash peut corrompre définitivementles données

pas d'accès concurrent: une seule application peutaccéder au fichier

Limites du modèle relationnel et motivation desbases de données objets

Page 10: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 10/xxx

Introduction et motivations

Limites des BDR : manque de langage complet

Si le langage de développement choisi est objet (Java ou C++ parexemple), il va falloir exploiter le résultat de la requête pourreformer l'objet Piece tel qu'il existe naturellement.

La programmation de cette transformation a un coût et l'exécutiondu code également.

Comme inconvénient des systèmes relationnels, il y a aussi le faitque le langage SQL n'est pas un langage complet.

Le développement d'une application autour d'une base relationnellenécessite l'utilisation d'autres langages (Java, C++,VB.NET,...) etpose le problème de concordance des types entre le SGBD et lelangage de développement.

Page 11: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 11/xxx

Introduction et motivations

Limites des BDR : mapping

Page 12: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 12/xxx

Introduction et motivations

Palier aux inconvénients et limites des BDR

La norme SQL3 a permis l'émergence de SGBDhybrides dont le noyau relationnel a été enrichi defonctionnalités objet.

Nous avons choisi pour illustrer ce cours le SGBDORACLE qui dispose d'un SQL étendu (SQL3)permettant un accès optimisé aux donnéesélémentaires contenues dans les objets.

Page 13: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 13/xxx

Introduction et motivations

Palier aux inconvénients et limites des BDR

Page 14: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 14/xxx

Introduction et motivations

Système de Gestion de Bases de Données Objets :SGBDO

Les bases de données objet se trouvent àl'intersection de deux mondes :

celui des langages de programmation objet

et celui des bases de données.

Un SGBD Objet réunira les fonctions d'un SGBDet les concepts Objet.

Page 15: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 15/xxx

Introduction et motivations

Acronymes

BD: base de données

DB: database

SGBD: système de gestion de base de données

DBMS: database management system

R: relationnel / relational

E-A : Entité-Association/Entity-Relationship

O: objet / object

OO: orienté objet / object oriented

OR: objet-relationnel

RO: relational-object

SGBDR, SGBDOO, SGBDO, SGBDOR

RDBMS, OODBMS, ODBMS, RODBMS

Page 16: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 16/xxx

Introduction et motivations

3- Rappel CONCEPT OBJETS

Page 17: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 17/xxx

Introduction et motivations

OBJET et CLASSE

OBJET

collection de données structurées, identifiées parune référence unique.

CLASSE

groupe d'objets ayant les mêmes propriétés

CLASSE = structure + collection d'opérationss'appliquant aux objets de la classe et permettantd'en cacher la structure.

Page 18: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 18/xxx

Introduction et motivations

CONSTRUCTEUR et PROPRIETE

CONSTRUCTEURclasse structurelle permettant d'imposer une structure à unecollection d'objets et de définir des propriétés multivaluéesstructurées telles que : tuple, liste,ensemble,tableau

PROPRIETE :caractéristique d'un objet, désignée par un nom.

une propriété d'une classe peut être :

privée c'est à dire interne ,

publique c'est à dire exportable ou accessible

Page 19: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 19/xxx

Introduction et motivations

GENERALISATION et HERITAGE

GENERALISATION

lien hiérarchique entre deux classes spécifiantque les objets de la classe supérieure sont plusgénéraux que ceux de la classe inférieure

HERITAGE

transmission de propriétés et de méthodes d'uneclasse vers une sous-classe

Page 20: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 20/xxx

Introduction et motivations

METHODE et MESSAGE

METHODE

opération associée à une classe manipulant ou retournant l'étatd'un objet de la classe ou d'une partie d'un objet de la classe.

Une méthode pourra être déclarée :publique, c'est à dire exportable

ou privée c'est à dire interne à une classe.

Une méthode pourra être multiclasse.

MESSAGE

bloc de paramètres permettant par envoi l'invocation d'uneméthode publique d'un objet.

La communication entre les objets sera réalisée parl'intermédiaire de messages.

Page 21: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 21/xxx

Introduction et motivations

ENCAPSULATION et INTERFACE

ENCAPSULATION

Privatisation de la structure de l’objet

On y accède par les méthodes publiques (interface)

INTERFACE

partie visible d'un objet

Généralement constituée des méthodespubliques de l’objet

Page 22: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 22/xxx

Introduction et motivations

Historique du concept objet

Le concept d'objet est né avec le langage Simula en 1967.

Bien qu'antérieur au modèle relationnel, il a fallu attendre lesannées 1980 et le succès des interfaces graphiques pour que leslangages orientés objet soient utilisés dans les entreprisesindustrielles.

Le développement des architectures client-serveur puis d'Internetet la nécessité de faire communiquer des applicationshétérogènes ont permis aux langages orientés objet de s'imposerlargement.

C'est le cas de C++, Java, Python, VB.NET et C#

Page 23: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 23/xxx

Introduction et motivations

Normes connues en matière Concept Objet

L'Object Management Group (O.M.G) travailledepuis 1990 à l'élaboration de normes liées àl'approche objet.

En association avec l'Open Software Foundation,ce groupe a élaboré la norme CORBA (CommonObject Broker Architecture) pour la communicationentre applications hétérogènes.

Page 24: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 24/xxx

Introduction et motivations

Normes en matière Concept Objet et Bases de

Données

Dans les années 1990, les principaux distributeurs de SGBDObjet (O2, Versant, Ontos, Objectivity,...) se sont regroupés pourconstituer l'Object Data Management Group (O.D.M.G) dans lebut de définir un standard.

Trois versions ont été publiées en 10 ans:

ODMG 1.0 (1993)Langages de définition et de manipulations d'objets (ODL et OQL)

Interface C++ et Smalltalk

ODMG 2.0 (1998)Interface Java

Métamodèle

ODMG 3.0 (2000)Enrichissement de l'interface Java

Intégration de SQL3

Page 25: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 25/xxx

Introduction et motivations

Méthodes d’analyse objet

Plusieurs méthodes d'analyse orientéeobjet ont été proposées dans les années1990.

Les plus connues sont Booch et OMT qui ontété fusionné pour donner UML (UnifiedModeling Language).

Page 26: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 26/xxx

Introduction et motivations

Variété de bases de données orientées objet

Il existe actuellement une assez grande variété debases de données "orientées objet" dans ledomaine expérimental et dans le commerce.

Parmi les plus connues, on peut citer les prototypesexpérimentaux :

ORION (Microelectronics and Computer TechnologyCorporation)

ONTOS (Ontos)

OPENOODB (Texas Instruments)

ENCORE/Observer (Brown University)

ODE (AT&T Bell Labs, puis Lucent Technologies)

EyeDB (il est gratuit et il en existe une seule versionconçue pour UNIX)

Page 27: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 27/xxx

Introduction et motivations

Variété de bases de données orientées objet

Parmi les plus connues des produits commerciaux :O2 (O2 Technology), puis ARDENT (ARDENT Software), puis n'estplus commercialiséGemstone/OPAL (Servio Logic)Ontos (Ontologic)Statice (Symbolics)Gbase (Object Databases)Vision (Innovative Systems)Objectstore (Object Design)Objectivity/DB (Objectivity)Versant (Versant Object Technology)Orion (Itasca Systems)Illustra (Illustra Inc.)SQLX (UniSQL)

Page 28: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 28/xxx

Introduction et motivations

Variété de bases de données orientées objet

Cette liste, non exhaustive, laisse déjà penser à laquestion du standard et, en particulier, de lacompatibilité de ces bases et de leur langage demanipulation de données.

Leur défaut majeur est là : il n'y a pas de standardreconnu actuellement.

Dans ce cours, on se propose d’utiliser un purSGBDO gratuit qui est EyeDB. Ce SGBD n’existequ’en version Linux.

Page 29: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 29/xxx

Introduction et motivations

13 règles d’un SGBDO

Normalement une base de données orientéeobjet devrait satisfaire 13 règles (Manifestode 1989) :

des règles relatives aux bases de données ,

et des règles relatives aux objets ,

Page 30: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 30/xxx

Introduction et motivations

13 règles d’un SGBDO

règles OO :

1. objets composites

2. identités d'objet

3. encapsulation

4. classes, types, méthodes

5. héritage

6. surcharge et liaison dynamique

7. extensibilité

8. langage de programmation OO

Page 31: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 31/xxx

Introduction et motivations

13 règles d’un SGBDO

règles BD :

9. données persistantes

10. gestion d'une grande quantité de données

11. partage des données et gestion de laconcurrence

12. fiabilité des données et reprise après incident

13. langage de requête

Page 32: 1 Bases de DonnÚes Objet Introduction

Mohammed Chaouki ABOUNAIMA Bases de Données Avancées 32/xxx

Introduction et motivations

Deux Approches en Bases de Données

Codd (69)le modèle relationnel

SQL l(85)

SQL2(92)

SQL3(96,97,98,99)SQL4(??)

Smalltalk,...

OODBMSManisfesto (90)

ODMG-93(91-93)ODMG-II

(97)

Convergence?ODMG

CA-Jasmine,ObjectStore, O2,Versant, POET, ...

ANSI X3H2ISO/IEC

JTC1/SC21/WG3

Oracle, Informix,Sybase, IBM DB2,CA-OpenIngres, ...

Le modèle Orienté Objet pur (OO) Le modèle Objet-Relationnel (OR)