public:std-3:cm2:interrogation_des_bases_de_donnees:3.2.1_operateurs_mono-table

Extraction d'information à partir d'une table unique :

  • projection $\pi$ = extraction de colonnes
  • sélection $\sigma$ = extraction de lignes
Projection
  • Soit $r$ une relation de schéma $R$.
  • Soit $S$ un ensemble d'attributs, avec $S$ ⊆ $R$

La projection $\pi_S(r)$ est une nouvelle relation de schéma $S$ obtenue à partir des éléments de $r$ restreints au schéma $S$ $$\pi_S(r) = \{t(S)|t \in R\}$$

(avec $t(S)$ la restriction de $t$ au schéma $S$)

Exemple Catalogue :
nom_fournisseuradresse_fournisseurcomposant prix
Sage33, College street, Londontransistor4,4
MoxCom77 Ashley square,Mumbaymicro controller3,7
MoxCom77 Ashley square,Mumbayradio tuner7,0

Requete : Donner la liste des fournisseurs (avec leur adresse): $$u = \pi_\text{nom_fournisseur, adresse_fournisseur} (\text{Catalogue})$$

$\rightarrow$ u :

nom_fournisseuradresse_fournisseur
Sage33, College street, London
MoxCom77 Ashley square,Mumbay
Condition sur R
  • On considère le schéma $R (A_1, …, A_n)$
  • Une condition $F$ sur $R$ :
    • est un ensemble de contraintes sur les valeurs des attributs $A_1$, …, $A_n$
    • construites à l'aide d'opérateurs booléens classiques :
      • ∧(et),
      • ∨(ou),
      • ¬(non),
      • =, ≠, >,<, ≥ ,≤, …
      • et de valeurs numériques ou de texte.
Exemples : $$ F = (A_1 = 3) ∧ (A_1 > A_2) ∧ (A_3 ≠ 4)$$ $$ F = (A_1 = 2) ∨ (A_2 = "Dupont")$$
Sélection
  • Soit $r$ une relation de schéma $R$
  • Soit $F$ une condition sur $R$

La sélection $σ_F(r)$ est une nouvelle relation de schéma $R$ , constituée de l'ensemble des enregistrements de $r$ qui satisfont la condition $F$.

$$σ_F(r) = \{ t ∈ r | F( t ) \text{est vrai} \}$$

Exemple :

Requête : Donner la liste des fournisseurs qui vendent des micro-controleurs

$$u = Π_\text{nom_fournisseur}( σ_\text{Composant = micro controller} ( \text{Fournisseur} ))$$ u :

nom_f
Moxcom
Exemple

Pays :

nom_payssuperficiepopulation PIB/hab
Algérie2.300.00031.300.0001630$
Niger1.200.00011.400.000890$
Arabie Saoudite2.150.00024.300.0008110$

Requête : Donner la liste des pays dont le PIB/hab est > 1000$ $$u = Π_\text{nom_pays}( σ_\text{PIB/hab > 1000 } ( \text{Pays} ))$$

u :

nom_pays
Algérie
Arabie Saoudite
SELECT    A1,A2,, An    // liste d’attributs
FROM      R               // nom de la TABLE
WHERE     F               // condition sur les attributs

cette requête est semblable à :

  • une sélection algébrique $σ_F$
  • suivie par une projection algébrique $Π_{A1, …, An}$

soit : $$Π_{A1, …, An}( σ_F ( R ))$$

Exemples :

  • Qui fournit des transistors ?
    SELECT nom_fournisseur
    FROM Fournisseur
    WHERE composant = ’transistor’;
  • Liste de toutes les commandes de transistors :
    SELECT *
    FROM Commandes
    WHERE composant = ’transistor’
  • Qui fournit des micro-controleurs à moins de 5$?
    SELECT nom_fournisseur
    FROM Catalogue
    WHERE composant = ’micro controller’ AND prix < 5

Up : Interrogation des bases de données Next : 3.2.2 Opérateurs multi-tables

  • public/std-3/cm2/interrogation_des_bases_de_donnees/3.2.1_operateurs_mono-table.txt
  • Dernière modification : 2017/09/20 23:23
  • de edauce