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 π = extraction de colonnes | ||
+ | * sélection σ = extraction de lignes | ||
+ | |||
+ | ==== Projection : π === | ||
+ | < | ||
+ | * Soit r une relation de schéma R. | ||
+ | * Soit S un ensemble d' | ||
+ | La **projection** | ||
+ | πS(r)={t(S)|t∈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=πnom_fournisseur, adresse_fournisseur(Catalogue) | ||
+ | |||
+ | → **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(A1,…,An) | ||
+ | * Une condition F sur R : | ||
+ | * est un ensemble de contraintes sur les valeurs des attributs A1, …, An | ||
+ | * construites à l'aide d' | ||
+ | * ∧(et), | ||
+ | * ∨(ou), | ||
+ | * ¬(non), | ||
+ | * =, ≠, >,<, ≥ ,≤, ... | ||
+ | * et de valeurs numériques ou de texte. | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | **Exemples** : | ||
+ | F=(A1=3)∧(A1>A2)∧(A3≠4) | ||
+ | F=(A1=2)∨(A2="Dupont") | ||
+ | </ | ||
+ | |||
+ | <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)est vrai} | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | **Exemple** : | ||
+ | |||
+ | Requête : //Donner la liste des fournisseurs qui vendent des micro-controleurs// | ||
+ | |||
+ | u=Πnom_fournisseur(σComposant = micro controller(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=Πnom_pays(σPIB/hab > 1000 (Pays)) | ||
+ | |||
+ | **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: |