TD5 - Algèbre relationnelle
Produit fournisseur
On considère la base de données suivante :
Produit : numprod, nomprod, quantité
Fournisseur : numfour, nomfour, adresse, ville
- Donner un schéma conceptuel et un schéma relationnel
- Donner une expression algébrique et un arbre algébrique pour chacune des
requêtes suivantes :
- Les produits disponibles sur Bordeaux
- Les fournisseurs qui vendent tous les produits (cf. division)
⊳⊲(Fournir,Fournisseur)
Nous cherchons les fournisseurs qui vendent tous les produits
ΠNom Fournisseur[(Fournisseurs⊳⊲Fournir÷Produit)]
Nous cherchons les produits disponibles sur Bordeaux
ΠNom Produit(σville=’Bordeaux’)(Produit⊳⊲Fournir ⊳⊲Fournisseur)
Élèves-matières
Soit le schéma relationnel suivant (les clés primaires sont en gras, les clé
étrangères sont précédées du symbole #) qui représente des élèves, des maturées
et le fait que des élèves suivent des matières.
- Élève(Numéro Élève,Nom élève, Prénom élève)
- Matière(Numéro Matière,Nom Matière)
- Suivre(#Numéro Élève, #Numéro Matière)
Écrire en algèbre relationnelle les requêtes suivantes :
- Donner la liste des matières suivies par un étudiant qui s'appelle Jean
Dupont
ΠNom Matieˋre(σJean Dupon(Eleve⊳⊲Suivre⊳⊲Matiere))
- Donner le nom et prénom des élèves qui suivent le cours de Base de Données
ΠNom de l’eˊleˋve(σSGBD(Eleves⊳⊲Suivre⊳⊲Matiere))
- Donner la liste des élèves qui ont le même nom, mais pas le même prénom
ΠE1Nom,E1Preˊnom(E1⊳⊲E1.NomEleve=E2.NomEleve AND E1.PrenomEleve=E2.PrenomEleveE2)
- Donner la liste des élèves qui suivent tous les cours
ΠPreˊnom Nom((Eleve⊳⊲Suivre⊳⊲Matiere)÷Matiere)