Mr Fischer Christian BD50 : Conception des Bases de Données Printemps 2002 Examen final du 22 juin 2000 de 9h à 12h Support de cours et travaux dirigés de BD50 autorisés Le sujet comprend quatre dossiers indépendants. Rédiger chaque dossier sur une copie séparée. Compléter le dossier 4 sur le sujet et joignez ce dossier à la copie. Barème : Dossier 1 Journal SIXVOIX 7 pts MEA Dossier 2 Gestion des appels d offres 6 pts Reverse du MLD 1 Requêtes SQL 5 Dossier 3 Gestion d une mutuelle d assurance 4 pts MLD 3 Optimisation du MLD 1 Dossier 4 Client-Serveur 3 pts A1 1 A2 1 A3 1 UTBM BD50 P2002 Final PAGE 1/7
Dossier 1 : Journal SIXVOIX Le journal SIXVOIX est spécialisé dans la diffusion d'informations "people". Afin de permettre à ses lectrice d'être informées au mieux sur la vie des VIP (Very Important Person), la rédaction souhaite mettre en place un système d'information les concernant. Ce système d'information devra permettre d'une part de suivre la carrière, d'autre part de gérer les publications du journal traitant des VIP. 1/ SUIVI DE LA CARRIÈRE DES VIP Un VIP est une personne publique appartenant au monde du show-biz, du cinéma, ou encore de la mode. Outre l'identité (nom et prénom usuels), le sexe, la nationalité et la date de naissance du VIP, le journal SIXVOIX veut connaître un certain nombre d'événements liés à la vie du VIP : - son ou ses mariage(s), avec pour chacun d'eux, la date et le lieu de la cérémonie, l'identité du conjoint (considéré également comme un VIP). Il est possible qu'un VIP se marie plusieurs fois avec une même personne (par exemple les mariages célèbres du couple mythique Richard Burton et Liz Taylor). En cas de séparation, la date de séparation et les circonstances de la séparation sont également conservées. - Pour chaque liaison avec un autre VIP, on conserve la date d'annonce de la liaison. - selon le VIP, il est important de connaître pour un acteur de cinéma, la date de son premier tournage, les films long métrage déjà réalisés (rôle joué, numéro de visa du film, date de réalisation, titre du film, identité du réalisateur qui est un VIP). pour un chanteur ou un musicien, sa spécialité, les albums réalisés (date de réalisation, titre de l'album, nom de la maison de disque). pour un mannequin (topmodel), sa taille, le nom de son agence, les défilés auxquels le mannequin a participé (date du défilé, lieu, nom du couturier également VIP). Certes les stars sont immortelles mais si un VIP vient à disparaître, on conservera la date de son décès. - UTBM BD50 P2002 Final PAGE 2/7
2/ GESTION DOCUMENTAIRE DES PUBLICATIONS Pour la gestion de ses publications, la rédaction souhaite disposer d'une base documentaire des photos et des exemplaires de la revue déjà publiés. Pour chaque exemplaire de la revue, elle souhaite conserver : - sa date de publication, - son numéro de revue, - pour chaque article : titre de l'article, numéro de la page où débute l'article, résumé. Pour chaque photo, elle souhaite conserver : - le numéro attribué à la photo par le journal, - la photo sous forme d'image numérisée, - la date de réalisation, le nom du photographe et de son agence de presse ; - le lieu et les circonstances, les VIP présents sur la photo ; - le (ou les) article(s) dans lesquels la photo a été publiée et le numéro de page dans l'exemplaire de la revue concerné ; - Pour chaque VIP, elle souhaite garder trace des articles qui lui ont été consacrés. Un même article peut-être consacré à plusieurs VIP. Travail à faire Proposer un modèle entité-association étendu pour représenter le schéma conceptuel des données manipulées dans le domaine de gestion décrit. UTBM BD50 P2002 Final PAGE 3/7
DOSSIER 2 : Suivi des appels d offres Une base de données relationnelle a été implantée pour permettre le suivi des appels d offres et la réalisation des cahiers des charges destinés à y répondre. La description d un extrait de cette base est fournie CLIENT (NumClient, NomClient, AdresseClient, ContactClient, CategorieClient) EMPLOYE (NumEmploye, NomEmploye, PrenomEmploye, RoleEmploye) APPEL (NumAppel, DateAppel, DescriptifAppel, EtatAppel, TypeAppel, NumClient, NumResponsable) CAHIER (NumCahier, DateCahier, MontantCahier, NumResponsable, NumAppel, NumClient) LIGNE_CAHIER (NumCahier, NumLigneCahier, DescriptionLigneCahier) NumResponsable dans APPEL désigne le numéro de l employé responsable de la réponse à l appel d offre. NumResponsable dans CAHIER désigne le numéro de l employé responsable de la rédaction du cahier des charges. Dans la relation CAHIER, seulement l un des deux attributs suivants est renseigné : soit NumAppel lorsque le cahier des charges répond à un appel d offre préalable, soit NumClient dans le cas contraire. Travail à faire 1 Construire le schéma entité-association correspondant à l ensemble des relations décrites ci-dessus. 2 Créer les tables CAHIER et LIGNE_CAHIER en précisant la clé primaire et clés étrangères. Le choix du type de données est libre. 4 Écrire la requête SQL permettant d'obtenir la liste des cahiers des charges dans laquelle chaque cahier des charges est caractérisé par son numéro, sa date et le nombre de lignes qu il contient. 5 Écrire la requête SQL permettant d'obtenir la liste des clients (nom et contact) pour lesquels un cahier des charges a été rédigé par l'ingénieur Grimaud. 6 Écrire la requête SQL permettant d'obtenir le numéro et la date du cahier comportant le plus de lignes. 7 On veut enregistrer le cahier des charges défini ci-dessous : Le client MRSInfo, déjà enregistré sous le numéro CF3456, demande un devis le 24 janvier 2002 (n D200201345) à l ingénieur Alphonse Lepitre (déjà enregistré sous le matricule DS453) pour l extension de son parking visiteur d une part et la réalisation d un nouveau portail automatique d autre part, le tout pour un montant de 35 000. Il n'y a pas eu d'appel d'offre préalable. Rédiger les commandes SQL à exécuter pour ajouter le cahier des charges ci-dessus, en indiquant dans quel ordre elles doivent être exécutées. UTBM BD50 P2002 Final PAGE 4/7
DOSSIER 3 : MLD et Optimisation Date JJMMAAAA date évaluation coefficient A pour coefficient coefficient évalué nombre d'accidents période Sociétaire numéro sociétaire nom sociétaire prénom sociétaire adresse sociétaire date de naissance sociétaire numéro tél sociétaire date d'adhésion Modèle conceptuel de données Projet : Cie Assurance Modèle : Mutuelle d'assurances Auteur : Fischer C. Version: 1 16/06/2002 Compagnie n compagnie adresse compagnie tél compagnie nom correspondant Est traité avec Sociétaire actif coef en vigueur (C) nb accidents période en cours (C) date dernier passage coef max mode de réglement coordonnées bancaires date appel période en cours (C) montant cotis appelée (C) () Est géré Bureau n bureau local adresse bureau tél bureau r esponsabl e bur eau Sociétaire radié date radiation moti f r adi ation Contrat num_i mmatri cul ation date établissement Souscrit marque véhicule modèle véhicule qualificatif puissance ident puissance année de sortie nom conducteur principal prénom conducteur principal année obtention permis type de garantie nature contrat date dernier versement Sinistre n sinistre date sinistre date enregistrement identité du conducteur degré responsabilité sociétaire circonstances accident identité du tiers Concerne Est implanté Appartient Est utilisé Se s itue Département code département nom département Groupe n groupe caractéristiques groupe Nature nature d'utilisation désignation utilisation Zone zone d'utilisation désignation zone Détermine prime montant semestriel base montant semestriel option montant annuel base montant annuel option Travail à faire 1. Fournir le modèle relationnel associé au MEA ci-dessus (représentation graphique ou textuelle) 2. Proposer différentes solutions pour l optimisation de votre modèle. UTBM BD50 P2002 Final PAGE 5/7
DOSSIER 4 : CLIENT - SERVEUR La société SYSORG a développé une application client-serveur pour le compte d'une grande administration. Les utilisateurs utilisent des postes de travail sous Windows 9.x et sont reliés en réseau local qui dispose d un serveur Windows NT Server qui est utilisé comme serveur de fichiers et d impression. L administration du réseau est effectuée à l aide du logiciel SMS associé au SGBDR SQL Server 2000 sous Windows 2000 Advanced Server. L application client-serveur a été développée avec Visual Basic, elle utilise une base de données au format Access (Jet). La plupart des tables de cette base sont en fait attachées à des tables gérées par le SGBDR Oracle 9i sous Linux (distribution Mandrake 7.2). Cependant, pour des raisons de performance, certaines tables qui contiennent des données stables sont répliquées dans la base locale au format Access. De la même façon, les requêtes sont stockées, autant que possible, dans Oracle 9i de manière à être exécutées plus rapidement sans transiter par le réseau et sans nécessiter de traduction ou de compilation. Seules les requêtes qui changent en fonction des besoins de l'utilisateur sont construites dynamiquement. Le protocole réseau est TCP/IP. A1. Pour mettre en oeuvre cette application client-serveur chez le client, quels éléments parmi les suivants sont indispensables. Le SGBDR SQL Server 2000 L application développée avec Visual Basic Le logiciel d interrogation de base de données SQL*Plus Le système d exploitation Linux Mandrake 7.2 Le système d exploitation Windows NT Server Les tables stables de la base de données Jet Le logiciel Access Le SGBDR Oracle 9i Le middleware Net Library et DB Library Le middleware Net9 Client et Serveur Un pilote ODBC pour SQL Server 2000 Un pilote ODBC pour Oracle 9i UTBM BD50 P2002 Final PAGE 6/7
A2. Dans le contexte de cette application client-serveur, placez chaque composant ci-dessous côté serveur ou côté client selon qu il est utilisé sur un poste serveur ou sur un poste client. Cochez les deux options quand le composant est utilisé à la fois côté client et côté serveur. Pour chaque composant, cochez l une, l autre ou les deux options. a) Une table contenant des données peu stables b) Le système d'exploitation réseau c) Une table contenant des données stables d) Le système d'exploitation pour un poste de travail e) Le SGBDR en partage de fichier f) Le SGBDR Oracle 9i g) Les requêtes stables Composant Client Serveur h) Le composant logiciel qui permet de saisir une date en simulant le fonctionnement d'un calendrier i) La base de données au format Access (Jet) j) L application Visual Basic k) Le protocole TCP/IP A3. Toujours à propos de cette application client-serveur, quelles affirmations parmi les suivantes sont vraies? Cochez uniquement les affirmations exactes. Dans la base Jet, les tables sont attachées d une source SQL Server Une base de donnée Jet (fichier.mdb) est nécessaire Il faut installer ODBC sous Linux L'application Visual Basic peut utiliser les tables Oracle 9i comme s'il s'agissait de tables Access En cas de modification de données stables, il faudra répercuter la modification sur tous les postes client Le fait d'utiliser des requêtes enregistrées sur le serveur limite le trafic sur le réseau Il vaudrait mieux utiliser une base Access sur chaque poste client, cette base contiendrait toutes les tables utilisées par l'application. UTBM BD50 P2002 Final PAGE 7/7