Affichage des articles dont le libellé est base de données. Afficher tous les articles
Affichage des articles dont le libellé est base de données. Afficher tous les articles

samedi 6 décembre 2014

Base de données: Corrigés

EXERCICE 1 :


1)  





2) 


EXERCICE 2 :
            AssSport est en BCNF, parce qu’il n y a pas de dépendances fonctionnelles, mais elle n est pas satisfaisante pour autant.
            En effet la liste des horaires d’un étudiant doit être répétée pour chacun des sports auquel il veut participer.
            En fait non seulement il n’yy a pas dépendance fonctionnelle, mais il y a une totale indépendance entre l’horaire et le sport.

Il s’agit ici d’une dépendance multivaluée noEtudiant à horaire, noEtudiant à sport.
La décomposition en deux relations:
libre(noEtudiant, horaire)
sport(noEtudiant, sport)
évite les redondances; les deux relations sont toujours en BCNF et même en 4NF (pour information).


vendredi 5 décembre 2014

Correction des exercices sur les bases de données

Exercice 1 :

Passage MCD à MLD



















Exercice 2 :
1- La relation CommandeLivre est bien en première forme normale.
2-
à 2FN : CommandeLivre(Num-Commande, Num-Client, Titre, Auteur, Quantité, Prix).
à 3FN :         – CommandeLivre(Num-Commande, Num-Client, Titre, Quantité)
– Livre(Titre, Auteur, Prix)
Exercice 3 :
1.      Noms et prénoms des réalisateurs :
R = Π <NOM, PRENOM> (σ <RÔLE=REALISATEUR>(JOUER) * (INDIVIDU))
2.      Quels sont les noms et prénoms des acteurs qui sont également réalisateurs :
R1 = σ <RÔLE=REALISATEUR>(JOUER) * (INDIVIDU)
R2 = σ <RÔLE=ACTEUR>(JOUER) * (INDIVIDU)
R = Π <NOM, PRENOM> (R1 Ç R2)
3.      Quels sont les titres des films où Nicole Kidman a joué un rôle et qui ont été projetés au cinéma Le Fontenelle ?
R1 = Π <NUM_FILM>(σ <PRENOM=NICOLE AND NOM=KIDMAN>(JOUER) * (INDIVIDU))
R2 = Π <NUM_FILM>(σ <NOM=’LE FONTENELLE’>(PROJECTION))
R3 = R1 * R2
R = Π <TITRE>(R3 * (FILM))
4.      Quels sont les acteurs qui n’ont pas joué dans des films dramatiques ?
R1 = Π <NUM_IND> (σ <GENRE = DRAME > (FILM) * (JOUER))
R2 = Π <NUM_IND> (INDIVIDU) / R1
R = R2 * (INDIVIDU)
5.      Quels sont les acteurs que l’on a pu voir dans tous les cinémas ?
R1= Π <NUM_IND, NUM_CINE> (PROJECTION) * (JOUER)
R1= Π <NUM_CINE> (CINEMA)
R3 = R1 % R2
R = R3 * (INDIVIDU)

Exercices sur les bases de données

Exercice 1 :

Donner le  modèle logique correspondant au modèle conceptuel suivant :



Exercice 2 :
Soit la relation CommandeLivre qui indique qu’un client (identifié par Num-Client) peut passer une commande (identifiée par Num-Commande) de livre.
CommandeLivre(Num-Commande, Num-Client, Titre, Auteur, Quantité, Prix)
Avec les dépendances fonctionnelles suivantes :

Num-Commande à Titre
Titre à Auteur
                     Num-Commande à Quantité
                     Titre à Prix

1. Donner la forme normale de cette relation.
2. Proposer une décomposition jusqu’en troisième forme normale, si nécessaire.
Exercice 3 :
Soit le schéma relationnel suivant :

Individu(Num_Ind, Nom, Prénom)
Jouer(Num_Ind, Num_Film, Rôle)
Cinéma(Num_Ciné, Nom, Adresse)
         Film(Num_Film, Titre, Genre, Année)
         Projection(Num_Ciné, Num_Film, Date)

Exprimer en algèbre relationnelle les requêtes suivantes :

  1. Quels sont les noms et prénoms des réalisateurs ?
  2. Quels sont les noms et prénoms des acteurs qui sont également réalisateurs ?
  3. Quels sont les titres des films où Nicole Kidman a joué un rôle et qui ont été projetés au cinéma Le Fontenelle ?
  4. Quels sont les acteurs qui n’ont pas joué dans des films dramatiques ?
  5. Quels sont les acteurs que l’on a pu voir dans tous les cinémas ?

Exercice corrigé sur les base de données

Exercice:

Soit la relation R :
R(numeroEtudiant, nomEtudiant, prenomEtudiant, numeroMatiere, libelleMatiere, numeroEnseignant, nomEnseignant, prenomEnseignant, note)
Avec les Règles métiers suivantes :
  • Pour une même matière, les étudiants passeront un seul devoir sanctionné par une note ;
  • C'est toujours le même enseignant qui fait la même matière ;
  • Un enseignant peut assurer plusieurs matières.
1.      Etablir le graphe des dépendances fonctionnelles.
2.      Donner la forme normale et la clé de cette relation.
3.      Proposer une décomposition jusqu’en 3FN ? Si nécessaire.
Supposons maintenant que les contraintes suivantes s’appliquent :
  • Les étudiants peuvent avoir plusieurs devoirs dans la même matière ;
  • Une matière peut très bien être dispensée par plusieurs enseignants.
4.      En tenant compte de ces nouvelles contraintes, proposer une décomposition jusqu’en troisième forme normale du schéma relationnel obtenu à la question précédente.

5.      Que faire pour savoir l’identité du professeur qui enseigne une matière dans laquelle des étudiants ont subi des devoirs.

Corrigé:

1. Graphe des DF :



2. La relation est en 1FN car tous les attributs sont élémentaires et non répétitifs. La clé primaire de R est (numeroEtudiant, numeroMatiere)
3. Passage en 2FN :
L'attribut note est le seul attribut qui dépend de tous les attributs de la clé.
à
Note(numeroEtudiant#, numeroMatiere#, note)
Etudiant(numeroEtudiant, nomEtudiant, prenomEtudiant)
Enseignement(numeroMatiere, libelleMatiere, numeroEnseignant, nomEnseignant, prenomEnseignant)
Passage en 3FN :
Les attributs nomEnseignant et prenomEnseignant ne dépendent pas de numeroMatiere mais de numeroEnseignant.
à
Note(numeroEtudiant#, numeroMatiere#, note)
Etudiant(numeroEtudiant, nomEtudiant, prenomEtudiant)
Matiere(numeroMatiere, libelleMatiere, numeroEnseignant#)
Enseignant(numeroEnseignant, nomEnseignant, prenomEnseignant)
4. La nouvelle clé primaire de Note est (numeroEtudiant, numeroMatiere, numeroDevoir).
à
NoteDevoir(numeroEtudiant#, numeroDevoir, numeroMatiere#, note)
Etudiant(numeroEtudiant, nomEtudiant, prenomEtudiant)
Matiere(numeroMatiere, libelleMatiere)
Enseigner(numeroMatiere#, numeroEnseignant#)
Enseignant(numeroEnseignant, nomEnseignant, prenomEnseignant)
5. La nouvelle clé primaire de Note est (numeroEtudiant, numeroMatiere, numeroEnseignant, numeroDevoir)
à
Note(numeroEtudiant#, numeroMatiere#, numeroEnseignant#, numeroDevoir, note)
Le reste sans changement

jeudi 4 décembre 2014

Exercices sur les base de données

Procédez au passage des modèles conceptuels suivants aux modèles relationnels
Exercice 1

Exercice 2
Exercice 3


Base de données: Gestion des prêts de cassettes vidéo aux clients

Soit la relation suivante qui permet de gérer les prêts de cassettes vidéo aux clients :
          PrêtK7 (NumCli, NomCli, AdrCli, NumK7, TitK7, DatePrêt)
munie de la liste des dépendances fonctionnelles suivante :
NumCli                                  à        NomCli, AdrCli
NumK7                                  à        TitK7
NumCli, NumK7                   à        DatePrêt
NB : On suppose que  AdrCli est atomique.
Travail demandé :
1. Donner le graphe des dépendances fonctionnelles de PrêtK7.
2. Donner une décomposition de PrêtK7  en relations 1FN, 2FN et 3FN sans perte d’informations et sans perte de dépendances.

Correction :
1. Donner le graphe des dépendances fonctionnelles de PrêtK7.

1. Donner une décomposition de Factures en relations 1FN, 2FN et 3FN sans perte d’informations et sans perte de dépendances.
§ En 1°Forme Normale :
PrêtK7(NumCli, NumK7, NomCli, AdrCli, TitK7, DatePrêt)
§ En 2°Forme Normale :
La relation PrêtK7 n’est donc pas en 2FN.
En effet, dès qu’un client loue plusieurs cassettes, son nom et son adresse sont inutilement reproduits dans la base.  De même, le titre d’une cassette est répété pour chacun de ses emprunts.
Une application de la 2°Forme Normale conduirait à l’éclatement de la relation PrêtK7 en trois relations en 2FN :
Client (NumCli, NumCli, AdrCli)
K7 (NumK7, TitK7),
Prêt (NumCli, NumK7, DatePrêt).
§ En 3°Forme Normale : Sans changement.