Université Paris Ouest Nanterre la Défense. UFR SEGMI. L2, MIA, Sciences éco-gestion et Langues. Année Universitaire 2009-2010. S. Baarir INITIATION AUX BASES DE DONNÉES. Contrôle Continue. Samedi 28 Novembre. De 10h à 12h. Très important : Il est interdit de sortir de l’amphi avant la fin de la première heure, et toute sortie est définitive. Seul le cours annoté est autorisé. Il ne peut être échangé. Le barème est indicatif est peut être modifié à la correction. Exercice 1 (15 points). Soient les schémas et tables suivantes, appartenant à une base de données représentant les achats des clients d’une entreprise informatique : Client (IDC, Nom, Prénom, Ville, AnnéeN) Produit (IDP, Description, Prix) Achat (IDA, RefC, RefP, Quantité, Date) Client IDC 1 2 3 4 Nom Dupont Marc Doe Dubois Prénom Jean Nicole John Anne Ville Paris Nanterre Créteil Paris Produit IDP Description 1 LCD 2 DVD-R 3 Clé USB AnnéeN 1963 1979 1970 1983 Prix 500 5,5 50,25 Achat IDA C1 C2 C3 C4 C5 RefC 2 3 2 2 4 RefP 1 2 3 2 1 Quantité 1 20 2 10 1 Date 10/12/2005 11/11/2005 20/05/2005 05/12/2005 30/02/2005 Page 1 sur 2 Questions. 1. Sachant que les champs IDC et IDP sont auto-incrémentés à chaque insertion, donnez le schéma de la BD en précisant le type de données de chaque attribut (champ), les clés primaires et les clés externes de chaque table. 2. Ecrivez les requêtes SQL dont les résultats sont : a) Les noms et les prénoms des clients nés après 1971. b) Les noms des clients de Paris qui ont acheté des produits. c) Les produits qui coûtent plus de 100 €, achetés par Nicole Marc en décembre 2005. d) Le coût total des achats de chaque client, triés par ordre décroissant. e) Le nombre de clients qui n’ont rien acheté. 3. Ecrivez les requêtes SQL de création des différentes tables. (PS : faire attention aux contraintes d’intégrité référentielle). 4. Supposons l’existence d’une deuxième table Client-bis, dont le schéma est Client-bis (CodeClient : Autoincrement, Nom : Text, Adresse : Text). a) Ecrivez la requête SQL qui permet de transférer les enregistrements de la table Client-bis vers Client. Indication pour la question 2 : ACCESS dispose de trois fonctions pour gérer les champs de type Date : La fonction YEAR, qui prend en paramètre une date et retourne l’année correspondant à cette date. Par exemple, YEAR(#01/02/2000#) rend 2000. La fonction MONTH, qui prend en paramètre une date et retourne le mois correspondant à cette date. Par exemple, MONTH(#01/02/2000#) rend 02. La fonction DAY, qui prend en paramètre une date et retourne le jour correspondant à cette date. Par exemple, DAY(#01/02/2000#) rend 01. Exercice 2 (5 points). Soient les schémas de relations (tables), constituant la base de données représentant les conventions de stages des étudiants : ETUDIANT (N°Etudiant, Nom, Prénom, DateDeNaissance, Spécialité : Texte, AnnéeEtude). PROFESSEUR (N°Professeur, Nom, Prénom, Spécialité : Texte). ENTREPRISE (N°SIRET, NomEntreprise, SecteurActivité : Texte, Effectif, Adresse). Un étudiant peut effectuer plusieurs stages durant son cursus universitaires. Un stage est une association entre un étudiant, un professeur et une entreprise. Nous remarquons que dans son état actuel, cette base de données ne représente pas cette association ! Questions. 1. Complétez la BD de manière à représenter l’association « stage ». 2. Donnez le schéma de la BD en précisant le type de données le plus approprié pour chaque attribut (non précisé), les clés primaires et les clés externes. Page 2 sur 2