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

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

Modèle Relationnel (de Codd) et Professeur Serge Miranda

Présentations similaires


Présentation au sujet: "Modèle Relationnel (de Codd) et Professeur Serge Miranda"— Transcription de la présentation:

1 Modèle Relationnel (de Codd) et Professeur Serge Miranda
Synthèse Modèle Relationnel (de Codd) et SQL2 Professeur Serge Miranda Directeur du Dess MBDS

2 Généralités SYNTEX au CERT-DERI (France)
De 1970 à 1987 : un historique du relationnel et quelques produits 1970 Article de T. CODD présentant le modèle relationnel (revue ACM) SYNTEX au CERT-DERI (France) SYSTEM-R prototype IBM-San JOSE prouvant la faisabilité (d ’une partie) du modèle relationnelle 1972 1975 1976 1977 1979 1980 1981 INGRES prototype Univ. Calif BERKELEY ORACLE prototype en assembleur fils illégitime de System-R ORACLE V1 produit d ’ORACLE Corp. ORACLE V2 réécriture en C INGRES produit de RTI sur VAX Turing award pour Ted CODD SQL-DS DB2 1982 ORACLE V5 1984 INGRES-STAR 1985 Création « CODD and DATE Consulting Group » ORACLE ORACLE-STAR 1986 DB2 V1 CAMPUS (France) 1987 ORACLE V6 Codd and Date CAMPUS DB2 V2 ORACLE V7 ….. Release 4 1994

3 Généralités Vue simple des données - tables
Intérêt du modèle relationnel Vue simple des données - tables (pouvant être non naturelle) Langage de requête non procédural : SAT (dont l ’opération fondamentale est la JOINTURE)

4 Généralités (+ théorie formelle) STRUCTURES MODELE DE OPERATEURS
MODELE DE DONNEES ? STRUCTURES MODELE DE DONNEES OPERATEURS REGLES D ’INTEGRITE (+ théorie formelle)

5 Modèle Relationnel de CODD (V1, 1970)
Les 10 Concepts du modèle relationnel de CODD Structure s: C1 – RELATION / CLE PRIMAIRE (C3) C2 - DOmaine / Attribut C3 - Clé Primaire C4 - Clé Etrangère ou Domaine Primaire Intégrité du Modèle : C5 - Intégrité du Domaine (cf. C2) C6 - Intégrité d ’entité / relation (cf. C1 et C3) C7 - Intégrité de référence (cf. C4) Opérateurs : Equivalence avec l ’algèbre relationnelle C8 - Opérateurs ensemblistes Union Intersection Différence C9 - Opérateurs relationnels Sélection Projection Jointure Division C10 - Opérateurs sémantiques (« domain constrained »)

6 Modèle Relationnel de CODD
Définition : ENSEMBLE ? G. Cantor : « Toute collection d ’objets bien DISTINCTS de notre perception ou de notre pensée » Paradoxes de B. Russel : Dans un village, le barbier rase toutes les personnes qui ne se rasent pas elles-mêmes ! Se rase t-il lui même ? Ensemble des membres d ’un conseil d ’administration qui n ’ayant pas d ’opinion à eux suivent l ’opinion du président ? Le président appartient-il à l ’ensemble ?

7 Modèle Relationnel de CODD : « RELATION » ?
Définition ensembliste d ’une relation ? ENSEMBLE (de « N-uplets » « TUPLES ») : sous ensemble du produit cartésien de N ensembles Les avions sont des quadruplets de la forme (AVNO, AVNOM, CAP, LOC) « RELATION » : sous ensemble du PRODUIT CARTESIEN de N « DOMAINES » R  D1 x D2 x ……… x DN Exemple 1 : AVION  AVNO x AVNOM x CAP x LOC AVION = {(10, Airbus, 320, Nice), (11, B707, 300, Paris), ……………….}

8 Modèle Relationnel de CODD
Exemple de tables de valeurs PL# PLNOM ADRESSE P i JEAN PARIS l o PIERRE NICE t e PAUL PARIS AV# AVNOM CAP LOC A v A NICE i B PARIS o A LYON n B LYON HA VOL# PL# AV# VD VA HD V IT NICE PARIS o IT PARIS NICE l IT LYON PARIS IT NICE LYON

9 Modèle Relationnel de CODD : RELATION ?
Définition prédicative d ’une relation ? PREDICAT « L ’avion de numéro AV# est de type AVNOM, de capacité CAP et est localisé à LOC » RELATION prédicat écrit sous forme concise AVION (AV#, AVNOM, CAP, LOC) PROPOSITION « L ’avion de numéro 10 est de type AIRBUS, de capacité 320 places et est localisé à NICE » TUPLE : proposition VRAIE écrite sous forme concise AVION (10, AIRBUS, 320, NICE)

10 Modèle Relationnel de CODD : « ATTRIBUT vs DOMAINE »
PROBLEME Le même domaine peut être utilisé plusieurs fois dans la définition d ’une même relation ! Exemple 2 : VOL  VOLNO x VILLE x VILLE x HEURE x HEURE ATTRIBUT : ROLE joué par un domaine dans une relation DOMAINE VOL ( VOL# V-D V-A H-D H-A ) ATTRIBUTS

11 L ’ATTRIBUT REPRESENTE LE ROLE JOUE PAR UN DOMAINE DANS
Modèle Relationnel de CODD Attribut  Domaine : PINo : Pinom : Ville Pilote PL# PLNOM ADRESSE JEAN PARIS PIERRE NICE PAUL PARIS : AvNo : AvNom : Capacité : Ville Avion AV# AVNOM CAP LOC A NICE B PARIS A LYON B LYON : VoINo : PINo : AvNo : Ville : Ville : Heure : Heure VOL# PL# AV# VD VA HD HA VOL IT NICE PARIS IT PARIS NICE IT LYON PARIS IT NICE LYON L ’ATTRIBUT REPRESENTE LE ROLE JOUE PAR UN DOMAINE DANS UNE RELATION

12 Modèle Relationnel de CODD
Noms des PILOTES Noms des AVIONS

13 Modèle Relationnel de CODD
X(12) TYPE SYNTAXIQUE (pas de « domaine »)

14 Modèle Relationnel de CODD
PILNOM AVNOM X(12) DOMAINE (sémantique) - Définition (semantical data type ») - Manipulation (« domain constrained »)

15 Modèle Relationnel de CODD
Exemple de « schéma relationnel » 1) DOMAINES NUMERO NUMERIC (6) Primaire AVNO NUMERIC (6) Primaire PILNO NUMERIC (6) Primaire NOMAV CHARACTER (20) NOMPIL CHARACTER (6) CAPACITE NUMERIC (3) VILLE CHARACTER (10) HEURE NUMERIC (4) 2) RELATIONS RELATION : AVION (AV#, AVNOM, CAP, LOC) AV# = Clé Primaire ATTRIBUT : AV# (Défini) sur AVNO AVNOM - sur NOMAV CAP - sur CAPACITE LOC - sur VILLE RELATION : PILOTE(PL#, PLNOM, ADRE) PL# = Clé Primaire ATTRIBUT : PL# (Défini) sur PILNO PLNOM - sur NOMPL ADR - sur VILLE RELATION : VOL(VOL#, PL#, AV#, VD, VA, HD, HA) VOL# = Clé Primaire ATTRIBUT : VOL# (Défini) sur NUMERO PL# - sur PILNO AV - sur AVNO VD - sur VILLE VA - sur VILLE HD - sur HEURE HA - sur HEURE CONTRAINTES (1)

16 Modèle Relationnel de CODD
LANGAGE ALGEBRIQUE LANGAGE « FERME » ARGUMENT (S) RELATION (S) OPERATEUR ALGEBRIQUE RESULTAT : RELATION REQUETE (Ensemble d ’opérateurs algébriques)

17 OPERATEURS DU LANGAGE ALGEBRIQUE
Modèle Relationnel de CODD OPERATEURS DU LANGAGE ALGEBRIQUE Opérateurs du langage algébrique Ensemblistes UNION INTERSECTION DIFFERENCE (PRODUIT CARTESIEN) Extension (binaire) Restriction (unaire) PROJECTION (découpage vertical) SELECTION (découpage horizontal) JOIN () DIVISION ()

18 Modèle Relationnel de CODD
LANGAGE ALGEBRIQUE JOINTURE R1(A = A) R2 R1 A B C R2 A D () JOIN R3 A B C A D

19 Modèle Relationnel de CODD
LANGAGE ALGEBRIQUE DIVISION : R1 / R2 Dividende Diviseur R1 A B R2 B DIVISION B () Division ? « Complémentaire du diviseur dans le dividende tel que le produit cartésien avec le diviseur soit inclus dans le dividende » R3 A

20 Modèle Relationnel de CODD
LANGAGE ALGEBRIQUE DIVISION Requêtes faisant intervenir un quantificateur universel, dans une expression de la forme « TOUS LES ». Exemple : « Quels sont les numéros des pilotes qui conduisent TOUS LES avions de type A300 qui sont en service ? » AV# AVNOM CAP LOC A v A NICE i B PARIS o A LYON n B LYON VOL# PL# AV# VD VA HD HA V IT NICE PARIS o IT PARIS NICE l IT LYON PARIS IT NICE LYON RESULTAT : PL# R 1

21 Modèle Relationnel de CODD
LANGAGE ALGEBRIQUE DIVISION DIVIDENDE BINAIRE R1 = ( A , B ) Résultat Idem diviseur (même domaine) VOL1 = PROJECT VOL ( PL# , AV# ) DIVISEUR UNAIRE ( « tous les » ) « tous les avions de type A300 » A1 = SELECT AVION (AVNOM =   " A300  ") A2 = PROJECT A1 (Av#) RESULTAT = VOL1 (PL# , AV#) A2 (AV#)


Télécharger ppt "Modèle Relationnel (de Codd) et Professeur Serge Miranda"

Présentations similaires


Annonces Google