0% ont trouvé ce document utile (0 vote)
109 vues6 pages

tp4 BD SOLUTION

sadsdasdascxz

Transféré par

Tayouba Mbarki
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
109 vues6 pages

tp4 BD SOLUTION

sadsdasdascxz

Transféré par

Tayouba Mbarki
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Manipulation de la structure d’une BDR

Objectifs :

TP n° 4  Projection sur des colonnes d’une BD.


 Sélection de lignes d’une BD.

Soit la description textuelle de la base de données d’une agence de location de voitures :


Client (NCIN_Cli, Nom_Cli, Prenom_Cli, Ville,Tel_cli)
Vehicule(Immat_vehicule, Marque, Model, date_Acq)
Location (Immat_Vehicule#,NCIN_Cli#, Date_Loc, Duree_Loc, Cout_Loc)
Questions :
[Link] xamp liteet créer votre base de données « location de voiture » .
[Link] les tables de la base de données par les données suivantes :
Table client
NCIN_Cli Nom_Cl Prenom_Cl Ville Tel_cli
i i
04215488 Aouadi Anis Tunis 71455698
05986732 Beji Mohamed Tunis 97888999
06697865 Krimi Ahlem Sousse 50777569

Table vehicule Table Location


Immat_vehi Marq Mod date_ Immat_Vehicul NCIN_Cli Date_Loc Duree_Lo Cout_Lo
cule ue el Acq e c c
102TN3265 Renau Clio 2003 118TN2064 05986732 20/01/2017 10 105
lt 98TN5489 06697865 13/08/2016 15 200
118TN2064 Fiat Pan 2005 102TN3265 04215488 21/01/2017 6 250
da 98TN5489 06697865 01/01/2017 15 200
118TN9865 Peuge 406 2005 102TN3265 04215488 14/08/2018 7 150
ot
98TN5489 Opel Cors 2000
a
99TN2154 Peuge 206 2001
ot
……………………………………………………………………………………………………….
…………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
…………………………………………………………………………………………………………………

[Link] la ligne suivante :
118TN2064 Fiat Panda 2005
DELETE FROM vehicule
WHERE Immat_vehicule= ‘118TN2064’ ;
[Link] le NCIN_Cli 04215488 en 04215487 dans la table client.
UPDATE client
SET NCIN_Cli=’ 04215487’
WHERE NCIN_Cli=’ 04215488’ ;

1
[Link] 50dt au coût de location de toutes les voitures.
UPDATE Location
SET Cout_Loc = Cout_Loc+50 ;

[Link] à jour le nom et le prénom de client dont le NCIN_Cli="05986732" à "Nefzi" "Aymen".


UPDATE client
SET Nom_Cli=’Nefzi’, Prenom_Cli=’Aymen’
WHERE NCIN_Cli=’ 05986732’ ;

7. Ecrire une requête SQL qui permet d’afficher la liste des clients
SELECT * FROM client ;
8. Modifier cette requête en affichant uniquement leurs noms, prénoms et adresses
SELECT Nom_Cli , Prenom_Cli, Ville FROM client ;

9. Ecrire une requête SQL qui permet d’afficher les clients habitant à Tunis.
SELECT * FROM client
WHERE Ville=’ Tunis’ ;

10. Créer une requête qui permet d’afficher les véhicules ayant la marque « Peugeot »
SELECT * FROM vehicule
WHERE Marque=’ Peugeot’
11. Modifier la dernière requête pour afficher les véhicules de marque « Peugeot » acquises en 2005
SELECT * FROM vehicule
WHERE Marque=’ Peugeot’ AND date_Acq=2005 ;

12. Ecrire une requête SQL qui permet d’afficher les différentes locations ayant une durée supérieure à
10
jours.
SELECT* FROM Location
WHERE Duree_Loc>10 ;
13. Créer une requête qui permet d’afficher les locations ayant une durée de 6 ou 7 jours
SELECT* FROM Location
WHERE Duree_Loc=6 or Duree_Loc=7 ;

14. Afficher les immatriculations des voitures qui ont été loués entre 2017 et 2018 triés par ordre
croissant
des dates de location.
SELECT Immat_vehicule FROM Location
WHERE Date_Loc BETWEEN ‘01l01l2017’ AND ‘31l12l2018’ ;
15. Afficher les frais de location des véhicules loués.
SELECT SUM(Cout_Loc) AS FRAI_LOCATION
FROM Location
16. Afficher le nombre de véhicules loués en 2017.
SELECT COUNT( *) AS NOBR_VOIT
FROM Location
WHERE YEAR(Date_Loc)=2017

2
3
III-Manipulation d’une base de données en mode commande :
On peut utiliser le langage SQL pour manipuler une base de données.
1. Insertion de lignes :
a. Syntaxe :
INSERT INTO nom_table [(liste des colonnes)] VALUES (valeurs) ;
b. Remarques :
 Les valeurs saisies doivent respecter l’ordre, le type et les contraintes d’intégrité.
 Les chaînes de type caractères ou de type date sont mises entre apostrophes (‘ ‘) et la date
doit être sous la forme AAAA-MM-JJ .
c. Exemple :
……………………………………………………………………………………………………..
2. Suppression de lignes :
a. Syntaxe :
DELETE FROM nom_table
WHERE condition ;
b. Exemple
Supprimer la ligne "Ben ARfaRaidh " a partir de la table " Employés " ?
……………………………………………………………………………………………………..

1. Modification de lignes :
a. Syntaxe :
UPDATEnom_table
SET Colonne1=valeur1
Colonne2=valeur2
colonnex=valeurx
WHEREcondition;
b. Exemple
Modifier les salaires des employés du département n°1 par 700.000 ?
……………………………………………………………………………………………………..

3. Recherche de données : Requêtes :


La recherche en mode commande est effectuée grâce à la commande SELECT du langage SQL.
Projection : recherche de certaines colonnes dans une table ;
Syntaxe
SELECT [DISTINCT] *|liste_champs
FROM table;
 Distinct : permet d’afficher un seul exemplaire des lignes identiques du résultat
trouvé.
 *: désigne tous les champs de la table
 La liste des champs sert comme entête de colonnes (alias)
 S’il y a plus qu’un champ à spécifier il faut les séparer par des virgules.
Exemple
SELECT *
FROM Client ;

SELECT DISTINCT ref_produit


FROM details_commandes;

SELECT Nom_Cli, Prenom_Cli


FROM client;

4
SELECT Prenom_Cli 'Prénom de client', Nom_cli'Nom de client'
FROM client;

SELECT date_loc, Duree_Loc*Cout_Loc 'Frais'


FROM Location;

5
3SI2 de données
Gestion

Sélection :recherche de certaines lignes dans une table


SELECT [DISTINCT] *|liste_champs
FROM table
WHERE condition;
On peut utiliser plusieurs opérateurs pour construire une condition ; <, >, <=, >=, <>, =
On peut combiner plusieurs conditions ; AND, OR et NOT.
Un texte est encadré par deux apostrophes (‘ ‘).
On peut utiliser aussi :
 BETWEEN : pour encadrer une valeur. Exemple: BETWEEN 100 AND 200
 IN : pour créer une liste. Exemple: IN (‘Paris’, ‘Montréal’, ‘London’)
 IS NULL : la valeur est nulle
 IS NOT NULL : la valeur n’est pas nulle
 LIKE : pour utiliser les caractères génériques Exemple : LIKE ‘_A%’
SELECT *
FROM Location
WHERE Duree_Loc>= 3; 4EG1

SELECT * FROM Location


WHERE cout_loc BETWEEN 110 AND 200;

SELECT Prenom_Cli
FROM Client
WHERE Nom_cli IN (‘Ahmed’, ‘Mahmoud’, ‘Mohamed’);
SELECT *
FROM Client
WHERE Ville LIKE '%Menzel';
 'Menzel%' commence par Menzel
 '%Men%' contient le mot Men
 '_M%' dont le 2ème caractère est M
 Ville LIKE [B-D]% à On sélectionne les villes dont la première lettre du nom est entre le B et le D.
SELECT * FROM Client
WHERE adr_Cli IS NULL;

Page |6

Vous aimerez peut-être aussi