© Your Copyright
L’objectif de ces exercices est de savoir représenter sous forme d’arbre de requêtes les requêtes de base sur une seule table de la base de données « Aux pays des bières ».
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_bar | bar | pays |
---|---|---|
1 | Bar du Coin | France |
2 | Corners Pub | USA |
3 | Cafe der Ecke | Allemagne |
4 | Cafe des Amis | France |
Récupérer les bars : \(\displaystyle Q_1 = bars\)
Arbre de requêtes : bars-0-1.json
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_bar | bar | pays |
---|---|---|
1 | Bar du Coin | France |
2 | Corners Pub | USA |
3 | Cafe der Ecke | Allemagne |
4 | Cafe des Amis | France |
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_bar | id_biere | stock |
---|---|---|
1 | 1 | 1000 |
1 | 2 | 250 |
1 | 3 | 50 |
1 | 4 | 10 |
1 | 5 | 10 |
1 | 6 | 10 |
1 | 7 | 20 |
1 | 8 | 20 |
2 | 1 | 100 |
2 | 6 | 1500 |
3 | 5 | 5000 |
Récupérer les bars : \(\displaystyle Q_1 = services\)
Arbre de requêtes : bars-0-2.json
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_bar | id_biere | stock |
---|---|---|
1 | 1 | 1000 |
1 | 2 | 250 |
1 | 3 | 50 |
1 | 4 | 10 |
1 | 5 | 10 |
1 | 6 | 10 |
1 | 7 | 20 |
1 | 8 | 20 |
2 | 1 | 100 |
2 | 6 | 1500 |
3 | 5 | 5000 |
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_biere | biere | couleur | origine |
---|---|---|---|
1 | Kronenbourg | Blonde | France |
2 | Guinness | Brune | Irlande |
3 | Heineken | Blonde | Hollande |
4 | Newcastle | Rousse | UK |
5 | Spaten | Blonde | Allemagne |
6 | Bush | Blonde | USA |
7 | Kanterbrau | Blonde | France |
8 | Kronenbourg | Brune | France |
Récupérer les bars : \(\displaystyle Q_1 = bieres\)
Arbre de requêtes : bars-0-3.json
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_biere | biere | couleur | origine |
---|---|---|---|
1 | Kronenbourg | Blonde | France |
2 | Guinness | Brune | Irlande |
3 | Heineken | Blonde | Hollande |
4 | Newcastle | Rousse | UK |
5 | Spaten | Blonde | Allemagne |
6 | Bush | Blonde | USA |
7 | Kanterbrau | Blonde | France |
8 | Kronenbourg | Brune | France |
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
biere | couleur |
---|---|
Kronenbourg | Blonde |
Guinness | Brune |
Heineken | Blonde |
Newcastle | Rousse |
Spaten | Blonde |
Bush | Blonde |
Kanterbrau | Blonde |
Kronenbourg | Brune |
On applique une projection (\(\Pi\)) sur les colonnes (biere,couleur)
de la table bieres
.
Ecriture en algèbre relationnelle :
Arbre de requêtes : bars-1.json
- \(Q_1 = \Pi_{(biere,couleur)}(bieres)\)
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
biere | couleur |
---|---|
Kronenbourg | Blonde |
Guinness | Brune |
Heineken | Blonde |
Newcastle | Rousse |
Spaten | Blonde |
Bush | Blonde |
Kanterbrau | Blonde |
Kronenbourg | Brune |
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_biere | biere | couleur | origine |
---|---|---|---|
1 | Kronenbourg | Blonde | France |
7 | Kanterbrau | Blonde | France |
8 | Kronenbourg | Brune | France |
On applique une restriction (\(\sigma\)) avec la condition [origine = 'France']
sur la table bieres
.
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_biere | biere | couleur | origine |
---|---|---|---|
1 | Kronenbourg | Blonde | France |
7 | Kanterbrau | Blonde | France |
8 | Kronenbourg | Brune | France |
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
biere |
---|
Kronenbourg |
Kanterbrau |
Kronenbourg |
On applique une projection (\(\Pi\)) sur la colonne biere
et une restriction (\(\sigma\)) sur la condition [origine='France']
de la table bieres
.
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
biere |
---|
Kronenbourg |
Kanterbrau |
Kronenbourg |
Construire un arbre de requêtes répondant à la question :
- \(Q_1\) : « récupérer les bières blondes françaises ».
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_biere | biere | couleur | origine |
---|---|---|---|
1 | Kronenbourg | Blonde | France |
7 | Kanterbrau | Blonde | France |
On vérifie (\(\sigma\)) que les bières sont d’origine française (origine='France'
) et (\(\land\)) qu’elles sont de couleur blonde (couleur='Blonde'
)
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_biere | biere | couleur | origine |
---|---|---|---|
1 | Kronenbourg | Blonde | France |
7 | Kanterbrau | Blonde | France |
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_biere | biere | couleur | origine |
---|---|---|---|
1 | Kronenbourg | Blonde | France |
2 | Guinness | Brune | Irlande |
7 | Kanterbrau | Blonde | France |
8 | Kronenbourg | Brune | France |
On vérifie (\(\sigma\)) sur la table bieres
qu’elles sont d’origine française (origine='France'
) et (\(\land\)) de couleur blonde (couleur='Blonde'
)
ou (\(\lor\)) que la couleur des bières est brune (couleur='Brune'
) .
Attention à la priorité du connecteur logique \(\land\) sur le \(\lor\) (de même que la multiplication l’est sur l’addition).
donnerait comme résultat … les bières françaises (il ne peut exister des bières blonde et brune à la fois).
On peut modifier la priorité en parenthésant l’expression logique.
TablesOpérateurs unairesOpérateurs binaires |
Vue d'ensemble | |
---|---|
|
id_biere | biere | couleur | origine |
---|---|---|---|
1 | Kronenbourg | Blonde | France |
2 | Guinness | Brune | Irlande |
7 | Kanterbrau | Blonde | France |
8 | Kronenbourg | Brune | France |