1) Soit la table T(a, b, c, d) et l'ensemble de dépendances fonctionnelles D = {a b; a, b c, d}.

Documents pareils
Limites finies en un point

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

LE PROBLEME DU PLUS COURT CHEMIN

TP Bases de données réparties

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

Raisonnement par récurrence Suites numériques

C f tracée ci- contre est la représentation graphique d une

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Lille s Challenge Big Data

PREVISION DU BESOIN EN FONDS DE ROULEMENT - PRINCIPES

Algorithmes de recherche

O, i, ) ln x. (ln x)2

Problème 1 : applications du plan affine

Bases de Données Avancées

Utilisation des tableaux sémantiques dans les logiques de description

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

Cours 02 : Problème général de la programmation linéaire

Pour l épreuve d algèbre, les calculatrices sont interdites.

Probabilités (méthodes et objectifs)

DECLARATION DU SALARIE(E)

- SOCIETE immatriculée au RCS de.. sous le numéro... dont le siège social est situé. N Siret :. Représentée par M... en qualité de...

1 Définition et premières propriétés des congruences

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

I- Définitions des signaux.

Etape 1 : Identification avec un compte personnel sur la plateforme (cf. notice «Création et gestion de votre compte utilisateur»)

LE CONTRÔLE INTERNE GUIDE DE PROCÉDURES

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Les tableaux croisés dynamiques

Notice explicative relative à l utilisation de l outil pour la production du

Comment automatiser la création d index multiples avec Word Paul-Henri Dumas - URFIST

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Algorithmique avec Algobox

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

SOMMAIRE. Travailler avec les requêtes... 3

Représentation d un entier en base b

DEMANDE D INDEMNISATION AU TITRE DE L ACTIVITE PARTIELLE

Méthodes de développement. Analyse des exigences (spécification)

RECOMMANDATIONS PROPOSÉES

MDI Chèque de Allégroupe Réclamation

3. Conditionnement P (B)

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Le théorème de Thalès et sa réciproque

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

REGLEMENT DE LA CONSULTATION (R.C.)

MS PROJECT Prise en main. Date: Mars Anère MSI. 12, rue Chabanais PARIS E mail : jcrussier@anere.com Site :

Spécifications. Grâce à ce service, vous pouvez : Modalités relatives à la location de listes

Exercice 6 Associer chaque expression de gauche à sa forme réduite (à droite) :

Continuité et dérivabilité d une fonction

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Correction TD algorithmique

Contenus détaillés des habiletés du Profil TIC des étudiants du collégial

Diagramme d'une mission d'audit interne

APS 4 : CREATION D'ENTREPRISE

REGLEMENT DE LA CONSULTATION

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)

Système binaire. Algèbre booléenne

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

6. Les différents types de démonstrations

Etude d Algorithmes Parallèles de Data Mining

Le Bulletin de salaire

Augmenter la portée de votre WiFi avec un répéteur

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

DU 3 JUILLET 1978 RELATIVE AUX CONTRATS DE TRAVAIL, LA CONVENTION COLLEC- MENSUEL GARANTI AUX OUVRIERS EN CAS D'INCAPACITE DE TRAVAIL

Le Langage SQL version Oracle

Guide d usage pour Word 2007

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Bases de Données. Plan

FOCUS Evolution. Lisez-Moi. Version FE 7.0.t

Guide de démarrage rapide

Problèmes de Mathématiques Filtres et ultrafiltres

L exclusion mutuelle distribuée

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Formulaire n 1 : Identification de la structure

Affectation standard Affectation modifiée (exemple)

6 - La conscience est-elle un processus algorithmique?

Géométrie dans l espace Produit scalaire et équations

Les probabilités. Chapitre 18. Tester ses connaissances

Etape 1 : Identification avec un compte personnel sur la plateforme (cf. notice «Création et gestion de votre compte utilisateur»)

Les corrigés des examens DPECF - DECF

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : Licence Chimie, parcours Physique. Semestre S3

Bases de données Cours 5 : Base de données déductives

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

MODE D EMPLOI DE L APPRENTISSAGE

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Indications pour une progression au CM1 et au CM2

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

MODIFICATIONS DES PRINCIPES DIRECTEURS CONCERNANT LA RÉDACTION DES DÉFINITIONS RELATIVES AU CLASSEMENT

Le genre féminin utilisé dans ce document désigne aussi bien les femmes que les hommes.

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail

f n (x) = x n e x. T k

Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" ;; let appliquer = List.map ;; (* affichage d'un noeud *)

CHARTE FOURNISSEUR INERIS. Préambule : 1 - QUALITE & TECHNOLOGIE QUALITE DE LA SOURCE

Transcription:

1) Soit la table T(a, b, c, d) et l'ensemble de dépendances fonctionnelles D = {a b; a, b c, d}. a) Produisez une couverture minimale pour D. min(d) = {a b; a c; a d} b) Quelles sont les clés candidates de la table T? Une seule clé candidate : {a} 2) Soit la table T(a, b, c, d) et l'ensemble de dépendances fonctionnelles D = {a b; b c ; c b ; a c}. Calculez min(d). Il y a deux solutions min(d) = {a b ; b c ; c b } ou {a c ; b c ; c b } 3) Soit la table T(a, b, c, d) et l'ensemble de dépendances fonctionnelles D = {a b; b a ; b c ; a c}. a) Calculez min(d). Deux solutions : min(d) = {a b; b a ; b c } ou {a b; a c; b a} b) La dépendance a, b c est-elle pleine? Non, car a c c) La dépendance a a., c est-elle élémentaire? Non (a est dans la partie gauche et droite) Oui d) La dépendance a c est-elle élémentaire? e) Calculez {a} +, {b} + à l'aide de la fonction Fermeture. {a} + ={a, b, c} {b} + ={a, b, c}

f) Déterminer si D = a b, c à partir de la fonction Dérivable. Oui : {b, c} {a} + ={a, b, c} 4) Soit la table Horaire (siglecours, nogroupe, rencontre, codeprofesseur, jour, heure, local) et l'ensemble de dépendances D = {siglecours, nogroupe codeprofesseur ; jour,heure, codeprofesseur local ; jour, heure, local siglecours, nogroupe, rencontre ; siglecours, nogroupe, rencontre jour, heure, local}. Chacun des cours identifié par un siglecours est donné en plusieurs groupes. Le nogroupe permet de distinguer les différents groupes du même cours. Chaque groupe d'un cours a un professeur représenté par son codeprofesseur. Un groupe a un horaire constitué de plusieurs rencontres hebdomadaires. La colonne rencontre est un numéro séquentiel de rencontre à l'intérieur de la semaine. Si le groupe a un horaire avec trois rencontres hebdomadaire, elles seront numérotées 1, 2, 3. L'horaire de chacune des rencontres est spécifié par l'heure de début, le jour de la semaine et le local. Table Horaire siglecours nogroupe rencontre codeprofesseur jour heure local INF1000 10 1 prof1 lundi 9h00 PK-4000 INF1000 10 2 prof1 mardi 11h00 PK-5000 INF1000 20 1 prof2 mardi 18h00 PK-4000 INF1000 30 1 prof1 vendredi 18h00 PK-3000 INF2000 10 1 prof2 mercredi 9h00 PK-3000 INF2000 10 2 prof2 jeudi 10h00 PK-5000 INF2000 10 3 prof2 jeudi 15h00 PK-3000 a) Prouver que D = jour, heure, siglecours, nogroupe rencontre à l'aide des axiomes d'armstrong. Preuve : 1) jour,heure,siglecours,nogroupe jour,heure,codeprofesseur Augmentation de siglecours,nogroupe codeprofesseur 2) jour, heure, siglecours, nogroupe local Transitivité sur 1) et jour,heure,codeprofesseur local 3) jour, heure, siglecours, nogroupe jour, heure, local Augmentation et 2) 4) jour, heure, siglecours, nogroupe -> siglecours, nogroupe, rencontre Transitivité sur 3) et jour,heure,local siglecours,nogroupe,rencontre 5) siglecours, nogroupe, rencontre -> rencontre

Réflexivité 6) jour, heure, siglecours, nogroupe -> rencontre Transitivité sur 4) et 5) b) Calculez {jour, heure, siglecours, nogroupe} +, {siglecours, nogroupe} +, {siglecours, nogroupe, rencontre} +, {rencontre, nogroupe} +, {jour, heure, codeprofesseur} +, {jour, heure, local} +, à l'aide de la fonction Fermeture. {jour, heure, siglecours, nogroupe} + = {siglecours, nogroupe, rencontre, codeprofesseur, jour, heure, local} {siglecours, nogroupe} + = {siglecours, nogroupe, codeprofesseur} {siglecours, nogroupe, rencontre} + = {siglecours, nogroupe, rencontre, codeprofesseur, jour, heure, local} {rencontre, nogroupe} + = {rencontre, nogroupe} {jour, heure, codeprofesseur} + = {siglecours, nogroupe, rencontre, codeprofesseur, jour, heure, local} {jour, heure, local} + = {siglecours, nogroupe, rencontre, codeprofesseur, jour, heure, local} c) Déterminer si D = jour, heure, siglecours, nogroupe codeprofesseur, local à partir de la fonction Dérivable. Oui car {codeprofesseur, local } {siglecours, nogroupe, rencontre, codeprofesseur, jour, heure, local}. d) Déterminer si D = siglecours, nogroupe local à partir de la fonction Dérivable. Non car {local } {siglecours, nogroupe, codeprofesseur}. e) Produire une couverture minimale pour D2 = {siglecours,nogroupe codeprofesseur ; jour,heure,codeprofesseur siglecours, local ; jour,heure,codeprofesseur nogroupe, local ; jour,heure,local siglecours, nogroupe, rencontre ; siglecours, nogroupe, rencontre, codeprofesseur jour, heure ; jour, heure, siglecours, nogroupe codeprofesseur, local}. Min(D2) = { siglecours, nogroupe codeprofesseur ;

jour,heure, codeprofesseur local ; jour, heure, local siglecours; jour, heure, local nogroupe; jour, heure, local rencontre ; siglecours, nogroupe, rencontre jour ; siglecours, nogroupe, rencontre heure } f) Quelles sont les clés candidates de la table Horaire? {jour, heure, codeprofesseur}, {jour, heure, local}, {siglecours, nogroupe, rencontre}, et {jour, heure, siglecours, nogroupe} g) Le schéma R1(sigleCours,noGroupe,codeProfesseur) et R2(sigleCours,noGroupe, rencontre, jour, heure, local) est-il en FNBC? La décomposition est-elle sans perte (expliquez)? La décomposition préserve-t'elle la dépendance jour, heure, codeprofesseur -> local? Oui le schéma est en FNBC. La décomposition est sans perte car elle est basée sur la dépendance siglecours,nogroupe codeprofesseur. Cependant la dépendance jour, heure, codeprofesseur -> local n'est pas préservée car elle ne peut être déduite des dépendances des deux tables R1 et R2. h) Est-ce que les énoncés suivants sont vrais? (est-ce que les décompositions sont sans perte) Expliquez. i) Horaire = T1[jour, heure, codeprofesseur, local] T2[sigleCours, nogroupe, rencontre, codeprofesseur, jour, heure]? Oui car la décomposition est basée sur jour,heure,codeprofesseur local. ii) Horaire = T1[jour, heure, codeprofesseur, local] T2[sigleCours, rencontre, codeprofesseur, jour, heure]? Non, il manque nogroupe! iii) Horaire = T1[jour,codeProfesseur, local] T2[sigleCours, nogroupe, rencontre, codeprofesseur, jour, heure]? Non car, il n'est pas vrai que jour, codeprofesseur local. 5) Comparez les schémas produits par l'algorithme de synthèse et l'algorithme de décomposition pour R(noVol, noenvolée, escale, destination) et D = {novol, escale destination; noenvolée novol; noenvolée, escale destination}. Algorithme de synthèse : Min(D) = {novol, escale destination; noenvolée novol} S = {R1(noVol, escale, destination), R2(noEnvolée, novol)} Algorithme de décomposition :

Décomposition de R basée sur novol, escale destination R1(noVol, escale, destination) R2(noVol, noenvolée, escale) Décomposition de R2 basée sur noenvolée novol R3(noEnvolée, novol) R4(noEnvolée, escale) Résultat final : S = {R1(noVol, escale, destination), R3(noEnvolée, novol), R4(noEnvolée, escale)} N.B. La table R4 est inutile Autre solution par décomposition: Décomposition de R basée sur noenvolée novol R1(noEnvolée, novol) R2(noEnvolée, escale, destination) Résultat final : S = {R1(noEnvolée, novol), R2(noEnvolée, escale, destination)} N.B. Le schéma est bien en FNBC mais, celui de l'algorithme de synthèse est préférable afin d'éviter de répéter les mêmes escales pour toutes les envolées d'un même novol. 6) Comparez les schémas produits par l'algorithme de synthèse et l'algorithme de décomposition pour R(cours, étudiant, module) D={cours module; étudiant module}. On suppose qu'un étudiant ne peut suivre que les cours de son module. Synthèse : S = {R1(cours, module) R2(étudiant, module), R3(cours, étudiant)} Décomposition : S = {R1(cours, module), R2(cours, étudiant)} ou S = {R1(étudiant, module), R2(cours, étudiant)} Les deux schémas de l'algorithme de décomposition ne préservent pas les dépendances. 7) Soit: la table T(a, b, c, d, e, f, g) et l'ensemble de dépendances D = {b e ; d g ; f c ; a,b d ; f g ; a, b, c f; a, b g } a) Quelles sont les clés candidates de cette table. {a, b, c} et {a, b, f} b) Cette table est-elle en 3FN? Non, elle n'est même pas en 2FN car par exemple b e et {b} {a, b, c} c) Donnez un schéma produit par l'algorithme de synthèse. Min(D) = {b e ; d g ; f c ; f g ; a,b d ; a, b, c f} La seule solution est S = {R1(b, e), R2(d, g), R3(a, b, d), R4(a, b, c, f), R5(c, g, f)} d) Le schéma obtenu en c) est-il en FNBC? Non car dans R4, f c

e) D = a, b, d e, f? Non f) D = a, b, f c, d? Oui g) Y-a-t'il une décomposition de T en FNBC qui préserve les dépendances et le contenu? Non car a, b, c f et f c h) Donnez un schéma produit par l'algorithme de décomposition en FNBC? Une solution est S = {R1(b, e) R2(d, g) R3(a, b, d) R4(a, b, f) R5(c, f) 8) Soit la table T (a, b, c, d, e, f) et l'ensemble de dépendances D = {a, b c ; a, b, e c, d ; f h; a g ; a, e e, f; g b; a, e h}. a) Donnez une couverture minimale pour D. Min(D) = {a c, g ; a, e d; a, e f; f h; g b} b) Donnez le schéma résultant de l'application de l'algorithme de synthèse. S = {R1(a, c, g ), R2(a, e d, f), R3(g, b), R4(f, h)} c) La table T est-elle en 3FN? Non la table a une seule clé candidate {a, e} et la dépendance fonctionnelle a c, entre autres, viole donc la 3FN (la 2FN aussi!). 9) Appliquer l'algorithme de décomposition en 4FN à InfoEmployés(noEmp, dept, salaire, fonction, dépendant) D ={noemp dépendant; fonction salaire; noemp fonction; noemp dept} 10) Soit le schéma suivant: Film(titre, genre, producteur, année, acteur, heure, date, poste, durée) D= {titre, année acteur ; titre genre; titre, année producteur, durée; date, poste, titre heure; heure, date, poste titre, année} a) Donnez la ou les clés candidates de ce schéma. {heure, poste, date, acteur} et {date, poste, titre, acteur} b) Ce schéma est-il en 4FN?

Non, par exemple, titre, année acteur viole la 4FN. c) Appliquez l'algorithme de décomposition et donnez le schéma résultant. S = {R1(titre, année, acteur), R2(titre, genre), R3(titre, année, producteur, durée), R4(titre, année, heure, date, poste)} Arbre de décomposition : D'autres solutions sont possibles. Par exemple : S ={R1(titre, année, acteur), R2(heure, date, poste, titre, année), R3(heure, date, poste, producteur, durée, genre)} A noter que ce schéma ne préserve pas les dépendances contrairement au précédent! d) Peut-on déduire titre, année genre, producteur, année, heure, date, poste, durée à partir de D? Oui. Preuve : 1) titre ->> genre, producteur, heure, date, poste, durée par titre, année acteur et règle du complément 2) titre, année ->> genre, producteur, année, heure, date, poste, durée par 1) et augmentation e) Peut-on déduire titre, année genre à partir de D? Oui. Preuve : 1) titre,année -> genre,année par titre genre et augmentation 2) titre,année -> genre par 1) et décomposition 3) titre,année ->> genre par 2) et une dépendance fonctionnelle est une dépendance multivaluée

f) Peut-on représenter la dépendance multivaluée titre, année acteur par une dépendance de jointure? Oui : {(titre, année, acteur), (titre, année, genre, producteur, heure, date, poste, durée)} 11) Démontrer les règles suivantes à partir des axiomes d'armstrong. Pseudo-transitivité Si X Y et Y,W Z alors X,W Z Union Si X Y et X Z alors X Y,Z Décomposition Si X Y et Z Y alors X Z Pseudo-transitivité Preuve. 1) X,W Y,W par A 2 et X Y 2) X,W Z par A 3, 1) et Y,W Z Union Preuve. 1) X X,Y par A 2 et X Y 2) X,Y Y,Z par A 2 et X Z 3) X Y,Z par A 3, 1) et 2) Décomposition Preuve. 1) Y Z par A 1 2) X Z par A 3, X Y et 1) 12) Produisez un schéma relationnel en 3FN pour la table CONFÉRENCE. Le diagramme à bulles montre les dépendances fonctionnelles de la table. CONFÉRENCE(id_participant, année, nom, affiliation, lieu_conférence, no_communication, type_organisation, titre)

Par l'algorithme de synthèse : S = {R1 (id_participant, nom, affiliation), R2 (affiliation, type_organisation), R3 (année, lieu_conférence), R4 (id_participant, année, no_communication), R5 (no_communication, titre)} 13) Produisez un schéma relationnel en 3FN pour la table ÉLECTION. ÉLECTION(ass_soc, parti, comté, montant, nom, adresse_bureau, ass_chef, date_nomination) Par l'algorithme de synthèse :

S = {CITOYEN (ass_soc, nom, comté), CONTRIBUTION (ass_soc, parti, montant), PARTI (parti, ass_chef), PARTI_COMTÉ (parti, comté, adresse_bureau), CHEF (ass_chef, date_nomination)}