Algèbre relationnelle
La partie structurelle : le modèle relationnel Produit cartésien de 2 ensembles : Relation : Sous-ensemble du produit cartésien d’une liste de domaines Une relation est caractérisée par un nom Représentation commode : table à 2 dimensions Exemple : la relation  Coureur  est un sous-ensemble du produit cartésien : numéro X nom X CodeEquipe X  CodePays
La partie opérationnelle : l'algèbre relationnelle Une algèbre est un ensemble avec des opérations fermées sur cet ensemble. Une algèbre relationnelle est  un ensemble d’opérations agissant sur des relations et produisant des relations 4 opérations ensemblistes (union, intersection, différence, produit cartésien) 3 opérations spécifiques des BD relationnelles (sélection, projection, jointure)
Opérations ensemblistes Union Les relations doivent avoir le même schéma Professeur    Maître de conférence
Opérations ensemblistes Intersection Les relations doivent avoir le même schéma Exemple : l’intersection de Professeur et Maître de conférence est une relation nulle (!) Différence Les relations doivent avoir le même schéma Exemple : la différence Professeur - Maître de conférence  est la relation Professeur elle-même (!)
Opérations ensemblistes Produit cartésien G-B GAN BOARDMAN Chris 91 SUI COF ROMINGER Tony 61 FRA ONC JALABERT Laurent 31 ALL TEL ULLRICH Jan 8 Code  pays Code  équipe Nom Coureur Numéro coureur G-B SUI FRA ALL Code  pays Grande -Bretagne Suisse France Allemagne Nom Pays G-B SUI FRA ALL Code  pays Grande -Bretagne Suisse France Allemagne Nom Pays ALL ALL ALL ALL Code  pays TEL ULLRICH Jan 8 TEL ULLRICH Jan 8 TEL ULLRICH Jan 8 TEL ULLRICH Jan 8 Code  équipe Nom Coureur Numéro coureur Allemagne… ALL FRA ONC JALABERT Laurent 31
Opérations spécifiques Sélection  (ou restriction) : relation composée de n-uplets vérifiant une condition Quels sont les coureurs suisses ? R = SELECTION(COUREUR, CodePays = ‘‘SUI’’) NOTATION  :    CodePays = ‘‘SUI’’ (COUREUR) Relation résultat ITA SAE CIPOLLINI Mario 114 G-B GAN BOARDMAN Chris 91 SUI COF ROMINGER Tony 61 FRA ONC JALABERT Laurent 31 ALL TEL ULLRICH Jan 8 Code  pays Code  équipe Nom Coureur Numéro coureur
Opérations spécifiques Projection  : relation restreinte aux attributs spécifiés dans la projection Exemple :  Nom et nationalité des coureurs ? R = PROJECTION(COUREUR, NomCoureur, Nationalité) NOTATION  :    {NomCoureur,Nationalité} (COUREURS) Relation résultat CIPOLLINI Mario BOARDMAN Chris ROMINGER Tony JALABERT Laurent ULLRICH Jan Nom Coureur ITA G-B SUI FRA ALL Code  pays
Opérations spécifiques Jointure  :  Relation résultat G-B SUI FRA ALL Code  pays Grande -Bretagne Suisse France Allemagne Nom Pays G-B GAN BOARDMAN Chris 91 SUI COF ROMINGER Tony 61 FRA ONC JALABERT Laurent 31 ALL TEL ULLRICH Jan 8 Code  pays Code  équipe Nom Coureur Numéro coureur Grande -Bretagne Suisse France Allemagne Nom Pays G-B SUI FRA ALL Code  pays GAN BOARDMAN Chris 91 COF ROMINGER Tony 61 ONC JALABERT Laurent 31 TEL ULLRICH Jan 8 Code  équipe Nom Coureur Numéro coureur
Opérations spécifiques Jointure (suite) Notation : Coureur     Pays  -jointure : jointure sous condition autre que l’égalité
Opérations spécifiques Division  :  relation composée des n-uplets tels que le produit cartésien avec le diviseur soit un sous-ensemble de la relation dividende (…?) Participer Epreuve Relation résultat de Particier    Epreuve Quels sont les athlètes qui ont participé à toutes les épreuves ?
a a b b c c x y x y x y Produit cartésien Sélection Projection Union Intersection Différence a b c x y
Remarques sur l'algèbre relationnelle L'algèbre relationnelle permet l‘étude des opérateurs entre eux (commutativité, associativité, groupe d'opérateurs minimaux,...) équivalence de certaines expressions programmes d'optimisation qui transforment toute requête en sa forme équivalente la plus efficace L'opération de jointure est très coûteuse : proportionnelle au nombre de n-uplets (m*n pour deux relations jointes) toujours préférable de faire les restrictions le plus tôt possible afin de manipuler des tables les plus réduites possibles.
Pourquoi une requête est-elle  meilleure  qu'une autre ? Une requête n'est pas l'unique solution d'un problème. efficacités  différentes Exemple : Fournisseur  ( N°fno , Nom, Adresse, Ville) Produit  ( N°prod , Designation, Prix, Poids, Couleur) Commande  ( N°comm , N°fno, N°prod, , Quantité) Produit  = 8 lignes * 5 colonnes * 10 char = 400 char Commande  = 10 lignes * 4 colonnes * 10 char = 400 char Références, prix et quantités des produits commandés en plus de 10 exemplaires par commande ?
R1= JOINTURE( Commande ,  Produit ,  Produit .N°prod =  Commande .N°prod) R2 = SELECTION(R1, Quantité > 10) R3 = PROJECTION(R2, N°prod, Prix, Quantité) R1 = jointure sur la table  Commande  et la table  Produit  = 400*400 =  160 000 char
R1 = PROJECTION(SELECTION( Commande , Quantité>10), N°prod, Quantité) R2 = JOINTURE(R1, PROJECTION( Produit , N°prod, Prix), R1.N°prod = PROJ.N°prod) R3 = PROJECTION(R2, N°prod, Prix, Quantité) R2 = jointure sur le couple (N°prod, Prix) de la table  Produit  = 8*2*10 = 160 char et sur le couple (N°prod, Quantité) de la table  Commande  = 2*2*10 = 40 char Total = 40*160 =  6400 char Gain de 75% (facteur 25) en taille mémoire
Clés d’une relation Clé primaire Colonne(s) dont les valeurs permettent de repérer une seule ligne. Exemple : dans la table COUREUR, c’est la colonne Numéro_Coureur qui est la clé.  Clé étrangère Colonne constituée de la clé primaire d’une autre table Traduit l’existence d’un lien entre 2 tables
Exercices CRU(NomCru,Commune,Région,Couleur) VINS(Région,Couleur,Millésime,Qualité) CEPAGE-REGION(Cépage,Couleur) Req1 : Tous les crus ? Réponse : CRU (!)
Req2 : Tous les crus rouges La liste des noms de crus rouges” PROJECTION(SELECTION(CRU, couleur=rouge), NomCru)
Contraintes d'intégrité Un des outils les plus importants d'un SGBD Contraintes de clé : Vérification de l'unicité des clés Contraintes de types de données : Vérification des types de données saisies (entiers, réels, dates, chaînes de caractères, booléens...) Vérification des domaines de validité (entier compris entre 0 et 20 pour une note d‘étudiant,...) Contraintes d'intégrité référentielles : Vérification à partir des clés étrangères (la clé primaire associée n'existe pas, note d'un étudiant qui n'existe pas, conséquences d'une suppression d'une fiche,...)

Contenu connexe

PDF
Théorie de normalisation-base de données
PDF
Algebre relationelle
PPS
PPT
COURS_SGBD_L2_PARTIE_hhjjjjkhgfh3_2019.ppt
PDF
Base de données S6 - CM5 - SQL (Partie 1)
PPT
seance 2.ppt
PPTX
API II-1 (1).pptx cours et explications donnés
PDF
chapitre5_L_algebrecivu_relationnelle.pdf
Théorie de normalisation-base de données
Algebre relationelle
COURS_SGBD_L2_PARTIE_hhjjjjkhgfh3_2019.ppt
Base de données S6 - CM5 - SQL (Partie 1)
seance 2.ppt
API II-1 (1).pptx cours et explications donnés
chapitre5_L_algebrecivu_relationnelle.pdf

Similaire à 2 coursalgrel (20)

PPTX
Algorithmique
PPTX
Algorithmique
ODP
Modèle relationnel
PDF
Algorithmique et Programmation I - Lilia Ayadi.pdf
PDF
coursMLD.pdf djnvvvvvvvvvvvvvvvv jd dvjjjjjjjjjjjjjjj
PDF
coursMLD.pdfnw wx c c c c c c cc c c c c c cckck
PDF
coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...
PPT
Coursggggggggggggggfzfgfrgtrgz'ghththtghhhth.ppt
DOC
courhhhhhhhhhhhhhhhhhhhhhhhhhrthhtht(ht-jyjs.doc
PPT
excelppt-on20242025ugd2024o2024zddzaz.ppt
PPTX
TAD (1).pptx
PDF
Chapitre i rappel sur l'algèbre de boole
PDF
Coursbase de donnees relationnelle sql server
PPTX
Introduction à la programmattion en langage C.pptx
PPT
Support_Cours_SQL.ppt
PDF
Ch2-Notions de base & actions élémentaires.pdf
PDF
Algorithmique et programmation en Pascal (résumé)
PDF
ALgèbredeBthhthththththththhoole_Cours.pdf
PPTX
sujet 1.pptx
PDF
Chapitre 2
Algorithmique
Algorithmique
Modèle relationnel
Algorithmique et Programmation I - Lilia Ayadi.pdf
coursMLD.pdf djnvvvvvvvvvvvvvvvv jd dvjjjjjjjjjjjjjjj
coursMLD.pdfnw wx c c c c c c cc c c c c c cckck
coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...
Coursggggggggggggggfzfgfrgtrgz'ghththtghhhth.ppt
courhhhhhhhhhhhhhhhhhhhhhhhhhrthhtht(ht-jyjs.doc
excelppt-on20242025ugd2024o2024zddzaz.ppt
TAD (1).pptx
Chapitre i rappel sur l'algèbre de boole
Coursbase de donnees relationnelle sql server
Introduction à la programmattion en langage C.pptx
Support_Cours_SQL.ppt
Ch2-Notions de base & actions élémentaires.pdf
Algorithmique et programmation en Pascal (résumé)
ALgèbredeBthhthththththththhoole_Cours.pdf
sujet 1.pptx
Chapitre 2
Publicité

Dernier (16)

PPTX
le coaching agile, qu'est-ce que c'est, que puis-je attendre d'un coach agile
PDF
UE6-2021-Sujet.pdf sujet de 2021 session
PDF
Les Fondamentaux de la Gestion de Projet
DOCX
Les risques inhérents au Marketplace (1).docx
PDF
JOURNAL of AFRICAN MANAGEMENT TRENDS Vol 25 Série 1 Août 2025
PDF
TiCO, designers d'impacts positifs, vers des modèles de sociétés heureuses
PDF
The world best hospital The world best hospital
PDF
Unlock your startup growth - Sales & Marketing
PDF
État de l’intégration régionale en Afrique ARIA XI
PDF
DFLT-Saddour-Dridi-Chapitre1-AU20-21.pdf
PDF
support Methodehry ry ty(y (y'('z ABC.pdf
DOCX
comportement organisationnelcomportement organisationnel
PDF
Gestion Stratégique de la Sélection et de l’Évaluation des Fournisseurs.pdf
PDF
exercices Methortydyy('tytuetyunetye ABC.pdf
PDF
Unlock an impactful value proposition for your startup - User Research
PDF
Simplifiez la Qualité Guide Pratique pour Mettre en Place un SMQ Efficace dan...
le coaching agile, qu'est-ce que c'est, que puis-je attendre d'un coach agile
UE6-2021-Sujet.pdf sujet de 2021 session
Les Fondamentaux de la Gestion de Projet
Les risques inhérents au Marketplace (1).docx
JOURNAL of AFRICAN MANAGEMENT TRENDS Vol 25 Série 1 Août 2025
TiCO, designers d'impacts positifs, vers des modèles de sociétés heureuses
The world best hospital The world best hospital
Unlock your startup growth - Sales & Marketing
État de l’intégration régionale en Afrique ARIA XI
DFLT-Saddour-Dridi-Chapitre1-AU20-21.pdf
support Methodehry ry ty(y (y'('z ABC.pdf
comportement organisationnelcomportement organisationnel
Gestion Stratégique de la Sélection et de l’Évaluation des Fournisseurs.pdf
exercices Methortydyy('tytuetyunetye ABC.pdf
Unlock an impactful value proposition for your startup - User Research
Simplifiez la Qualité Guide Pratique pour Mettre en Place un SMQ Efficace dan...
Publicité

2 coursalgrel

  • 2. La partie structurelle : le modèle relationnel Produit cartésien de 2 ensembles : Relation : Sous-ensemble du produit cartésien d’une liste de domaines Une relation est caractérisée par un nom Représentation commode : table à 2 dimensions Exemple : la relation Coureur est un sous-ensemble du produit cartésien : numéro X nom X CodeEquipe X CodePays
  • 3. La partie opérationnelle : l'algèbre relationnelle Une algèbre est un ensemble avec des opérations fermées sur cet ensemble. Une algèbre relationnelle est un ensemble d’opérations agissant sur des relations et produisant des relations 4 opérations ensemblistes (union, intersection, différence, produit cartésien) 3 opérations spécifiques des BD relationnelles (sélection, projection, jointure)
  • 4. Opérations ensemblistes Union Les relations doivent avoir le même schéma Professeur  Maître de conférence
  • 5. Opérations ensemblistes Intersection Les relations doivent avoir le même schéma Exemple : l’intersection de Professeur et Maître de conférence est une relation nulle (!) Différence Les relations doivent avoir le même schéma Exemple : la différence Professeur - Maître de conférence est la relation Professeur elle-même (!)
  • 6. Opérations ensemblistes Produit cartésien G-B GAN BOARDMAN Chris 91 SUI COF ROMINGER Tony 61 FRA ONC JALABERT Laurent 31 ALL TEL ULLRICH Jan 8 Code pays Code équipe Nom Coureur Numéro coureur G-B SUI FRA ALL Code pays Grande -Bretagne Suisse France Allemagne Nom Pays G-B SUI FRA ALL Code pays Grande -Bretagne Suisse France Allemagne Nom Pays ALL ALL ALL ALL Code pays TEL ULLRICH Jan 8 TEL ULLRICH Jan 8 TEL ULLRICH Jan 8 TEL ULLRICH Jan 8 Code équipe Nom Coureur Numéro coureur Allemagne… ALL FRA ONC JALABERT Laurent 31
  • 7. Opérations spécifiques Sélection (ou restriction) : relation composée de n-uplets vérifiant une condition Quels sont les coureurs suisses ? R = SELECTION(COUREUR, CodePays = ‘‘SUI’’) NOTATION :  CodePays = ‘‘SUI’’ (COUREUR) Relation résultat ITA SAE CIPOLLINI Mario 114 G-B GAN BOARDMAN Chris 91 SUI COF ROMINGER Tony 61 FRA ONC JALABERT Laurent 31 ALL TEL ULLRICH Jan 8 Code pays Code équipe Nom Coureur Numéro coureur
  • 8. Opérations spécifiques Projection : relation restreinte aux attributs spécifiés dans la projection Exemple : Nom et nationalité des coureurs ? R = PROJECTION(COUREUR, NomCoureur, Nationalité) NOTATION :  {NomCoureur,Nationalité} (COUREURS) Relation résultat CIPOLLINI Mario BOARDMAN Chris ROMINGER Tony JALABERT Laurent ULLRICH Jan Nom Coureur ITA G-B SUI FRA ALL Code pays
  • 9. Opérations spécifiques Jointure : Relation résultat G-B SUI FRA ALL Code pays Grande -Bretagne Suisse France Allemagne Nom Pays G-B GAN BOARDMAN Chris 91 SUI COF ROMINGER Tony 61 FRA ONC JALABERT Laurent 31 ALL TEL ULLRICH Jan 8 Code pays Code équipe Nom Coureur Numéro coureur Grande -Bretagne Suisse France Allemagne Nom Pays G-B SUI FRA ALL Code pays GAN BOARDMAN Chris 91 COF ROMINGER Tony 61 ONC JALABERT Laurent 31 TEL ULLRICH Jan 8 Code équipe Nom Coureur Numéro coureur
  • 10. Opérations spécifiques Jointure (suite) Notation : Coureur  Pays  -jointure : jointure sous condition autre que l’égalité
  • 11. Opérations spécifiques Division : relation composée des n-uplets tels que le produit cartésien avec le diviseur soit un sous-ensemble de la relation dividende (…?) Participer Epreuve Relation résultat de Particier  Epreuve Quels sont les athlètes qui ont participé à toutes les épreuves ?
  • 12. a a b b c c x y x y x y Produit cartésien Sélection Projection Union Intersection Différence a b c x y
  • 13. Remarques sur l'algèbre relationnelle L'algèbre relationnelle permet l‘étude des opérateurs entre eux (commutativité, associativité, groupe d'opérateurs minimaux,...) équivalence de certaines expressions programmes d'optimisation qui transforment toute requête en sa forme équivalente la plus efficace L'opération de jointure est très coûteuse : proportionnelle au nombre de n-uplets (m*n pour deux relations jointes) toujours préférable de faire les restrictions le plus tôt possible afin de manipuler des tables les plus réduites possibles.
  • 14. Pourquoi une requête est-elle meilleure qu'une autre ? Une requête n'est pas l'unique solution d'un problème. efficacités différentes Exemple : Fournisseur ( N°fno , Nom, Adresse, Ville) Produit ( N°prod , Designation, Prix, Poids, Couleur) Commande ( N°comm , N°fno, N°prod, , Quantité) Produit = 8 lignes * 5 colonnes * 10 char = 400 char Commande = 10 lignes * 4 colonnes * 10 char = 400 char Références, prix et quantités des produits commandés en plus de 10 exemplaires par commande ?
  • 15. R1= JOINTURE( Commande , Produit , Produit .N°prod = Commande .N°prod) R2 = SELECTION(R1, Quantité > 10) R3 = PROJECTION(R2, N°prod, Prix, Quantité) R1 = jointure sur la table Commande et la table Produit = 400*400 = 160 000 char
  • 16. R1 = PROJECTION(SELECTION( Commande , Quantité>10), N°prod, Quantité) R2 = JOINTURE(R1, PROJECTION( Produit , N°prod, Prix), R1.N°prod = PROJ.N°prod) R3 = PROJECTION(R2, N°prod, Prix, Quantité) R2 = jointure sur le couple (N°prod, Prix) de la table Produit = 8*2*10 = 160 char et sur le couple (N°prod, Quantité) de la table Commande = 2*2*10 = 40 char Total = 40*160 = 6400 char Gain de 75% (facteur 25) en taille mémoire
  • 17. Clés d’une relation Clé primaire Colonne(s) dont les valeurs permettent de repérer une seule ligne. Exemple : dans la table COUREUR, c’est la colonne Numéro_Coureur qui est la clé. Clé étrangère Colonne constituée de la clé primaire d’une autre table Traduit l’existence d’un lien entre 2 tables
  • 18. Exercices CRU(NomCru,Commune,Région,Couleur) VINS(Région,Couleur,Millésime,Qualité) CEPAGE-REGION(Cépage,Couleur) Req1 : Tous les crus ? Réponse : CRU (!)
  • 19. Req2 : Tous les crus rouges La liste des noms de crus rouges” PROJECTION(SELECTION(CRU, couleur=rouge), NomCru)
  • 20. Contraintes d'intégrité Un des outils les plus importants d'un SGBD Contraintes de clé : Vérification de l'unicité des clés Contraintes de types de données : Vérification des types de données saisies (entiers, réels, dates, chaînes de caractères, booléens...) Vérification des domaines de validité (entier compris entre 0 et 20 pour une note d‘étudiant,...) Contraintes d'intégrité référentielles : Vérification à partir des clés étrangères (la clé primaire associée n'existe pas, note d'un étudiant qui n'existe pas, conséquences d'une suppression d'une fiche,...)

Notes de l'éditeur

  • #4: L'alg₩bre relationnelle est aux relations ce que l'arithm₫tique est aux nombres. But : sp₫cifier des interrogations sur un BD pour en tirer des informations. Les op. Rel. Sont sp₫cifiques aux BD relationnelles. Les expressions alg₫briques transforment des tables en une table ( propri₫t₫ de fermeture )
  • #21: La cl₫ d'une relation est un ensemble d'attributs minimum dont la connaissance permet d'identifier un tuple unique de la relation consid₫r₫e La contraine de cl₫ impose que chaque relation poss₩de une cl₫. Equivalent à l'identifiant dans le md₩le E-A..