2 coursalgrel
Upcoming SlideShare
Loading in...5
×
 

2 coursalgrel

on

  • 538 views

 

Statistics

Views

Total Views
538
Views on SlideShare
525
Embed Views
13

Actions

Likes
0
Downloads
15
Comments
0

2 Embeds 13

http://madwatch.webcarre.net 7
http://192.168.1.99 6

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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 )
  • 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..

2 coursalgrel 2 coursalgrel Presentation Transcript

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