Manifeste de Chris Date sur modèle «Objet Relationnel» (pour données structurées/sql)



Documents pareils
1 Introduction et installation

Les Bases de Données et l Objet Introduction

Systèmes d information et bases de données (niveau 1)

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Les bases de données

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Cours Base de données relationnelles. M. Boughanem, IUP STRI

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Bases de données avancées Introduction

Java et les bases de données

Bases de données relationnelles : Introduction

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

16H Cours / 18H TD / 20H TP

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Le langage SQL (première partie) c Olivier Caron

Le Langage SQL version Oracle

CHAPITRE 1 ARCHITECTURE

Introduction aux Bases de Données Relationnelles Conclusion - 1

Cours Bases de données

Bases de Données. Plan

UML et les Bases de Données

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES?

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Le langage SQL Rappels

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Information utiles. webpage : Google+ : digiusto/

Module BD et sites WEB

Introduction au Système de Gestion de Base de Données et aux Base de Données

Architectures d'intégration de données

WEA Un Gérant d'objets Persistants pour des environnements distribués

Bases de données Cours 1 : Généralités sur les bases de données

4.2 Unités d enseignement du M1

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Cursus détaillé du MBDS

Bases de données cours 1

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Bases de données - Modèle relationnel

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

SQL Server 2012 et SQL Server 2014

Bases de données relationnelles

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Présentation du module Base de données spatio-temporelles

Les nouvelles architectures des SI : Etat de l Art

Bases de Données relationnelles et leurs systèmes de Gestion

SQL Historique

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Module BDR Master d Informatique (SAR)

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

INTRODUCTION AUX BASES de DONNEES

BD 2: des Bases de Données à Big Data

Chapitre 10. Architectures des systèmes de gestion de bases de données

Conception des systèmes répartis

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Urbanisme du Système d Information et EAI

TP Bases de données réparties

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Administration des bases de données. Jean-Yves Antoine

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours

Les bases de données relationnelles

CESI Bases de données

IFT3030 Base de données. Chapitre 1 Introduction

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Intégration de données hétérogènes et réparties. Anne Doucet

Devenez un véritable développeur web en 3 mois!

Modélisation de bases de données : Le modèle relationnel

Introduction à la B.I. Avec SQL Server 2008

Introduction aux Bases de Données

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Bases de données Outils de gestion

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

La problématique. La philosophie ' ) * )

Introduction à SQL2. Professeur Serge Miranda Directeur Master «MBDS»

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

GPC Computer Science

1 Modélisation d une base de données pour une société de bourse

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Introduction aux bases de données et aux SGBD

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012

1/ Présentation de SQL Server :

Les bases de données Page 1 / 8

2 Serveurs OLAP et introduction au Data Mining

1. Introduction à la distribution des traitements et des données

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Transcription:

Manifeste de Chris Date sur modèle «Objet Relationnel» (pour données structurées/sql) Professeur Serge Miranda serge.miranda@unice.fr Directeur Master «MBDS» www.mbds-fr.org

Plan Partie 1 Evolution de l'informatique et paradigme Objet : vers le modèle OR - Les propriétés TIPS des SGBD n Modèle de données orientées objet? n " L'insoutenable légèreté de l'objet " n Les définitions consensuelles n Les propriétés «RICE» de l Objet n n n Modèle de Données «OR» (Objet relationnel) n Les 2 approches de base n n le manifeste de Stonebraker n Le manifeste de Chris Date Exemples : Thésaurus/2D Recherches TIPS http://thethirdmanifesto.com/

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

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

BD RELATIONNELLES (SQL)

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

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

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

Traitements SQL Non SQL Marché BD et standards? (Stonebraker 96 et Gartner) SGBD-OR SGBD- R (1) SQL2 G/P/D (2) SQL3 Mobiquité SGF SGBD- OO (3) ODMG /CAO Simples Complexes Données (1) : 10 G$ <licences *> en 2010 (20 % de croissance, 60 G $ en 2020) (3) : 1/100 de (1) en 2010 et 2020 (2) : 2x (3) en 2010 ; 2*(1) en 2020! * Marché de 27 G dollars avec services et support en 2010

Rappels Modèle de données «relationnel» (de CODD) n «Modèle relationnel de CODD» n è Prérequis à SQL2 n «Modèle OR de Chris Date» (3rd manifesto) n è Prérequis à SQL3 et ODMG n Modèle de Codd (19/8/1968) n DOMAINES n RELATIONS n Attributs/CP/CE n Double définition formelle n Exemple de schéma relationnel au sens de Codd

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

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

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

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

Exemple de «table» et «objet» (Oracle) Police Nom Adresse Conducteurs Accidents 24 Paul Paris Conducteur Age Paul 45 Robert 17 Accident Rapport 134 Photo 219 037 Table? Objet?Police Assurance

MODELE DE DONNEES DU FUTUR? (BD du futur? futur des BD?) 1- BASE (90 %) : MARCHÉ RELATIONNEL SQL AVEC 3 "Éléphants"... - Oracle, IBM (Informix,DB2) et Microsoft (SQL server, Sybase) ==> compatibilité ascendante facilité d'apprentissage (teachability),.. "EVOLUTION" >> "REVOLUTION"!

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

MODELE DE DONNEES DU FUTUR? n NOUVELLES INFOSTRUCTURES mainframe / centralisées 2-tier : «Client-serveur (données)» n n-tier : n Serveur INCONNU («Cloud») n Serveur d Interaction n Serveur EDGE n serveur web (mobile)- n serveur (application)- n 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) * MOBIQUITE * CAO (CAD) (1 Tera d objets tagués en 2020) m- Commerce (CAL), VOD sur Internet, Internet sans fil (TEL WAP/GPRS/UMTS, PDA, WIFI/Bluetooth..)

PROFIL MODELE DE DONNEES et SGBD? Gestion de très grandes BD : vers les BD de l'ordre du... petaoctets (10**15 ) ==> évolutivité du serveur («SCALABILITY» UP vs OUT) (SMP>>MPP? pour.. raisons logicielles et VLRAM)

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

PROFIL MODELE DE DONNEES OR et SGBD? 1-données FORTEMENT STRUCTUREES (schéma) - objets métiers -Génie progiciel - objets complexes imbriqués (Types définis par l'utilisateur/ USER-DEFINED DATA TYPES/ FUNCTIONS) - compatibilité ascendante (standard SQL) ==> EXTENSIBILITE DES DONNEES /TYPES

PROFIL MODELE DE DONNEES OR et SGBD? 2- Données NON STRUCTUREES (énantiodromia du MD!) - objets volumineux BLOBS (video,..) - objets à sémantique riche (hyperliens,..) - MULTIMEDIA (DVBH, Media FLO,..) - Objets «vivants» (RFID, NFC, Capteurs,..) è interfaces navigationnelles et associatives- SQL++ (SAT) è OAT ==> interfaces nouvelles basées sur le contenu (hyperbase, neuronale, multimedia, VOCALES...)

«OBJET»?

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

Faiblesses du modèle relationnel Opérations séparées des données procédures stockées non intégrées DM absence d'attributs cachés Support de domaines atomiques 1ère forme normale de Codd inadapté aux objets complexes (documents structurés) introduction des BLOB. Mauvais support des applications non gestion : CAO, CFAO, BD Géographiques, BD techniques

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

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

Evolution de l'informatique 1970 OS Services OS : w Gestion des ressources physiques Ä algorithme de pagination w Sécurité Ä Confidentialité d'acces Ä Contrôle de Synchronisation (sémaphores,verrouillage, deadlock,... ) w Modélisation : (" processus ")... pas de langage de programmation. SGF SGBDR Services SGBD-R ( Propriétés TIPS ): w (P) GestionPersistance Ä LRU ++ w (T) Sécurité & Transactionnel (ACID) Intégrité (S) Structuration/ Schéma via des modèles de données (I) Interface utilisateur Non procédurale(sql)

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

Evolution de l'informatique VERS LES ESPACES DATA MOBIQUITAIRES 2020? " Il est dur de prédire, particulièrement... le futur " N.Boehr??? w «SERVICES»? w + Ontologies ++ Linked Data (OPEN DATA, BIG DATA)

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

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

WWW et MOBIQUITE : l'eldoranet? w 15 % des données au monde sont... digitalisées! ( Edition Multimedia demain et fin Hollywood? Effeuiller la Marguerite... ) ==> CONTROLE DES DONNEES COMPLEXES w SGBD-R : Données simples et structurées avec un typage stable. w 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

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

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

w VISION DOUBLE : w (i) LP : objet "encapsulé Visions de l'objet Ä Opérateurs SPECIFIQUES (classes, propriétés) F héritage (instantiation) F Polymorphisme w (ii) BD : objet "structuré Ä opérateurs GENERIQUES (algèbre,...) F Persistance F Concurrence / reprise sur panne w Dualité des concepts structurels

Objets? w Naturels : L'homme traite des " Objets " ( l'ordinateur des... " Données " ) w Appréhension de la Complexité : ( ATT a inventé C++ pour la réalisation des concentrateurs de 200 000 lignes de codes ) w Réutilisation et flexibilité ( " programmation en Kit ") w L'Encapsulation : ( données + traitements ) w Productivité du développeur ( le but ultime! ) w Un concept ( flou )... UNIFICATEUR!

L'insoutenable légèreté de l'objet! w " 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? w 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'un SGBD OBJET (Miranda, 1996) Eyrolles (Miranda, 2002) Dunod (Incrémentales par rapport à un SGBD relationnel) R (Réutilisabilité) : "Héritage" ou "polymorphisme" ==> Graphe héritage I (Identification système) C (Constructeurs d'objets complexes) Orthogonalité TUPLE et SET ==> Graphes d'agrégation E ("Encapsulation") "Messages", "Méthodes", "CLASSES d Objets»

Classe d objets? n DEFINITION : Une CLASSE d OBJETS - est un («valeurs potentielles») - a/possède un («valeurs réelles») TYPE de DONNEES qui vérifie les propriétés RICE...

MODELE de données «RICE» 2 approches : NOUVEAU MODELE : OO (ODMG) 1ier Manifeste de François Bancilhon ENRICHISSEMENT MODELE RELATIONNEL: OR 2ième Manifeste de Mike Stonebraker 3ième Manifeste de Chris Date

SQL3 et Modèle OR? n SQL3 intègre les 2 Manifestes OR! Avec 2 possibilités de créer des CLASSES d OBJETS : n CREATE TYPE («Date») n CREATE TABLE («Stonebraker»)

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

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

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 w 1er manifeste manifeste des SGBD orientés-objet (Bancilhon et al) est basé sur approche objet des LP w 2ème manifeste le manifeste de la 3ème-génération des SGBD (Stonebraker et al) est basé sur SQL

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

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

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

Modèles V2 et V3 de CODD w MODELE V2 : Inconvénient de SQL : manque de fermeture, d orthogonalité et de complétude ( Group By => "Framing"; connect => "Join Récursif" ) w MODELE V3 : Ä Fonctions ( systèmes et utilisateurs ) Ä Join Récursif Généralisé Ä Hiérarchie de types

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

Vue des bigots de l'objet w Tout ce que le Relationnel peut faire l'objet peut le faire mieux. w Une relation est un objet particulier avec les opérateurs de l'algèbre comme méthodes w Il existe d'autres objets d'autres types

Vue des bigots du RELATIONNEL w les avantages de l'objet peuvent être obtenus en appliquant correctement le modèle RELATIONNEL V1 w Evolution en douceur du relationnel en intégrant les propriétés RICE au niveau : w du Domaine (SQL3, DATE, DB2, Oracle 8) w des relations (UNISQL, NF2) w des deux (Illustra) w Domaine ou Relation? = classe d'objets et RICE

3 possibilités de RICE pour le modèle OR (objet et BD) VALEURS DOMAINES Const. SET RELATIONS 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)

w 1-RELATION? Deux Possibilités pour le modèle OR Ä Approche «type» (UNISQL, NF2, POSTGRES,...) EX : CREATE OBJECT CLASS PILOT PUBLIC (PL# NUMERIC, PLNOM CHAR, ADR CHAR) ; w Avantage : concept commun unique : CLASSE-RELATION Ä PB1: objets = tuples (non encapsulés)! Ä PB2: Opérateurs génériques et spécifiques F Algèbre Complexe? Opérateur pour parcourir les graphes (hiérarchie structurelle) expression de chemin? Ä PB3: propriété de fermeture F Reinterprétation des opérateurs relationnels?

2ième approche OR? n 2- DOMAINE? n Avantages : n n n 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) Inconvénient : Héritage (structurel) n Approche suivie par Oracle depuis la 8, DB2, et.., SQL3 en partie

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

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

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

Modèle de DATE : Héritage entre domaines PRIMAIRES EX : Create Domain PILNO : (SUBDOMAIN de) EMPNO Graphe d héritage entre domaines «primaires» (attributs «clé primaires» définis dessus) EMPNO 100 103 PILNO 100 103 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 d héritage) (valeurs potentielles du domaine et valeurs réelles des tables)

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

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

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

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

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

Langage D ( " D " pour " Domain "?, " C++"?," DATE"?) w Classe d'objets dans des domaines relationnels w " 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

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

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 ) y2 y1 (0,1) (1,1) x1 x2 (0,0) (1,0) CREATE TABLE RECTANGLES (RECTID, x1, x2, y1,y2) PRIMARY KEY (RECTID) UNIQUE (x1, x2, y1, y2)

Question 2D n 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 COMPLETS ("user-defined data types of arbitrary complexity") CREATE DOMAIN RECTANGLE REP (... RTREE... ) CREATE FUNCTION MAKE-RECT (A FLOAT, B FLOAT, C FLOAT, D FLOAT) RETURNS ( RECTANGLE ) AS BEGIN DECLARE R RECTANGLE R.x1 = A; R.x2 = B; R.y1 = C; R.y2 = D; RETURN (R) END; CREATE FUNCTION OVERLAP ( R1 RECTANGLE, R2 RECTANGLE ) RETURNS ( BOOLEAN ) AS BEGIN... END;

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

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

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

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

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

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

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

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

Exemple 2 : Système de recherche d'informations Multimédia w 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# and DOCUMENT.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 ) <+ INVERSE> or DOC-MOT-CLE.MOT-CLE IN (SELECT MOT-CLE-SPEC FROM HIERARCHIE WHERE MOT-CLE-GEN = Software ) or DOC-MOT-CLE.MOT-CLE IN (SELECT MOT-CLE2 FROM VOISINAGE WHERE MOT-CLE1 = Software ); <+ INVERSE>)

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

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

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

Ex Héritage sur cet exemple n SUPER CLASSE : «Document» [ fonction PRET] et 2 sous classes : n «Livre» n «Poly» [ Fonction COPY] n 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?

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

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

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

Requête 2 Thésaurus Select L# è NBREPAGE <H. Structurel par è ) From Livre Where Editeur = «Dunod» and PRÊT = «True» ; <H.Opérationnel direct dans Domaines>

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

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

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

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

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

Surfeurs sur la vague OR. Modèle OR?

Traitements SQL Non SQL Marché BD structurée et standards? (Stonebraker 96 et Gartner) SGBD-OR SGBD- R (1) SQL2 G/P/D (2) SQL3 Mobiquité SGF SGBD- OO (3) ODMG /CAO Simples Complexes Données (1) : 10 G$ <licences *> en 2010 (20 % de croissance, 60 G $ en 2020) (3) : 1/100 de (1) en 2010 et 2020 (2) : 2x (3) en 2010 ; 2*(1) en 2020! * Marché de 27 G dollars avec services et support en 2010