Académique Documents
Professionnel Documents
Culture Documents
Cours Bien Détaillé Sur La Bases de Données (MCD - SQL) Étape Par Étape
Cours Bien Détaillé Sur La Bases de Données (MCD - SQL) Étape Par Étape
BASE DE DONNÉES PYTHON ALGORITHME (COURS) ALGORITHME (EXERCICES) LES FONCTIONS EN ALGORITHME C (EXERCICES) C (COURS) JAVA
Accueil SQL Cours bien détaillé sur la Bases de données ( MCD / SQL) étape par étape
SOCIAL PLUGIN
Définition :
* Information : C’est un élément de connaissance comme : Nom, Prénom, l’âge,
télé……
Objectif : Avant de collecté un ensemble des données (du système à informatiser) on doit
étudier les liens qui existent entre ces données pour proposer une représentation
schématique appelée Modèle Conceptuel de Données (MCD).
Définition :
1) Propriété : C’est un élément d’information qui peut prendre des valeurs
différentes. (Nom, Prénom, adresse, Télé…….).
2) Entité : C’est un objet réel ou abstrait. Elle est décrite par une liste de propriétés
spécifiques. (Client, Etudiant, Atelier, Commande ……….).
Exemples :
Client (Code_client, Nom_client, Adresse)
Exemple:
(12987, câble, 20$) une occurrence de l’entité « Pièce ».
(987, 6/6/2021, 350$) Une occurrence de l’entité « Commande ».
6) Clé primaire d’une entité : La clé primaire d’une entité est le groupe minimal de
propriétés qui identifient cette entité.
Exemple: CNE permet d’identifiant étudiant. Alors c’est une clé primaire.
7) Clé primaire d’une relation : La clé primaire d’une relation est composée des clés
primaires des entités formant cette association.
Exemple:
(N° pièce, N° machine) est la clé primaire de la relation « Fabriquer »
(N° pièce, N° commande) est la clé primaire de la relation « Contenir »
8) Cardinalité: les cardinalités minimale et maximale d’une entité via une relation
indiquent les nombres minimal et maximal d’occurrences de la relation pouvant
exister pour une occurrence de cette entité.
Exemple 1
Exemple 2 : Une usine contient des machines qui peuvent fabriquer au moins un
type de pièces. Chaque pièce peut être fabriquée par une ou plusieurs machines.
Chaque type de machine est construit par un ou plusieurs fournisseurs. Le
fournisseur peut construire une ou plusieurs marques de machines.
Exercice 1
Dans une entreprise, on peut trouver un ou plusieurs départements, chaque département
est identifié par un nom et caractérisé par une localisation. Un employé est caractérisé par
un numéro, son nom, son grade, ce dernier peut travailler dans un ou
plusieurs départements, dans chaque département existe au moins un employé. Donner le
MCD, en précisant les attributs.
Exercice 2
On considère une bibliothèque contenant des ouvrages. Un ouvrage est caractérisé par un
numéro, un titre, un auteur et un éditeur. La bibliothèque dispose d’un ou plusieurs
exemplaires de chaque ouvrage. L’exemplaire est identifié par un numéro et caractérisé par
la date d’édition. Un exemplaire peut être emprunté par un ou plusieurs emprunteurs, ce
dernier est identifié par un numéro et caractérisé par un nom, un téléphone. Un
emprunteur peut emprunter un ou plusieurs exemplaires. Donner le MCD, en précisant les
attributs.
Exercice 3
Créer le MCD permettant à un groupe de gérer les droits d’auteurs des livres publiés par ses
différentes maisons d’éditions. Elle doit respecter les contraintes suivantes. Un livre peut
être écrit par un ou plusieurs auteurs. Un auteur peut écrire un ou plusieurs livres. Un
éditeur peut publier un ou plusieurs livres. Un livre est publié par un seul éditeur.
Solution d'exercice 1
Solution d'exercice 2
Solution d'exercice 3
<< Langage SQL >>
Exercice 1
Soit la base de données relationnelle des vols quotidiens d’une compagnie aérienne qui
contient les tables Avion, Pilote et Vol.
Corrigé de l’exercice 1
12) Select Nom, Adresse from Pilote, Vol where Pilote.NP = Vol.NP and NV='IT100' and
NV='IT104';
15) Select Pilote.NOM from Pilote, Vol, Avion where Pilote.NP = Vol.NP and Avion.NA =
Vol.NA and Avion.NOM='AIRBUS';
Exercice 2
On considère la base de données d’un festival de musique : Dans une représentation peut
participer un ou plusieurs musiciens. Un musicien ne peut participer qu’à une seule
représentation.
2)Donner La liste des titres des représentations ayant lieu au « théâtre Rabat ».
3)Donner La liste des noms des musiciens et les titres des représentations auxquelles ils
participent.
4)Donner La liste des titres des représentations, les lieux et les tarifs du 21/07/2022.
6)Donner Les titres des représentations et leurs dates dont le tarif ne dépasse pas 30DH.
Corrigé de l’exercice 2
Exercice 3
On considère la base de données suivante:
Départements(N_dep, Nom_dep, VILLE)
Employes(N_E, Nom_E, PROF, SAL, COMM, #N_dep)
Corrigé de l’exercice 3
2)SELECT Nom_E, PROF, SAL FROM Employes ORDER BY PROF ASC, SAL DESC ;
3)SELECT AVG(SAL) FROM Employes ;
7)SELECT PROF, AVG(SAL) as moy FROM Employes GROUP BY PROF ORDER BY moy ASC
LIMIT 1;
Exercice 4
On considère la base de données suivante relatif à la gestion des notes annuelles d’une
promotion d’étudiants:
Corrigé de l’exercice 4
2) SELECT MIN(Note) as ’plus basse note’, MAX(Note) as ’plus haute note’ FROM EVALUER ;
8)SELECT PROF FROM Employes GROUP BY PROF HAVING AVG(SAL) = (SELECT AVG(SAL)
as moy FROM Employes GROUP BY PROF ORDER BY moy ASC LIMIT 1) ;
Exercice 5
On considère la base de données suivante:
1)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 .
2)afficher le total des prix des logiciels du projet numéro 10. Lors de l’affichage, le titre
de la colonne sera « cours total du projet ».
5) Les numéros et noms des développeurs qui ont participés dans tout les projets.
6)Afficher Les numéros de projets dans lesquelles tous les développeurs y participent
dans sa réalisation.
Corrigé de l’exercice 5
1)SELECT L.NomLog, L.PrixLog FROM Logiciel L , Projet P where L.NumProj =P.NumProj
and P.TitreProj= "gestion␣de␣stock"
ORDER BY L.PrixLog DESC ;
Exercice 6
Soit la base de données "gestion_projet" permettant de gérer les projets relatifs au
développement de logiciels suivante :
1. Créer les tables « Projet » et « Logiciel ». préciser clairement les types des données.
2. Afficher les noms et les prix des logiciels appartenant au projet ayant comme titre «
gestion de stock », triés
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 ».
6. Les numéros et noms des développeurs qui ont participés dans tous les projets.
7. Reporter la date de fin des projets dont le titre contient « Web » à la date « 17/04/2022 »
Corrigé de l’exercice 6
TitreProj VARCHAR(40),
DateDeb Date,
DateFin Date,
ENGINE=InnoDB;
NomLog VARCHAR(40),
PrixLog DECIMAL,
NumProj INT UNSIGNED,
CONSTRAINT fk_projet_numero
REFERENCES Projet(NumProj) )
ENGINE=InnoDB;
FROM Logiciel L
WHERE P.TitreProj="gestion␣de␣stock"
FROM Logiciel
WHERE NumPRoj=10
4) SELECT count(*)
FROM Developpeur D
WHERE P.TitreProj="gestion␣de␣stock"
FROM Projet P
HAVING count(*)>5
FROM Developpeur D
7) UPDATE Projet
Exercice 7
On considère la base de données suivante:
Client (IdCli ,nom,ville)
3) Donner les noms des clients qui ont acheté le produit 'p1'.
4) Donner les noms des produits qui n'ont pas été acheté.
5) Donner les noms des clients ayant acheté un produit en quantité supérieure à chacune
des quantités de produits
6) Donner les noms des produits moins chers que la moyenne des prix de tous les
produits.
Corrigé de l’exercice 7
1) select Distinct p.marque from produit p
2)select * from produit p where p.marque in ('IBM', 'APPEL', 'ASUS')
3)select c.nom from client c where IdCli in( select v.IdCli from vente v where
p.IdPro='p1')
4)select p.nom from produit p where not exists (select * from vente v where v.Idpro=
p.IdPro)
5) select v.IdCli from vente v where v.qte>=all(select w.qte from vente w where w.IdCli =
'c1')
6) select p1.nom from produit p1 where p1.prix < (select AVG (p2.prix) from produit p2 )
7) delete from vente where date < '01-mars-2022' and IdCli in ( select c.IdCli from client
c where c.ville= 'fes')
Tags bases de données langage SQL MCD merise Modèle conceptuel de données SQL
Facebook Twitter