72
Manifeste de Chris Date Manifeste de Chris Date sur modèle Objet Relationnel sur modèle Objet Relationnel (Modèle de données OBJETS) (Modèle de données OBJETS) Professeur Serge Miranda [email protected] Directeur Master2 « MBDS » www.mbds-fr.org

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

  • Upload
    azana

  • View
    39

  • Download
    0

Embed Size (px)

DESCRIPTION

Manifeste de Chris Date sur modèle Objet Relationnel (Modèle de données OBJETS). Professeur Serge Miranda [email protected] 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

[email protected]

Directeur Master2 « MBDS »

www.mbds-fr.org

Page 2: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 3: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 4: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 5: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

MODELE DE DONNEESDU FUTUR ?

2- NOUVELLES FONCTIONNALITES

MODELE DE DONNEES ?

NOUVELLES NICHES

==> NOUVEAUX BESOINS ?

Page 6: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 7: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

NOUVEAUX DOMAINES APPLICATIFS

(OLTP ET OLCP)

* GESTION RESEAU (TELCO,..)

* EDITION ELECTRONIQUE

Multimedia (NIM , Groupware...)

* FINANCE ( gestion portefeuilles…)

Page 8: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 9: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 10: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 11: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 12: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données 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,…)

Concepts Objets ?

Page 13: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données 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

Page 14: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 15: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

Evolution de l'informatique etOBJET

1965LP OS

1970 LP

IA SGF SGBD

OS : Operating SERVICES ?

Page 16: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 17: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

Evolution de l'informatique et OBJET

198OOS

SGBD-R

SGBD-ROS

LP

IA

1990 OS

Objet LP SGBD-R

IA

Page 18: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

Evolution de l'informatique

2000 ?" Il est dur de prédire, particulièrement ... le futur " N.Boehr

?

? ?

SERVICES ?

Page 19: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

Evolution du logiciel et OBJETS

DONNEES TRAITEMENTS

OBJETS

SGBD-R L.P ( SQL ) ( Prog. structurée )

GENIE LOGICIEL

COMMUNICATION

Page 20: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

Approche Objet et développement d'application

INTERFACE

APPLICATION

SGBD

Approche Objet

IntégrationObjet

DB

PB : " IMPEDANCE MISMATCH «  et productivité du développeur

Page 21: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 22: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 23: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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 »

Page 24: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données 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....

Page 25: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

LES 3 VAGUES vers l ’Infostructure en réseau

Serveurs defichiers

Groupware

Client-Serveur SQL

Moniteur TP

SYSTEMES OBJETSREPARTIS

Page 26: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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.

Page 27: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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 )

Page 28: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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 !

Page 29: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 30: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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 ”

Page 31: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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 »

Page 32: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données 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....

Page 33: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

2 approches :

NOUVEAU MODELE : OO (ODMG)

Manifeste de Bancilhon

ENRICHISSEMENT MODELE RELATIONNEL: OR

Manifeste de Stonebraker

Manifeste de Date

MODELE de données « RICE »

Page 34: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

SQL3 et Modèle OR ?SQL3 et Modèle OR ?

SQL3 intègre les 2 Manifestes OR ! CREATE TYPE (« Date ») CREATE TABLE (« Stonebraker »)

Page 35: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

Propriétés RICE d'unSGBD OBJET Relationnel

(Incrémentales par rapport à un SGBD relationnel)

Modèle relationnel de Codd

R

I

C

E

Page 36: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 37: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 38: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 39: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 40: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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 )

........

Page 41: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 42: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

« 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, ...

Page 43: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 44: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 45: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 46: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 47: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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 ?

Page 48: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 49: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 50: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

Héritage entre domainesHéritage entre domaines

Graphe d’héritage entre domaines primaires

EMPNO

PILNO

100 103

100 103

HotessNO

Page 51: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 52: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 53: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 54: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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"

Page 55: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 56: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 57: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 58: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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;

Page 59: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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;

Page 60: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

« 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, ..)..)

Page 61: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 62: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 63: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 64: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 65: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 66: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 67: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 68: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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…

Page 69: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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)

Page 70: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 71: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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

Page 72: Manifeste de Chris Date  sur modèle Objet Relationnel (Modèle de données OBJETS)

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