CNAM GRENOBLE EXAMEN 2010-2011



Documents pareils
Le langage SQL Rappels

A QUOI SERVENT LES BASES DE DONNÉES?

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Bases de Données Avancées

Cours Base de données relationnelles. M. Boughanem, IUP STRI

.../5. Gestion de Bases de Données (J. Wijsen) 27 janvier 2011 NOM + PRENOM : Orientation + Année : Cet examen contient 8 questions. Durée : 2 heures.

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Année Universitaire 2009/2010 Session 2 de Printemps

1 Introduction et installation

Bases de données - Modèle relationnel

Bases de données élémentaires Maude Manouvrier

Bases de Données. Plan

Les bases de données

Introduction aux Bases de Données

1 Modélisation d une base de données pour une société de bourse

Bases de données et sites WEB

CESI Bases de données

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Bases de Données Relationnelles. Le Modèle Relationnel

Master Exploration Informatique des données DataWareHouse

JULIE SMS V2.0.1 NOTICE D INSTALLATION ET D UTILISATION

Gestion des bases de données

Évaluation et optimisation de requêtes

... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions.

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Chapitre 1 Généralités sur les bases de données

Structure fonctionnelle d un SGBD

Bases de données avancées Introduction

Bases de données relationnelles

CREATION WEB DYNAMIQUE

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Rappel sur les bases de données

Langage SQL : créer et interroger une base

Conception d une base de données

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Introduction aux Bases de Données

Merise. Introduction

Bases de données Cours 1 : Généralités sur les bases de données

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

Windows serveur 2012 : Active Directory

Chapitre 1 : Introduction aux bases de données

Le modèle de données

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Excel avancé. Frédéric Gava (MCF)

Les bases de données Page 1 / 8

PROJET 1 : BASE DE DONNÉES REPARTIES

Présentation du module Base de données spatio-temporelles

Base de données relationnelle et requêtes SQL

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Systèmes de Gestion de Bases de Données

Introduction au Système de Gestion de Base de Données et aux Base de Données

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Information utiles. webpage : Google+ : digiusto/

LE CONCOURS D ENTREE DANS LES ECOLES DE MASSEUR KINESITHERAPEUTE

A QUOI SERVENT LES BASES DE DONNÉES?

Gestion des réunions dans Outlook 2007

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

INTRODUCTION : Données structurées et accès simplifié

Bases de Données relationnelles et leurs systèmes de Gestion

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Conception des bases de données : Modèle Entité-Association

Le Langage De Description De Données(LDD)

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

BD et XML : Exercices

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Cours Bases de données

CHAPITRE 1. Introduction aux bases de données

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

TP Bases de données réparties

Vous souhaitez vous inscrire à la formation Excel à titre particulier,

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

Votre commission des Jeunes

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Entraînement à l épreuve de QCM 40 mn

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

16H Cours / 18H TD / 20H TP

TRAVAUX DIRIGES DE BASES DE DONNEES. Edité par : TALEL ABDESSALEM

Utiliser Access ou Excel pour gérer vos données

Cours 4 : Agrégats et GROUP BY

Dossier d inscription

Bases de données. PTSI Lycée Eiffel. 28 février 2014

Livret de stage Canadien: Formulaire d enregistrement de l expérience en architecture

Guide d utilisation. Version document 0.8. Trouver toute la documentation sur :

Sommaire & calendrier

Publipostage : Envoi des vœux par

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Bases de données documentaires et distribuées Cours NFE04

Guide de rapports ADT Sélecte

OpenOffice Base Gestionnaire de Base de Données

UE 8 Systèmes d information de gestion Le programme

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Concevoir un modèle de données Gestion des clients et des visites

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. - media-2001.communication &.

Transcription:

CNAM GRENOBLE EXAMEN 2010-2011 Unité d Enseignement : Administration et configuration des bases de données Centre d Enseignement CNAM de Grenoble Enseignant : M. Eric Boniface Jour/Date de l épreuve : mardi 8 février 2010 Code CNAM : NFE113 Horaire : 18h00 Durée : 3h00 SUJET Documents autorisés Nombre de pages du sujet : 4 Votre code auditeur : You can find an English version in the second part of the document. Partie I - QCM (5 points) Le QCM est composé de 10 questions sur 0,5 chacune. Il faut cocher tous les choix valables pour une réponse, un oubli ou une erreur 0. Les deux pages du QCM sont à rendre avec la copie. 1) Citer les inconvénients de l approche «fichier» Redondance des données Stockage sur disque limité Pas d accès simultané Il n y en a pas puisque les SGBD utilisent des fichiers 2) Les objectifs d un SGBD sont Eviter la redondance des données Contrôler les accès Faire que seul le DBA puisse comprendre les schémas Eviter systématiquement toute panne et perte de données 3) Ne pas faire de conception (modélisation conceptuelle) implique Gagner du temps sur la création Sous estimer le temps Une maintenance difficile Licencier le DBA 4) Quelle(s) est(sont) l(es) assertion(s) correcte(s)? Le schéma conceptuel est une description de haut niveau Le schéma virtuel permet de mieux appréhender le futur schéma physique Le schéma physique est indépendant du SGBD 5) A quoi sert la normalisation? A éliminer les redondances A éviter les valeurs nulles A rédiger toute la documentation A ne pas créer d index

6) Une relation est en 3FN si Elle est en 2FN et s il n y a pas de DF entre 2 attributs non clés Elle est en 1FN et s il n y a pas de DF entre 2 attributs non clés et si tout attribut non clé dépend de la clé entière et non d une partie seulement Elle est en BCNF 7) Les cardinalités (modèle EER) peuvent prendre les valeurs 0..n 0..1 *..2 1..3 *..* 8) Opérateur algébrique : σ Soit la relation R suivante, que retourne σ (A>= w ET A<= z ET B= d ) R? A B C w b 2 x d 1 w d 3 s e 1 a 2 D w b 2 R ={(w,b,2)} R ={(w,d,3), (x,d,1)} R ={(w,d,3)} R ={(w,b,2),(w,d, 3)} R ={} (ensemble vide) 9) Opérateurs algébriques : σ et Soit la relation R, que retourne A,C,E σ (B= b OU C= f ) R? A B C D E a b 2 f g b d 1 s u a b 1 x r d e f a b a 2 d e 1 R ={(b,d,1),(d,1,x),(a,1,u)} R ={(d,e,1), (a,d,1),(1,d,x)} R ={(d,1,u), (d,1,r), (e,1,b)} R = R ={(a,2,g), (a,1,r),(d,f,b)} R ={(d,1,u), (d,1,r), (e,1,b)} 10) Le plan d exécution c est l analyse de la requête l exécution des requêtes l ordonnancement en séquence d opérations élémentaires l optimisation des requêtes tout cela

Partie II Dépendances fonctionnelles (3 points) Soit la relation R(I,J,K,L) et les dépendances fonctionnelles : F={JK L; J I; IK L}. Questions : 1. Trouver une couverture minimale de F (conseil : utiliser le graphe de dépendance) 2. En quelle forme normale est R? 3. Proposer une décomposition de R en 3NF préservant les dépendances fonctionnelles, la décomposition comportant seulement deux relations. Correction 1. La couverture non minimale est : Or certaines DF ne sont pas élémentaires. Ainsi JK L peut être déduit par les 2 autres DF => DF superflue. D où la couverture minimale : 2. La clé candidate est J, K R est en 1NF. Mais pas en 2NF car J I, et J partie de la clé candidate. 3. Passage en 3NF R1 (J, K, L) où J, K est clé candidate R2 (J, I) où J est clé candidate Les 2 relations sont 2NF, 3NF et BCNF. Partie III Conception (8 points) Sylvie a suivi une formation afin de se reconvertir en sophrologue et ainsi se mettre à son compte. Son mari étant informaticien, elle souhaite lui faire développer quelques outils pour l aider dans la gestion de son activité ; ces différents outils vont s articuler autour d un site Web, unique point d entrée pour elle et pour les clients. L outil le plus important pour elle à court terme est la gestion des clients et des rendez-vous. Elle souhaite effectivement faire le suivi des clients, référencés par leur nom et prénoms, leurs coordonnées, leur courriel s ils en ont un. Par suivi, elle entend savoir comment a-t-il connu Sylvie (par un autre client, par Internet, par le bouche à oreille, par la brochure, etc.), connaître tous les rendez-vous pris ou futurs de ce client, est-ce que ce client a des pathologies particulières ou des contre-indications. Un rendez-vous est défini par une date, une durée de séance suivant des valeurs prédéfinies (15 mn, 30 mn, 1 h), un lieu de séance (tel que domicile du patient, cabinet, domicile de la praticienne, etc.). Une gestion de trésorerie pourrait être intéressante, simplement pour suivre le paiement de chaque séance, suivant plusieurs

modalités possibles (chèque ou espèces). Un bilan de la trésorerie sur une période donnée pouvant être générée par un développement Web. Un client pourra se connecter au site Web via un compte et un mot de passe, respectant certaines normes de sécurité (longueur de 6 caractères, comportant au moins un chiffre et des lettres). Le client verra ainsi les rendez-vous qu il a pris (passés ou futurs), et pourra s inscrire pour un futur rendez-vous dans le calendrier. Par contre, il ne verra pas les informations des autres clients. Si un client fait de la publicité pour Sylvie (autrement dit, s il fait venir d autres clients), il pourra bénéficier de réductions ou de promotions exceptionnelles. Les pathologies ou contre-indications pourront être des zones de texte libre qui seront accessibles via une interface Web (avec moteur de recherche). Sylvie aura un accès complet à l application, entre autres au calendrier, dans lequel elle verra en instantané les rendez-vous de la semaine; elle pourra bien sûr prendre de nouveaux rendez-vous ou en supprimer/modifier. L interface Web permettra de basculer d un rendez-vous vers la fiche client, de voir tous les rendez-vous pris, etc. Questions 1) Construire le schéma Entité Association. Justifier vos choix. 2) Est-ce que le modèle EA suffit? Si non, proposer un schéma EA Etendu et justifier vos choix. 3) Traduire le modèle proposé en modèle relationnel. Justifier le choix des clés primaires et étrangères (le cas échéant). 4) Nouveau besoin : une gestion de publipostage lui paraît utile ; L idée est de pouvoir envoyer un message électronique à tous les clients disposant d un courriel éventuellement avec une pièce jointe (taille limitée). Ensuite, elle doit pouvoir suivre l historique de tels envois pour savoir quand est-ce qu elle a contacté un client. Proposer une évolution des schémas EA et relationnel précédents. Partie IV SQL (4 points) Dans le cours, nous avons vu le modèle relationnel suivant : FILM (NUMF, TITRE, GENRE, ANNEE, LONGUEUR, BUDGET, REALISATEUR, SALAIRE_REAL) DISTRIBUTION (NUMF, NUMA, ROLE, SALAIRE) PERSONNE (NUMP, PRENOM, NOM, DATENAIS, NATIONALITE, ADRESSE, VILLE, TELEPHONE) ACTEUR (NUMA, AGENT, SPECIALITE, TAILLE, POIDS) CINEMA (NUMC, NOM, ADRESSE, VILLE, TELEPHONE, COMPAGNIE) PASSE (NUMF, NUMC, NUMS, DATE_DEB, DATE_FIN, HORAIRE, PRIX) SALLE (NUMC, NUMS, TAILLE_ECRAN, NBPLACES) Les attributs NUMF, NUMP, NUMA, NUMC, NUMS sont des identifiants uniques (clés primaires) pour respectivement : FILM, PERSONNE, ACTEUR, CINÉMA, SALLE. Un de ces attributs utilisé comme attribut d une autre relation est une clé étrangère qui renvoie à la clé primaire de la relation correspondante, par exemple dans DISTRIBUTION, NUMF renvoie au NUMF de FILM et est défini sur le même domaine. De plus, les attributs REALISATEUR dans FILM et NUMA dans ACTEUR sont définis sur le domaine des NUMP, et renvoient au NUMP de la personne correspondante. Questions : Avant de répondre aux questions sur SQL, tracer le graphe des clés étrangères comme vu en cours 1) Nom et prénom des acteurs qui ont joué Gavroche dans les différentes versions des «Misérables» avec les dates correspondantes. 2) Donner le nom et le prénom des réalisateurs qui ont joué dans au moins un de leurs propres films. Sous la forme d une requête SQL non imbriquée.

3) Même question sous la forme de requête(s) imbriquée(s) 4) Pour chaque film de Spielberg (titre, année), donner le total des salaires des acteurs. Correction : 1) 2) 3) 4) SELECT P.PRENOM, P.NOM, F.ANNEE FROM PERSONNE P, DISTRIBUTION D, FILM F WHERE P.NUMP = D.NUMA AND D.ROLE = Gavroche AND D.NUMF = F.NUMF AND F.TITRE = Les misérables SELECT DISTINCT P.PRENOM, P.NOM FROM PERSONNE P, FILM F, DISTRIBUTION D WHERE P.NUMP = F.REALISATEUR AND F.NUMF = D.NUMF AND D.NUMA = F.REALISATEUR SELECT DISTINCT PRENOM, NOM FROM PERSONNE WHERE NUMP IN ( SELECT REALISATEUR FROM FILM WHERE (REALISATEUR, NUMF) IN ( SELECT NUMA, NUMF FROM DISTRIBUTION ) ) SELECT F.TITRE, F.ANNEE, SUM (D.SALAIRE) FROM FILM F, DISTRIBUTION D, PERSONNE P WHERE F.NUMF = D.NUMF AND F.REALISATEUR = P.NUMP AND P.NOM = Spielberg GROUP BY F.TITRE, F.ANNEE