Le Relationnel LE MODELE RELATIONNEL Inventé par T. Codd (IBM Recherche) Public
Le Relationnel LE MODELE RELATIONNEL Inventé par T. Codd (IBM Recherche) Publication ACM 1970 1. Concepts pour la description 2. Concepts pour la manipulation 3. Concepts additionnels 1 Le Relationnel 1. CONCEPTS DESCRIPTIFS • Ensemble de concepts pour formaliser la description d'articles de fichiers plats • Modèle standardisé mais extensible – Introduction de types de données variés (SQL2) – Introduction de la dynamique (produits, SQL3) – Introduction des objets (SQL3) 2 Le Relationnel Domaine • ENSEMBLE DE VALEURS • Exemples: – ENTIER – REEL – CHAINES DE CARACTERES – EUROS – SALAIRE = {4 000..100 000} – COULEUR= {VERT, ROUGE, JAUNE} – POINT = {(X:REEL,Y:REEL)} – TRIANGLE = {(P1:POINT,P2:POINT,P3:POINT)} 3 Le Relationnel Produit cartésien • LE PRODUIT CARTESIEN D1x D2x ... x Dn EST L'ENSEMBLE DES TUPLES (N-UPLETS) <V1,V2,....Vn> TELS QUE Vi Di • Exemple: – D1 = {Vert,Jaune,Rouge} – D2 = {Vrai, Faux} 4 Vert Vrai Vert Faux Jaune Vrai Jaune Faux Rouge Vrai Rouge Faux Le Relationnel Relation • SOUS-ENSEMBLE DU PRODUIT CARTESIEN D'UNE LISTE DE DOMAINES • Une relation est caractérisée par un nom • Exemple: – D1 = COULEUR – D2 = BOOLEEN 5 Vert Faux Jaune Vrai Rouge Vrai CoulVins Coul Choix Le Relationnel Attribut • VISION TABULAIRE DU RELATIONNEL – Une relation est une table à deux dimensions – Une ligne est un tuple – Un nom est associé à chaque colonne afin de la repérer indépendamment de son numéro d'ordre • ATTRIBUT – nom donné à une colonne d'une relation – prend ses valeurs dans un domaine 6 Le Relationnel Graphe d'une relation • Relation binaire R(A1,A2) • Une relation n-aire est une généralisation à n dimensions 7 DOM(A1) DOM(A2) 1 2 3 4 • • • • • a b c DOM(A1) DOM(A2) a b c 1 2 3 4 Le Relationnel Exemple de relation CHENAS 1983 BEAUJOLAIS ROUGE TOKAY 1980 ALSACE BLANC TAVEL 1986 RHONE ROSE CHABLIS 1986 BOURGOGNE BLANC ST-EMILION 1987 BORDELAIS ROUGE 8 VINS CRU MILL REGION COULEUR Le Relationnel Clé • GROUPE D'ATTRIBUTS MINIMUM QUI DETERMINE UN TUPLE UNIQUE DANS UNE RELATION • Exemples: – {CRU,MILLESIME} DANS VINS ==> NV – NSS DANS PERSONNE • CONTRAINTE D'ENTITE – Toute relation doit posséder au moins une clé documentée 9 Le Relationnel Schéma • NOM DE LA RELATION, LISTE DES ATTRIBUTS AVEC DOMAINES, ET LISTE DES CLES D'UNE RELATION • Exemple: – VINS(NV: Int, CRU:texte, MILL:entier, DEGRE: Réel, REGION:texte) – Par convention, la clé primaire est soulignée • INTENTION ET EXTENSION – Un schéma de relation définit l'intention de la relation – Une instance de table représente une extension de la relation • SCHEMA D'UNE BD RELATIONNELLE – C'est l'ensemble des schémas des relations composantes 10 Le Relationnel Clé Etrangère • GROUPE D'ATTRIBUTS DEVANT APPARAITRE COMME CLE DANS UNE AUTRE RELATION • Les clés étrangères définissent les contraintes d'intégrité référentielles – Lors d'une insertion, la valeur des attributs doit exister dans la relation référencée – Lors d'une suppression dans la relation référencée les tuples référençant doivent disparaître – Elles correspondent aux liens entité-association obligatoires 11 Le Relationnel Exemple de Schéma • EXEMPLE BUVEURS (NB, NOM, PRENOM, TYPE) VINS (NV, CRU, MILL, DEGRE) ABUS (NB, NV, DATE, QUANTITE) • CLES ETRANGERES ABUS.NV REFERENCE VINS.NV ABUS.NB REFERENCE BUVEURS.NB 12 Le Relationnel Diagramme des Liens 13 NB NV DATE QUANTITE ABUS NV CRU MILL. DEGRE VINS NB NOM PRENOM TYPE BUVEURS Le Relationnel Concepts Descriptifs : Bilan • RELATION ou TABLE • ATTRIBUT ou COLONNE • DOMAINE ou TYPE • CLE • CLE ETRANGERE 14 Questions ? Le Relationnel Synthèse : Create Table • CREATION DES TABLES EN SQL – CREATE TABLE <relation name> – (<attribute definition>+) – [{PRIMARY KEY | UNIQUE} (<attribute name>+)] • avec : – <attribute definition> ::= <attribute name> <data type> – [NOT NULL [{UNIQUE | PRIMARY KEY}] ] • Exemple : – CREATE TABLE VINS – ( NV INTEGER PRIMARY KEY – CRU CHAR VARYING – MILL INTEGER NOT NULL, – DEGRE FIXED 5.2 ) 15 Le Relationnel 2. CONCEPTS MANIPULATOIRES • Un ensemble d'opérations formelles – Algèbre relationnelle • Ces opérations permettent d'exprimer toutes les requêtes sous forme d'expressions algébriques • Elles sont la base du langage SQL – Paraphrasage en anglais des expressions relationnelles – Origine SEQUEL • Ces opérations se généralisent à l'objet – Algèbre d'objets complexes 16 Le Relationnel Opérations Ensemblistes • Opérations pour des relations de même schéma – UNION notée – INTERSECTION notée – DIFFERENCE notée — • Opérations binaires – Relation X Relation --> Relation • Extension – Union externe pour des relations de schémas différents – Ramener au même schéma avec des valeurs nulles 17 Le Relationnel Projection • Elimination des attributs non désirés et suppression des tuples en double • Relation -> Relation notée: A1,A2,...Ap (R) 18 VINS Cru Mill Région Qualité VOLNAY BOURGOGNE CHENAS BEAUJOLAIS JULIENAS BEAUJOLAIS (VINS) Cru Région VOLNAY 1983 BOURGOGNE A VOLNAY 1979 BOURGOGNE B CHENAS 1983 BEAUJOLAIS A JULIENAS 1986 BEAUJOLAIS C Cru,Région Le Relationnel Restriction • Obtention des tuples de R satisfaisant un critère Q • Relation ->Relation, notée Q(R) • Q est le critère de qualification de la forme : – Ai Valeur – { =, <, >=, >, <=, !=} • Il est possible de réaliser des "ou" (union) et des "et" (intersection) de critères simples 19 Le Relationnel Exemple de Restriction 20 MILL>1983 VINS Cru Mill Région Qualité VOLNAY 1983 BOURGOGNE A VOLNAY 1979 BOURGOGNE B CHENAS 1983 BEAUJOLAIS A JULIENAS 1986 BEAUJOLAIS C VINS Cru Mill Région Qualité JULIENAS 1986 BEAUJOLAIS C Le Relationnel Jointure • Composition des deux relations sur un domaine commun • Relation X Relation ->Relation – notée • Critère de jointure – Attributs de même nom égaux : • Attribut = Attribut • Jointure naturelle – Comparaison d'attributs : • Attribut1 Attribut2 • Théta-jointure 21 Le Relationnel Exemple de Jointure 22 VOLNAY 1983 A Bourgogne A VOLNAY 1979 B Bourgogne A CHABLIS 1983 A Bourgogne A CHABLIS 1983 A Californie B VINS Cru Mill Qualité VOLNAY 1983 A VOLNAY 1979 B CHABLIS 1983 A JULIENAS 1986 C LOCALISATION Cru Région QualMoy VOLNAY Bourgogne A CHABLIS Bourgogne A CHABLIS Californie B VINSREG Cru Mill Qualité Région QualMoy Le Relationnel Complétude • L'algèbre relationnelle est complète – Les cinq (sept) opérations de base permettent de formaliser sous forme d'expressions toutes les questions que l'on peut poser avec la logique du premier ordre (sans fonction). • Exemple : – Nom et prénom des buveurs de volnay 1988 ? PROJECT (NOM, PRENOM, RESTRICT(CRU="VOLNAY" et MILL =1988, JOIN(VINS, ABUS, BUVEURS))) 23 Le Relationnel SQL • Une requête SQL est un paraphrasage d'une expression de l'algèbre relationnelle en anglais • Requête élémentaire : SELECT A1, A2, …Ap FROM R1, R2, …Rk WHERE Q [{UNION |INTERSECT | EXCEPT } … ] • Sémantique du bloc select : PROJECT A1,A2,…Ap ( RESTRICT Q ( PRODUIT ( R1, R2, …, Rk) ) ) 24 Le Relationnel 3. CONCEPTS ADDITIONNELS • Ensemble de concepts pour : – Etendre les fonctionnalités de manipulation – Décrire les règles d'évolution des données – Supporter des objets complexes (SQL3) • Introduits progressivement dans le modèle : – Complique parfois le modèle – Standardisés au niveau de SQL3 (1999) – Des extensions multiples … 25 Le Relationnel Fonction et Agrégat • FONCTION – Fonction de calcul en ligne appliquée sur un ou plusieurs attributs – Exemple : DEGRE * QUANTITE / 100 • AGREGAT – Partitionnement horizontal d'une relation selon les valeurs d'un groupe d'attributs, suivi d'un regroupement par une fonction de calcul en colonne (SUM, MIN, MAX, AVG, COUNT, …) 26 Le Relationnel Exemples d'agrégats 27 AVG DEGRE 11.2 SUM CRU QUANTITE CHABLIS VOLNAY MEDOC 350 700 200 VINS CRU MILL QUANTITE CHABLIS CHABLIS VOLNAY VOLNAY MEDOC 1977 1987 1977 1986 1985 10.9 11.9 10.8 11.2 11.2 100 250 400 300 200 DEGRE SELECT AVG(DEGRE) FROM VINS; SELECT CRU, SUM(QUANTITE) FROM VINS GROUP BY CRU; Le Relationnel Vue • Relation d'un schéma externe déduite des relations de la base par une question • Exemple : GrosBuveurs • CREATE VIEW GrosBuveurs AS • SELECT NB, Nom, Prénom, • FROM Buveurs, Abus • WHERE Buveurs.NB = Abus.NB and Abus.Quantité > 100 • Calcul de la vue – Une vue est une fenêtre dynamique sur la BD et est recalculée à chaque accès. – Une vue peut être matérialisée (vue concrète). 28 Le Relationnel Déclencheur (Trigger) • Action base de données déclenchée suite à l'apparition d'un événement particulier • Forme : – {BEFORE | AFTER} <événement> THEN <action> – Un événement peut être : • une opération sur une table (début ou fin) • un événement externe (heure, appel,etc.) – Une action peut être : • une requête BD (mise à jour) • Une annulation (abort) de transaction • l'appel à une procédure cataloguée 29 Le Relationnel Déclencheur avec condition (Règle) • Il est possible d'ajouter une condition afin de déclencher l'action seulement quand la condition est vérifiée – Une condition est une qualification portant sur la base. • Exemples : BEFORE UPDATE EMPLOYE IF SALAIRE > 100.000 uploads/Philosophie/le-modele-relationnel 1 .pdf
Documents similaires










-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 22, 2022
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 0.1353MB