La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Examen mai 2004 Question 1. Modélisation Nous sommes sur le centre de production d’un constructeur automobile. Deux chaînes effectuent le montage. Les.

Présentations similaires


Présentation au sujet: "Examen mai 2004 Question 1. Modélisation Nous sommes sur le centre de production d’un constructeur automobile. Deux chaînes effectuent le montage. Les."— Transcription de la présentation:

1 Examen mai 2004 Question 1. Modélisation Nous sommes sur le centre de production d’un constructeur automobile. Deux chaînes effectuent le montage. Les véhicules sont ensuite transportés chez les distributeurs par un service livraison/logistique. Les employés sont répartis dans des bâtiments parfois éloignées les uns des autres. On veut gérer, à l’aide d’une base de données relationnelle, l’accès aux différents parkings. On définit, pour chaque parking, les bâtiments qui sont accessibles à partir de ce parking. L’attribution des places de parking se fera en fonction du lieu d’affectation de l’employé. L’attribution dépend également de la marque du véhicule : certains parkings sont interdits aux véhicules de marques concurrentes.

2 Les employés peuvent obtenir des autorisations exceptionnelles de parking, par exemple s’ils participent à une réunion dans un autre bâtiment que leur bâtiment habituel. On ne souhaite pas gérer le calendrier des réunions avec les salles correspondantes. La pertinence d’une demande exceptionnelle reste donc en dehors du système informatisé. Pour suivre la bonne affectation des autorisations exceptionnelles, on enregistre l’utilisation réelle de la place attribuée.

3 On suppose que : - chaque bâtiment est proche d’au moins un parking, - pour toute marque, il y a au moins un parking accessible, - un employé n’est basé à un moment donné que dans un seul bâtiment, - un seul propriétaire du véhicule est déclaré, - un employé ne peut pas déclarer plusieurs véhicules, - le système propose une ou plusieurs affectations, s’appuyant sur les règles en vigueur, - toute affectation doit être confirmée manuellement.

4 a) Proposez une modélisation conceptuelle entité-association de cette base en précisant vos hypothèses complémentaires éventuelles. EMPLOYE matricule Nom Prénom … VEHICULE N°immat … AUTORISATION HABITUELLE BATIMENT Numéro nom possède Accordée à affecté Est interdit à 1,1 1,N 1,1 PARKING Numéro Nom capacité Est proche de 1,N Numéro Datdéb datfin dans 1,N 1,1 AUTORISATION EXCEPTIONNELLE Numéro Datautor Utilisé (0/N) MARQUE codmarq intitulé 1,1 Accordée à 1,1 appartient 1,N 1,1 dans 1,N 1,1

5 Hypothèses complémentaires : -chaque véhicule a une et une seule autorisation habituelle de parking - un parking peut être proche de plusieurs bâtiments b) En expliquant la méthode utilisée, traduisez ce schéma en un ensemble de tables relationnelles. Précisez les contraintes d’intégrité associées à chaque table. EMPLOYE(matricule nom prénom n°bâtiment numéroautorhabit n°immat codmarq ) BATIMENT(numbâtiment nombâtiment) PARKING (numéroparking nomparking capacité) MARQUE (codmarq intitulé) AUTORHABIT(n°autorhabit datdéb n°parking ) AUTOREXCEPT(n°autorexcept datautor n°immat n°parking ) INTERDICTION (n°parking codmarq) PROXIMITE (n°parking n°bâtiment)

6 Contraintes d’intégrité -unicité : colonnes ou groupes de colonnes soulignées dans chaque table - intégrité référentielle : les clés étrangères sont en italiques ex : EMPLOYE.n°IMMAT inclus dans VEHICULE.n°IMMAT -domaine : utilisée appartient à {oui,non} -Contrainte d’inclusion (card min = 1) PARKING.n°parking inclus dans PROXIMITE.n°parking -contrainte sémantique : pour toute marque, il existe un parking autorisant la marque

7 c) On décide de décentraliser la gestion de la base sur deux sites : - la gestion des employés et des autorisations habituelles sera assurée par la Direction des Ressources Humaines, - la gestion des autorisations exceptionnelles et leur suivi seront assurés par la Direction des Moyens Généraux. Proposer et justifier une bonne décomposition de cette base de données sur ces deux sites. Pour ce faire vous pourrez utiliser la décomposition horizontale et/ou verticale ainsi que la réplication (duplication). Pour chaque fragment obtenu, on donnera sa définition sous la forme d’un calcul de l’algèbre relationnelle à partir du schéma relationnel obtenu précédemment. Inversement, on indiquera comment se calcule chaque relation de la base à partir des fragments.

8 Répartition des données Table EMPLOYE pour la DRH Table AUTOREXCEPT et BATIMENT pour les moyens généraux Les autres tables doivent être dupliquées

9 Question 2. Normalisation relationnelle Dans la théorie de la normalisation relationnelle, on préconise l’obtention d’un schéma relationnel en 3 ème forme normale qui préserve les dépendances fonctionnelles et qui soit sans perte. Expliquez ce que signifient ces deux notions (préservation des dépendances fonctionnelles et décomposition sans perte). Pour chacune, donnez un contre-exemple. Préservation des DF : pour chaque DF non déductible par transitivité, il existe une table contenant les parties gauche et droite de la DF Décomposition sans perte : en recomposant les tables (par jointure), on obtient toutes les données initiales et rien que les données initiales

10 Exemples Les tables (A B) et (A C) ne préservent pas la DF B -> C mais elle est sans perte La décomposition de VINS(Buveur Cru Producteur) Pierre Chablis Claude Pierre Chablis Nicolas Pierre Volnay Nicolas Paul Chablis Nicolas En ses deux projections (Buveur Cru) et (Buveur Producteur) Préserve les DF (il n’y en a pas) mais n’est pas sans perte

11 Question 3. Manipulation avancée de base de données relationnelles Soit la base relationnelle suivante relative à la gestion simplifiée des étapes du Tour de France cycliste 2003 : EQUIPE(CodeEquipe, NomEquipe, DirecteurSportif) COUREUR(NuméroCoureur, NomCoureur, CodeEquipe*, CodePays*) PAYS(CodePays, NomPays) TYPE_ETAPE(CodeType, LibelléType) ETAPE(NuméroEtape, DateEtape, VilleDép, VilleArr, NbKm, CodeType*) PARTICIPER(NuméroCoureur*, NuméroEtape*, TempsRéalisé) ATTRIBUER_BONIFICATION(NuméroEtape*, km, Rang, NbSecondes, NuméroCoureur*) Remarque : les clés primaires sont soulignées et les clés étrangères sont marquées par *

12 Exprimer en SQL la question suivante : a)Donner la ville de départ et la ville d’arrivée de l’étape la plus longue. SELECT Villedep, VilleArr FROM ETAPE WHERE Nbkm = (SELECT max(Nbkm) FROM ETAPE); Que calculent les requêtes ci-dessous ? b) SELECT NomCoureur FROM COUREUR WHERE NuméroCoureur NOT IN (SELECT NuméroCoureur FROM ATTRIBUER_BONIFICATION) ; Liste des coureurs n’ayant eu aucune bonification

13 c) SELECT NomCoureur WHERE NOT EXISTS (SELECT * FROM ETAPE WHERE NOT EXISTS (SELECT * FROM PARTICIPER WHERE NuméroEtape=ETAPE.NuméroEtape AND NuméroCoureur=COUREUR.NuméroCoureur)) ; Liste des coureurs ayant participé à toutes les étapes

14 Ecrire les arbres algébriques des requêtes ci-dessous : d) Quel est le nom de l’équipe à laquelle appartient Zinedine Zidane ? numrecette Recette IngrédientsRecette nomingrédient =‘boeuf’ Ingrédients

15 e) Quel est le nom des équipes dont au moins un des coureurs a obtenu une bonification à l’étape 15 et a, de plus, réalisé un temps inférieur à 300 minutes à cette même étape ?

16 Question 4. Administration de bases de données 1) Comment savoir sous Unix si une base de données « tpcnam » est démarrée ou pas ? 2) Le DBA veut obtenir des informations sur toutes les tables qui commencent par EMP (EMP, EMP2, EMPLOYE, EMPLOYES...) et il tape select * from dba_tables where table_name='EMP%'; Qu'en pensez-vous ? 3) Vous supprimez toutes les lignes de la table avion : delete from avion; Vous demandez à un autre utilisateur de vérifier le contenu de la table pour savoir si votre ordre a bien marché ; or les lignes sont encore présentes ! Pourquoi ? 4) Expliquer la fonction de chaque type de segment prévu au sein des tablespaces ORACLE.


Télécharger ppt "Examen mai 2004 Question 1. Modélisation Nous sommes sur le centre de production d’un constructeur automobile. Deux chaînes effectuent le montage. Les."

Présentations similaires


Annonces Google