Exercices corrigés de schémas relationnels
Exercice 1 Lors d’une élection communale, faisant fi de tout secret électoral, un informaticien malfaisant réussit à se procurer et à stocker dans une base de données relationnelle les informations suivantes : pour chaque commune (avec son nom et son nombre d’électeurs potentiels) les électeurs ayant voté (nom, prénom, adresse et heure du vote), les candidats (nom, prénom, position sur la liste du parti) pour lesquels ils ont voté (un électeur pouvant en effet voter pour plusieurs candidats) ainsi que le parti pour lequel ils ont voté (les candidats pour lesquels ils votent doivent être du même parti). Notre informaticien veut aisément pouvoir comptabiliser le nombre de voix attribuées à chaque parti et à chaque candidat pour chaque commune et aisément retrouver les électeurs ayant voté dans chaque commune pour chaque candidat et chaque parti. Réalisez les tables (avec leurs attributs) et le schéma relationnel décrivant la base de données en question et permettant à notre informaticien d’acquérir cette connaissance.
Exercice 2 Une agence immobilière gère la location d’appartements et de maisons pour le compte de propriétaires. Cette agence maintient une base de données relationnelles dans laquelle chaque propriétaire (nom, prénom,adresse,tel.) remet en gestion à l’agence plusieurs appartements ou maisons (taille, adresse, prix de location) selon un contrat (durée, pourcentage) propre à chaque bien. Chaque appartement ou maison est donnée en location par un bail identifié par un numéro et pour une période déterminée, à un locataire dont on enregistre le nom, prénom, adresse, tél. Réalisez le schéma relationnel d’une telle base de données.
Exercice 3 Un fanatique de cinéma et de festivals de films décide de réaliser sa base de données personnelle en y stockant les différents festivals de cinéma (Venise, Canne, Bruxelles,… avec pour chacun le lieu et le directeur) et ce pour chaque année où ils se déroulent. Pour chaque festival, il désire également enregistrer les films qui y furent en compétition (titre, réalisateur…), les acteurs (nom, nationalité, films en compétition dans lesquels ils ont tourné) et les réalisateurs (nom, film en compétition qu’ils ont réalisé) présents durant le festival. Finalement, il veut, et ce pour chaque festival encore, encoder à part le film qui a remporté le grand prix et l’acteur ayant remporté le prix du meilleur rôle.
Examen 2008 - 1 Un tour opérateur japonais s’est spécialisé dans l’organisation de voyages éclairs en Europe pendant lesquels leurs clients peuvent visiter un maximum de villes touristiques européennes en une durée minimale. Ce même tour opérateur désire enregistrer dans une base de données relationnelles les différents tours qui sont proposés et les clients qui ont choisi l’un ou l’autre tour depuis que l’agence existe. Pour chaque tour sont également enregistrés les pays et les villes qui seront visitées par ce tour, par exemple, en Italie : Rome et Venise, en Espagne : Madrid et Barcelone. Sont également enregistrés pour chaque tour les vols aériens qui sont pris durant ce tour avec, pour chacun des vols, indiqué la ville d’arrivée et la ville de départ. Un vol donné, référencé par son no précis, ne concernera toujours qu’une seule ville d’arrivée et une seule ville de départ.
Examen 2008 - 2 L’ONG « MSF » aimerait constituer une base de données dans laquelle elle répertorierait les catastrophes humanitaires survenues et pour lesquelles l’ONG a envoyé du personnel soignant sur place. Cette base devrait contenir les différentes catastrophes survenues associées aux causes qui les ont provoquées (tremblement de terre, tsunami, guerre civile, famine). Plusieurs causes pourraient être à l’origine d’une même catastrophe humanitaire. La base de données devrait permettre de retrouver le ou les pays dans lesquels chaque catastrophe a eu lieu. Elle devrait permettre aussi de retrouver facilement les membres de MSF qui se sont rendus sur les lieux et la durée de leur séjour (précisez l’emplacement dans la table où vous indiqueriez l’information sur cette durée). Chaque membre sera également caractérisé par son statut unique tel que : aide soignant, gestionnaire, ingénieur, chirurgien ou comptable.
Examen 2008 - 3 La commission européenne a décidé récemment de répertorier dans une base de données relationnelle les substances chimiques susceptibles de poser, à la consommation, des problèmes de santé. Elle désire facilement avoir accès aux différentes substances chimiques (répertorié par leur nom, formule chimique, …) ainsi que les produits, séparés en consommables et non-consommables, dans lesquels apparaissent ces substances chimiques. Pour chacun de ces produits, on indiquera à quelle concentration (en pourcentage) on trouve les substances chimiques incriminées. En plus, la commission souhaite retrouver aisément les maladies que l’on pense ces substances susceptibles de provoquer (on supposera qu’une maladie n’est causée que par une seule substance, bien qu’une même substance puisse en causer plusieurs), ainsi que les réactions chimiques les plus importantes dans lesquels ces substances sont impliquées (une réaction chimique nécessite au moins deux substances chimiques).