TD 10 : Algèbre relationnelle (suite) et projet
Enchainements d'opérations
Relation Clients :
| ID |
Nom |
Age |
| 1 |
Alice |
20 |
| 2 |
Bob |
19 |
| 3 |
Camille |
19 |
Relation Produits :
| ID |
Nom |
Couleur |
| 1 |
lampe |
rouge |
| 2 |
lampe |
bleu |
| 3 |
stylo |
rouge |
Relation Achats :
| ID |
IDClient |
IDProduit |
| 1 |
2 |
3 |
| 2 |
2 |
1 |
| 3 |
3 |
1 |
Pour chacune des opérations suivantes, calculer la relation et donner la requête SQL correspondante.
-
Calculer σAge=19(Clients).
-
Calculer πNom(σAge=19(Clients)).
-
Calculer σID≤2(πID(σAge=19(Clients))).
-
Calculer πID,Couleur(Produits).
-
Calculer σCouleur=rouge(πID,Couleur(Produits)).
-
Calculer πID,Couleur(σCouleur=rouge(Produits)).
Jointure
Comme en SQL on peut faire la jointure de deux relations. Soient R et S deux relations. La jointure est notée R⋈a=bS où a désigne un attribut de R et b un attribut de S.
Pour chacune des opérations suivantes, calculer la relation et donner la requête SQL correspondante.
-
Calculer Clients⋈Clients.ID=Achats.IDClientAchats.
-
Calculer Produits⋈Produits.ID=Achats.IDProduitAchats.
-
Calculer (Produits⋈Produits.ID=Achats.IDProduitAchats)⋈Achats.IDClient=Clients.IDClients.
-
Calculer σProduits.Couleur=rouge(Produits⋈Produits.ID=Achats.IDProduitAchats).
-
Calculer πClients.ID(Clients⋈Clients.ID=Achats.IDClientAchats).
Projet
Créer une base de données modélisant une situation existante dans votre domaine d'études (ou autre). La base de données sera créé sur Libre Office Base ou avec SQLite. Il faut qu'elle contienne au moins 3 tables et 2 clefs étrangères. Pour chaque attribut, il faut préciser son type, si c'est une clef primaire ou une clef étrangère, s'il peut être NULL. Il faut aussi préciser les règles de suppression et de mises à jour.
Remplir la base avec quelques données et tester les règles de suppression et de mises à jour.