Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
PDN-S2
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Robin VAN DE MERGHEL
PDN-S2
Commits
04e7cc5a
Commit
04e7cc5a
authored
2 years ago
by
Robin VAN DE MERGHEL
Browse files
Options
Downloads
Patches
Plain Diff
bdd course
parent
2133d4bf
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
DB Implementation/TP/TP1/pdn.md
+1
-1
1 addition, 1 deletion
DB Implementation/TP/TP1/pdn.md
DB Implementation/cm2.pdf
+0
-0
0 additions, 0 deletions
DB Implementation/cm2.pdf
DB Implementation/pdn.md
+89
-1
89 additions, 1 deletion
DB Implementation/pdn.md
with
90 additions
and
2 deletions
DB Implementation/TP/TP1/pdn.md
+
1
−
1
View file @
04e7cc5a
...
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
DB Implementation/cm2.pdf
0 → 100644
+
0
−
0
View file @
04e7cc5a
File added
This diff is collapsed.
Click to expand it.
DB Implementation/pdn.md
+
89
−
1
View file @
04e7cc5a
...
...
@@ -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.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment