Académique Documents
Professionnel Documents
Culture Documents
A.
Equipe Joueur
CodeEquipe <pi> Caractère variable (10) <O> 0,n Composer NumImmatriculation <pi> Entier <O>
NomEq Caractère variable (40) DateAdhésion Date Nom Caractère variable (20)
DateCreation Date 0,n Prénom Caractère variable (20)
Identifiant_1 <pi> DateNaiss Date
... Identifiant_1 <pi>
...
1,n
1,n
Jouer Participer
Debut Heure
Fin Heure
...
2,2
Match
4,n Arbitre
NumMatch <pi> Entier <O> Diriger
DateMatch Date NumArbitre <pi> Entier <O>
1,1
HeurDeb Heure 1,n NomArbitre Caractère variable (20)
Resultat Caractère variable (10) PrenomArbitre Caractère variable (20)
B.
Client
CodeClient <pi> Caractère variable (20) <O>
NomClient Caractère variable (40)
PrenomClient Caractère variable (40)
Adresse Caractère variable (100)
Tel Entier
Identifiant_1 <pi>
...
1,n
concerner
Produit
RefProduit <pi> Caractère variable (20) <O> 1,1 1,1
DesignationProduit Caractère variable (20) contenir
Identifiant_1 <pi>
... 1,1 1,n
Livreur
1
Exercice 2 : Normalisation et Dépendances fonctionnelles (3 points)
numAuteur → nomAuteur
numAuteur → prenomAuteur
numVille → nomVille
numVille → nomPays
numAuteur, numVille → description
1. Une clé est un groupe d'attributs minimal qui détermine tous les attributs de la relation.
Il y a une unique clé (numAuteur, numVille).
numAuteur, numVille → nomAuteur
numAuteur, numVille → prenomAuteur
numAuteur, numVille → nomVille
numAuteur, numVille → nomPays
numAuteur, numVille → description
La réflexivité et la transitivité sont utilisées à chaque fois de la même façon, par exemple,
pour le premier :
numAuteur, numVille → numAuteur
ET numAuteur → nomAuteur
DONC numAuteur, numVille →nomAuteur
2. La relation est en 1NF, on a identifié une clé et les attributs sont atomiques. Elle n'est pas en
2NF car des attributs faisant partie de la clé déterminent d'autres attributs, par exemple :
numAuteur → nomAuteur.
3. Auteur(#numAuteur, nomAuteur, prenomAuteur)
Ville(#numVille, nomVille, nomPays)
CarnetDeVoyage(#numAuteur, #numVille, description)
1.
2
Agence
Compte
NumAgence <pi> Caractère variable (10) <O>
NomAg Caractère variable (20) 1,n NumCompte <pi> Entier <O>
disposer
VilleAg Caractère variable (20) Solde Décimal
1,1
Actif Décimal Identifiant_1 <pi>
Identifiant_1 <pi> ...
... 1,1
1,n
Association_3 appartenir
1,n
1,1
Client
Emprunt NumClient <pi> Entier <O>
benificier
NumEmprunt <pi> Entier <O> 1,1 NomCl Caractère variable (40)
Montant Décimal 1,n PrenomCl Caractère variable (40)
Identifiant_1 <pi> VilleCl Caractère variable (50)
... Identifiant_1 <pi>
...
2. Les clients résidant à Kénitra, avec un compte dont le solde est supérieur à 10 000 et un emprunt
dont le montant est inférieur à 100 000.
πNum_Client(σville=’Kenitra’(Client) σsolde>1000(Compte) σmontant<100000(Emprunt))
4. Les clients ayant un compte dans la même agence que Mohammed Idrissi.
πNum_Client(πNum_Agence(σPrenom=’Mohammed’ AND Nom=’Idrissi’(Client) Compte) Compte)
Soit la base de données intitulée "gestion_projet" permettant de gérer les projets relatifs au
développement de logiciels suivante :
3
)
ENGINE=InnoDB;
2. Afficher les noms et les prix des logiciels appartenant au projet ayant comme titre « gestion
de stock », triés dans l’ordre décroissant des prix.
SELECT L.NomLog, L.PrixLog FROM Logiciel L INNER JOIN Projet P
ON L.NumProj=P.NumProj WHERE P.TitreProj="gestion de stock"
ORDER BY L.PrixLog DESC
3. Afficher le total des prix des logiciels du projet numéro 10. Lors de l’affichage, le titre de la
colonne sera « coût total du projet ».
4. Afficher le nombre de développeurs qui ont participé au projet intitulé « gestion de stock »
6. Les numéros et noms des développeurs qui ont participés dans tous les projets.
7. UPDATE Projet
SET DateFin = '17/04/2022'
WHERE TitreProj like ‘%Web%’ ;