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 : π
- Soit r une relation de schéma R.
- Soit S un ensemble d'attributs, avec S ⊆ R
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)|t∈R}
(avec t(S) la restriction de t au schéma S)
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 |
Sélection : σ
- 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.
- 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)={t∈r|F(t)est vrai}
Requête : Donner la liste des fournisseurs qui vendent des micro-controleurs
u=Πnom_fournisseur(σComposant = micro controller(Fournisseur)) u :
nom_f |
---|
Moxcom |
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
SELECT A1,A2, …, An // liste d’attributs FROM R // nom de la TABLE WHERE F // condition sur les attributs
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 ?
SELECT nom_fournisseur FROM Fournisseur WHERE composant = ’transistor’;
- Liste de toutes les commandes de transistors :
SELECT * FROM Commandes WHERE composant = ’transistor’
- Qui fournit des micro-controleurs à moins de 5$?
SELECT nom_fournisseur FROM Catalogue WHERE composant = ’micro controller’ AND prix < 5
Up : Interrogation des bases de données Next : 3.2.2 Opérateurs multi-tables