La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Manifeste de Chris Date sur modèle « Objet Relationnel » (pour données structurées/SQL) Professeur Serge Miranda Directeur Master.

Présentations similaires


Présentation au sujet: "Manifeste de Chris Date sur modèle « Objet Relationnel » (pour données structurées/SQL) Professeur Serge Miranda Directeur Master."— Transcription de la présentation:

1 Manifeste de Chris Date sur modèle « Objet Relationnel » (pour données structurées/SQL) Professeur Serge Miranda Directeur Master « MBDS »

2 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 lObjet 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

3 Rappel « Modèle de Données » ? STRUCTURES (LDD) STRUCTURES (LDD) « SCHEMA » « SCHEMA » OPERATEURS (LMD) OPERATEURS (LMD) Algèbre (« fermeture » et « complétude ») Algèbre (« fermeture » et « complétude ») CONTRAINTES CONTRAINTES Règles intégrité Règles intégrité Cadre formel Cadre formel UNIVERS REEL MODELE DE DONNEES SCHEMA

4 Modèles de données TROIS familles de modèles de données TROIS familles de modèles de données - Informatiques (IMS, DBTG,..) - Mathématiques (Relationnel/Codd,..) - Sémantiques (OBJETS,…)

5 BD RELATIONNELLES (SQL)

6 Rappel : Exemple de « Schéma relationnel de Codd » Sur PILOTE, AVION et VOL ? Sur PILOTE, AVION et VOL ?

7 « Structuration » Modèle de Codd Paradigme « VALEUR » "STRUCTURATION" (comme le "S" de SQL ) 100Peter A300 VALEURS 500John A320 Toulouse Nice 1ère phase de structuration : constructeur SET : "Domaines" = ( ensemble de VALEURS ) PL#PLNOM DOMAINES 100,200,300,500,... Peter, John, Serge,... VILLEAVNOM Toulouse, Nice,... A300, A320,...

8 Structuration (Suite) 2ème phase de structuration : constructeur TUPLE " Relations" = " ensemble de tuples " " Relations" = " ensemble de tuples " RELATIONS RELATIONS AVION AV# AVNOM CAP LOC 100 A Paris 100 A Paris 101 A Nice 101 A Nice

9 Marché BD et standards ? Marché BD et standards ? (Stonebraker 96 et Gartner) SGBD- R SGBD-OR Traitements SQL Non SQL (1) (2) SGF SGBD- OO (3) (1): 10 G$ 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 SQL2 G/P/D SQL3 Mobiquité ODMG /CAO Simples Complexes Données

10 Rappels Modèle de données « relationnel » (de CODD) « Modèle relationnel de CODD » « Modèle relationnel de CODD » Prérequis à SQL2 Prérequis à SQL2 « Modèle OR de Chris Date » (3rd manifesto) « Modèle OR de Chris Date » (3rd manifesto) Prérequis à SQL3 et ODMG 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

11 Propriétés TIPS des Bases de Données Structurées (SQL) T ACID ACID I P S Transactionnel Interface non procédurale (SQL) Persistence Structuration (SCHEMA)

12 Approche Top DOWN SQL (données Structurées) 2 phases pour mise en place BD SQL : 2 phases pour mise en place BD SQL : 1) CONCEPTION (UML,..) puis 1) CONCEPTION (UML,..) puis 2) CREATION BD 2) CREATION BD SQL (SQL3) ou ODMG SQL (SQL3) ou ODMG Applications TRANSACTIONNELLES (OLTP) Applications TRANSACTIONNELLES (OLTP) Propriétés TIPS Propriétés TIPS Propriétés ACID Propriétés ACID Applications décisionnelles (OLCP) top down Applications décisionnelles (OLCP) top down DATAWAREHOUSE DATAWAREHOUSE DATA MINING DATA MINING

13 Modèle OR ? Partir du Modèle Relationnel « formel » Partir du Modèle Relationnel « formel » Double base formelle du modèle relationnel Double base formelle du modèle relationnel Pas de modèle formel OBJET (ni unique) ! Mais CONSENSUS sur des propriétés 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) Rajouter propriétés consensuelles de l« Objet » (RICE) dans le modèle relationnel (Propriétés TIPS)

14 Les 3 Approches de MODELES de DONNEES OBJETS et OR Les 3 Approches de MODELES de DONNEES OBJETS et OR VALEURS DOMAINES RELATIONS (tables) Const. SET Const. TUPLE 1ier manifeste de BANCILHON ODMG 3ieme manifeste de DATE (OR) 2ième Manifeste de Stonebraker (OR) Structures de données du Modèle Relationnel de CODD (SQL2) SQL3

15 Exemple de « table » et « objet » (Oracle) 24ParisPaul Conducteur Age 45Paul 17Robert Rapport Photo 037 Accident Table ? Objet ?Police Assurance Police NomAdresseConducteursAccidents

16 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" !

17 MODELE DE DONNEES DU FUTUR ? 2- NOUVELLES FONCTIONNALITES MODELE DE DONNEES ? NOUVELLES NICHES ==> NOUVEAUX BESOINS ?

18 MODELE DE DONNEES DU 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) »

19 NOUVEAUX DOMAINES APPLICATIFS (OLTP ET OLCP) * GESTION RESEAU (TELCO,..) * EDITION ELECTRONIQUE Multimedia (NIM, Groupware...) * FINANCE ( gestion portefeuilles…)

20 NOUVEAUX DOMAINES APPLICATIFS (OLTP ET OLCP) * Data mining, one-to-one marketing (Datawarehousing,..) *SIG (GIS) * CAO (CAD) * MOBIQUITE (1 Tera dobjets tagués en 2020) m- Commerce (CAL), VOD sur Internet, Internet sans fil (TEL WAP/GPRS/UMTS, PDA, WIFI/Bluetooth..)

21 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)

22 Vers OLTP et OLCP temps réel BOTTOM UP et données LIEES (Linked data) BOTTOM UP et données LIEES (Linked data) Réseaux sociaux Réseaux sociaux Tags NFC Tags NFC OLTP TEMPS REEL complementaire du futur OLTP TEMPS REEL complementaire du futur BIG DATA BIG DATA NEW SQL : passerelle SQL et Not Only SQL (NO SQL) (Hadoop,..) NEW SQL : passerelle SQL et Not Only SQL (NO SQL) (Hadoop,..) Cf Stonebraker 2012 et VOLTDB Cf Stonebraker 2012 et VOLTDB

23 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

24 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...)

25 « OBJET » ?

26 - « Modèle de données Objets » - « Modèles OR » ? Concepts Objets ?

27 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

28 Langage Prog. OBJET Modèle Relationnel de Codd (V1) Modèle OR (Objet- Relationnel) Modèle OR ? Propriétés RICE Propriétés TIPS Propriétés TIPS + RICE Compatibilité ascendante

29 Evolution de l'informatique et OBJET 1965 LP OS 1970 LP IA SGF SGBD OS : Operating « SERVICES » ?

30 Evolution de l'informatique 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 OS SGBDR SGF 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)

31 Evolution de l'informatique et OBJET 198O OS SGBD-R OS LP IA 1990 OS Objet LPSGBD-R IA

32 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)

33 Evolution du logiciel et OBJETS DONNEES TRAITEMENTS OBJETS SGBD-R L.P ( SQL ) ( Prog. structurée ) GENIE LOGICIEL COMMUNICATION

34 Approche Objet et développement d'application INTERFACE APPLICATION SGBD Approche Objet Intégration Objet DB PB : « IMPEDANCE MISMATCH » et productivité du développeur

35 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 )

36 LES 3 VAGUES vers l Infostructure en réseau Serveurs de fichiers Groupware Client-Serveur SQL Moniteur TP SYSTEMES OBJETS REPARTIS

37 Une évolution vers le Middleware ( " l' empire du milieu " ) HARDWARESOFTWAREMIDDLEWARE Middleware par couplage fort (CORBA) et ou faible (Services WEB)

38 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

39 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 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 !

40 L'insoutenable légèreté de l'objet! " Objet ? " " Un objet est une chose identifiable... qui joue un rôle en regard dune demande dopérateur...« (X3-SPARC, SEPT.91, OODBTG, pp 3.6)

41 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)

42 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 dObjets »

43 Classe dobjets ? 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....

44 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 MODELE de données « RICE »

45 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 »)

46 Propriétés RICE d'un SGBD OBJET Relationnel (Incrémentales par rapport à un SGBD relationnel) Modèle relationnel de Codd R I C E

47 E ENOM ADR Héritage Tuple NBHV DN VOLS V VD VA HD HA AVION Rue Ville NO Exemple Graphe Structurel Objet (cf IFO) AVNOM CAP attribut Employe Vols Pilote Hotesse Classe adresse NOTATION : SET-OF Avion … Agrégation …

48 Retour vers le futur avec le Troisiè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 be accommodated " Chris DATE 1er manifeste manifeste des SGBD orientés-objet (Bancilhon et al) est basé sur approche objet des LP 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 2ème manifeste le manifeste de la 3ème-génération des SGBD (Stonebraker et al) est basé sur SQL

49 Retour sur les Modèles relationnels de CODD " L' homme n'est qu'un noeud de RELATIONS seules les relations comptent pour l'homme." seules les relations comptent pour l'homme." Antoine de Saint-Exupéry

50 Modèle Relationnel de CODD (V1) SQL2 SQL2 VILLE = { NICE, PARIS, LYON, TOULO USE} PILOTE PILNO PILNOM ADR PILOTE PILNO PILNOM ADR 100 SERGE NICE 100 SERGE NICE 101 JOHN PARIS 101 JOHN PARIS 102 PETER TOULOUSE 102 PETER TOULOUSE LIGNE = N-UPLET ( "TUPLE" ) LIGNE = N-UPLET ( "TUPLE" ) COLONNE = ATTRIBUT ("ATTRIBUTE") COLONNE = ATTRIBUT ("ATTRIBUTE") DOMAINE ("Domain")

51 Modèles relationnels Les modèles relationnels de CODD Les modèles relationnels de CODD V1 ( 1970 ) " b.c. " 1970 V1 ( 1970 ) " b.c. " 1970 RM-T ( 1980 ) et RM-T ( 1980 ) et V2 / V3 ( 1990 ) " a.c. " 1970 V2 / V3 ( 1990 ) " a.c. " 1970 SQL : SQL : SQL1 ( 1989 ) SQL1 ( 1989 ) SQL2 ( 1992 ) SQL2 ( 1992 ) SQL3 ( 199X, 200X ) SQL3 ( 199X, 200X )

52 Modèles V2 et V3 de CODD MODELE V2 : Inconvénient de SQL : manque de fermeture, dorthogonalité 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

53 Exemple de Schéma SQL intégrant Codd 1) Utiliser les verbes CREATE DOMAIN 1) Utiliser les verbes CREATE DOMAIN 2) Utiliser les verbes CREATE TABLE 2) Utiliser les verbes CREATE TABLE Prendre Exemple : Pilote/Avion/Vol Prendre Exemple : Pilote/Avion/Vol

54 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 de l'OBJET

55 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

56 3 possibilités de RICE pour le modèle OR (objet et BD) VALEURS DOMAINES RELATIONS Const. SET Const. TUPLE 1ier manifeste de BANCILHON (ODMG) 3ieme manifeste de DATE (OR) (ENCAPSULATION des « doamines » et STRUCTURATION des « tables) 2ième Manifeste de Stonebraker (OR)

57 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 ?

58 2ième approche OR ? 2- DOMAINE ? Avantages : vision double de lobjet : dualité de concepts ( encapsulation : domaine avec fonctions structuration : relation avec SQL ) Sous-utilisation des DOMAINES (lesquels apparaissent partiellement dans SQL2) Inconvénient : Héritage (structurel) Approche suivie par Oracle depuis la 8, DB2, et.., SQL3 en partie

59 Cohérence Manifeste de Date « Classe d Objets » = « TYPE de DONNEES avec propriétés RICE » « Classe d Objets » = « TYPE de DONNEES avec propriétés RICE » « DOMAINE » du modèle relationnel de Codd = « TYPE de DONNEES sémantique » « DOMAINE » du modèle relationnel de Codd = « TYPE de DONNEES sémantique » « DOMAINE » du Modèle OR de DATE : « TYPE de DONNEES sémantique avec propriétés (R)ICE » « DOMAINE » du Modèle OR de DATE : « TYPE de DONNEES sémantique avec propriétés (R)ICE »

60 Héritage double dans BD HERITAGE HERITAGE HS : Héritage « structurel » (attributs) HS : Héritage « structurel » (attributs) HM Héritage « méthodes » HM Héritage « méthodes » Dans modèle de Stonebraker : HM + HS au niveau des tables Dans modèle de Stonebraker : HM + HS au niveau des tables Dans modèle de Date Dans modèle de Date HM au niveau des domaines HM au niveau des domaines HS au niveau des tables avec opérateur de mapping noté « « » entre domaines primaires et tuples HS au niveau des tables avec opérateur de mapping noté « « » entre domaines primaires et tuples

61 Deux Possibilités pour les classes d'objets : RICE Manifestes OR et RICE : Manifeste de Stonebraker « RIC » au niveau des TABLES Héritage opérationnel (méthodes) et structurel au niveau des tables Manifeste de DATE « ICE » au niveau des DOMAINES avec héritage des méthodes (« opérationnel ») Héritage structurel avec opérateur « » entre valeur de Domaine primaire et tuples (index domaine)

62 Modèle de DATE : Héritage entre domaines PRIMAIRES EX : Create Domain PILNO : (SUBDOMAIN de) EMPNO Graphe dhéritage entre domaines « primaires » (attributs « clé primaires » définis dessus) EMPNO PILNO HotesseNO Domaine de recherche : Lien entre héritage opérationnel entre domaines primaires et héritage structurel entre TABLES ? Opérateur spécial inspiré du déréférencement de SQL3 « CP » (sous arbre dhéritage) (valeurs potentielles du domaine et valeurs réelles des tables)

63 Héritage structurel ? Structure ds domaines Structure ds domaines INDEX de DOMAINE /CP ? INDEX de DOMAINE /CP ? EX : Valeur 100 de EMPNO et liste de ptrs vers tous les tuples ayant la valeur « 100 » EX : Valeur 100 de EMPNO et liste de ptrs vers tous les tuples ayant la valeur « 100 » JOINTURE VIRTUELLE entre tables JOINTURE VIRTUELLE entre tables

64 Héritage ds Modèle de données ? 2 approches possibles : STRUCTURES ou OPERATEURS 2 approches possibles : STRUCTURES ou OPERATEURS Approche DEFINITION entre tables (ex Stonebraker) ou Approche DEFINITION entre tables (ex Stonebraker) ou MANIPULATION (nouvel opérateur de navigation entre attributs) ; CP (Valeur Dom Primaire) : opérateur de jointure sur GRAPHE d HERITAGE MANIPULATION (nouvel opérateur de navigation entre attributs) ; CP (Valeur Dom Primaire) : opérateur de jointure sur GRAPHE d HERITAGE

65 Héritage Structurel dans DATE avec Opérateur « (CP) » ? Opérateur bidirectionnel avec argument dentrée une clé primaire Equivalent à un « INDEX sur Attribut CP » de la racine de larbre dhéritage (valeur sréelles) Syntaxe « « CP Liste attributs du chemin hiérarchique » Tout attribut concerné par le graphe dhéritage peut être nommé après lopérateur La clé Primaire CP doit faire partie dun graphe dhéritage entre domaines PRIMAIRES

66 Héritage Structurel dans DATE «CP » ? Q : SELECT P# ENOM, SALAIRE,NBHV FROM PILOTE WHERE P# NBHV > ( SELECT MAX NBHV FROM PILOTE WHERE P# ADR = Nice ); EMPNO PILNO TABLE EMPLOYE (E#: EMPNO, ENOM, SALAIRE, ADR) TABLE PILOTE (P#:PILNO, NBHV) TABLE HOTESSE (H# : HOTESSNO, RANG) HOTESSNO

67 Autre forme requête Autre forme requête SELECT E# ENOM, SALAIRE,NBHV FROM EMPLOYE WHERE E# NBHV > ( SELECT MAX NBHV FROM PILOTE WHERE P# ADR = Nice );

68 Langage D ( " D " pour " Domain "?, " C++"?," DATE"?) Classe d'objets dans des domaines relationnels " DOMAINE Relationnel" ( CODD 1970) à utiliser complètement pour modéliser les classes d'objets " Types de données sémantiques (encapsulés, définis par l'utilisateur, de valeur de complexité arbitraire ) - avec les fonctions /méthodes définies par l'utilisateur). + Les propriétés (R)ICE au niveau du Domaine

69 Langage D " SUB-DOMAIN" et "SUPER-DOMAIN" pour l'héritage des fonctions (Heritage OPERATIONNEL des METHODES) Exemple : Create Domain HotesseNO : (Subdomain) de EMPNO C.Date : Résultat du 2ème manifeste : " Les types de données, les fonctions définies par l'utilisateur et lhéritage (Note : RICE) sont orthogonaux au Modèle Relationnel"

70 Langage D Exemples illustrant ( R ) ICE avec le langage D : - 2D - Thésaurus Note : héritage à valider avec les domaines primaires (Opérateur « » entre valeur de domaine primaire et tuples…)

71 Example1 2D ( M. Stonebraker et Date 95 ) (0,0) x2 x1 y1 y2 (0,1) (1,1) (1,0) CREATE TABLE RECTANGLES (RECTID, x1, x2, y1,y2) PRIMARY KEY (RECTID) UNIQUE (x1, x2, y1, y2)

72 Question 2D Q: Trouver les rectangles en intersection avec le carré (0, 1, 0, 1)? SELECT * From RECTANGLES Where (x1>=0 AND x1 =0 AND y2<=1) OR (x2>=0 AND x2<=1...)...OR... OR (x1<=0 AND x2<=1 AND y2<=0 and y2<=1)

73 Avec des DOMAINES COMPLETS ("user-defined data types of arbitrary complexity") CREATE DOMAIN RECTANGLE REP (... RTREE... ) (... RTREE... ) CREATE FUNCTION MAKE-RECT (A FLOAT, B FLOAT, C FLOAT, D FLOAT) (A FLOAT, B FLOAT, C FLOAT, D FLOAT) RETURNS ( RECTANGLE ) RETURNS ( RECTANGLE ) AS BEGIN AS BEGIN DECLARE R RECTANGLE DECLARE R RECTANGLE R.x1 = A; R.x2 = B; R.y1 = C; R.y2 = D; R.x1 = A; R.x2 = B; R.y1 = C; R.y2 = D; RETURN (R) RETURN (R) END; END; CREATE FUNCTION OVERLAP ( R1 RECTANGLE, R2 RECTANGLE ) ( R1 RECTANGLE, R2 RECTANGLE ) RETURNS ( BOOLEAN ) RETURNS ( BOOLEAN ) AS BEGIN... END; AS BEGIN... END;

74 Autre Option Domaines Création Domaine POINT avec 2 paramètres FLOAT et Méthode DISPLAY Création Domaine POINT avec 2 paramètres FLOAT et Méthode DISPLAY Création Domaine RECTANGLE avec 2 paramètres POINT Création Domaine RECTANGLE avec 2 paramètres POINT

75 Exemple 2D en Date CREATE TABLE RECTANGLES CREATE TABLE RECTANGLES ( RECTID défini sur RECTNO, ( RECTID défini sur RECTNO, AR défini -sur–le-Domaine RECTANGLE,...) AR défini -sur–le-Domaine RECTANGLE,...) PRIMARY KEY ( RECTID ) PRIMARY KEY ( RECTID ) UNIQUE ( R ) ;

76 Requête 2D (Date) Q: SELECT * FROM RECTANGLES R WHERE AR.OVERLAP (R, MAKE_RECT(0,1,0,1))= TRUE;

77 « DQL » Rajout Nouvelles fonctions sur le domaine RECTANGLE ROTATION (X1, Y1, ANGLE) et TRANSLATION … Quels sont les rectangles qui après une rotation de 30 degrés sur le coin gauche sont en intersection avec le carré (0,1,0,1) ? Composition de fonctions – Overlap (Make(0,1,0,1), Rotation (x, y, 30,..)..)

78 Exemple2 : Système de recherche d'informations Multimédia THESAURUS Indexation uniforme Indexation uniforme Raffinement des outils pour la recherche (extension ou réduction du champ de recherche) Raffinement des outils pour la recherche (extension ou réduction du champ de recherche) Réseaux sémantiques pour une navigation intelligente (hyperbase) Réseaux sémantiques pour une navigation intelligente (hyperbase) Exemple dun thesaurus dans le domaine informatique Exemple dun thesaurus dans le domaine informatique

79 Thésaurus Computer Science Computer Science Program / Software Hardware Program / Software Hardware Programming DB / Database Computer Peripheral Programming DB / Database Computer Peripheral language language Cobol Basic Pascal C DB Micro Memory Cobol Basic Pascal C DB Micro Memory Machine Processors Machine Processors /Lien de synonymie / Lien de synonymie Lien de Voisinage …….Lien Hiérarchique | Lien de Voisinage …….Lien Hiérarchique |

80 Exemple 2 Thésaurus : Système de recherche d'informations Multimédia Entité DOCUMENT ( DOC#, TITRE,EDITEUR, PAGES, {AUTEURS}, {MOTS-CLES} ) Entité DOCUMENT ( DOC#, TITRE,EDITEUR, PAGES, {AUTEURS}, {MOTS-CLES} ) Multi-valués et 3NF 1) Entité dans le modèle relationnel V1: 1) Entité dans le modèle relationnel V1: DOCUMENT (DOC#, TITRE, EDITEUR, PAGES) DOC-AUTEUR (DOC#, AUTEUR) DOC-MOT-CLE (DOC#, MOT-CLE) 2) 2)

81 Thésaurus (suite) Thésaurus (« type » valeurs potentielles) mal représenté avec des relations !(valeurs réelles) mais …: Thésaurus (« type » valeurs potentielles) mal représenté avec des relations !(valeurs réelles) mais …: (i)Une relation : (i)Une relation : THESAURUS (MOT-CLE1,MOT-CLE2, TYPE) THESAURUS (MOT-CLE1,MOT-CLE2, TYPE) DB Data Base synonymie DB Data Base synonymie Software Data Base hiérarchie... Software Data Base hiérarchie... (ii) OU 3 relations : (ii) OU 3 relations : SYNONYMIE*(MOT-CLE1,MOT-CLE2) SYNONYMIE*(MOT-CLE1,MOT-CLE2) Data Base DB... Data Base DB... HIERARCHIE(MOT-CLE-GEN, MOT-CLE-SPEC) HIERARCHIE(MOT-CLE-GEN, MOT-CLE-SPEC) Comput.Scie Software... Comput.Scie Software... VOISINAGE*(MOT-CLE1, MOT-CLE2) VOISINAGE*(MOT-CLE1, MOT-CLE2) DB DB Machine DB DB Machine REFLEXIVITE !!! REFLEXIVITE !!!

82 Exemple 2 : Système de recherche d'informations Multimédia Q/ Quels sont les documents concernant le software (utilisant les liens sémantiques pour étendre la recherche) dont le titre commence par CONCEPTS ? Q/ Quels sont les documents concernant le software (utilisant les liens sémantiques pour étendre la recherche) dont le titre commence par CONCEPTS ? SELECT *FROM DOCUMENT, DOC-AUTEUR, DOC-MOT-CLE WHERE DOCUMENT.DOC#=DOC-AUTEUR.DOC# andDOCUMENT.DOC#=DOC-MOT-CLE.DOC# and TITLE=CONCEPT% and(DOC-MOT-CLE.MOT-CLE = Software or DOC-MOT-CLE.MOT-CLE IN (SELECT MOT-CLE2 FROM SYNONYMIE WHERE MOT-CLE1 = Software) WHERE MOT-CLE1 = Software) or DOC-MOT-CLE.MOT-CLE IN (SELECT MOT-CLE-SPEC FROM HIERARCHIE WHERE MOT-CLE-GEN = Software) WHERE MOT-CLE-GEN = Software) or DOC-MOT-CLE.MOT-CLE IN (SELECT MOT-CLE2 FROM VOISINAGE WHERE MOT-CLE1 = Software ); ) WHERE MOT-CLE1 = Software ); )

83 Avec des Domaines encapsulés ( Langage D ) CREATE DOMAIN THESAURUS/MOTCLE (... ) CREATE FUNCTION SYNONYMIE (MOT-CLE THESAURUS) (MOT-CLE THESAURUS) RETURNS SET-OF (THESAURUS) RETURNS SET-OF (THESAURUS) CREATE FUNCTION HIERARCHIE (MOT-CLE THESAURUS) (MOT-CLE THESAURUS) RETURNS SET-OF (THESAURUS) RETURNS SET-OF (THESAURUS) CREATE FUNCTION VOISINAGE (MOT-CLE THESAURUS) (MOT-CLE THESAURUS) RETURNS SET-OF (THESAURUS) RETURNS SET-OF (THESAURUS)

84 Modèle de DATE (Suite) CREATE FUNCTION CONCERNE (MOT-CLE THESAURUS) (MOT-CLE THESAURUS) RETURNS SET-OF (THESAURUS) RETURNS SET-OF (THESAURUS) AS BEGIN AS BEGIN < composition des fonctions SYNONYMIE < composition des fonctions SYNONYMIE / HIERARCHIE /VOISINAGE > END / HIERARCHIE /VOISINAGE > END

85 Avec des Domaines encapsulés ( Manipulation DQL ) Q : SELECT * FROM DOCUMENTS WHERE TITRE = CONCEPT% and MOT-CLE IN {SOFTWARE, CONCERNE (SOFTWARE) } CONCERNE (SOFTWARE) } Entité/relation unique DOCUMENTS avec constructeurs SET-OF sur attributs {Attribut défini sur Domaine} CREATE Table DOCUMENT with identity (…. Setof MOT CLE défini sur THESAURUS)…

86 Ex Héritage sur cet exemple SUPER CLASSE : « Document » [ fonction PRET] et 2 sous classes : SUPER CLASSE : « Document » [ fonction PRET] et 2 sous classes : « Livre » « Livre » « Poly » [ Fonction COPY] « Poly » [ Fonction COPY] Hiérarchie de domaines primaires Hiérarchie de domaines primaires Utiliser l Opérateur (Héritage domaine de Date) Q 2 : Quels sont les nombres de pages des livres publiés chez Dunod qui ont été pretés ?

87 Exemple Complet du Modèle OR de DATE sur THESAURUS 1) Définition des DOMAINES/CLASSES 1) Définition des DOMAINES/CLASSES Create Domain DOCNO Primaire Create Domain DOCNO Primaire Fonction PRÊT Fonction PRÊT Create domain LivNO : DocNO Primaire Create domain LivNO : DocNO Primaire Create Domain PolyNO : DocNO Primaire Create Domain PolyNO : DocNO Primaire Fonction COPY Fonction COPY Create Domain Dtitre Create Domain Dtitre Create Domain Dauteur Create Domain Dauteur Create Domain Dpage Create Domain Dpage

88 Suite Schema OR de DATE Create Domain THESAURUS/MC Create Domain THESAURUS/MC Fonction SYN… Fonction SYN… Fonction HIER… Fonction HIER… Fonction VOISIN… Fonction VOISIN… Fonction CONCERNE,… Fonction CONCERNE,… 2) Création des Tables (Relations) 2) Création des Tables (Relations) Create Table Document ( Create Table Document ( DOC# Defini sur DNO, Primay Key DOC# Defini sur DNO, Primay Key Titre defini sur Dtitre Titre defini sur Dtitre NBREPAGE defini sur Dpage NBREPAGE defini sur Dpage SET-OF MOT CLE Defini sur THESAURUS) SET-OF MOT CLE Defini sur THESAURUS)

89 Suite Schéma Thésaurus Create Table Livre Create Table Livre (L# defini sur LivNO Primary key (L# defini sur LivNO Primary key Set-of Auteur defini sur Dauteur Set-of Auteur defini sur Dauteur Editeur defini sur Dedit) Editeur defini sur Dedit) Create Table Poly Create Table Poly (P# Defini sur POLYNO Primary Key (P# Defini sur POLYNO Primary Key Auteur defini sur Dauteur) Auteur defini sur Dauteur)

90 Requête 2 Thésaurus Select L# NBREPAGE

91 Requête 1 et Requête 2 Select L# NBREPAGE From Livre Where Editeur = « Dunod » and PRÊT = « True » and L# Titre = « Concept% » and L# Mot Cle in { Software, CONCERNE (Software)}

92 Les 3 Approches de MODELES de DONNEES OBJETS et OR Les 3 Approches de MODELES de DONNEES OBJETS et OR VALEURS DOMAINES RELATIONS (tables) Const. SET Const. TUPLE 1ier manifeste de BANCILHON ODMG 3ieme manifeste de DATE (OR) 2ième Manifeste de Stonebraker (OR) Structures de données du Modèle Relationnel de CODD (SQL2) SQL3

93 Pour en savoir plus sur le 3 ième Manifeste C. J. Date and Hugh Darwen: Databases, Types, and the Relational Model: The Third Manifesto (3rd edition, Addison-Wesley, 2006) C. J. Date and Hugh Darwen: Databases, Types, and the Relational Model: The Third Manifesto (3rd edition, Addison-Wesley, 2006)

94 Recherche en BD (TIPS) T Transactions longue durée et bursty Transactions longue durée et bursty Protocoles de synchronisation de mode diffusion Protocoles de synchronisation de mode diffusion I Interfaces multimedia, hyperbase, vocales Interfaces multimedia, hyperbase, vocales XQL XQL P Distribution et parallélisme, Distribution et parallélisme, ELDB multimedia ELDB multimedia Algo.de pagination Algo.de pagination

95 Recherche en BD (TIPS) S Modèle objet relationnel (conception via UML, migration, héritage dans modèle de Date, interfaces SQL3-ODMG..) Modèle objet relationnel (conception via UML, migration, héritage dans modèle de Date, interfaces SQL3-ODMG..) Applications et recherches pluri-disciplinaires Datawarehouse, data mining, Groupware Datawarehouse, data mining, Groupware BIG DATA et DATA WEB BIG DATA et DATA WEB Ontologie multimedia personnelle Ontologie multimedia personnelle AGDM AGDM ERP ERP Very Light DB (mobile computing, smart card DB, RFID…) Very Light DB (mobile computing, smart card DB, RFID…)

96 Modèle OR ? Surfeurs sur la vague OR….

97 Marché BD structurée et standards ? Marché BD structurée et standards ? (Stonebraker 96 et Gartner) SGBD- R SGBD-OR Traitements SQL Non SQL (1) (2) SGF SGBD- OO (3) (1): 10 G$ 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 SQL2 G/P/D SQL3 Mobiquité ODMG /CAO Simples Complexes Données


Télécharger ppt "Manifeste de Chris Date sur modèle « Objet Relationnel » (pour données structurées/SQL) Professeur Serge Miranda Directeur Master."

Présentations similaires


Annonces Google