Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parChristelle Bibeau Modifié depuis plus de 8 années
1
Examen février 2004 PARTIE 1. CAS CARS La SARL "Cars Versailles" emploie 30 personnes et exerce une activité de transports scolaires pour l’ensemble du département des Yvelines. Vous devez concevoir le système d'information de cette société en vue de l'informatisation de la gestion des activités afin de permettre : - la facturation aux familles et au conseil général, - le dénombrement des élèves devant fréquenter chaque arrêt de chaque circuit afin de prévoir les véhicules nécessaires. Les règles de gestion sont les suivantes : - Un arrêt est sur un ou plusieurs circuits. - Un élève emprunte un trajet défini par : - un point de montée qui est l'arrêt le plus proche de son domicile, - l'arrêt correspondant à l'établissement fréquenté. - L'élève emprunte chaque journée scolaire le trajet à l'aller et au retour. - Le transporteur propose pour chaque circuit un horaire pour l'aller et un horaire pour le retour. - L'élève emprunte toujours le même trajet. Un trajet appartient à un seul circuit. - Le transporteur facture 6 allers-retours par semaine si l'établissement fréquenté est un lycée et 5 s'il s'agit d'un collège.
2
La famille supporte 15% de la charge facturée par le transporteur, les 85% restants sont pris en charge par le département au titre des subventions accordées pour le transport scolaire. - Le subventionnement est conditionné par l'inscription de l'élève dans un établissement du secteur scolaire de son domicile (le secteur scolaire est une zone géographique administrativement définie autour d'un établissement et constitue sa zone de recrutement normal). L'inscription hors secteur scolaire fait supporter l'intégralité de la charge à la famille. - L'inscription est annuelle. En cas de désistement, l'intégralité du transport est due. - Le paiement par les familles est annuel ou trimestriel. En début d'année, la société envoie une facture qui peut être réglée en plusieurs fois. Dans la base de données, on stockera le montant total dû par l'élève, le montant dû par le conseil général pour cet élève ainsi que le montant déjà payé par la famille et par le conseil général.
3
Dictionnaire des données NUMCARNuméro de la carte élève NOMELENom de l'élève PREELEPrénom de l'élève DATELEDate de naissance de l'élève TELELENuméro de téléphone de l'élève RUEELEAdresse de l'élève SECELESecteur scolaire de l'élève MDELEMontant total dû par la famille pour l'élève MPELEMontant déjà payé par la famille pour l'élève MDCGMontant total dû par le conseil général pour l'élève MPCGMontant déjà payé par le conseil général pour l'élève CODETACode de l'établissement scolaire NOMETANom de l'établissement scolaire VILETAVille de l'établissement scolaire TYPETAType de l'établissement (lycée/collège) NUMCIRNuméro du circuit NOMCIRNom du circuit NUMARRNuméro de l'arrêt NOMARRNom de l'arrêt NBKMNombre de kilomètres du trajet emprunté par l'élève HEUALLHeure de passage du car le matin à cet arrêt pour le circuit HEURETHeure de passage du car le soir à cet arrêt pour le circuit
4
SECTEUR secteur ELEVE Numcar Nomele Preele Datele Rueele Telele Mdele Mpele Mdcg Mpcg ECOLE Codeta Nometa Vileta Typeta ARRET Numarr Nomarr CIRCUIT Numcir Nomcir rattaché fréquente monte emprunte passe dessert heuall,heuret nbkm correspond 1,N 1,1 1,N 1,1 0,N 1,1 1°) Concevoir le schéma E-R modélisant au mieux cette situation. Le cas échéant, précisez vos hypothèses de travail. Variantes : -Une ternaire CIRCUIT-ARRET-ELEVE -On peut aussi faire une entité TRAJET
5
2°) Le traduire dans le modèle relationnel. Expliquer brièvement la méthode utilisée. Donner l’ensemble des contraintes d’intégrité à associer à chaque table. ELEVE(numcar nomele preele rueele telele secele mdele mpele mdcg mpcg codeta numarr nbkm numcir) ECOLE(codeta nometa vileta typeta seceta numarr) ARRET(numarr nomarr) CIRCUIT(numcir nomcir) PASSE(numcir numarr heuall heuret) Contraintes d’unicité : les clés Contraintes d’intégrité référentielle : ELEVE.codeta ECOLE.codeta … Les clés étrangères sont en italiques dans le schéma relationnel
6
3°) Après négociation avec le conseil général, on décide de décentraliser la gestion sur deux sites : - la facturation et le suivi des règlements seront assurés par le conseil général dans ses locaux, - l’affectation des enfants aux circuits et le suivi des effectifs seront effectués par la compagnie de cars. 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.
7
Répartition des données Conseil général ELEVE1 (numcar nomele preele rueele telele secele mdele mpele mdcg mpcg codeta) ECOLE1(codeta nometa vileta typeta seceta) Compagnie de cars ELEVE2 (numcar nomele preele rueele telele codeta numcir nbkm) ECOLE2(codeta nometa vileta numarr) ARRET(numarr nomarr) CIRCUIT(numcir nomcir) PASSE(numcir numarr heuall heuret)
8
ELEVE1, ECOLE1, ELEVE2 et ECOLE2 sont obtenus par fragmentation verticale ELEVE1 = ELEVE Colonnes de ELEVE1 ELEVE2 = ELEVE Colonnes de ELEVE2 ECOLE1 = ECOLE Colonnes de ECOLE1 ECOLE2 = ECOLE Colonnes de ECOLE2 ELEVE = ELEVE1 ELEVE2 numcar ECOLE = ECOLE1 ECOLE2 codeta Puis projection pour Dédoubler les colonnes identiques Calcul des relations de base à partir des fragments
9
PARTIE 2. NORMALISATION Soit la table R1(A B C D) avec la dépendance fonctionnelle AB ->C. A est la seule clé de la table R1. a) R1 est-elle en 3 ème forme normale ? b) R1 est-elle en forme normale de Boyce-Codd (BCNF) ? c) La dépendance multivaluée AB ->> C est-elle valide ? a)R1 est en 3FN car il n’existe pas de DF d’une partie de clé vers un non clé : la seule clé A est élémentaire Et il n’existe pas de DF entre non-clés. b) R1 n’est pas en BCNF car AB-> C n’est pas de la forme : une clé vers un attribut c) AB ->> C car AB -> C : une DF est un cas particulier de DM
10
EFG wxp wxq zxp zxq wyq zyp Soit la table R2(E F G) dont les données sont listées ci-dessous : d) La dépendance multivaluée F ->> G est-elle valide ? On a (w,y,q) et (z,y,p) mais on n’a pas (z,y,q) et (w,y,p) Donc F->> G n’est pas valide
11
R3 : projection de R2 sur E,F : E F w x z x w y z y R4 : projection de R2 sur F, G : F G x p x q y p y q R5 : projection de R2 sur E,G : E G w p w q z p z q R3 R4 E F G w x p w x q z x p z x q w y p w y q z y p z y q
12
(R3 R4) R5 E F G w x p w x q z x p z x q w y p w y q z y p z y q R4 R5 E F G w x p w y q w x q w y q z x p z x q z y q z y p R3 R4 R2 R4 R5 (R3 R4) R5 R2 est en 5FN car non recomposable par jointure de tables plus simples Avec clés différentes
13
PARTIE 3. Interrogation de base de données On considère le schéma relationnel suivant, modélisant une base de recettes de cuisine TypesIngrédients(numérotype, descriptiontype) contenant par exemple le tuple (2, viande) Ingrédients(numingrédient, nomingrédient, numtypeingrédient, numtypemesure) contenant par exemple le tuple (3, bœuf, 2, 5) le numéro de type de mesure décrit l’unité de mesure utilisée pour cet ingrédient. Mesures(numtypemesure, descriptionmesure) contenant par exemple le tuple (5, gramme) IngrédientsRecette(numrecette, numordreingrédient, numingrédient, quantité) contenant par exemple le tuple (12, 1, 3, 500) Recettes(numrecette, nomrecette, numtyperecette, duréepréparation, niveaudifficulté) contenant par exemple le tuple (12, bœuf Strogonoff, 1, 45, 1) TypeRecettes(numtyperecette, descriptiontyperecette) contenant par exemple (1, plat principal) La clé de chaque table est soulignée. Pour chacune des requêtes ci-dessous, donnez l’arbre algébrique :
14
a)Y a-t-il des desserts comportant de la viande ? Descriptiontype =‘dessert’ Typerecette Recette IngrédientsRecette Ingrédients Descriptiontype =‘viande’ TypeIngrédients
15
Liste des recettes contenant du bœuf et des oignons. numrecette Recette IngrédientsRecette nomingrédient =‘boeuf’ Ingrédients Recette IngrédientsRecette nomingrédient =‘oignons’ Ingrédients
16
Pour chacune des requêtes ci-dessous, donnez une écriture SQL : a) Affichez les types de recettes manquants (non recensés dans la table TypeRecettes). SELECT numtyperecette FROM Recettes MINUS SELECT numtyperecette FROM TypeRecettes; ou bien SELECT numtyperecette FROM Recettes WHERE numtyperecette NOT IN (SELECT numtyperecette FROM TypeRecettes); b) Liste des ingrédients qui ne sont utilisés dans aucune recette. SELECT * FROM Ingrédient WHERE numingrédient NOT IN (SELECT numingrédient FROM IngrédientRecette);
17
e) SELECT DISTINCT numrecette, nomrecette FROM IngrédientsRecette WHERE Numingrédient IN (SELECT numingrédient FROM Ingrédients WHERE nomingrédient=’ail’) AND quantité >= ALL (SELECT quantité FROM IngrédientsRecette WHERE numingrédient IN (SELECT numingrédient FROM Ingrédients WHERE nomingrédient=’ail’); La (ou les) recettes qui contient le plus d’ail
18
f) SELECT COUNT(*) FROM Recettes WHERE numtyperecette IN (SELECT numtyperecette FROM TypeRecettes WHERE descriptiontyperecette=’plat principal’) ; Nb de recettes de plat principal
19
g) SELECT * FROM Ingrédients WHERE NOT EXISTS (SELECT * FROM Recettes WHERE NOT EXISTS (SELECT * FROM IngrédientsRecette WHERE numrecette=Recettes.numrecette AND numingrédient=Ingrédients.numingrédient)) ; Ingrédients utilisés dans toutes les recettes
20
PARTIE 4. Administration de base de données a) Décrivez l’utilité d’un Rollback Segment, la manière de le dédier à une transaction, sa durée de vie et les règles de dimensionnement. b) Quels sont les critères vous permettant de définir votre stratégie de répartition de données sur plusieurs tablespaces ? c) Vous êtes amenés à auditer les performances d’une base de données relationnelle. Quels aspects auditeriez-vous ? d) Vous êtes amenés à définir la fiche de poste d’un administrateur de base données. Décrivez les tâches et les livrables associés.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.