Chapitre VIII. Les bases de données. Orientées Objet. Motivation



Documents pareils
A QUOI SERVENT LES BASES DE DONNÉES?

Information utiles. webpage : Google+ : digiusto/

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Bases de données. Chapitre 1. Introduction

Bases de données cours 1

A QUOI SERVENT LES BASES DE DONNÉES?

Chapitre VI- La validation de la composition.

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Présentation du PL/SQL

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Les bases de données

Bases de données Cours 1 : Généralités sur les bases de données

Rappel sur les bases de données

Développement d un interpréteur OCL pour une machine virtuelle UML.

Dossier I Découverte de Base d Open Office

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Les bases de données Page 1 / 8

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Objets et Programmation. origine des langages orientés-objet

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Structure fonctionnelle d un SGBD

Chapitre 1 : Introduction aux bases de données

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

CHAPITRE 1. Introduction aux bases de données

IFT3030 Base de données. Chapitre 1 Introduction

Génie Logiciel avec Ada. 4 février 2013

Introduction aux SGBDR

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Systèmes d information et bases de données (niveau 1)

Bases de données relationnelles

Compte Rendu d intégration d application

et les Systèmes Multidimensionnels

Création et Gestion des tables

Le langage SQL Rappels

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Créer et partager des fichiers

Introduction aux concepts d ez Publish

Introduction aux Bases de Données Relationnelles Conclusion - 1

Introduction aux Bases de Données

PROJET 1 : BASE DE DONNÉES REPARTIES

1 Introduction et installation

PHP 4 PARTIE : BASE DE DONNEES

Le génie logiciel. maintenance de logiciels.

Mercredi 15 Janvier 2014

CHAPITRE 1 ARCHITECTURE

Hala Skaf-Molli. Nancy-Université 14 mai 2007

Modélisation de bases de données : Le modèle relationnel

Introduction aux bases de données

1 Modélisation d une base de données pour une société de bourse

Bases de Données relationnelles et leurs systèmes de Gestion

16H Cours / 18H TD / 20H TP

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Bases de données - Modèle relationnel

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Mise en œuvre des serveurs d application

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

BES WEBDEVELOPER ACTIVITÉ RÔLE

Bases de Données. Plan

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Les Bases de Données et l Objet Introduction

UML et les Bases de Données

Introduction à la B.I. Avec SQL Server 2008

Programmes des classes préparatoires aux Grandes Ecoles

Bases de données avancées Introduction

Introduction : présentation de la Business Intelligence

Nom de l application

GOL502 Industries de services

Présentation du module Base de données spatio-temporelles

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Gestion des bases de données

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Bases de données et sites WEB Licence d informatique LI345

Bases de données documentaires et distribuées Cours NFE04

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Visual Paradigm Contraintes inter-associations

WEA Un Gérant d'objets Persistants pour des environnements distribués

Utiliser Access ou Excel pour gérer vos données

Modèle Entité/Association

OBJECTIFS ET ARCHITECTURE DES SGBD

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Cours 1 : La compilation

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

UE 8 Systèmes d information de gestion Le programme

Automatisation de l administration système

Bases de données élémentaires Maude Manouvrier

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Méthodologie de conceptualisation BI

II. Modèle conceptuel le modèle entité-association

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Transcription:

Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet Il est beaucoup moins adapté aux nouvelles applications plus complexes telles que : CAD/CAM (Computer-Aided Design/Computer-Aided Manufacturing) BD d images et de graphiques BD géographiques (GIS : Geographic Information Systems) BD multimédia (son, image, texte, etc combinés) 260 261 Motivation (suite) Ces nouvelles applications ont des caractéristiques différentes des applications traditionnelles de gestion et 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 stockage d images ou de gros documents de texte, la possibilité de définir des opérations non standards qui sont spécifiques aux applications, Les BD orientées objet constituent une tentative de réponse à (certains de) ces besoins nouveaux Motivation (suite 2) Une caractéristique importante des BD orientées objet est qu elles donnent au concepteur de la BD la capacité de spécifier non seulement la structure d objets complexes, mais aussi les opérations à appliquer à ces objets On recense actuellement plusieurs prototypes expérimentaux et quelques produits commerciaux de BD orientées objet Ces systèmes reprennent en général les concepts adoptés dans les langages de programmation orientés objet, avec les spécificités des systèmes de bases de données (persistance des données, transactions, etc) 262 263

Insuffisance des bases de données relationnelles : un exemple On désire conserver dans une base de donnée géographique la description d un réseau routier Pour définir le réseau routier, on part de points d intersection qui sont les points où plusieurs routes se croisent ou qui correspondent à un changement de caractéristiques d une route Un point d intersection est caractérisé par ses coordonnées géographiques (latitude et longitude) On considère alors des segments de route qui sont des tronçons de route situés entre deux points d intersection Outre ses points d origine et de destination, une information de catégorie (deux bandes, quatre bandes, ) caractérise chaque segment Une route est désignée par un identifiant (N4, E411, A602, ) et est décrite par un ensemble de segments De plus pour chaque route on conserve la désignation de l autorité (région, commune, ) qui la gère Insuffisance des bases de données relationnelles : un exemple (suite) Cette information ne peut être représentée naturellement dans le modèle relationnel, car on ne peut y définir de relations entre éléments qui sont des tuples ou des ensembles On est donc amené à introduire de relations auxiliaires et des identifiants d objets que l on doit gérer explicitement Un schéma possible serait : POINTS(ID P, LATITUDE, LONGITUDE) SEGMENTS(ID SEG, ID P1, ID P2, CATEGORIE) ROUTES(ID R, ID LISTE SEG, AUTORITE) LISTES SEGMENTS(ID LISTE SEG, ID SEG) Il faut noter que l usage des identifiants permet par exemple d avoir deux segments de route entre les mêmes points, ou de représenter sans ambiguïté qu un même segment fait partie de plusieurs routes 264 265 Un contenu possible de la base de données est alors POINTS ID P LATITUDE LONGITUDE P#1 lat1 long1 P#2 lat2 long2 P#3 lat3 long3 SEGMENTS ID SEG ID P1 ID P2 CATEGORIE SEG#1 P#11 P#12 cat1 SEG#2 P#21 P#22 cat2 SEG#3 P#31 P#32 cat3 LISTES SEGMENTS ID LISTE SEG ID SEG LS#1 SEG#1 LS#1 SEG#2 LS#1 SEG#3 LS#2 SEG#4 LS#2 SEG#2 LS#2 SEG#5 ROUTES ID R ID LISTE SEG AUTORITE R#1 LS#1 autorite1 R#2 LS#2 autorite2 R#3 LS#3 autorite3 266 267

Insuffisance des bases de données relationnelles : conclusions Il est nécessaire d avoir la possibilité de décrire des objets complexes (complex objects) dans une base de données Un objet complexe est un objet qui n est pas caractérisé par une seule valeur, mais bien par un ensemble structuré de valeurs Si l on veut pouvoir faire référence à un objet complexe, par exemple si le domaine d un attribut de relation est un ensemble d objets complexes, il faut que les objets aient un identificateur (object identifier ) Objets complexes et identificateurs d objet Il y a plusieurs définitions formelles possibles de la classe des objets complexes Nous en donnons un exemple typique On pose d abord l existence des éléments suivants : {D i } : un ensemble fini de domaines ; nous noterons D = i D i ; A : un ensemble dénombrable d attributs ; ID : un ensemble dénombrable d identificateurs 268 269 L ensemble des valeurs d objets On définit ensuite l ensemble des valeurs V subdivisé en : Valeurs de base (base values) : ce sont nil : utilisé pour représenter une valeur non définie ; les éléments d D Valeurs-ensembles (set values) : ce sont les sous-ensembles de ID Valeurs-tuples (tuple values) : ce sont les fonctions (partielles) de A vers ID Un objet est une paire (id, v) où L ensemble des objets id ID est l identificateur de l objet, v V est la valeur de l objet Dans tout ensemble d objets considéré, deux objets distincts ne peuvent avoir le même identificateur 270 271

Les types des objets On distingue les objets suivant leur type (schéma, structure) : Objets de base (base objects) : ce sont les paires (id, v) où v est une valeur de base Le type d un objet de base (id, v) où v D i est le domaine D i Le type de nil est NIL Objets-ensembles (set objects) : ce sont des paires (id, v) où v est une valeur-ensemble Le type d un objet-ensemble (id, v) est 2 T où T est l union des types des objets (id, v ) tq id v Objets-tuples (tuple objects) : ce sont les paires (id, v) où v est une valeur-tuple Le type d un objet tuple (id, v) est {(a i, T i )} tel que v(a i ) est défini et tel que T i est le type de l objet (id, v ) pour lequel id = v(a i ) 272 Les types d objets : Exemple Pour définir les routes en tant qu objets complexes, on considère un ensemble de domaines de base contenant D lat : le domaine des latitudes, D long : le domaine des longitudes, D id : le domaine des identifiants de routes, D cat : le domaine des catégories, D aut : le domaine des autorités Un réseau routier est représenté par des objets de la manière suivante Un point d intersection est un objet tuple de type T point = {(LATITUDE, D lat ), (LONGITUDE, D long )} Un segment est un objet tuple de type T seg = {(POINT1, T point ), (POINT2, T point ), (CATEGORIE, D cat )} Une liste de segments est un objet ensemble de type 2 Tseg Une route est un objet tuple de de type T route = {(ID R, D id ), (LISTE SEG, 2 Tseg ), (AUTORITE, D aut )} 273 Manipulation des objets et encapsulation Les classes Comment manipuler des objets complexes? Le modèle orienté-objet adopte l approche suivante On associe des procédures de manipulation aux objets Ces procédures sont appelées des méthodes (methods) Exemple : Méthodes qui pourraient être associées à une route Sélectionner un élément constituant (eg les segments, l autorité) Dessiner la route sur une carte Modifier la route (eg y ajouter un segment) Seules les méthodes associées à un objet peuvent être utilisées pour le manipuler (Principe de l encapsulation) Une classe (class) est un ensemble d objets de même type Une classe est l analogue orienté-objet d un ensemble d entités Une classe peut elle-même être un objet (un objet-ensemble) Cela permet de définir des méthodes pour manipuler la classe Exemple : Méthodes qui peuvent être associées à une classe Modification du contenu de la classe : création ou suppression d un objet Traitement de tous les objets de la classe, par exemple sélection de certains objets 274 275

Les hiérarchies de classes et l héritage Les objets de certaines classes peuvent être des particularisations d objets d autres classes Exemple : On pourrait définir une classe routes qui se particulariserait en : routes nationales autoroutes autoroutes européennes autoroutes nationales Le concept de hiérarchie de classes est anologue au concept de lien ISA dans le modèle entités-relations Une sous-classe hérite des attributs (classe d objets-tuples) et des méthodes de la classe dont elle est une particularisation Une méthode peut toutefois être redéfinie dans une sous-classe Liaison tardive (late binding) et généricité Dans un langage de programmation classique le lien entre un appel de procédure et le texte du programme correspondant se fait à la compilation Dans l approche OO (langages et BD), cela se fait au moment de l exécution Il n est donc pas nécessaire de connaître le type d un objet dans un programme qui le manipule Il est donc possible d écrire des programmes génériques pouvant s appliquer à différentes classes d objets, ce qui facilite la réutilisation de programmes 276 277 Liaison tardive et généricité : exemples 1 Tri générique pouvant s appliquer à des ensembles d objets ordonnés de types différents : entiers, chaînes de caractères, paires d éléments, 2 Un programme qui dessine une carte pourrait se réaliser à l aide d appels génériques aux méthodes suivantes : dessiner un point d intersection ; dessiner un segment Caractéristiques des bases de données orientées objet Une base de données orientée objet doit avoir un modèle possédant les caractéristiques suivantes : objets complexes, identificateurs d objets, héritage, encapsulation, liaison tardive 278 279

De plus, les possibilités suivantes sont nécessaires à tout système pouvant être considéré comme implémentant une base de données orientée objet Complétude au niveau du calcul : toutes les requêtes calculables doivent être expressibles Le système doit être extensible (permettre la définition de nouvelles classes) Le traitement de grandes quantités de données doit être possible Une gestion des transactions est nécessaire (parallélisme, récupération après erreur) Il doit être possible de poser aisément des requêtes simples Langages d interrogation pour le modèle orienté-objet Dans ce domaine, il n y a pas de solution largement répandue On trouve des langages de programmation orienté-objet, des langages spécifiques permettant l interrogation directe de la base de données de façon plus déclarative 280 281 Combiner les modèles relationnel objet? Le modèle objet-relationnel Le modèle objet permet de traiter des objets complexes et donne de la flexibilité au niveau des types de données possibles Le modèle relationnel est associé à un langage d interrogation de haut niveau et permet l exécution efficace de requêtes Combiner les deux modèles permettrait de bénéficier des avantages des deux approches On trouve de plus en plus des extensions orientées-objet des modèles relationnels ; SQL-99 prévoit de telles extensions 282 283

Quelles extensions objet? Le modèle relationnel-objet est vu comme le modèle relationnel avec des extensions orientées-objet Les principales sont les suivantes La possibilité, pour l utilisateur de définir des types On parle de User Defined Types (UDT) ; cela correspond à définir une classe et les méthodes associées Des hiérarchies sont possibles L utilisation de références REF Il s agit d identificateurs d objets, mais qui restent visibles La définition de tables dont les lignes sont des objets (plutôt que des tuples) La définition de valeurs ensemble pour un attribut est possible La possibilité d avoir des relations comme valeurs pour certains attributs On parle de NESTED TABLES Les requêtes en objet-relationnel Le langage SQL a été étendu pour permettre la définition et l interrogation de bases de données objet-relationnel Utilisation de méthodes sur les types définis Suivre les références (DEREF) Interrogation des tables imbriquées : THE() permet de traiter une table imbriquée comme une table ordinaire 284 285