730 likes | 961 Views
Manifeste de Chris Date sur modèle Objet Relationnel (Modèle de données OBJETS). Professeur Serge Miranda Serge.miranda@unice.fr Directeur Master2 « MBDS ». www.mbds-fr.org. Plan Partie 1. Plan. Evolution de l'informatique et paradigme Objet : vers le modèle OR et propriétés TIPS des BD
E N D
Manifeste de Chris Date sur modèle Objet Relationnel(Modèle de données OBJETS) Professeur Serge Miranda Serge.miranda@unice.fr Directeur Master2 « MBDS » www.mbds-fr.org
Plan Partie 1 Plan Evolution de l'informatique et paradigme Objet : vers le modèle OR et propriétés TIPS des BD • Modèle de données orientées objet ? • " L'insoutenable légèreté de l'objet " : • Les définitions • Les propriétés RICE de l’Objet • Modèle de Données OR (Objet relationnel) • Les 2 approches de base • le manifeste de Stonebraker • Le manifeste de Chris Date • Exemples : Thésaurus/2D • Recherches TIPS
Exemple de « table » et « objet » (Oracle) Police Nom Adresse Conducteurs Accidents Age Conducteur Accident Rapport Photo 24 Paul Paris Paul 45 134 Robert 17 219 037 Table ? Objet ?Police Assurance
MODELE DE DONNEES DU FUTUR ?(BD du futur ? futur des BD ?) • 1- BASE (99 %) : • MARCHÉ RELATIONNEL SQL • AVEC 3 "Éléphants"... • ==> compatibilité ascendante • facilité d'apprentissage (teachability),.. • "EVOLUTION" >> "REVOLUTION" !
MODELE DE DONNEESDU FUTUR ? • 2- NOUVELLES FONCTIONNALITES MODELE DE DONNEES ? NOUVELLES NICHES ==> NOUVEAUX BESOINS ?
MODELE DE DONNEESDU FUTUR ? • NOUVELLES INFOSTRUCTURES mainframe / centralisées • ==> 2-tier : « Client-serveur (données) » • n-tier : - « client- - serveur web (mobile)- - serveur (application)- - serveur (données) »
NOUVEAUX DOMAINES APPLICATIFS(OLTP ET OLCP) • * GESTION RESEAU (TELCO,..) • * EDITION ELECTRONIQUE • Multimedia (NIM , Groupware...) • * FINANCE ( gestion portefeuilles…)
NOUVEAUX DOMAINES APPLICATIFS(OLTP ET OLCP) • * Data mining, one-to-one marketing (Datawarehousing,..) • *SIG (GIS) * CAO (CAD) • * e- Commerce (CAL), VOD sur Internet, Internet sans fil (TEL WAP/GPRS/UMTS, PDA, WIFI/Bluetooth..)
PROFIL MODELE DE DONNEES et SGBD ? • Gestion de très grandes BD : • vers les BD de l'ordre du ... petaoctets (10**15 ) • ==> évolutivité du serveur • (« SCALABILITY » • UP vs OUT) • (SMP>>MPP ? pour.. raisons logicielles et VLRAM)
PROFIL MODELE DE DONNEES et SGBD ? • 1-données FORTEMENT STRUCTUREES (schéma) • - objets métiers -Génie progiciel • - objets complexes imbriqués • (Types définis par l'utilisateur/ • USER-DEFINED DATA TYPES/ FUNCTIONS) • - compatibilité ascendante (standard SQL) • ==> EXTENSIBILITE DES DONNEES /TYP
PROFIL MODELE DE DONNEES et SGBD ? • 2- Données NON STRUCTUREES (énantiodromia du MD !) • - objets volumineux BLOBS (video,..) • - objets à sémantique riche • (hyperliens,..) • - MULTIMEDIA (DVBH, Mediaflow,..) • - Objets « vivants » (RFID, NFC,..) • interfaces navigationnelles et associatives- • SQL++ (SAT) OAT • ==> interfaces nouvelles basées sur le contenu (hyperbase, neuronale, multimedia, VOCALES ...)
Concepts Objets ? • « OBJET » ? • - « Modèle de données Objets » • - « Modèles OR » ? • TROIS familles de modèles de données • Informatiques (IMS, DBTG,..) • Mathématiques (Codd,..) • Sémantiques (OBJETS,…)
Faiblesses du modèle relationnel • Opérations séparées des données • procédures stockées non intégrées DM • absence d'attributs cachés • Support de domaines atomiques • 1ère forme normale de Codd • inadapté aux objets complexes • (documents structurés) • introduction des BLOB…. • Mauvais support des applications non gestion : • CAO, CFAO, BD Géographiques, • BD techniques
Modèle OR ? Modèle Relationnel de Codd (V1) Langage Prog. OBJET Propriétés TIPS Propriétés RICE Modèle OR (Objet- Relationnel) Compatibilité ascendante Propriétés TIPS + RICE
Evolution de l'informatique et OBJET 1965 LP OS OS : Operating SERVICES ? 1970 LP IA SGF SGBD
Evolution de l'informatique 1970 SGF OS SGBDR • Services OS : • Gestion des ressources physiques • algorithme de pagination • Sécurité • Confidentialité • d'ACCES • Contrôle de • Synchronisation (sémaphores,verrouillage, • deadlock, ... ) • Modélisation : • (" processus ") • .... pas de langage de • programmation • Services SGBD-R • ( Propriétés TIPS ): • (P) GestionPersistance • LRU ++ • (T) Sécurité & • Transactionnel • Intégrité S) Structuration/Schéma via des modèles de données • (I) Interface utilisateur • Non procédurale(SQL)
Evolution de l'informatique et OBJET 198O OS SGBD-R LP SGBD-R OS IA 1990 OS LP Objet SGBD-R IA
Evolution de l'informatique 2000 ? " Il est dur de prédire, particulièrement ... le futur " N.Boehr ? ? ? • SERVICES ?
Evolution du logiciel et OBJETS DONNEES TRAITEMENTS SGBD-R L.P ( SQL ) ( Prog. structurée ) OBJETS GENIE LOGICIEL COMMUNICATION
Approche Objet et développement d'application Intégration Objet INTERFACE Approche Objet APPLICATION SGBD DB • PB : " IMPEDANCE MISMATCH « et productivité du développeur
Marché BD et standards ? (Stonebraker 96 et Gartner) Traitements SQL SGBD-OR SGBD- R (1) (2) SQL3 SQL2 SGF SGBD- OO (3) Non SQL ODMG Simples Complexes Données (1) : 8 G$ en 1995 (30 % de croissance) (3) : 1/100 de (1) en 1995 et 2008 (2) : 1/2 de (3) en 1995 ; 2*(1) en 2008 !
Visions de l'Objet • VISION DOUBLE : • (i) LP : objet "encapsulé” • Opérateurs SPECIFIQUES (classes, • propriétés) • héritage (instantiation) • Polymorphisme • (ii) BD : objet "structuré” • opérateurs GENERIQUES (algèbre, ...) • Persistance • Concurrence / reprise sur panne • Dualité des concepts structurels
Propriétés RICE d'un SGBD OBJET (Miranda, 2002) Dunod (Incrémentales par rapport à un SGBD relationnel) R (Réutilisabilité) : "Héritage" ou "polymorphisme" ==> Graphe héritage I (Identification système) C(Constructeurs d'objets complexes) Orthogonalité TUPLE et SET ==> Graphes d'agrégation E ("Encapsulation") "Messages", "Méthodes", "CLASSES d’Objets »
Classe d’Objets ? • DEFINITION : Une CLASSE d ’OBJETS - est un (« valeurs potentielles ») - possède un (« valeurs réelles ») TYPE de DONNEES qui vérifie les propriétés RICE....
LES 3 VAGUES vers l ’ Infostructure en réseau Client-Serveur SQL SYSTEMES OBJETS REPARTIS Groupware Serveurs de fichiers Moniteur TP 1980 1990 2000
Une évolution vers leMiddleware ( " l' empire du milieu " ) HARDWARE SOFTWARE MIDDLEWARE Middleware par couplage fort (CORBA) et ou faible (Services WEB) Priorité : inter-opérabilité des plates-formes hétérogènes.
WWW et Multimédia :l'ELDORANET ? • 15 % des données au monde sont ... digitalisées! • ( Edition Multimedia demain et fin Hollywood ? Effeuiller la Marguerite...... ) • ==> CONTROLE DES DONNEES • COMPLEXES • SGBD-R : Données simples et structurées avec • un typage stable. • SGBD multimédia / WEB ? : Gestion de Données complexes et non - • structurées avec un typage extensible. • Recherche sur contenus dynamiques avec • de nouvelles interactions • ==> BESOINS d'un SGBD-OR • ( Objet-Relationnel )
Objets ? • Naturels : L'homme traite des " Objets " • ( l'ordinateur des ... " Données " ) • Appréhension de la Complexité : ( ATT a inventé C++ pour la réalisation des concentrateurs de 200 000 lignes de codes ) • Réutilisation et flexibilité ( " programmation en Kit ") • L'Encapsulation : ( données + traitements ) • Productivité du développeur ( le but ultime ! ) • Un concept ( flou ) ... UNIFICATEUR !
L'insoutenable légèreté de l'objet! • " Objet ? " • " Un objet est une chose identifiable ... qui joue • un rôle en regard d’une demande d’opérateur ...« • (X3-SPARC, SEPT.91, OODBTG, pp 3.6)
Objet ? • Définition 2 (MIRA96) 3ième édition Livre Eyrolles sur le Modèle Client-Serveur et livre Dunod sur les BD Objets (Oct 2002)
Propriétés RICE d'un SGBD OBJET (Miranda, 1996) Eyrolles (Miranda, 2002) Dunod (Incrémentales par rapport à un SGBD relationnel) R(Réutilisabilité) : "Héritage" ou "polymorphisme" ==> Graphe héritage I (Identification système) C(Constructeurs d'objets complexes) Orthogonalité TUPLE et SET ==> Graphes d'agrégation E ("Encapsulation") "Messages", "Méthodes", "CLASSES d’Objets »
Classe d’objets ? • DEFINITION : Une CLASSE d ’OBJETS - est un (« valeurs potentielles ») - possède un (« valeurs réelles ») TYPE de DONNEES qui vérifie les propriétés RICE....
MODELE de données « RICE » 2 approches : NOUVEAU MODELE : OO (ODMG) Manifeste de Bancilhon ENRICHISSEMENT MODELE RELATIONNEL: OR Manifeste de Stonebraker Manifeste de Date
SQL3 et Modèle OR ? • SQL3 intègre les 2 Manifestes OR ! • CREATE TYPE (« Date ») • CREATE TABLE (« Stonebraker »)
Propriétés RICE d'un SGBD OBJET Relationnel (Incrémentales par rapport à un SGBD relationnel) I R C Modèle relationnel de Codd E
Exemple Graphe Structurel Objet (cf IFO) E ENOM ADR Employe adresse NOTATION : Héritage Rue Ville NO Pilote Hotesse SET-OF … Tuple AVNOM CAP NBHV DN VOLS … attribut Avion Vols Classe V VD VA HD HA AVION Agrégation
Retour vers le futur avec leTroisième Manifeste de Date (C. DATE, H. DARWEN, “Data Base Programming and design” January 1995, pp 25-34) "Object features are orthogonal to the Relational DM and therefore RDM eeds no extension, no correction, no subsumption, no perversion in order for them to be accommodated " Chris DATE • 1er manifeste “manifeste des SGBD orientés-objet” (Bancilhon et al) est basé sur approche objet des LP • 2ème manifeste “le manifeste de la 3ème-génération des SGBD” (Stonebraker et al) est basé sur SQL
Modèles relationnels de CODD " L' homme n'est qu'un noeud de RELATIONS seules les relations comptent pour l'homme." Antoine de Saint-Exupéry
Modèle Relationnel de CODD (V1) DOMAINE ("Domain") SQL2 VILLE = { NICE, PARIS, LYON, TOULO USE} PILOTE PILNO PILNOM ADR 100 SERGE NICE 101 JOHN PARIS 102 PETER TOULOUSE • LIGNE = N-UPLET ( "TUPLE" ) • COLONNE = ATTRIBUT ("ATTRIBUTE")
Modèles relationnels • Les modèles relationnels de CODD • V1 ( 1970 ) " b.c. " 1970 • RM-T ( 1980 ) et • V2 / V3 ( 1990 ) " a.c. " 1970 • SQL : • SQL1 ( 1989 ) • SQL2 ( 1992 ) • SQL3 ( 199X, 200X ) ....
Modèles V2 et V3 de CODD • MODELE V2 : • Inconvénient de SQL : manque de fermeture • et de complétude ( Group By => "Framing"; • connect => "Join Récursif" ) • MODELE V3 : • Fonctions ( systèmes et utilisateurs ) • Join Récursif Généralisé • Hiérarchie de types
« Structuration » Modèle RParadigme « VALEUR » • "STRUCTURATION" (comme le "S" de SQL ) • 100 Peter A300 VALEURS • 500 John A320 • Toulouse Nice • 1ère phase de structuration : constructeur SET : "Domaines" = ( ensemble de VALEURS ) • PL# PLNOM DOMAINES • 100,200,300,500, ... Peter, John, Serge, ... • VILLE AVNOM • Toulouse, Nice, ... A300, A320, ...
Structuration (Suite) 2ème phase de structuration : constructeur TUPLE • " Relations" = " ensemble de tuples " RELATIONS AVION AV# AVNOM CAP LOC 100 A300 200 Paris 101 A320 250 Nice
Vue des bigots de l'OBJET • Tout ce que le Relationnel peut faire • l'Objet peut le faire mieux. • Une relation est un objet particulier • avec les opérateurs de l'algèbre • comme méthodes • Il existe d'autres objets d'autres types
Vue des bigots du RELATIONNEL • les avantages de l'OBJET peuvent être obtenus en appliquant correctement le modèle RELATIONNEL V1 • Evolution en douceur du relationnel en intégrant les propriétés RICE au niveau : • du Domaine (SQL3, DATE, DB2, Oracle 8) • des relations (UNISQL, NF2) • des deux (Illustra) • Domaine ou Relation ? = classe d'Objets et RICE
3 possibilités de RICEpour le modèle OBJET et BD • 1ier manifeste de BANCILHON (ODMG) • 3ieme manifeste de DATE (OR) • 2ième Manifeste de Stonebraker (OR) VALEURS Const. SET DOMAINES Const. TUPLE RELATIONS
Deux Possibilités pour le modèle OR • 1-RELATION ? • Approche « type » (UNISQL, NF2, POSTGRES,...) • EX : CREATE OBJECT CLASS PILOT • PUBLIC (PL# NUMERIC, PLNOM CHAR, ADR CHAR) ; • Avantage : concept commun unique : • CLASSE-RELATION • PB1: objets = tuples (non encapsulés) ! • PB2: Opérateurs génériques et spécifiques • Algèbre Complexe? Opérateur pour parcourir les • graphes (hiérarchie structurelle) expression de • chemin ? • PB3: propriété de fermeture • Reinterprétation des opérateurs relationnels ?
2ième approche OR ? • 2- DOMAINE ? • Avantages : • vision double de “l’objet” : dualité de concepts ( encapsulation : “domaine” avec fonctions structuration : “relation” avec SQL ) • Sous-utilisation des DOMAINES (lesquels apparaissent partiellement dans SQL2) • Approche suivie par Oracle depuis la 8, DB2, et .. , SQL3
Deux Possibilités pour les classes d'objets • Manifestes OR et RICE : • Manifeste de Stonebraker • « RIC » au niveau des TABLES • Héritage structurel au niveau des tables • Manifeste de DATE • « ICE » au niveau des Domaines • Héritage avec opérateur « » entre valeur de Domaine primaire et tuples (index domaine)
EMPNO 100 103 100 103 PILNO Héritage entre domaines Graphe d’héritage entre domaines primaires HotessNO