Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| public:std-3:cm2:interrogation_des_bases_de_donnees:3.2.1_operateurs_mono-table [2017/09/11 13:18] – [Sélection] edauce | public:std-3:cm2:interrogation_des_bases_de_donnees:3.2.1_operateurs_mono-table [2017/09/20 23:23] (Version actuelle) – [Structure d'une requête SQL] edauce | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ===== 3.2.1 Opérateurs mono-table ===== | ||
| + | Extraction d' | ||
| + | * 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' | ||
| + | La **projection** | ||
| + | $$\pi_S(r) = \{t(S)|t \in R\}$$ | ||
| + | |||
| + | (avec $t(S)$ la restriction de $t$ au schéma $S$) | ||
| + | </ | ||
| + | |||
| + | <note tip> **Exemple** | ||
| + | **Catalogue** : | ||
| + | ^nom_fournisseur^adresse_fournisseur^composant^ prix^ | ||
| + | |Sage|33, College street, London|transistor|4, | ||
| + | |MoxCom|77 Ashley square, | ||
| + | |MoxCom|77 Ashley square, | ||
| + | |||
| + | Requete : //Donner la liste des fournisseurs (avec leur adresse)//: | ||
| + | $$u = \pi_\text{nom_fournisseur, | ||
| + | |||
| + | $\rightarrow$ **u** : | ||
| + | ^nom_fournisseur^adresse_fournisseur^ | ||
| + | |Sage|33, College street, London| | ||
| + | |MoxCom|77 Ashley square, | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== Sélection : σ ==== | ||
| + | |||
| + | <note important> | ||
| + | **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' | ||
| + | * ∧(et), | ||
| + | * ∨(ou), | ||
| + | * ¬(non), | ||
| + | * =, ≠, >,<, ≥ ,≤, ... | ||
| + | * et de valeurs numériques ou de texte. | ||
| + | </ | ||
| + | |||
| + | <note tip> | ||
| + | **Exemples** : | ||
| + | $$ F | ||
| + | $$ F | ||
| + | </ | ||
| + | |||
| + | <note important> | ||
| + | **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' | ||
| + | |||
| + | $$σ_F(r) = \{ t ∈ r | F( t ) \text{est vrai} \}$$ | ||
| + | </ | ||
| + | |||
| + | <note tip> | ||
| + | **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| | ||
| + | </ | ||
| + | |||
| + | <note tip> | ||
| + | **Exemple** | ||
| + | |||
| + | **Pays** : | ||
| + | ^nom_pays^superficie^population ^PIB/hab^ | ||
| + | |Algérie|2.300.000|31.300.000|1630$| | ||
| + | |Niger|1.200.000|11.400.000|890$| | ||
| + | |Arabie Saoudite|2.150.000|24.300.000|8110$| | ||
| + | |||
| + | Requête : //Donner la liste des pays dont le PIB/hab est > 1000$// | ||
| + | $$u = Π_\text{nom_pays}( σ_\text{PIB/ | ||
| + | |||
| + | **u** : | ||
| + | ^nom_pays^ | ||
| + | |Algérie| | ||
| + | |Arabie Saoudite| | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | ==== Structure d'une requête SQL==== | ||
| + | |||
| + | <code sql> | ||
| + | SELECT | ||
| + | FROM R // nom de la table | ||
| + | WHERE | ||
| + | </ | ||
| + | |||
| + | 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 ?// | ||
| + | <code sql> | ||
| + | SELECT nom_fournisseur | ||
| + | FROM Fournisseur | ||
| + | WHERE composant = ’transistor’; | ||
| + | </ | ||
| + | * //Liste de toutes les commandes de transistors :// | ||
| + | <code sql> | ||
| + | SELECT * | ||
| + | FROM Commandes | ||
| + | WHERE composant = ’transistor’ | ||
| + | </ | ||
| + | * //Qui fournit des micro-controleurs à moins de 5$?// | ||
| + | <code sql> | ||
| + | SELECT nom_fournisseur | ||
| + | FROM Catalogue | ||
| + | WHERE composant = ’micro controller’ AND prix < 5 | ||
| + | </ | ||
| + | |||
| + | |||
| + | __Up__ : [[public: | ||
| + | __Next__ : [[public: | ||