Manifeste de Chris Date sur modèle Objet Relationnel (Modèle de données OBJETS) Professeur Serge...

Preview:

Citation preview

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

Serge.miranda@unice.fr

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….

Recommended