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

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [2016/10/03 12:27] – [Sélection] edaucepublic: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'information à partir d'une table unique :
 +  * projection π = extraction de colonnes
 +  * sélection σ = extraction de lignes
 +
 +==== Projection : π ===
 + <note important> **Projection**
 +  * Soit r une relation de schéma R
 +  * Soit S un ensemble d'attributs, avec SR
 +La **projection**  πS(r) est une nouvelle relation de schéma S obtenue à partir des éléments de r restreints au schéma S
 +πS(r)={t(S)|tR}
 +
 +(avec t(S) la restriction de t au schéma S)
 +</note>
 +
 +<note tip> **Exemple**
 +**Catalogue** :
 +^nom_fournisseur^adresse_fournisseur^composant^ prix^
 +|Sage|33, College street, London|transistor|4,4|
 +|MoxCom|77 Ashley square,Mumbay|micro controller|3,7|
 +|MoxCom|77 Ashley square,Mumbay|radio tuner|7,0|
 +
 +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,Mumbay|
 +
 +</note>
 +
 +==== 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'opérateurs booléens classiques : 
 +      * ∧(et), 
 +      * ∨(ou),
 +      * ¬(non), 
 +      * =, ≠, >,<, ≥ ,≤, ... 
 +      * et de valeurs numériques ou de texte.
 +</note>
 +
 +<note tip>
 +**Exemples** :
 +F=(A1=3)(A1>A2)(A34)
 +F=(A1=2)(A2="Dupont")
 +</note>
 +
 +<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'ensemble des enregistrements de r qui satisfont la condition F
 +
 +σF(r)={tr|F(t)est vrai}
 +</note>
 +
 +<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>
 +
 +<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|
 +
 +
 +</note>
 +
 +==== Structure d'une requête SQL====
 +
 +<code sql> 
 +SELECT    A1,A2, …, An    // liste d’attributs
 +FROM      R               // nom de la table
 +WHERE                   // condition sur les attributs
 +</code>
 +
 +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’;
 +</code>
 +  * //Liste de toutes les commandes de transistors ://
 +<code sql>
 +    SELECT *
 +    FROM Commandes
 +    WHERE composant = ’transistor’
 +</code>
 +  * //Qui fournit des micro-controleurs à moins de 5$?//
 +<code sql>
 +    SELECT nom_fournisseur
 +    FROM Catalogue
 +    WHERE composant = ’micro controller’ AND prix < 5
 +</code>
 +
 +
 +__Up__ : [[public:STD-3:CM2:Interrogation des bases de données]]
 +__Next__ : [[public:STD-3:CM2:Interrogation des bases de données:3.2.2 Opérateurs multi-tables]]