L2 Info : Bases de données
 
◃  Ch. 2 Interrogation des données avec SQL (DQL)  ▹
 

Restriction ou Sélection de lignes

  • Définition : Soit R une relation, σpred(R) est un sous-ensemble de R dont le corps est constitué des n-uplets de R satisfaisant la condition pred.
  • En SQL, la restriction (ou sélection) correspond au rôle de la clause WHERE
  • La clause WHERE est associée à une expression booléenne
  • Syntaxe :
    SELECT col1, ..., coln
    FROM nom_table
    WHERE condition
  • En SQL, la restriction σprof_id = 1(Professeur)se fait ainsi :
    SELECT * FROM Professeur WHERE prof_id=1;
    
    prof_id | prof_nom | prof_prenom | prof_tel | prof_adresse | prof_statut 
    --------+----------+-------------+------------+--------------+-------------
          1 | Amanton  | Laurent     | 0232744319 | ST-B110      | MCF
    (1 row)
  • La requête SELECT projection(R) FROM R WHERE predicat(R) est exécutée suivant l'algorithme suivant :
      ENTRÉE : une relation R
      SORTIE : une relation S
      VARIABLE
        TMP une relation de même type que R
      DÉBUT
        TMP := ∅
        POUR CHAQUE n_uplet n de R FAIRE
          SI predicat(n) ALORS
            TMP := TMP ∪ n;
          FIN SI
        FIN POUR
        S := projection(TMP)
        RETOURNER S;
      FIN