IFT3030 Base de données. Chapitre 10 Modèle et bases de données à objets



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

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

Information utiles. webpage : Google+ : digiusto/

Cours Bases de données

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

IFT3030 Base de données. Chapitre 1 Introduction

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

Les bases de données

INTRODUCTION AUX BASES de DONNEES

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

CESI Bases de données

Les Bases de Données et l Objet Introduction

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Bases de données cours 1

Bases de données relationnelles : Introduction

//////////////////////////////////////////////////////////////////// Administration bases de données

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

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

A QUOI SERVENT LES BASES DE DONNÉES?

Introduction aux Bases de Données

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Bases de données avancées Introduction

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

CHAPITRE 1 ARCHITECTURE

Introduction aux SGBDR

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

Java et les bases de données

Structure fonctionnelle d un SGBD

2011 Hakim Benameurlaine 1

Module BD et sites WEB

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

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Groupe Eyrolles, 2004 ISBN :

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

SAP BusinessObjects Web Intelligence (WebI) BI 4

NFP111 Systèmes et Applications Réparties

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

La technologie Java Card TM

Implémentation des SGBD

UE 8 Systèmes d information de gestion Le programme

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

Master I Génie Logiciel

Table des matières. Avant-propos

Module BDR Master d Informatique (SAR)

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)

Bases de Données. Plan

Les bases de données Page 1 / 8

Bases de données relationnelles

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Intégration de données hétérogènes et réparties. Anne Doucet

Chapitre 10. Architectures des systèmes de gestion de bases de données

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Introduction aux Bases de Données Relationnelles Conclusion - 1

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

Le passage à l échelle de serveur J2EE : le cas des EJB

Du 10 Fév. au 14 Mars 2014

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

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

CHAPITRE 1. Introduction aux bases de données

Le Network File System de Sun (NFS)

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

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

A QUOI SERVENT LES BASES DE DONNÉES?

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Le langage SQL (première partie) c Olivier Caron

1/ Présentation de SQL Server :

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Manuel du logiciel PrestaTest.

Introduction : présentation de la Business Intelligence

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Projet gestion d'objets dupliqués

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

PROJET 1 : BASE DE DONNÉES REPARTIES

Visual Paradigm Contraintes inter-associations

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Mise en œuvre des serveurs d application

CREATION WEB DYNAMIQUE

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)

Le Langage SQL version Oracle

Bases de Données Avancées

Application web de gestion de comptes en banques

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Licence Professionnelle Commerce Electronique. MySQL. Michel DUBOIS Michel Dubois : Support de cours SGBD N 1

Bases de données et sites WEB

Notes de cours : bases de données distribuées et repliquées

et les Systèmes Multidimensionnels

PostgreSQL. Formations. SQL avancé Calendrier... 18

Programmation Internet Cours 4

GPC Computer Science

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

INTRODUCTION : Données structurées et accès simplifié

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

Transcription:

IFT3030 Base de données Chapitre 10 Modèle et bases de données à objets Cours tiré du livre Gardarin99 Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées Concepts avancés Modèle des objets BD à objets 2 Page 1 1

TECHNIQUES DES SGBDO 1. Qu'est-ce qu'un SGBDO? 2. Architectures des SGBDO 3. Persistance des objets 4. Langages de requêtes 3 Rappel modèle objet Objet Identifiant Classe Attributs Opérations Héritage Objets complexes (collections) Polymorphisme 4 Page 2 2

1. Qu'est-ce-qu'un SGBDO? The Object-Oriented Database System Manifesto Atkinson, Bancilhon, Dewitt, Ditrich, Maier, Zdonick ( DOOD'89) Fonctionnalités BD obligatoires : la persistance la concurrence la fiabilité la facilité d'interrogation Fonctionnalités BD optionnelles : la distribution les modèles de transaction évolués les versions 5 Fonctionnalités objets Fonctionnalités objets obligatoires : les objets atomiques et complexes l'identité d'objets l'héritage simple le polymorphisme (surcharge) Fonctionnalités objets optionnelles : l'héritage multiple les messages d'exception 6 Page 3 3

2. ARCHITECTURES Architecture fonctionnelle type : Outils Interactifs Editeur de classes Manipulateur d objets Bibliothèques graphiques Débogueur, éditeur OQL = Object Query Language LOO Persist. OQL ODL ODL = Object Defintion Language LOO = Langage Orienté Objet Gérant d'objets Persistance Concurrence Identification Fiabilité Accès Sécurité 7 Architecture opérationnelle Problèmes : comment distribuer les fonctions du SGBDO? quel protocole de communication utiliser? quelle organisation en processus et tâches répartis? Constatation environnement de stations en réseau très fréquent puissance croissante des postes de travail le débit réseau n'est plus un goulot (100 Mbit/sec.) Conclusion puissance de traitement importante au niveau des clients une grande partie des fonctions peut résider à ce niveau 8 Page 4 4

Serveur d'objets Application Cache objets Verrous Cache objets objets Recherche Fichiers et index Cache pages 9 Serveur de pages Application Objets actifs Recherche Fichiers et index Cache pages pages Verrous et journaux Cache pages 10 Page 5 5

Serveur de méthodes Application Objets actifs Répartiteur de Messages Gestion d'objets Cache pages Appel d objets distance ORB Application Objets actifs Répartiteur de Messages Gestion d'objets Cache pages 11 Comparaisons Points forts Points faibles Serveur méthodes sur client ou serveur serveur centralisé d'objets concurrence niveau objet duplication de fonctions Serveur distribution de pages possible méthodes sur le serveur imposs. de pages serveur plus simple concurrence niv. objet difficile hétérogénéité difficile Serveur méthodes sur client ou serveur performances pour petits objets de transfert de messages standards peu bases de données méthodes système uniforme et extensible Corba et service BD? 12 Page 6 6

3. PERSISTANCE DES OBJETS Objectifs faire persister les objets du LOO sans les démonter assurer le plus possible la transparence pour le programmeur garder des performances proches du travail en mémoire récupérer les emplacements des objets détruits Moyens gérant d'objets persistants assurant concurrence et fiabilité identifiant d'objets permettant de retrouver les objets en 1 ou 2 accès ramasse-miettes périodique 13 La Persistance par héritage Classe racine de persistance PObject tout objet d'une sous-classe hérite des propriétés de persistance New, Delete et Envoi de message sont surchargés une primitive Lookup est ajoutée pour les recherches Non orthogonale au type seuls les types héritants de PObject persistent nécessité de dupliquer les classes persistantes et transiantes possibilité de marquer la persistance pour éviter la duplication (attribut booléen Persistant) Pobject New Delete Lookup --> PPerson Nom Prenom 14 Page 7 7

La Persistance par référence Définition par le programmeur de racines de persistance Mot clé "persistant" ou "db" ajouté aux déclarations exemples: Employe* emp = new persistant Employe("Toto"); persistant int x; un objet racine de persistance est catalogué accessible par lookup Tout objet référencé par un objet persistant est persistant les références sont rendues persistantes : lors de l'écriture d'un objet les références sont remplacés par des oid Catalogue toto x moteur voiture 15 Translation des pointeurs Les adresses mémoires doivent être translatées en adresses BD (oid) lors des écritures et vice versa Toto Véhicule* VoitureToto Peugeot Mémoire Toto Véhicule* Pointeur invalide Disque 16 Page 8 8

Approche double pointeur Tout pointeur sur un objet persistant est remplacé par un double pointeur Ad MC Ad BD En écriture si Ad BD inconnue ALORS { Ad BD = AllouerBD(Objet) ; Ecrire (Ad BD, Objet) } ; En lecture si Ad MC inconnue ALORS {Ad MC = AllouerMC(Ad BD); Lire(Ad MC, Ad BD) } ; Inconvénients objets persistants versus objets transients (doubles pointeurs) lecture des objets pointés faiblesse des performances 17 Approche mémoire virtuelle (1) Ecriture des objets sans modification Pointeurs disques = adresse mémoire virtuelle Sauvegarde des pages dans des partitions BD images de la mémoire Pré-allocation des objets en mémoire virtuelle Lorsqu'un objet est retrouvé, des pages inaccessibles sont allouées pour tous les objets référencés. L'objet est chargé lors du premier accès par récupération de la violation mémoire virtuelle. Cette technique a été brevetée par ODI 18 Page 9 9

Approche mémoire virtuelle (2) 0 Page Manquante 2**32 Mémoire Virtuelle Client 1 Accès 2 Violation OBJECT-STORE Tout pointeur est une adresse mémoire virtuelle client/serveur 3 Accès Serveur 4 Retour Page Image Disque 19 4. LANGAGES DE REQUETES Véhicule - numéro - couleur - fabriquant Groupe - nom - ville Numéro des véhicules de couleur rouge dont le fabriquant a son siège à Paris et un président de moins de 50 ans? - président Employé - nss - nom - date naissance - age() 20 Page 10 10

Langage navigationnel Parcours un objet à la fois via les pointeurs véhicule* v, groupe* g, personne* p; for each v in vehicule { if v->couleur == Rouge then { g = v->fabriquant; if g->ville == "Paris" then { p = g->president; if p->age() < 50 then cout << v.numéro; } ; } ; }; 21 Les SQL Objets Extension ou Variation de SQL (adapté aux objets) parcours de chemin : Voiture.fabriquant.président => Personne exécution de méthodes : voiture. démarrer() prise en compte de l'héritage présentation des résultats : ensemble ou classe parcours des collections Problème de compatibilité avec la norme SQL travaux de l'odmg (ODL et OQL 93/96) normalisation de SQL3 prévue pour 1999 22 Page 11 11

Principaux SQL objets FSQL HP IRIS OPEN-DB OSQL MCC ORION XSQL UNISQL UNISQL SQL3 ISO Norme? ISQL C.A. INGRES O-SQL ORACLE ORACLE VSQL VERSANT VERSANT O2SQL O2 O2 ESQL INRIA-BULL DBS3 OQL ODMG Norme objet? 23 Page 12 12