Les documents autoriss sont uniquement le cours, le TD, vos corrections et vos rsums.
A. Modlisation (6 points) Pour organiser un site de covoiturage, une base de donnes doit tre conue. Elle dcrit des abonns par leur identifiant, nom, prnom, pseudo, mail. Ces abonns peuvent proposer des trajets entre deux POI (point of interest) une date. Pour chaque trajet, la voiture utilise et le nombre de places disponibles est fournis. Les voitures des abonns sont dcrites par limmatriculation, la marque, le modle, et la capacit maximale. Un abonn peut aussi rserver un trajet et spcifier le nombre de passagers. Les POI sont dcrits par un identifiant, un nom, une latitude et une longitude. 1. Ralisez un Modle Conceptuel de Donnes entit association. (4 points) 2. Convertissez le MCD en Modle Logique de Donnes. (2 points) C. dpendances fonctionnelles et normalisation (5 points) Soit la table suivante : Id Nom Adresse NomDept NumDept NomSuperieur 1 Dupont 15, rue de Blois, 37000 Tours Indre-et-Loire 37 NULL 2 Durant 3, place de la rpublique, 41000 Blois Loir-et-Cher 41 Dupont 3 Dupuis 4, rue du commerce, 41000 Blois Loir-et-Cher 41 Durant 4 Durant 8, rue du commerce, 41000 Blois Loir et Cher 41 NULL 1. Quels sont les problmes lis cette table ? 2. Proposer des corrections ? 3. Quelles sont les dpendances fonctionnelles ? 4. Proposez une dcomposition de cette table qui respecte la 3 ime forme normale. Utilisez les rponses des questions prcdentes. Quelles sont les instances des relations issues de la dcomposition ?
2
B. Tables et Requtes SQL (9 points) Vous disposez des tables sur les employs (emp) de dpartements (dept) participant (participation) des projets (projet). Un employ une fonction spcifique qui peut tre diffrente dans chaque projet. Tables emp(matr, nomemp, poste, datembauche, sup, salaire, commission, dept) dept(dept, nomdept, lieu) projet(codeprojet, nomprojet) participation(matr, codeprojet, fonctionprojet) Remarque : sup est le matricule du suprieur de l'employ. Exemple d'instances des tables : pour emp : 10, 'Martin', 'informaticien', 2007-02-10, 12, 2300.00, 150, 8 pour dept : 8, 'production', 'Brest' pour projet : 7, P28 pour participation : 10, 7, 'chef' Questions 5. Peut-on supprimer la table participation et relier directement projet emp ? Justifiez votre rponse. 6. Pour chaque table, citez les cls trangres. Pour chacune des questions suivantes, crivez l'instruction SQL permettant d'afficher : 7. La liste des noms des employs trie par ordre alphabtique des noms. 8. La liste des fonctions exerces par Martin dans lensemble des projets. 9. La liste des employs ayant une commission suprieure la moiti de leur salaire. 10. La liste des noms des employs participant au projet ayant comme code de projet le numro 7. 11. La liste des noms des dpartements o au moins un employ participe au projet ayant comme code de projet le numro 7. 12. L'ensemble des noms des employs et de leur suprieur. 13. L'ensemble des noms des dpartements et la somme des salaires des employs du dpartement.