Bases de données orientées-objets

Slides:



Advertisements
Présentations similaires
Chap. 4 Recherche en Table
Advertisements

SQL - Subtilités.
Le Modèle Relationnel (Chapitre 4)
Fonctionnalités des SGBD
Le Modèle Logique de Données
Algèbre relationnelle
Optimisation algébrique de requêtes relationnelles
Programmation Orientée Objet (POO)
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
R. Saint-Paul, G. Raschia and N. Mouaddib IRIN, Nantes (France)
Bases de données orientées-objets
Optimisation de Requêtes
TECHNIQUES DES SGBDO 1. Qu'est-ce qu'un SGBDO ?
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
L'OBJET-RELATIONNEL 1. Le modèle objet-relationnel
1 Théorie des Graphes Cycle Eulérien. 2 Rappels de définitions On dit qu'une chaîne est un chemin passant par toutes les arêtes du graphe. On dit qu'un.
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Développement d’applications web
SQL (1) Exercices - Enoncés
Contrôles d'accès aux données
L’utilisation des bases de données
Principes de la technologie orientée objets
Algèbre relationnelle
Principes de persistance dans les applications orienté objet
Initiation aux bases de données et à la programmation événementielle
Modélisation E/R des Données
Chap 4 Les bases de données et le modèle relationnel
1 Initiation aux bases de données et à la programmation événementielle Cours N°9 : Gestion de la cohérence avec des sous-formulaires. Support de cours.
L’utilisation des bases de données
Modèle Logique de Données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Complément Le diagramme des classes
SYSTEMES D’INFORMATION
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Management of Information Technology - e-business
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Copyright Serge Miranda
LE LANGAGE DE REQUETES SQL2
Patrons de conceptions de créations
Bases de données orientées objets SGBD relationnels-objets
Bases de données orientées objets Illustration sur ORACLE
Structures des données
Introduction.
Biologie – Biochimie - Chimie
BD Relationnelles versus BD Objets Fariza Tahi
L'OBJET-RELATIONNEL 1. Le modèle objet-relationnel
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
TECHNIQUES DES SGBDO 1. Qu'est-ce qu'un SGBDO ?
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
1 A llier R elations et O bjets pour M odéliser Projet Sherpa INRIA Rhône-Alpes Visite Schneider 15/09/99.
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Optimisation de requêtes
Plan du cours - Bases de données objet : objectifs, principe, mise en oeuvre sous Oracle - Aspect système des bases de données : fichiers, index et hachage.
Sélection de colonnes (la projection)
Le modèle relationnel Plan 1. Concepts descriptifs
SYSTEMES d’INFORMATION séance 1 : Introduction et définitions
1 J. PHILIPP d'après G. Gardarin SGBDR : la gestion des vues l 1. Contexte l 2. Vues externes l 3. Interrogation des vues l 4. Mises à jour des vues l.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Introduction Module 1.
1 Bases de Données Avancées 29 janvier Le Modèle Objet-Relationnel.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

Bases de données orientées-objets 12d. SQL3 Yves Pigneur Stéphane Rey Ecole des HEC Université de Lausanne CH-1015 Lausanne yves.pigneur@hec.unil.ch (+41 21) 692.3416 Identifiant Dépendance fonctionnelle Fromes normales Normalisation

Agenda Forces et faiblesses du modèle relationnel: nouveaux besoins en matière de gestion de données. Le modèle objet-relationnel. SQL3. Conclusions. HEC Lausanne - 1999

Forces du modèle relationnel Permet de modéliser des données adaptées à la gestion à l'aide de tables: représentation naturelle d'ensembles. Offre d'excellentes performances sur le transactionnel (OLTP - Online Transaction Processing). Intègre et permet la présentation multidimensionnelle de données (OLAP - Online Analysis Processing). S'est imposé comme le standard de l'industrie: langage SQL2; architecture client-serveur; optimisation des requêtes (algèbre, réécriture, modèle de coûts) gestion des transactions. HEC Lausanne - 1999

Faiblesses du modèle relationnel Les règles de modélisation imposées pour structurer les données sont trop restrictives. L'absence de pointeurs visible est pénalisante et nécessite l'utilisation de jointures, opérations lourdes et coûteuses. Le non-support de domaines composés imposé par la première forme normale de Codd est inadapté aux objets complexes. La non intégration des opérations dans le modèle relationnel constitue un manque. HEC Lausanne - 1999

Le besoin de types de données multimédia ABC123 Temps 1996 HEC Lausanne - 1999

Le modèle objet-relationnel (1) Type de données utilisateur: type de données définissables par l'utilisateur composé d'une structure de données et d'opérations encapsulant cette structure. SQL3 les nomme types abstraits (ADT). Patron de collection: Type de données générique permettant de supporter des attributs multivalués et de les organiser selon un type de collection. Exemple: une liste. Référence d'objet: Type de données particulier permettant de mémoriser l'adresse invariante d'un objet ou d'un tuple. Permet de chaîner les objets directement entre eux, sans passer par des jointures. HEC Lausanne - 1999

Le modèle objet-relationnel (2) Héritage de type: Forme d'héritage impliquant la possibilité de définir un sous-type d'un type existant, celui-ci héritant alors de la structure et des opérations du type de base. Héritage de table: Forme d'héritage impliquant la possibilité de définir une sous-table d'une table existante, celle-ci héritant alors de la structure et des éventuelles opérations de la table de base. HEC Lausanne - 1999

Le modèle objet-relationnel (3) Polymorphisme Types utilisateurs Collections RELATIONNEL Domaine Table Attribut Clé Référence Opérations Identifiant Héritage HEC Lausanne - 1999

Le modèle objet-relationnel (4) Police ... Conducteurs Accidents 9876 Conducteur Age Paul 19 Louise 37 Date HEC Lausanne - 1999

Vue d'ensemble de SQL3 (1) HEC Lausanne - 1999

Vue d'ensemble de SQL3 (2) HEC Lausanne - 1999

SQL3 - Les types abstraits CREATE [DISTINCT] TYPE <nom ADT> [<OPTION OID>] [<CLAUSE SOUS-TYPE>] [AS] (<CORPS DE L'ADT>) La clause DISTINCT est utilisée pour renommer un type de base existant déjà. HEC Lausanne - 1999

SQL3 - Les types abstraits, exemples (1) Type avec OID pouvant être utilisé comme un objet: CREATE TYPE PHONE WITH OID VISIBLE (PAYS VARCHAR, ZONE VARCHAR, NOMBRE INT, DESCRIPTION CHAR(20)); WITH OID VISILE permet de préciser la visibilité de l'OID pour chaque instance (objet). Type avec sous-type: CREATE TYPE ETUDIANT UNDER PERSONNE (CYCLE VARCHAR, ANNEE INT); Type énuméré: CREATE TYPE JOUR-OUVERT (LUN, MAR, MER, JEU, VEN); HEC Lausanne - 1999

SQL3 - Les types abstraits, exemples (2) Type avec OID et fonction: CREATE TYPE EMPLOYE WITH OID VISIBLE (NUM CHAR(10), DATENAIS DATE, REPOS JOUR-OUVERT, SALAIRE FLOAT, FUNCTION AGE (E EMPLOYE) RETURNS (INT) { ... } END FUNTION;); CREATE TYPE JOUR-OUVERT (LUN, MAR, MER, JEU, VEN); HEC Lausanne - 1999

SQL3 - Les constructeurs d'objets complexes SQL3 offre les patrons de base SET(T), MULTISET(T) et LIST(T). Un type personne avec une liste de prénoms: CREATE TYPE PERSONNE WITH OID VISIBLE (NSS INT, NOM VARCHAR, PRENOMS LIST(VARCHAR), TEL SET(PHONE)); Un type avec référence à un objet: CREATE TYPE VOITURE (NUMERO CHAR(9), COULEUR VARCHAR, PROPRIETAIRE REF(PERSONNE)); CREATE TYPE PHONE WITH OID VISIBLE (PAYS VARCHAR, ZONE VARCHAR, NOMBRE INT, DESCRIPTION CHAR(20)); HEC Lausanne - 1999

SQL3 - Les tables Création de tables: CREATE TABLE ACCIDENT (ACCIDENT INT, RAPPORT TEXT, PHOTO IMAGE); CREATE TABLE POLICE (NPOLICE INT, NOM VARCHAR, ADRES ADRESSE, CONDUCTEURS SET(CONDUCTEUR), ACCIDENTS LIST(ACCIDENT)); CREATE TABLE PERSONNES OF PERSONNE; CREATE TABLE VINSMILL UNDER VINS WITH (MILL INT, QUALITE VARCHAR) CREATE TYPE PERSONNE WITH OID VISIBLE (NSS INT, NOM VARCHAR, PRENOMS LIST(VARCHAR), TEL SET(PHONE)); HEC Lausanne - 1999

SQL3 - Appel de fonctions SELECT E.NOM, AGE(E) FROM EMPLOYES E WHERE AGE(E) < 35; CREATE TABLE EMPLOYESLOC UNDER EMPLOYES WITH (ADRES ADRESSE) SELECT NOM, REPOS FROM EMPLOYELOC E WHERE DISTRICT(E.ADRES) = "MORGES" AND E.ADRES..VILLE = "BUSSIGNY" SELECT E.NOM, E..AGE() Utilisation d'une fonction pour obtenir le district. Utilisation de la notation pointée pour accéder aux attributs composés. HEC Lausanne - 1999

SQL3 - Parcours de références CREATE TYPE VOITURE (NUMERO CHAR(9), COULEUR VARCHAR, PROPRIETAIRE REF(PERSONNE)) CREATE TABLE VOITURES OF TYPE VOITURE SELECT V.PROPRIETAIRE DEREF NOM FROM VOITURES V WHERE V.COULEUR="ROUGE" AND V.PROPRIETAIRE DEREF ADRESSE..VILLE = "PARIS" HEC Lausanne - 1999

SQL3 - Recherche en collections SELECT REF(P) FROM PERSONNES P WHERE "VELO" IN SELECT * FROM TABLE (P.PASSETEMPS). PASSETEMPS SET(VARCHAR) HEC Lausanne - 1999

Conclusions ... HEC Lausanne - 1999

Relationnel vs. objet: le modèle relationnel POUR CONTRE Le modèle relationnel est adapté à un grand nombre d'applications (de gestion par exemple), qui utilisent des types simples de données. Le modèle relationnel est basé sur une théorie "scientifique" et a été mis à l'épreuve ces 15 dernières années: travaux de Codd; ... Le modèle relationnel est facile à comprendre. Le modèle relationnel ne permet pas de représenter certaines entités complexes du monde réel. Les jointures peuvent être des opérations relativement lourdes. ... HEC Lausanne - 1999

Relationnel vs. objet: le modèle objet POUR CONTRE Les objets permettent de représenter [plus] naturellement des entités du monde réel: objets complexes. Les objets offrent une plus grande souplesse pour gérer les structures de données complexes (multimedia, CAO, AGL, etc.) ... Les SGBDO posent un certain nombre de problèmes: gestion des objets en mémoire et dans la base; performance d'accès aux objets; concurrence d'accès aux objets. ... HEC Lausanne - 1999

? Evolution des SGBD Relationnel- Relationnel objet Relationnel-objet Nouveau paradigme Relationnel- objet Relationnel Objet temps HEC Lausanne - 1999

Réflexion: application de gestion clients ? Relationnel- objet Table Table Relationnel Table Table Table Objet HEC Lausanne - 1999

Relationnel, objet, ou objet-relationnel? Georges Gardarin, "Bases de données objet & relationnel", Eyrolles, 1999 Complexité des requêtes Objet- relationnel Relationnel Relationnel Objet Complexité des données HEC Lausanne - 1999

? Conclusion Relationnel Objet Relationnel- objet Relationnel-objet Georges Gardarin, "Bases de données objet & relationnel", Eyrolles, 1999 Complexité des requêtes Relationnel Objet Relationnel- objet ? Relationnel-objet Nouveau paradigme Objet- relationnel Relationnel Relationnel Objet Complexité des données HEC Lausanne - 1999