Plan de formation
- Modélisation E/A et UML de la base de données
- Enoncé de l’exercice 1
- Correction de l’exercice 1
- Modélisation E/A et UML d’une base de données gérant des revues
- Enoncé de l’exercice 2
- Correction de l’exercice 2
- Langage d’interrogation
- En SQL
- En algèbre relationnelle
- En calcul relationnel
- Enoncé de l’exercice 3
- Correction de l’exercice 3
- simple traduction de la requête en calcul relationnel
- Enoncé de l’exercice 4
- Correction de l’exercice 4
- Dépendances fonctionnelles et normalisation
- Enoncé de l’exercice 5
- Correction de l’exercice 5
- Vérication des contraintes exprimées par des dépendances fonctionnelles
- Détermination des clés minimales des relations
- Enoncé de l’exercice 6
- Correction de l’exercice 6
- Déduction de la forme normale du schéma de la relation R
- Bibliography
Profitez de ce manuel de formation en PDF pour comprendre mieux le SQL et enrichir votre connaissance.
Commencez à télécharger ce cours adapté pour vous et à apprendre SQL.
:ft:P ersonnejE mprunt(t)^[8u(E mprunt(u)) =)(9v E mprunt(v)^(v:P ersonne=t:P ersonne)^(u:Livre=v:Livre) )]gLe résultat de la requête contient les valeurs de l’attributP ersonnedes nupletstde la relationE mprunttels que quel que soit un nuplet s’il s’agit d’un livre emprunté (donc d’un nupletudansE mprunt) alors on trouve un nupletvdansE mpruntassociant cette personne à celivre (c’est-à-direv:P ersonne=t:P ersonneetu:Livre=v:Livre).On peut également l’écrire de la manière suivante :ft:P ersonnejE mprunt(t)^[8u:(E mprunt(u))_(9v E mprunt(v)^(v:P ersonne=t:P ersonne)^(u:Livre=v:Livre) )]gCe qui signie que le résultat de la requête contient les valeurs de l’attributP ersonnedesnupletstde la relationE mprunttels que quel que soit un nupletusoit c’est n’est pas unnuplet deE mpruntsoit (implicitement c’est un nuplet deE mpruntet) on trouve un nupletvdansE mpruntassociant cette personne à ce livre (c’est-à-direv:P ersonne=t:P ersonneetu:Livre=v:Livre).D’où dit de manière négative :ft:P ersonnejE mprunt(t)^ :[9u E mprunt(u):(9v E mprunt(v)^(v:P ersonne=t:P ersonne)^(u:Livre=v:Livre) )]gEn SQL, simple traduction de la requête en calcul relationnel :SELECT t.PersonneFROM Emprunt tWHERE NOT EXISTS ( SELECT *FROM Emprunt u WHERE NOT EXISTS ( SELECT *FROM Emprunt vWHERE v.Personne=t.PersonneAND v.Livre=u.Livre))4.Quels sont les livres ayant été empruntés par tout le monde (i.e. tous les em-prunteurs) ?En algèbre relationnelle:¦P ersonne;Livre(E mprunt)¥¦P ersonne(E mprunt)Le résultat de cette requête est calculé en utilisant également l’opérateur de division.La sous-requête¦P ersonne(E mprunt)correspond à la liste des emprunteurs. Le résultat de lasous-requête¦P ersonne;Livre(E mprunt)contient tous les couples(Personne ayant empruntéau moins une fois, Livre emprunté au moins une fois par cette personne). Le résultat de ladivision sera donc la liste des livres associés, dans le résultat de¦P ersonne;Livre(E mprunt), àchacun des emprunteurs apparaissant dans le résultat de la requête¦P ersonne(E mprunt).En calcul relationnel:ft:LivrejE mprunt(t)^[8u(E mprunt(u)) =)(9v E mprunt(v)^(u:Livre=t:Livre)^(v:P ersonne=u:P ersonne) )]gLe résultat de la requête contient les valeurs de l’attributLivredes nupletstde la rela-tionE mprunttels que quel que soit un nuplet s’il s’agit d’un emprunteur (donc d’un nupletudansE mprunt) alors on trouve un nupletvdansE mpruntassociant ce livre à cet emprunteur10