Vous êtes sur la page 1sur 7

Département 

: Génie Electrique
Filière du Cycle Ingénieur : Systèmes Intelligents, Communicants et Mobiles - SICoM

Etude de cas
Base de données

Réalisé par :
M’HAL Hamza
Encadré par :
Pr. Mohamed Ouzarf

Année Universitaire : 2021 / 2022


- Question 1 :
 Crée base de données voiture et les tableaux :

 Proprietaire(id_pers, nom, prenom, adresse, ville, codepostal)


 Voiture(immat, couleur, datevoiture, # id_modele)
 Modele(id_modele, modele, carburant)
 cartegrise(#id_pers, #immat, datecarte)

 create database voiture;
 create table proprietaire (
 id_pers int,
 nom varchar(20) ,
 prenom varchar(20),
 adresse varchar(30),
 ville varchar(20),
 codepostal int(20)
 );
 create table voiture (
 immat varchar(30) , couleur varchar(30) ,datevoiture DATE, id_modele varchar(45) );
 create table modele ( id_modele varchar(45), modele varchar(45), carburant varchar(45) );
 create table cartegrise ( id_pers int, immat varchar(45), datecarte Date );

 Ajouter les contraintes :


 Clé primaire :
 ALTER TABLE proprietaire
add constraint proprietaire_id_pers_pk primary key (id_pers) ;
 ALTER TABLE voiture
add constraint voiture_immat_pk primary key (immat) ;
 ALTER TABLE modele
add constraint modele_id_modele_pk primary key (id_modele) ;
 ALTER TABLE cartegrise
add constraint cartegrise_datecarte_pk primary key (datecarte) ;
 Clé étrangère :
 Alter table voiture
ADD constraint voiture_id_modele_fk foreign key (id_modele) references modele(id_modele);
 Alter table cartegrise
ADD constraint cartegrise_id_pers_fk foreign key (id_pers) references proprietaire(id_pers);
 Alter table cartegrise
ADD constraint cartegrise_immat_fk foreign key (immat) references voiture(immat);

 Notre schéma :
- Question 2 :
 Fichier modele.txt

"17C92853AZ";"Citroën C5";"diesel"
"178524ER45";"Citroën Picasso";"essence"
"7499RF5679";"Renault MéganeScénic";"diesel"
"33356677PO";"Peugeot 206";"électrique"
"563339GH56";"Citroën C3";"essence"
"83321TY455";"Renault Espace";"diesel"

 On insérer les données dans la base.


load data infile 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/modele.txt'
into table modele
fields enclosed by '"' terminated by ';'

 On afficher les données.


select *from modele ;

 Fichier modele.csv
AZER67455T Peugeot 307 essence
FHT55432GH Renault Twingo essence
DSQS455674 Renault adventime diesel
485228GGD7 Volkswagen Golf diesel
ZER627864K Ferrari GT 40 essence

 On insérer les données dans la base


load data infile 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/modele.csv'
into table modele
fields terminated by ';'

 On afficher les données.


select *from modele ;
- Question 3 :
 On modifier la table modele en ajoutant les attributs ( prix, couleur et prixachat) des voitures

 ALTER table modele


ADD prix int;
 ALTER table modele
ADD couleur varchar(45);
 ALTER table modele
ADD achat date;
 On insérer les données dans la base.
o UPDATE modele SET prix = 30, couleur="Blanc",achat='2011-07-12' WHERE
id_modele="178524ER45";
o UPDATE modele SET prix = 15, couleur="Rouge",achat='2010-05-12' WHERE
id_modele="17C92853AZ";
o UPDATE modele SET prix = 21, couleur="GrisSouris",achat='2012-08-06' WHERE
id_modele="33356677PO";
o UPDATE modele SET prix = 24, couleur="GrisClair",achat='2014-09-01' WHERE
id_modele="485228GGD7";
o UPDATE modele SET prix = 23, couleur="Blanc",achat='2015-02-01' WHERE
id_modele="563339GH56";
o UPDATE modele SET prix = 21, couleur="GrisSouris",achat='2012-05-02' WHERE
id_modele="7499RF5679";
o UPDATE modele SET prix = 26, couleur="Blanc",achat='2013-10-01' WHERE
id_modele="83321TY455";
o UPDATE modele SET prix = 21, couleur="GrisClair",achat='2010-08-01' WHERE
id_modele="AZER67455T";
o UPDATE modele SET prix = 18, couleur="Noir",achat='2012-05-25' WHERE
id_modele="DSQS455674";
 On afficher les données.
select *from modele ;

- Question 4 :

 On créer une requete permettant d’afficher le contenu de la table modele. Les résultats doivent
être triés par marque.

select *from modele
order by modele;

- Question 5 :

 Dans la base voitures, sélectionner tous les véhicules d’une personne donnée. Requête SQL : Nous
cherchons par exemple tous les véhicules de “ Algout”.

select modele.modele, voiture.immat, proprietaire.nom


from voiture , modele, proprietaire, cartegrise
where proprietaire.nom='Algout' and voiture.id_modele=modele.id_modele and
proprietaire.id_pers=cartegrise.id_pers and voiture.immat=cartegrise.immat;
- Question 6 :
 Dans la base voitures, sélectionner toutes les personnes ayant le même modèle de voiture.
Requête SQL : Nous cherchons par exemple tous les propriétaires de véhicules de type «
Picasso ».
select proprietaire.id_pers, proprietaire.nom ,modele.modele
from proprietaire,modele,cartegrise,voiture
where proprietaire.id_pers=cartegrise.id_pers AND voiture.immat = cartegrise.immat AND
voiture.id_modele=modele.id_modele AND modele.modele="Picasso";

- Question 7 :
 Dans la base voitures, sélectionner tous les véhicules ayant plusieurs copropriétaires.
select cartegrise.immat
from cartegrise
group by immat
having count(*)>1;

- Question 8 :
 Afficher le nombre de voitures d’une marque donnée.
select count(modele)
from modele
where modele="a";
- Question 9 :
 Afficher le nombre de voitures de chaque marque.
select count(modele),modele
from modele
group by (modele);

Vous aimerez peut-être aussi