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] – [Projection π] 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: |