public:std-3:cm2:interrogation_des_bases_de_donnees:3.2.3_recherches_composees

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.3_recherches_composees [2017/09/20 23:35] edaucepublic:std-3:cm2:interrogation_des_bases_de_donnees:3.2.3_recherches_composees [2017/09/20 23:40] (Version actuelle) edauce
Ligne 1: Ligne 1:
  
 +  * Certaines requêtes, peuvent être le résultat de la combinaison de plusieurs critères de recherche
 +  * La combinaison de résultats est généralement réalisée à l'aide des opérations ensemblistes classiques (intersection, union...) pour exprimer  «et», «ou», «non»...
 +  * Pour alléger les formules, il est possible  d'utiliser des tables intermédiaires.
 +
 +<note important>
 +**Union**
 +  * Soient r1 et r2 deux tables de schéma R.
 +L'**union** r1 U r2 est une nouvelle table de schéma R constituée de l'ensemble des enregistrements qui appartiennent à r1 ou à r2:
 +$$r1 \cup r2 = { t ∈ r1} \cup { t ∈ r2}$$
 +</note>
 +
 +<note important> **Intersection**
 +  * Soient r1 et r2 deux tables de schéma R.
 +L'**intersection** r1 ⋂ r2 est une nouvelle table de schéma R constituée de l'ensemble des enregistrements qui appartiennent à r1 et à r2:
 +$$r1 \cap r2 = \{ t ∈ r1\} \cap \{ t ∈ r2\}$$
 +</note>
 +
 +<note important> **Différence **
 +  * Soient r1 et r2 deux tables de schéma R.
 +La **différence** r1 - r2 est une nouvelle table de schéma R constituée de l'ensemble des enregistrements qui appartiennent à r1 mais pas à r2:
 +$$r1 - r2 = \{ t ∈ r1\} - \{ t ∈ r2\}$$
 +</note>
 +
 +**Exemples :**
 +  * Donner la liste des pays qui exportent à la fois du gaz et du pétrole :
 +$$\pi _{Pays} σ_\text{matière = gaz} (\text{Exportations}) \cap \pi _{Pays}  σ_\text{matière = pétrole} (\text{Exportations})$$
 +en SQL :
 +<code sql>
 +SELECT pays FROM Exportations
 +WHERE matière = 'gaz'
 +INTERSECT (     SELECT pays FROM EXPORTATIONS
 +                WHERE matière = 'pétrole');
 +</code>
 +  * Donner la liste des pays qui exportent du gaz mais pas du pétrole :
 +$$\pi _{Pays} σ_\text{matière = gaz} (\text{Exportations}) - \pi _{Pays} σ_\text{matière = pétrole} (\text{Exportations})$$
 +en SQL :
 +<code sql>
 +SELECT pays FROM Exportations
 +WHERE matière = 'gaz'
 +EXCEPT (     SELECT pays FROM EXPORTATIONS
 +            WHERE matière = 'pétrole');
 +</code>
 +
 +* Donner la liste des clients qui commandent uniquement des produits 'Moxcom' :
 +$$\pi_{nom\_client}Client - \pi_{nom\_client} \sigma_{fournisseur \neq 'Moxcom'} Client ⋈ Commande$$
 +en SQL :
 +<code sql>
 +SELECT nom_client FROM Client
 +EXCEPT (    SELECT client FROM Client NATURAL JOIN Commande
 +            WHERE fournisseur <> 'Moxcom');
 +</code>
 +
 +__Previous__ : [[public:STD-3:CM2:Interrogation des bases de données:3.2.2 Opérateurs multi-tables]]
 +__Up__ : 3.2 [[public:STD-3:CM2:Interrogation des bases de données]]
 +__Next__ : [[public:STD-3:CM2:Interrogation des bases de données:Analyse des données]]