Skip to content
Snippets Groups Projects
Commit 04e7cc5a authored by Robin VAN DE MERGHEL's avatar Robin VAN DE MERGHEL :computer:
Browse files

bdd course

parent 2133d4bf
No related branches found
No related tags found
No related merge requests found
......@@ -325,7 +325,7 @@ table(DELEGUE) {
ETUDIANT "1" -- "0..*" GROUPE : est dans
GROUPE "1" -- "0..*" INSCRIPTION : a pour étudiant
INSCRIPTION "1" -- "1" ETUDIANT : est pour
COURS "1" -- "0..*" INSCRIPTION : a pour étudiant
COURS "1" - "0..*" INSCRIPTION : a pour étudiant
DELEGUE "1" -- "1" GROUPE : est pour
DELEGUE "1" -- "1" ETUDIANT : est pour
......
File added
......@@ -130,4 +130,92 @@ On obtient donc :
> **Que se passe-t-il avec : `DELETE FROM Conference WHERE idConf = 0` ?**
La suppression est possible car la clé primaire n'est pas violée. Il existe bien une clé primaire avec `idConf` = 0.
\ No newline at end of file
La suppression est possible car la clé primaire n'est pas violée. Il existe bien une clé primaire avec `idConf` = 0.
# Cours Magistral 2
## TD2
### Exercice 1
Implémenter les fonctions suivantes :
- Le client 0 ajoute des carottes à son panier
- Le prix des pommes augmente de 1€
- Supprimer les carottes des produits disponibles
On se base des tables suivantes :
Somme :
| Client | Total |
|--------|-------|
| 0 | 10 |
| 1 | 5 |
Panier :
| Client | Produit |
|--------|---------|
| 0 | 0 |
| 0 | 1 |
| 1 | 0 |
Produit :
| Produit | Nom | Prix |
|---------|-----|------|
| 0 | pommes | 5 |
| 1 | poires | 5 |
| 2 | carottes | 3 |
#### Question 1
> **Le client 0 ajoute des carottes à son panier**
```sql
-- On ajoute les carottes au panier
INSERT INTO Panier VALUES (0, 2);
-- On récupère le prix des carottes
prixCarottes <- SELECT Prix FROM Produit WHERE Produit = 2;
-- On met à jour le total du client 0
UPDATE Somme SET Total = Total + prixCarottes WHERE Client = 0;
```
#### Question 2
> **Le prix des pommes augmente de 1€**
```sql
-- On met à jour le prix des pommes
UPDATE Produit SET Prix = Prix + 1 WHERE Produit = 0;
-- On récupère le prix des pommes
prixPommes <- SELECT Prix FROM Produit WHERE Produit = 0;
-- On met à jour le total de chaque client si il y a des pommes dans son panier
UPDATE Somme SET Total = Total + prixPommes WHERE Client IN (SELECT Client FROM Panier WHERE Produit = 0);
```
#### Question 3
> **Supprimer les carottes des produits disponibles**
```sql
-- On récupère le prix des carottes
prixCarottes <- SELECT Prix FROM Produit WHERE Produit = 2;
-- On met à jour le total de chaque client si il y a des carottes dans son panier
UPDATE Somme SET Total = Total - prixCarottes WHERE Client IN (SELECT Client FROM Panier WHERE Produit = 2);
-- On supprime les carottes du panier
DELETE FROM Panier WHERE Produit = 2;
-- On supprime les carottes des produits disponibles
DELETE FROM Produit WHERE Produit = 2;
```
Note : L'ordre est important dans les requêtes sinon il peut y avoir des erreurs soit d'execution soit de calcul.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment