Manifeste de Chris Date Manifeste de Chris Date sur modèle Objet Relationnelsur modèle Objet Relationnel(Modèle de données OBJETS)(Modèle de données OBJETS)
Professeur Serge Miranda
Directeur Master2 « MBDS »
www.mbds-fr.org
Plan Partie 1Plan Partie 1Evolution 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
Plan
Exemple de « table » et « objet » (Oracle)
24 ParisPaul
ConducteurAge
45Paul
17Robert
Rapport
134
219
Photo
037
Accident
Table ? Objet ?Police Assurance
Police NomAdresse Conducteurs Accidents
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 ...)
« 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,…)
Concepts 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
Langage Prog.OBJET
Modèle Relationnelde Codd (V1)
Modèle OR(Objet- Relationnel)
Modèle OR ?
PropriétésRICE
PropriétésTIPS
Propriétés TIPS + RICE
Compatibilité ascendante
Evolution de l'informatique etOBJET
1965LP OS
1970 LP
IA SGF SGBD
OS : Operating SERVICES ?
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
1970 OS SGBDR SGF
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
198OOS
SGBD-R
SGBD-ROS
LP
IA
1990 OS
Objet LP 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
OBJETS
SGBD-R L.P ( SQL ) ( Prog. structurée )
GENIE LOGICIEL
COMMUNICATION
Approche Objet et développement d'application
INTERFACE
APPLICATION
SGBD
Approche Objet
IntégrationObjet
DB
PB : " IMPEDANCE MISMATCH « et productivité du développeur
Marché BD et standards ?Marché BD et standards ?(Stonebraker 96 et Gartner)
SGBD- R SGBD-OR
Traitements
SQL
NonSQL
(1) (2)
SGF SGBD- OO(3)
(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 !
SQL2 SQL3
ODMG
Simples Complexes Données
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'unSGBD OBJET
(Miranda, 2002) Dunod
(Incrémentales par rapport à un SGBD relationnel)
R (Réutilisabilité) : "Héritage" ou "polymorphisme"
==> Graphe héritageI (Identification système)
C (Constructeurs d'objets complexes) Orthogonalité TUPLE et SET
==> Graphes d'agrégationE ("Encapsulation")
"Messages", "Méthodes", "CLASSES d’Objets »
Classe 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
Serveurs defichiers
Groupware
Client-Serveur SQL
Moniteur TP
SYSTEMES OBJETSREPARTIS
Une évolution vers leUne évolution vers leMiddlewareMiddleware
( " l' empire du milieu " )( " l' empire du milieu " )
HARDWAREHARDWARE
SOFTWARESOFTWARE
MIDDLEWAREMIDDLEWARE
Middleware par Middleware par couplage fortcouplage fort (CORBA) et ou (CORBA) et ou faiblefaible (Services WEB)(Services WEB)Priorité : inter-Priorité : inter-opérabilité des plates-opérabilité des plates-formes hétérogènes.formes hétérogènes.
WWW et Multimédia :WWW et Multimédia :l'ELDORANET ?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)
“Un objet est une capsule logicielle (E) oblative identifiée (I) avec un tropisme connatif incrémental(C)dont l’hétéronomie est la marque de la durée de l’éphémère et la hoirie (R), la marque de la richesse ”
Propriétés RICE d'unSGBD OBJET
(Miranda, 1996) Eyrolles(Miranda, 2002) Dunod
(Incrémentales par rapport à un SGBD relationnel)
R (Réutilisabilité) : "Héritage" ou "polymorphisme"
==> Graphe héritageI (Identification système)
C (Constructeurs d'objets complexes) Orthogonalité TUPLE et SET
==> Graphes d'agrégationE ("Encapsulation")
"Messages", "Méthodes", "CLASSES d’Objets »
Classe 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....
2 approches :
NOUVEAU MODELE : OO (ODMG)
Manifeste de Bancilhon
ENRICHISSEMENT MODELE RELATIONNEL: OR
Manifeste de Stonebraker
Manifeste de Date
MODELE de données « RICE »
SQL3 et Modèle OR ?SQL3 et Modèle OR ?
SQL3 intègre les 2 Manifestes OR ! CREATE TYPE (« Date ») CREATE TABLE (« Stonebraker »)
Propriétés RICE d'unSGBD OBJET Relationnel
(Incrémentales par rapport à un SGBD relationnel)
Modèle relationnel de Codd
R
I
C
E
E ENOM ADR
Héritage
TupleNBHV 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
…
…
Retour vers le futur avec leRetour vers le futur avec leTroisième Manifeste de DateTroisième Manifeste de Date
(C. DATE, H. DARWEN, “Data Base Programming and design” (C. DATE, H. DARWEN, “Data Base Programming and design” January 1995, pp 25-34)January 1995, pp 25-34)
""Object features are orthogonal to the Object features are orthogonal to the Relational DM and therefore RDM eeds no Relational DM and therefore RDM eeds no extension, no correction, no subsumption, no extension, no correction, no subsumption, no perversion in order for them to be accommodated perversion in order for them to be accommodated ""
Chris DATEChris DATE
1er manifeste “manifeste des SGBD orientés-1er manifeste “manifeste des SGBD orientés-objet” (Bancilhon et al) est basé sur approche objet” (Bancilhon et al) est basé sur approche objet des LPobjet des LP
2ème manifeste “le manifeste de la 3ème-2ème manifeste “le manifeste de la 3ème-génération des SGBD” (Stonebraker et al) est génération des SGBD” (Stonebraker et al) est basé sur SQLbasé sur SQL
Modèles relationnels de Modèles relationnels de CODDCODD
" L' homme n'est qu'un noeud de RELATIONS " 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éryAntoine de Saint-Exupéry
Modèle Relationnel de Modèle Relationnel de CODD (V1)CODD (V1)
SQL2SQL2
VILLE = { NICE, PARIS, LYON, TOULO USE}VILLE = { NICE, PARIS, LYON, TOULO USE}
PILOTE PILNO PILNOM ADRPILOTE PILNO PILNOM ADR
100 SERGE NICE100 SERGE NICE 101 JOHN 101 JOHN
PARISPARIS 102 PETER 102 PETER
TOULOUSETOULOUSE
LIGNE = N-UPLET ( "TUPLE" )LIGNE = N-UPLET ( "TUPLE" ) COLONNE = ATTRIBUT ("ATTRIBUTE")COLONNE = ATTRIBUT ("ATTRIBUTE")
DOMAINE ("Domain")
Modèles relationnelsModèles relationnels
Les modèles relationnels de CODDLes modèles relationnels de CODD
V1V1 ( 1970 ) " b.c. " 1970 ( 1970 ) " b.c. " 1970 RM-T ( 1980 ) etRM-T ( 1980 ) et V2 / V3 ( 1990 ) " a.c. " 1970V2 / V3 ( 1990 ) " a.c. " 1970
SQL :SQL :
SQL1SQL1 ( 1989 ) ( 1989 ) SQL2SQL2 ( 1992 ) ( 1992 ) SQL3SQL3 ( 199X, 200X ) ( 199X, 200X )
........
Modèles V2 et V3 de Modèles V2 et V3 de CODDCODD
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 R« Structuration » Modèle RParadigme « VALEUR » Paradigme « VALEUR »
"STRUCTURATION" (comme le "S" de SQL )
100 Peter A300 VALEURS500 John A320Toulouse 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)Structuration (Suite)
2ème phase de structuration 2ème phase de structuration : : constructeur constructeur TUPLETUPLE " Relations" = " ensemble de tuples "" Relations" = " ensemble de tuples "
RELATIONSRELATIONS
AVION AV# AVNOM CAP AVION AV# AVNOM CAP LOCLOC
100 A300 200 100 A300 200 ParisParis
101 A320 250 101 A320 250 Nice Nice
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
Vue des bigots du RELATIONNELVue 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 RICE3 possibilités de RICEpour le modèle OBJET et pour le modèle OBJET et
BDBD
VALEURS
DOMAINES
RELATIONS
Const. SET
Const. TUPLE
1ier manifeste de BANCILHON (ODMG)
3ieme manifeste de DATE (OR)
2ième Manifeste de Stonebraker (OR)
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 ?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 lesclasses 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 DomainesHéritage avec opérateur « » entre valeur de Domaine primaire et tuples (index domaine)
Héritage entre domainesHéritage entre domaines
Graphe d’héritage entre domaines primaires
EMPNO
PILNO
100 103
100 103
HotessNO
Héritage double Héritage double dans BD dans BD
HS : Héritage « structurel » HS : Héritage « structurel » (attributs)(attributs)
HM Héritage « méthodes »HM Héritage « méthodes »
Dans modèle de Stonebraker : HM + Dans modèle de Stonebraker : HM + HS au niveau des tablesHS au niveau des tables
Dans modèle de DateDans modèle de Date HM au niveau des domainesHM au niveau des domaines HS au niveau des tables ‘avec opérateur HS au niveau des tables ‘avec opérateur
de mapping noté « « de mapping noté « « » entre » entre domaines primaires et tuplesdomaines primaires et tuples
Héritage dans DATE « » ?
SELECT E# (EMPNO) NOM, SALAIRE,NBHVFROM EMPLOYEWHERE E# NBHV >
( SELECT NBHV FROM PILOTEWHERE E# NOM = ‘Jean’) ;
EMPNO
PILNO
100 103
100 103
TABLE EMPLOYE (E#: EMPNO, ENOM, SAL)
TABLE PILOTE (P#:PNO, NBHV)
Langage D
( " D " pour " Domain "?, " C++"?," DATE"?)
Regroupement d'objets dans des domaines relationnels
" DOMAINE Relationnel" ( CODD 1970) à utiliser complètement pour modéliser les classes d'objets
" Types de données encapsulés définis par l'utilisateur, de complexité arbitraire et représentant une partie
de l’univers réel" ( avec les fonctions définies par l'utilisateur).
Les propriétés RICE au niveau du Domaine
Langage DLangage D
" SUB-DOMAIN" et "SUPER-DOMAIN" pour
l'héritage des données et fonctions.
Note : Résultat du 2ème manifeste : " Les types de données,les fonctions définies par l'utilisateur" et "l'héritage" sont " orthogonaux au Modèle Relationnel"
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…)
Example1 2D ( M. Stonebraker et Date 95 )
(0,0)x2x1
y1
y2(0,1) (1,1)
(1,0)
CREATE TABLE RECTANGLES (RECTID, x1, x2, y1,y2)
PRIMARY KEY (RECTID)UNIQUE (x1, x2, y1, y2)
Question 2DQuestion 2D Q: Trouver les rectangles en
intersection avec le carré (0, 1, 0, 1)?
SELECT * From RECTANGLES Where(x1>=0 AND x1<=1 AND y1>=0 AND
y2<=1)OR (x2>=0 AND x2<=1...)...OR...OR (x1<=0 AND x2<=1 AND y2<=0 and
y2<=1)
Avec des DOMAINES COMPLETSAvec des DOMAINES COMPLETS("user-defined data types of arbitrary ("user-defined data types of arbitrary
complexity")complexity")
CREATE DOMAIN RECTANGLE REPCREATE DOMAIN RECTANGLE REP ( ... RTREE ... )( ... RTREE ... )
CREATE FUNCTION MAKE-RECTCREATE 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 RECTANGLEDECLARE 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 OVERLAPCREATE FUNCTION OVERLAP ( R1 RECTANGLE, R2 RECTANGLE )( R1 RECTANGLE, R2 RECTANGLE ) RETURNS ( BOOLEAN )RETURNS ( BOOLEAN ) AS BEGIN ... END;AS BEGIN ... END;
Exemple 2D en DateExemple 2D en Date CREATE TABLE RECTANGLESCREATE TABLE RECTANGLES ( RECTID, R RECTANGLE, ...)( RECTID, R RECTANGLE, ...) PRIMARY KEY ( RECTID ) UNIQUE ( R ) ;PRIMARY KEY ( RECTID ) UNIQUE ( R ) ;
Q: SELECT * FROM RECTANGLES RWHERE OVERLAP (R, MAKE_RECT(0,1,0,1))= TRUE;
« DQL »« DQL »
Rajout Nouvelle fonction
ROTATION (X1, Y1, ANGLE) et TRANSLATION …sur le domaine RECTANGLE
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 (…, 30, ..)..)
Exemple2 : Système de Exemple2 : Système de rechercherecherched'informations Multimédiad'informations Multimédia
THESAURUSTHESAURUS Indexation uniformeIndexation uniforme Raffinement des outils pour la Raffinement des outils pour la
recherche (extension ou réduction recherche (extension ou réduction du champs de recherche)du champs de recherche)
Réseaux sémantiques pour une Réseaux sémantiques pour une navigation intelligente (“hyperbase”)navigation intelligente (“hyperbase”) Exemple d’un thesaurus dans le Exemple d’un thesaurus dans le
domaine domaine informatiqueinformatique
ThésaurusThésaurus
Computer ScienceComputer Science
Program / Software Program / Software Hardware Hardware
Programming DB / Database Computer PeripheralProgramming DB / Database Computer Peripheral language language
Cobol Basic Pascal C DB Micro MemoryCobol Basic Pascal C DB Micro Memory Machine Processors Machine Processors
// Lien de synonymieLien de synonymie Lien de VoisinageLien de Voisinage Lien HiérarchiqueLien Hiérarchique
Exemple 2 Thésaurus : Système de Exemple 2 Thésaurus : Système de recherche d'informations Multimédiarecherche d'informations Multimédia
Entité DOCUMENT ( DOC#, TITRE,EDITEUR, Entité DOCUMENT ( DOC#, TITRE,EDITEUR, PAGES, {AUTEURS}, {MOTS-CLES} )PAGES, {AUTEURS}, {MOTS-CLES} )
Multi-valuésMulti-valués
1) Entité dans le modèle relationnel V1:1) Entité dans le modèle relationnel V1:DOCUMENT (DOCUMENT (DOC#,DOC#, TITRE, EDITEUR, PAGES) TITRE, EDITEUR, PAGES)
DOC-AUTEUR DOC-AUTEUR (DOC#, AUTEUR(DOC#, AUTEUR))
DOC-MOT-CLE (DOC-MOT-CLE (DOC#, MOT-CLEDOC#, MOT-CLE))
2)2)
Thésaurus (suite)Thésaurus (suite) Thésaurus dans le modèle V1 :Thésaurus dans le modèle V1 :
(i)(i) Une relation :Une relation :
THESAURUS (MOT-CLE1,MOT-CLE2, TYPE)THESAURUS (MOT-CLE1,MOT-CLE2, TYPE)
DB Data Base synonymieDB Data Base synonymie
Software Data Base hiérarchie ...Software Data Base hiérarchie ...
(ii) OU 3 relations :(ii) OU 3 relations :
SYNONYMIE(SYNONYMIE(MOT-CLE1,MOT-CLE2MOT-CLE1,MOT-CLE2))
Data Base DB ...Data Base DB ...
HIERARCHIE(HIERARCHIE(MOT-CLE-GEN, MOT-CLE-SPECMOT-CLE-GEN, MOT-CLE-SPEC))
Comput.ScieComput.Scie Software ... Software ...
VOISINAGE(VOISINAGE(MOT-CLE1,MOT-CLE1, MOT-CLE2 MOT-CLE2))
DBDB DB Machine DB Machine
Exemple 2 : Système de rechercheExemple 2 : Système de recherched'informations Multimédiad'informations Multimédia
Q/ Q/ Quels sont les documents concernant Quels sont les documents concernant le software (utilisant les liens sémantiques le software (utilisant les liens sémantiques pour étendre la recherche) dont le titre pour étendre la recherche) dont le titre commence par “CONCEPTS” ?commence par “CONCEPTS” ?
SELECT *FROM DOCUMENT, DOC-AUTEUR, DOC-MOT-CLESELECT *FROM DOCUMENT, DOC-AUTEUR, DOC-MOT-CLEWHERE DOCUMENT.DOC#=DOC-AUTEUR.DOC# WHERE DOCUMENT.DOC#=DOC-AUTEUR.DOC#
andand DOCUMENT.DOC#=DOC-MOT-CLE.DOC#DOCUMENT.DOC#=DOC-MOT-CLE.DOC#and and TITLE=“CONCEPT%”TITLE=“CONCEPT%”andand (DOC-MOT-CLE.MOT-CLE = “Software”(DOC-MOT-CLE.MOT-CLE = “Software”or DOC-MOT-CLE.MOT-CLE INor DOC-MOT-CLE.MOT-CLE IN
(SELECT MOT-CLE2 FROM SYNONYMIE(SELECT MOT-CLE2 FROM SYNONYMIE WHERE MOT-CLE1 = “Software”) WHERE MOT-CLE1 = “Software”) <+ INVERSE><+ INVERSE>
or DOC-MOT-CLE.MOT-CLE INor DOC-MOT-CLE.MOT-CLE IN(SELECT MOT-CLE-SPEC FROM HIERARCHIE(SELECT MOT-CLE-SPEC FROM HIERARCHIE WHERE MOT-CLE-GEN = “Software”)WHERE MOT-CLE-GEN = “Software”)
or DOC-MOT-CLE.MOT-CLE INor DOC-MOT-CLE.MOT-CLE IN(SELECT MOT-CLE2 FROM VOISINAGE(SELECT MOT-CLE2 FROM VOISINAGE WHERE MOT-CLE1 = “Software” ); WHERE MOT-CLE1 = “Software” ); <+ INVERSE>)<+ INVERSE>)
Avec des Domaines encapsulésAvec des Domaines encapsulés( Langage D )( Langage D )
CREATE DOMAIN THESAURUS ( ... )CREATE DOMAIN THESAURUS ( ... )
CREATE FUNCTION SYNONYMIECREATE FUNCTION SYNONYMIE (MOT-CLE THESAURUS) (MOT-CLE THESAURUS) RETURNS SET-OF (THESAURUS)RETURNS SET-OF (THESAURUS)
CREATEFUNCTION HIERARCHIECREATEFUNCTION HIERARCHIE (MOT-CLE THESAURUS)(MOT-CLE THESAURUS) RETURNS SET-OF (THESAURUS)RETURNS SET-OF (THESAURUS)
CREATE FUNCTION VOISINAGECREATE FUNCTION VOISINAGE (MOT-CLE THESAURUS)(MOT-CLE THESAURUS) RETURNS SET-OF (THESAURUS)RETURNS SET-OF (THESAURUS)
Modèle de DATE (Suite)Modèle de DATE (Suite)CREATE FUNCTION THESAURCREATE FUNCTION THESAUR (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
Avec des Domaines Avec des Domaines encapsulésencapsulés( Manipulation DQL )( Manipulation DQL )
Q : Q :
SELECT *SELECT *FROM DOCUMENTSFROM DOCUMENTSWHERE TITRE = “CONCEPT%”WHERE TITRE = “CONCEPT%”andand MOT-CLE IN {SOFTWARE,MOT-CLE IN {SOFTWARE,
THESAUR (SOFTWARE) }THESAUR (SOFTWARE) }
Entité/relation unique DOCUMENTS avec constructeurs SET-OF sur attributs…
Ex Héritage sur cet Ex Héritage sur cet exempleexemple
« Document » [ fonction PRET]« Document » [ fonction PRET] « Livre »« Livre » « Poly » [ Fonction COPY]« Poly » [ Fonction COPY]
Hiérarchie de domaines Hiérarchie de domaines primairesprimaires
Utiliser l’ Opérateur Utiliser l’ Opérateur (Héritage (Héritage domaine de Date)domaine de Date)
Recherche en BD (TIPS)Recherche en BD (TIPS) TT
Transactions longue durée et Transactions longue durée et burstybursty Protocoles de synchronisation de mode Protocoles de synchronisation de mode
diffusiondiffusion II
Interfaces multimedia, hyperbase, vocales Interfaces multimedia, hyperbase, vocales XQLXQL
PP Distribution (JINI/BD, middleware,..) Distribution (JINI/BD, middleware,..) parallélisme, parallélisme, ELDB multimediaELDB multimedia Algo.de paginationAlgo.de pagination
Recherche en BD (TIPS)Recherche en BD (TIPS)
SS Modèle Modèle objet relationnelobjet relationnel (conception via UML, migration, (conception via UML, migration,
héritage dans modèle de Date, interfaces SQL3-ODMG..)héritage dans modèle de Date, interfaces SQL3-ODMG..)
Applications et recherches pluri-Applications et recherches pluri-disciplinairesdisciplinaires
Datawarehouse, data mining, GroupwareDatawarehouse, data mining, Groupware Ontologie multimedia personnelleOntologie multimedia personnelle AGDMAGDM ERPERP Very Light DB (mobile computing, smart card DB, Very Light DB (mobile computing, smart card DB,
RFID…) RFID…)
Modèle OR ?Modèle OR ?Surfeurs sur la vague OR….