Algèbre relationnelle - 1 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle.

Slides:



Advertisements
Présentations similaires
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Advertisements

Programme Introduction aux BD et aux SGBD Le modèle relationnel
Le modèle relationnel Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath et Amiens), Godin (UQAM)
LANGAGES LIES AU MODELE RELATIONNEL
Algèbre Relationnelle
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Algèbre Relationnelle Chapitre 4, Sections 4.1 – 4.2.
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Sélection de colonnes (la projection)
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle
Traitement et optimisation de requêtes
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
RAPPEL SUR LES BASES DE DONNÉES, LE SQL 1 er trimestre V1.0 06/01/2015.
Introduction aux BD - 1 / Djamel Berrabah Introduction aux Bases de Données Organisation du cours Introduction aux SGBD Modèle Entités/Associations Modèle.
1- Introduction 2ème partie Modèle Conceptuel des Données 2- Entités- Associations 4- Associations plurielles 3- Cardinalités 5- Associations réflexives.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL partie 5 1 LMD create – update – primary key secondary key.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
SQL-MAJ, vues - 1 / Djamel Berrabah SQL : création et mises-à-jour de schémas et de données ● Commandes de définition de données (DDL) ● Commandes de mise-à-jour.
SQL-MAJ, vues - 1 UPMC - UFR 919 Ingéniérie - Cours Bases de données (BD-LI341) SQL : création et mises-à-jour de schémas et de données ● Commandes de.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
SQL query - 1 UPMC - UFR 919 Ingéniérie - Cours Bases de données (BD-L3) SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes.
Calcul et SQL - 1 / Djamel Berrabah Calcul relationnel et SQL Calcul relationnel à variables « n-uplet » Calcul relationnel à variables « domaine » Query.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
Les Bases de données Définition Architecture d’un SGBD
L2A Semestre 4 Mehdi Benzine
Environnement du développement de BD ORACLE REPORTS 10g
Introduction aux Systèmes de Gestion de Bases de données
Structured Query Language SQL DDL
Initiation aux bases de données et à la programmation événementielle
Langage de manipulation de données (LMD)
Algèbre relationnelle
Base de données: Généralité IFT6800 Jian-Yun Nie.
Les Bases de données Définition Architecture d’un SGBD
Les bases de données et le modèle relationnel
Langage de Manipulation des Données LMD
1 Présentation projet Base de Données & Langage SQL Bakary DIABY, Insa Rouen Promo. MS-ESD 16/17.
Langage d’interrogation des Données LID
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
SQL LID – INTERROGATIN DES DONNEES
Initiation aux bases de données sous Access. Plan I.Structure d’une base de données II.Langages de manipulation de données –Algèbre relationnelle (théorique)
Maria Berger - Maîtrise d'AES Algèbre relationnelle.
SQL LMD FICHE 4.6.
Manipulation D’Une Base De Données
Calcul Relationnel Chapitre 4, Section 4.3.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Langage d’interrogation des Données LID
Calcul Scientifique Initiation à SCILB
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
5 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données de plusieurs tables.
7 Copyright © 2004, Oracle. Tous droits réservés. Utiliser les opérateurs ensemblistes.
Préface Introduction Objectifs du chapitre I-2 Objectifs du cours I-3 Oracle10g I-4 Oracle Database 10g I-6 Oracle Application Server 10g I-7 Oracle Enterprise.
Langage d’interrogation des Données Les fonctions de groupes
Algèbre relationnelle
5 Introduction au modèle relationnel 5.1 Concepts de base
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
Information, Calcul, Communication
TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne.
62 Modèle relationnel et algèbre relationnelle INT Management.
© Robert Godin. Tous droits réservés.
Bases de Données Relationnelles(1)
Algèbre Relationnelle
Systèmes d’Information et Application
Opérateurs Ensemblistes
Transcription de la présentation:

Algèbre relationnelle - 1 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle

Algèbre relationnelle - 2 / Djamel Berrabah Bases de données relationnelles Modèle (de données) relationnel organise les données dans des tables ou relations Avantages : « Relation » est un concept simple avec des fondements mathématiques solides (théorie des ensembles, logique du premier ordre) On peut définir des langages de requêtes simples, puissants et efficaces (techniques d’optimisation performantes) On a une théorie pour la conception (dépendances fonctionnelles)

Algèbre relationnelle - 3 / Djamel Berrabah EMP(ENO, ENAME, TITLE) PROJ (PNO, PNAME, BUDGET) WORKS(ENO,PNO, RESP, DUR) PAY(TITLE, SALARY) Les attributs soulignés sont les clés (identificateurs de n-uplets) Schéma relationnel (exemple) ENO EMP ENAMETITLE PROJ PNOPNAMEBUDGET RESP WORKS PNOENODUR PAY SALARYTITLE

Algèbre relationnelle - 4 / Djamel Berrabah BD relationnelle (exemple) ENOENAMETITLE E1J. DoeElect. Eng. E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP ENOPNORESP E1P1Manager12 DUR E2P1Analyst24 E2P2Analyst 6 E3P3Consultant10 E3P4Engineer48 E4P2Programmer18 E5P2Manager24 E6P4Manager48 E7P3Engineer36 E8P3Manager40 WORKS E7P5Engineer23 PROJ PNOPNAMEBUDGET P1Instrumentation P3CAD/CAM P2Database Develop P4Maintenance P5CAD/CAM TITLESALARY PAY Elect. Eng Syst. Anal Mech. Eng Programmer60000

Algèbre relationnelle - 5 / Djamel Berrabah Propriétés du modèle relationnel Fondement théorique : théorie des ensembles pas d'ordre entre les attributs (noms) pas d'ordre entre les n-uplets (exception SQL : le résultat d’une requête peut être trié) pas de n-uplets dupliqués (exception SQL) Les valeurs d'attributs sont atomiques : entiers, chaînes de caractères, date, … pas de constructeurs de types complexes : struct, listes, set … Degré ou arité d’une relation = nombre d'attributs Cardinalité d’une relation = nombre de n-uplets

Algèbre relationnelle - 6 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle

Algèbre relationnelle - 7 / Djamel Berrabah Interrogation d’une base de données relationnelle Langages algébriques : Une requête est une composition d’opérations : algèbre relationnelle Langages logiques : Une requête est exprimée par une formule logique : calcul relationnel SQL : sémantique (logique) : calcul relationnel évaluation (opérations) : algèbre relationnelle

Algèbre relationnelle - 8 / Djamel Berrabah Opérateurs unaires :  Résultat> Opérateurs binaires :  Résultat > Langage fermé : les opérandes et les résultats sont toujours des relations  composition d’opérations Algèbre relationnelle

Algèbre relationnelle - 9 / Djamel Berrabah Opérateurs de base : sélection projection produit cartésien opérations ensemblistes: union, différence renommage Opérateurs dérivés : intersection jointure division Opérateurs de l'algèbre relationnelle

Algèbre relationnelle - 10 / Djamel Berrabah Sélection d’un sous-ensemble de la relation opérande :  F (R) R est une relation F est une formule logique sans quantificateur composée de opérandes: constantes et attributs opérateurs de comparaison :  opérateurs logiques : , , ¬ Résultat : sous-ensemble des n-uplets de R qui satisfont la formule F Sélection

Algèbre relationnelle - 11 / Djamel Berrabah Exemple de sélection ENOENAMETITLE E1J. DoeElect. Eng E6L. ChuElect. Eng.  TITLE='Elect. Eng.' (EMP) ENOENAMETITLE E1J. DoeElect. Eng. E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP

Algèbre relationnelle - 12 / Djamel Berrabah Projection sur un ensemble d’attributs d'une relation  A 1,…,A n (R) R est une relation, {A 1,…, A n } est un sous-ensemble des attributs de R Résultat : ensemble de n-uplets de R sans les attributs (colonnes) qui ne se trouvent pas dans {A 1,…, A n } Projection

Algèbre relationnelle - 13 / Djamel Berrabah Exemple de projection  PNO,BUDGET (PRO J) PNOBUDGET P P P P P PROJ PNOBUDGET P P P P PNAME P Instrumentation Database Develop. CAD/CAM Maintenance CAD/CAM  PNAME (PROJ ) PNAME Instrumentation Database Develop. CAD/CAM Maintenance Note: La projection élimine les n-uplets doublons (sémantique ensembliste). SQL garde les doublons.

Algèbre relationnelle - 14 / Djamel Berrabah Produit cartésien entre deux tables : R  S R est une table de degré k 1, cardinalité n 1 S est une table de degré k 2, cardinalité n 2 Résultat : relation de degré (k 1 + k 2 ) et contient (n 1 * n 2 ) n- uplets, où chaque n-uplet est la « concaténation » d'un n- uplet de R avec un n-uplet de S. Produit cartésien

Algèbre relationnelle - 15 / Djamel Berrabah Exemple de produit cartésien ENOENAMEEMP.TITLEPAY.TITLESALARY E1J. DoeElect. Eng. E1J. DoeElect. Eng. E1J. DoeElect. Eng. E1J. DoeElect. Eng Syst. Anal Mech. Eng Programmer60000 E2M. SmithSyst. Anal. E2M. SmithSyst. Anal. E2M. SmithSyst. Anal. E2M. SmithSyst. Anal. Elect. Eng Syst. Anal Mech. Eng Programmer60000 Elect. Eng Syst. Anal Mech. Eng Programmer60000 Elect. Eng Syst. Anal Mech. Eng Programmer60000 E3A. LeeMech. Eng. E3A. LeeMech. Eng. E3A. LeeMech. Eng. E3A. LeeMech. Eng. E8J. JonesSyst. Anal. E8J. JonesSyst. Anal. E8J. JonesSyst. Anal. E8J. JonesSyst. Anal. EMP  PAY ENOENAMETITLE E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP TITLESALARY PAY Elect. Eng Syst. Anal Mech. Eng Programmer60000

Algèbre relationnelle - 16 / Djamel Berrabah Union ensembliste entre deux tables : R  S R et S sont des relations compatibles pour l’union (même arité et domaines d’attributs) Résultat : n-uplets qui sont dans R ou dans S Union

Algèbre relationnelle - 17 / Djamel Berrabah Différence Différence ensembliste entre deux tables : R – S R et S sont des relations compatibles pour l’union. Résultat : n-uplets qui sont dans R, mais pas dans S

Algèbre relationnelle - 18 / Djamel Berrabah Renommage de plusieurs attributs d’une table :  A 1,…,A n  B 1,…,B n  (R) R est une relation {A 1,…, A n } est un sous-ensemble des attributs de R {B 1,…, B n } est un ensemble d’attributs Résultat : une relation avec les mêmes n-uplets (le même contenu) où chaque attribut A i a été renommé en B i Renommage

Algèbre relationnelle - 19 / Djamel Berrabah Exemple de renommage EMP(ENO, TITLE, ENAME)   TITLE,ENAME  JOB, NOM (EMP) change le schéma de la relation EMP en EMP (ENO, NOM, JOB) ENOENAMETITLE E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP ENONOMJOB E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP

Algèbre relationnelle - 20 / Djamel Berrabah Opérateurs de base : sélection projection produit cartésien opérations ensemblistes: union, différence renommage Opérateurs dérivés : intersection jointure division Opérateurs de l'algèbre relationnelle

Algèbre relationnelle - 21 / Djamel Berrabah Intersection Intersection de deux tables: R  S= R – (R – S) R, S sont deux tables compatibles pour l'union. Résultat : ensemble de n-uplets qui se trouvent à la fois dans R et dans S

Algèbre relationnelle - 22 / Djamel Berrabah Jointure entre deux tables R et S : R  F S =  F (R  S) R et S sont des relations (sans attributs en commun) F est une formule logique composée d’atomes de la forme A i  B j où   { . Résultat : sous-ensemble des n-uplets dans le produit cartésien R  S qui satisfont la formule F Jointure

Algèbre relationnelle - 23 / Djamel Berrabah Exemple de jointure ENOENAMETITLE E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP EMP EMP.ENO=WORKS.ENO  CONTR<DUR WORKS ENOPNORESP E1P1Manager12 DUR E2P1Analyst24 E2P2Analyst 6 E3P3Consultant10 E3P4Engineer48 E4P2Programmer18 E5P2Manager24 E6P4Manager48 E7P3Engineer36 E8P3Manager40 WORKS E7P5Engineer23 EMP. ENAME TITLE WORKS. PNO RESP DUR CONTR ENO. ENO CONTR E2M. Smith E3A. Lee E6L. Chu E8J. Jones E2 E3 E6 E8 P1 P4 P3 Syst. Anal. Mech. Eng. Elect. Eng. Syst. Anal. Manager2412 Engineer4812 Manager4836 Manager4012

Algèbre relationnelle - 24 / Djamel Berrabah  -jointure la formule F utilise les comparaisons  Equi-jointure la formule F n'utilise que l‘égalité : = R R.A=S.B S Jointure naturelle : R(X,Y), S(X, Y’) Equi-jointure où on élimine les attributs en communs R S =  R.X, R.Y, S.Y’  F (R  S) =  S.X, R.Y, S.Y’  F (R  S) la condition de jointure F est R.X = S.X (X représente tous les attributs en commun entre R et S) Types de jointure

Algèbre relationnelle - 25 / Djamel Berrabah Exemple de jointure naturelle ENOENAMETITLE SALARY E1J. DoeElect. Eng M. Smith70000E2Analyst E3A. LeeMech. Eng E4J. MillerProgrammer60000 E5B. CaseySyst. Anal E6L. ChuElect. Eng E7R. DavisMech. Eng E8J. JonesSyst. Anal ENOENAMETITLE E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP TITLESALARY PAY Elect. Eng Syst. Anal Mech. Eng Programmer60000 EMP PAY

Algèbre relationnelle - 26 / Djamel Berrabah Division Soient les relations R et S tels que le schéma de S contient tous les attributs de R R(A 1,…,A k,A k+1,…,A k+n ) est de degré k+n et S(A 1,…,A k ) de degré k. La division de R par S : T(A k+1,…,A k+n )= R ÷ S est la « plus grande » relation de degré n telle que T  S  R.

Algèbre relationnelle - 27 / Djamel Berrabah Exemple de division ENOPNOPNAME E1P1Instrumentation BUDGET E2P1Instrumentation E2P2Database Develop E3P4Maintenance E4P2Instrumentation E5P2Instrumentation E6P4 E7P3CAD/CAM E8P3CAD/CAM EMP Maintenance E3P1Instrumentation ENO E3 EMP÷PROJ PROJ PNOBUDGET P P P PNAME P Instrumentation Database Develop. CAD/CAM Maintenance E3P2Database Develop E3P3CAD/CAM250000

Algèbre relationnelle - 28 / Djamel Berrabah Expression de la division x1 y1 x2 y1 x3 y1 x4 y1 x1 y2 x3 y2 x2 y3 x3 y3 x4 y3 x1 y4 x2 y4 x3 y4 X Y R x1 x2 x3 X S y1 y4 T Y T 1   Y (R) T 2   Y ((S  T 1 )  R) T  T 1  T 2

Algèbre relationnelle - 29 / Djamel Berrabah Emp (Eno, Ename, Title, City) Pay(Title, Salary) Project(Pno, Pname, Budget, City) Works(Eno, Pno, Resp, Dur) Villes où il y a des employés ou des projets?  City (Emp)  City (Project) Villes où il y a des projets mais pas d'employés?  City (Project)   City (Emp) Requêtes algébriques

Algèbre relationnelle - 30 / Djamel Berrabah Emp (Eno, Ename, Title, City) Project(Pno, Pname, Budget, City) Pay(Title, Salary) Works(Eno, Pno, Resp, Dur) Noms des projets de budget > 225?  Pname (  Budget>225 (Project)) Noms et budgets des projets où travaille l'employé E1?  Pname, Budget (Project (  Eno=‘E1’ (Works)))  Pname, Budget (  Project.Pno=Works.Pno (Project  Eno=‘E1’ (Works))) Employés qui travaillent dans chaque projet?  Eno, Pno (Works) ÷  Pno (Project) Requêtes algébriques

Algèbre relationnelle - 31 / Djamel Berrabah Arbre algébrique Utile pour manipuler les requêtes (optimisation, vues) Exemple   Pname, Budget (Project (  Eno=‘E1’ (Works))) Works  Eno=‘E1’ Project  Pname, Budget

Algèbre relationnelle - 32 / Djamel Berrabah Conclusion : algèbre relationnelle L’algèbre relationnelle définit un ensemble d’opérations pour interroger une BD relationnelle Les opérations peuvent être composées pour former des requêtes complexes Avantage : facilite l’implantation d’un moteur de requêtes Inconvénient : sémantique “opérationnelle” L’algèbre « cache » la sémantique formelle (ensembliste) du modèle relationnel  calcul relationnel

Algèbre relationnelle - 33 / Djamel Berrabah Mise à jour d'une BD relationnelle Avec les opérateurs relationnels Insertion de n-uplets = union de la relation contenant les n- uplets à insérer avec la relation déjà existante dans la base Suppression de n-uplets = différence entre la relation existante dans la base et la relation contenant les n-uplets à supprimer Modification = suppression suivie d'une insertion