970 likes | 1.13k Views
Manifeste de Chris Date sur modèle « Objet Relationnel » (pour données structurées/SQL). Professeur Serge Miranda serge.miranda@unice.fr Directeur Master « MBDS » . www.mbds-fr.org. Plan Partie 1. Evolution de l'informatique et paradigme Objet : vers le modèle OR
E N D
Manifeste de Chris Date sur modèle « Objet Relationnel »(pour données structurées/SQL) Professeur Serge Miranda serge.miranda@unice.fr Directeur Master « MBDS » www.mbds-fr.org
Plan Partie 1 Evolution de l'informatique et paradigme Objet : vers le modèle OR - Les propriétés TIPS des SGBD • Modèle de données orientées objet ? • " L'insoutenable légèreté de l'objet " • Les définitions consensuelles • 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 • http://thethirdmanifesto.com/
Rappel « Modèle de Données » ? • STRUCTURES (LDD) • « SCHEMA » • OPERATEURS (LMD) • Algèbre (« fermeture » et « complétude ») • CONTRAINTES • Règles intégrité • Cadre formel UNIVERS REEL MODELE DE DONNEES SCHEMA
Modèles de données • TROIS familles de modèles de données • Informatiques (IMS, DBTG,..) • Mathématiques (Relationnel/Codd,..) • Sémantiques (OBJETS,…)
Rappel : Exemple de « Schéma relationnel de Codd » • Sur PILOTE, AVION et VOL ?
« Structuration » Modèle de CoddParadigme « 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
Marché BD et standards ? (Stonebraker 96 et Gartner) Traitements SGBD-OR SQL SGBD- R (2) SQL3 Mobiquité (1) SQL2 G/P/D SGBD- OO (3) SGF Non SQL ODMG /CAO Simples Complexes Données • : 10 G$ <licences *> en 2010 • (20 % de croissance, 60 G $ en 2020) • (3) : 1/100 de (1) en 2010 et 2020 • (2) : 2x (3) en 2010 ; 2*(1) en 2020 ! • * Marché de 27 G dollars avec services et support en 2010
Rappels Modèle de données « relationnel » (de CODD) • « Modèle relationnel de CODD » • Prérequis à SQL2 • « Modèle OR de Chris Date » (3rd manifesto) • Prérequis à SQL3 et ODMG • Modèle de Codd(19/8/1968) • DOMAINES • RELATIONS • Attributs/CP/CE • Double définition formelle • Exemple de schéma relationnel au sens de Codd
Propriétés TIPS des Bases de Données Structurées (SQL) • T • ACID • I • P • S • Transactionnel • Interface non procédurale (SQL) • Persistence • Structuration (SCHEMA)
Approche Top DOWN SQL (données Structurées) • 2 phases pour mise en place BD SQL : • 1) CONCEPTION (UML,..) puis • 2) CREATION BD • SQL (SQL3) ou ODMG • Applications TRANSACTIONNELLES (OLTP) • Propriétés TIPS • Propriétés ACID • Applications décisionnelles (OLCP) top down • DATAWAREHOUSE • DATA MINING
Modèle OR ? • Partir du Modèle Relationnel « formel » • Double base formelle du modèle relationnel • Pas de modèle formel OBJET (ni unique) ! Mais CONSENSUS sur des propriétés • Rajouter propriétés consensuelles de l’« Objet » (RICE) dans le modèle relationnel (Propriétés TIPS)
Les 3 Approches de MODELES de DONNEES OBJETS et OR • 1ier manifeste de BANCILHON ODMG • 3ieme manifeste de DATE (OR) • 2ième Manifeste de Stonebraker (OR) VALEURS Const. SET DOMAINES Const. TUPLE SQL3 RELATIONS (tables) Structures de données du Modèle Relationnel de CODD (SQL2)
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 (90 %) : • MARCHÉ RELATIONNEL SQL • AVEC 3 "Éléphants"... • - Oracle, IBM (Informix,DB2) et Microsoft (SQL server, Sybase) • ==> 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)» • Serveur INCONNU (« Cloud ») • n-tier : • Serveur d Interaction • Serveur EDGE • 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) • * MOBIQUITE • (1 Tera d’objets tagués en 2020) • m- 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)
Vers OLTP et OLCP temps réel • BOTTOM UP et données LIEES (Linked data) • Réseaux sociaux • Tags NFC • OLTP TEMPS REEL complementaire du futur • BIG DATA • NEW SQL : passerelle SQL et Not Only SQL (NO SQL) (Hadoop,..) • CfStonebraker 2012 et VOLTDB
PROFIL MODELE DE DONNEES OR 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 /TYPES
PROFIL MODELE DE DONNEES OR et SGBD ? • 2- Données NON STRUCTUREES (énantiodromia du MD !) • - objets volumineux BLOBS (video,..) • - objets à sémantique riche • (hyperliens,..) • - MULTIMEDIA (DVBH, Media FLO,..) • - Objets « vivants » (RFID, NFC, Capteurs,..) • 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 » ?
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 (ACID) • 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 VERS LES ESPACES DATA MOBIQUITAIRES 2020 ? " Il est dur de prédire, particulièrement ... le futur " N.Boehr ? ? ? • « SERVICES » ? • + Ontologies ++ Linked Data (OPEN DATA, BIG DATA)
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
WWW et MOBIQUITE :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 / mobiquité ? : 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 )
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)
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
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 ») - a/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) 1ier Manifeste de François Bancilhon ENRICHISSEMENT MODELE RELATIONNEL: OR 2ième Manifeste de Mike Stonebraker 3ième Manifeste de Chris Date
SQL3 et Modèle OR ? • SQL3 intègre les 2 Manifestes OR ! Avec 2 possibilités de créer des CLASSES d OBJETS : • 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 needs no extension, no correction, no subsumption, no perversion in order for them to beaccommodated " 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
Retour sur les 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")