1728285923864_BD-3STI-cours-tps-correction

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 69

Base de données: Présentation

Base de données – Présentation


1 Base de données (BD)
C’estun ensemblestructuré dedonnéesrelativesàun ou plusieurs domaines.
Elle est exhaustive,nonredondante ,structuréeet persistante .
2 Architecture client/serveur
Dansune architecture client/serveur, unebase de données est considérée commeune
ressource partagée par unensemble d'applications situéessur les postes clients.
La machine qui gère cette base de données est appelée «Serveur »
3 Les intérêts d’une base de données
intérêts Description
Centralisation Les donnéessontregroupées dans une structure centrale permettant d'éviter la
redondance. Eneffet, les données sontsaisies uneseule fois et peuvent être
utilisées par plusieurs programmes et plusieursutilisateurs.
Indépendanceentre données et Les donnéessontdécritesindépendamment desprogrammes
programmes
Intégritéde données L’intégrité est l’ensemble de règlespermettant d'assurer la cohérence des
données. On distingue 3 types de règles: unicité, référenceet valeur.
Intégration des liaisons entre Les relationsentre les données font partie de labase de données etnon pas des
lesdonnées programmes comme dans le casoù les donnéessont organisées en fichiers.
Partage des données
4 Lesmodèlesdesbases dedonnées
 Hiérarchique: Unobjet peut avoir plusieursfils,mais unfilsne peut avoirqu'unseul père (1 :n)
 Réseau: Tousles types de lienssont possibles, notamment les liens (n:m)
 relationnel
 orienté objet

5 Système de Gestiondes Bases de Données (SGBD)


C’estun logicielqui permet de décrire, modifier,interrogeret administrer les données d'une
basede données.
Français Anglais Arabe
Système de Gestionde Bases de Databases ‫نظام ال تص رف في قواعــد‬
Données(SGBD) Management System ‫الــبـيـانات‬
Un SGBDpermet la définition, la manipulation, l'intégrité, la confidentialitéet lasécurité des
données.
Les fonctions d'unsystème degestion de basesde données
 La définition desdonnées  Lagestion des
 La manipulation des données accès concurrents
 L'intégritédes données  La confidentialité
 Lasécurité dufonctionnement
6 Les tables(table, entité, sujet, table relationnelle)
Unetable estun ensemble dedonnéesrelativesà un seulsujet. Elle estorganisée sous forme d’un tableau enlignes et
encolonnes.
1
Base de données: Présentation

7 Les colonnes (colonne, champ, entête, propriété, attribut)


Dansune table,une colonne correspond àune propriété élémentaire de l'objetdécrit par cette table
8 Les lignes (ligne, enregistrement, occurrence, Uplet) :
Uneligne correspond à une occurrence (un élément parmiles entitésquise répètent) dusujetreprésenté par la table.
On dit aussiqu'elle correspond à unobjet du monde réel
9 La clé primaire (primary key, identifiant)
Formée parun ou plusieurs champs, identifie de façon unique chaqueenregistrement de la table.
10 La clé étrangère (clé secondaire, Foreign Key, référence)
Formée parun ou plusieurs champs, qui existe aussi dans une autre table comme clé primaire. Il assure la liaison
(association)entre les deux tables.

11 Les contraintes
 Une contrainte est unerègle appliquée à une colonneou à une table et qui doit être toujours vérifiée à fin d’assurer
l’intégritédes données.
 Ondistingue trois types de contraintes :
• Contrainted’intégrité de tables : Permetd’assurer l’unicité des lignes destables. Chaque table doit avoir une
la clé primaire.
• Contrainted’intégrité référentielle : Permet d’assurer qu’une clé secondaired’une table estreliée à une clé
primaired’une autre table. Elle est représentéesousforme de lien entre tables.
• Contraintede domaine : s’assurer dela validité desvaleurs des colonnes(obligatoireou pas,supérieurà zéro
,….)
12 Représentation de la structure de la base de données:
Aprèsla présentation des différents objets qui décrivent une bd, on peut la représenter de façonhomogène. Cette
représentationest dite model ou schéma de la base de données. Il existe deux formalismes de représentation:
1. Représentation textuelle 2. Représentation graphique
Elle consiste à décrire les entités, les attributs
et les associationsen utilisant du texte.
Soitune table A composée des attributsa1, a2, a3 et
a4 où a1 est une clé primaire et une table B composée
des attributs b1, b2 et b3 avecb1 une clé primaire. On
suppose que B réfère à A.
La représentation textuelle est:
A(a1, a2, a3, a4) Les clés primairessont représentées engras
B(b1, b2, b3, a1#) et les clés étrangères à l’aide d’un lien entre les deux
tables. Les symboles(∞) est placé du côtéde la clé
étrangère et le symbole(1) du côtéde la clé primaire
référencée.

2
BD Série n°1 3éme STI
Exercice 1 :

Exercice 2 :

Exercice 3 :

Exercice 4 : a- Que présente cette table ?


Soit la table suivante :
……………………………..
Id_Eleve Nom Prenom Date_n Classe
1510 Tounsi Mohamed 01/07/2006 3SI1 b- De quoi se compose-t-elle?
1080 Sallami Habib 16/05/2005 4EG2 ……………………………..
……………………………..
1203 Saidi Hayfa 03/07/2007 3SI1
1222 Zyoudi Imed 03/04/2006 3Math
……………………………
…………………………….

- - 3 --
BD 3éme STI
Exercice 5 :
Que présente chaque colonne de la table élève ? …………………………..
En se basant sur le tableau suivant, par quoi est décrit chaque champs ? …………………………………..
Nom: Elève
Description: Liste des élèves de lycée zouiet elmagaiz
Nom colonne Description Type de Taille Obligatoire Valeur par Valeurs
données défaut autorisées
ID_ELEVE Identifiant Numérique Entier oui
de l’élève
Nom chaîne 15 non
Prenom chaîne 15 non
Date_n Date de Date Entier non <Aujourd’hui( )
naissance
Classe chaîne 15 non
Exercice 6 :
Dans les tables suivantes, identifier les attributs permettant d’identifier l’entité d’une manière unique.
Table : OUVRIER
NOM PRENOM CIN DATE_NAISSANCE PROFESSION

Table : FILM
TITRE REFERENCE ANNE_SORTIE

Table : LIVRE
TITRE ISBN N_COPIES EDITION

Table : VOITURE
MODELE CATEGORIE IMMATRICULATION COULEUR PUYISSANCE

Exercice 7 : (contrainte d’intégrité)


Ci-dessous, on présente le contenu des trois tables Client, Article et Facture d’une base de données. Avec :
Table Facture
Table Client Table Article
CodeArt LibArt PrixArt N°Fact DateFact CodCl CodArt
Codecl Nomcl Prencl 003445 PC HP 1380 125 25/01/2023 123 012365
123 Mrad Amine 004516 PC IBM -1490 126 26/01/2023 426 045696
426 Abbes Amine 012365 PC SIEM. 1320 127 18/02/2023 456 004516
023146 PC DELL 1200 128 22/02/2023 456 023146
456 Abbes Eya
045696 PC SIEM. 1300
789 Nouri Ayoub 129 03/03/2023 789 111111
045696 IMP. HP 420
789 Sallami Ahlem 130 03/03/2023 123 003445
NB : On suppose qu’une facture ne concerne qu’un
seul article. Questions : En se basant sur les contenus
de ces tables, il apparaît que trois contraintes
d’intégrité n’ont pas été respectées. Préciser
l’anomalie et le nom de contrainte non respectée.
Anomalierencontrée Contrainted’intégriténonrespectée
………………………………………………………………………………
……………………………………………………………………………..
………………………………………………………………………………..
………………………………………………………………………………..
……………………………………………………………………………..
………………………………………………………………………………..

- - 4 --
BD 3éme STI
………………………………………………………………………………..
……………………………………………………………………………..
………………………………………………………………………………..

- - 5 --
BD 3éme STI
TP 1 : création et manipulation de la structure d’une BD en mode assisté
Une société de vente de voitures offre à ses clients la possibilité de tester et évaluer les nouveaux modèles qu’elle dispose.
L’évaluation consiste à attribuer trois notes en fonction des critères suivants : sécurité, conduite et confort.
Soit la base de données decette société décrite par la représentation textuelle suivante :
testeur ( numPermis , nom , prenom , genre ,adresse)
modeleVoiture ( idModele,libelle )
evaluation ( numPermis#, idModele# , dateTest , securite )
1) Ouvrir «MYSQL». (easyphp-administration-administrer mysql)
2) Créer cette base de données en lui attribuant le nom "BDnum de groupe".
3) Créerlesdifférentes tablesenprécisantla cléprimairepourchacuned’elles eten seréférantàladéfinition deschamps
présentée dansle tableau suivant :

Champ Type Description


numPermis Chaîne de 8 caractcères Numéro de permis d’un testeur.
nom Chaîne de 20 caractères Nom d’un testeur.
prenom Chaîne de 20 caractères Prénom d’un testeur.
genre Caractère Genre d’un testeur (F : Féminin , M : Masculin).
adresse Chaîne de 10 caractères Adresse d’un testeur.
idModele Entier Identifiant d’un modèle de voiture à tester.
libelle Chaîne de 20 caractères Libellé d’un modèle de voiture à tester.
dateTest Date et heure Date et heure d’un test effectué.
securite Entier Note attribuée au critère "sécurité".
conduite Entier Note attribuée au critère "conduite".

4) Créer la relation entre les tables en identifiant les clés étrangères


5) Ajouter à la table evaluation une colonne confort de type Entier pour la note attribuée au critère "confort".
6) Modifier la taille des colonnes nom et prénom de la table testeur en 10 caractères
7) Supprimer la colonne adressede la table testeur
8) Supprimerlacléprimairedelatable evaluationpuisdéfinirles 2colonnesnumPermisetidModelecommecléprimaire
9) Insérer les lignes ci-dessous dans les tables modeleVoiture et testeur.

- - 6 --
BD 3éme STI
Création Et manipulation D’Une Base De Données en mode commande SQL
I. Création d’une table en mode commande :
1. Introduction :
Dans le mode commande, on utilise le langage SQL (Structured Query Language)
C'est un langage structuré de requêtes destiné à interroger ou à manipuler une base de données.
On distingue trois familles de commande SQL :
a. Langage de définition de données(LDD) :
ce sont des commandes qui permettent de créer, modifier et supprimer les différentes structures de la BD.
b. Langage de manipulation de données(LMD) :
ce sont des commandes qui permettent de manipuler le contenu de la base de données, c'est-a-dire d'insérer,
de modifier, de consulter ou de supprimer des lignes dans les tables de la base de données.
c. Langage de contrôle d'accès(LCD) :
Il permet de définir des permissions au niveau des utilisateurs d'une BD. Ce sont des commandes qui
permettent de contrôler l'utilisation de la BD (sécurité de la base, intégrité et cohérences des données).
2. La création de tables :
Le langage de définition de données (LDD) permet de créer des tables grâce au mot clé CREATE TABLE.
Exemple : Ecrire une commande qui permet de créer les tables suivantes :
T1(C1 , C2, C3 , C4, C5#)
T2(C5, C6)
Sachant que :
Nom colonne type taille obligatoire Valeur par défaut Valide si
C1 Numérique 8 OUI
C2 texte 10 OUI
C3 décimal 4,2 NON 1000,23
C4 date NON <=aujourd’hui()
C5 numérique 10 OUI
C6 texte 20 OUI

Create table t1 (
C1 int(8) primary key,
C2 varchar(10) not null, Create table t2 (
C3 décimal(4.2) default 1000.23 , C5 int(10) primary key,
C4 date check (c4 <= curdate( )), C6 varchar(20) not null) ;
C5 int(10) references T2(c5) on delete cascade) ;
Retenons : La commande du langage SQL permettant de créer une table est la commande CREATE TABLE.
La forme générale de cette commande est la suivante :
CREATE TABLE nom_table(
Nom_Colonne Type_colonne[[NOT]NULL][DEFAULT valeur ][Contraintes sur colonne (1)],
…. ,
[Contraintes sur la table(2)] ) ;
(1) (2)
CONSTRAINT nom_contrainte Se sont des contraintes fonctionnant sur plusieurs champs à la fois
PRIMARY KEY PRIMARY KEY (colonne1, colonne 2, …)
REFERENCES nom_table (nom_champ_référencé) FOREIGN KEY(colonne1, colonne 2, …)
[ON DELETE CASCADE] REFERENCES nom_table(colonne1, colonne 2, …)
CHECK (Condition de valeurs) [ON DELETE CASCADE]
CHECK (Condition )
II. Les types de données : Pour chaque colonne, il faut préciser le type de données parmi les types suivants:
Type de donnée Syntaxe Description
Alphanumérique VARCHAR(n) Chaîne de caractères de n caractères maximum (n<16383)
Horaire DATE Date sous la forme 16/07/99
Numérique INT(n) Numérique à n chiffres
Numérique DECIMAL(n,m) Numérique à n chiffres dont m décimales

- - 7 --
BD 3éme STI
III. Contraintes d’intégrité :
Les contraintes d’intégrité doivent être exprimées dès la création de la table grâce aux mots clés suivants:
Clause Rôle
DEFAULT valeur Valeur par défaut
PRIMARY KEY Indiquer la clé primaire
NULL La valeur de la colonne n’est pas obligatoire
NOT NULL La valeur de la colonne est obligatoire
CHECK (condition) Faire un test sur un champ
UNIQUE Vérifier que la valeur saisie pour un champ ne se répète pas
REFERENCES table(colonne référée) Indique la clé étrangère.
IV. Exemple de création de table avec contraintes :
Create TABLE clients(
CIN INT(8) PRIMARY KEY,
Nom varchar(30) NOT NULL,
Prenom varchar(30) CONSTRAINT nl_pre NOT NULL,
Age int(2) check (age < 100),
Email varchar(50) NOT NULL check (Email LIKE "%@%"),
Adr int(3) UNIQUE REFERENCES Adresse(code_adr) ) ;
V. Nommer une contrainte :
Il est possible de donner un nom à une contrainte grâce au mot clé CONSTRAINT suivi du nom que l'on
donne à la contrainte.
VI. Définition_contraintes :
Exemple: Prenom varchar(30) CONSTRAINT nl_pre NOT NULL,
CONSTRAINT PK_cin PRIMARY KEY (cin)
II- Modification de la structure d’une base de données :
1. Modifier la structure d'une table :
C’est grâce à la close ALTER TABLE qu’on peut modifier la structure d’une table.
Elle permet les modifications suivantes sur la structure d'une table existante :
• Ajout de nouvelles colonnes, Syntaxe :
• Modification de colonnes, ALTER TABLE Nom_table
• Suppression de colonnes, [ADD COLUMN (Nom_colonne Type_donnee)]
• Ajout de contraintes d'intégrité, [MODIFY Nom_colonne Type_donnee]
• Suppression de contraintes d'intégrité, [DROP COLUMN Nom_colonne]
[ADD CONSTRAINT Nom_contrainte]
• Activation ou désactivation de contraintes
[DROP CONSTRAINT Nom_contrainte]
d'intégrité. [ENABLE|DISABLE nom_contrainte]
Exemples:
 Pour ajouter une colonne Tel à la table clients :
ALTER TABLE clients ADD COLUMN (tel int(8) ) ;
 Pour modifier le type de la colonne age en type date :
ALTER TABLE clients MODIFY Age DATE;
 Pour supprimer la colonne email de la table clients
ALTER TABLE clients DROP COLUMN email ;
 Supposons que la table clients a été crée sans clé primaire, pour ajouter donc la contrainte d’intégrité
clé primaire pour cette table on utilise la commande suivante :
ALTER TABLE clients ADD PRIMARY KEY (cin) ;
 Pour supprimer la clé primaire de la table detail_commande :
ALTER TABLE detail_commande DROP PRIMARY KEY ;
 Pour désactiver une contrainte d'intégrité on utilise l’option DISABLE. Lorsqu'une contrainte est
désactivée, le SGBD ne va plus effectuer le contrôle imposé par cette contrainte. Par exemple pour
désactiver la clé primaire de la table clients
ALTER TABLE clients DISABLE PRIMARY KEY ;
- - 8 --
BD 3éme STI
Lorsque cette clé primaire est référencée dans une ou plusieurs autres tables, il faut supprimer les clés
étrangères dans les tables qui s'y référent avant de procéder à la suppression de la clé primaire.
 L'option ENABLE permet de réactiver une contrainte d'intégrité. Lorsqu'une contrainte est réactivée,
le SGBD va de nouveau effectuer le contrôle imposé par cette contrainte.
Par exemple pour réactiver la clé primaire de la table clients
ALTER TABLE clients ENABLE PRIMARY KEY ;
2- La suppression d'une table :
Elle se fait en suivant la syntaxe suivante: Exemple:
DROP TABLE Nom_table;  Pour supprimer la table clients :
DROP TABLE clients ;

- - 9 --
BD 3éme STI
TP 2 : création et manipulation de la structure d’une BD en mode
commande sql
Soit la base de données « Location de voitures » définit par les tables suivantes :
CLIENT (NCIN_Cli, Nom_Cli, Prenom_Cli, adresse_Cli, ville)
VEHICULE (immat_Vehicule, marque, model, date_acq)
LOCATION (immat_Vehicule# , NCIN_Cli #, date_Loc, duree_Loc,cout_loc)
1. Ouvrir «MYSQL ». (easyphp-administration-administrer mysql)
2. Créer une nouvelle base de données nommée « Location de voitures »
3. Créer les tables CLIENT, VEHICULE et LOCATION en précisant la clé primaire pour chacune d’elles.
Caractéristiques obligatoire Valide si
Champs Types taille
Table
NCIN_Cli texte 8 Oui
Nom_Cli Texte 20 oui
CLIENT Prenom_Cli Texte 20 oui
Adresse_Cli Texte 50 non
Ville Texte 20 non
immat_Vehicule Texte 10 oui
VEHICULE Marque Texte 20 oui (1)
Model Texte 20 oui
Date_acq numérique 4 oui
immat_Vehicule Texte 10 oui (2)
NCIN_Cli texte 8 oui (3)
LOCATION Date_loc date <=
aujourd’hui()
Duree_loc numérique 3 >0
Cout_loc decimal 8.3 >0
(1) Les valeurs de la colonne marque sont inclues dans l’intervalle
["peogeot","renault","Fiat","Opel","volkswagen","citroen"]
(2) Les valeurs de immat_vehicule dans la table location doivent exister dans la table véhicule
(3) Les valeurs de NCIN_cli de la table location doivent exister dans la table client
4. Ajouter à la table Client une colonne Tel_cli de type texte et de taille 10 caractères
5. Modifier le type de la colonne Tel_cli de la table client en numérique de taille 8 chiffres
6. Supprimer la colonne adresse de la table Client
7. Ajouter une contrainte pour la colonne DATE_acq de la table véhicule pour qu’elle soit comprise entre
1990 et 2016
8. Ajouter la valeur par défaut « Tunis » à la colonne ville de la table Client
9. Supprimer la clé primaire de la table location puis définir les 3 colonnes NCIN_Cli, Immat_vehicule et
date_loc comme clé primaire
10. Désactiver la contrainte clé primaire de la table client
11. Réactiver cette contrainte
12. Créer une table loc puis la supprimer

- - 10 -
-
BD 3éme STI

Application : Création et modification de la structure d’un BD en mode SQL


1. Soit la base de données « match » présentée comme suit :

2. Ajouter à la table matches la colonne lieu de type numérique de 20 chiffres :


…………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………..
3. Modifier le type de la colonne lieu de la table matches par le type chaine de caractères taille 20
…………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………..
4. Supprimer la colonne lieu de la table match
…………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………..
5. Ajouter la contrainte suivante : rendre la colonne role-pt de la table participations une clé primaire
…………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………..
6. Désactiver la contrainte clé primaire de la table matches
…………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………..
7. Réactiver cette même contrainte
…………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………..

8. Supprimer la contrainte clé primaire de la table matches


…………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………..
9. Supprimer la table arbitres
…………………………………………………………………………………………………………………………………………………………..

- - 11 - -
BD 3éme STI
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 :
INSERT INTO Location (Immat_Vehicule, NCIN_Cli , Date_Loc , Duree_Loc, Cout_Loc )
VALUES ('118TN2064', '04215488','2006-06-12',6,100);

INSERT INTO Client VALUES ('O4215488','Aouadi','Anis','15 rue F Hached','Tunis');

INSERT INTO Client (NCIN_Cli, Nom_Cli , Prenom_Cli, Ville) VALUES ( 'O4215488' ,'Aouadi',
'Anis','Tunis');
2. Suppression de lignes :
a. Syntaxe :
DELETE FROM nom_table b. Exemple :
WHERE condition ; DELETE FROM Chauffeur
WHERE date_Naissance<’1/1/1960’ ;
3. Modification de lignes :
a. Syntaxe :
UPDATE nom_table b. Exemple :
SET Colonne1=valeur1 UPDATE Bus
Colonne2=valeur2 SET Classe=’B’
colonnex=valeurx WHERE Nb_Places>40;
WHERE condition;
4. Recherche de données : Requêtes :
La recherche en mode commande est effectuée grâce à la commande SELECT du langage SQL.
VII. 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;

SELECT Prenom_Cli 'Prénom de client', Nom_cli 'Nom de client'


- - 12 - -
BD 3éme STI
FROM client;

SELECT date_loc, Duree_Loc*Cout_Loc 'Frais'


FROM Location;
a. Sélection :
recherche de certaines lignes dans une tab
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%’
Exemple
SELECT *
FROM Location
WHERE Duree_Loc>= 3;

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;

- - 13 - -
BD 3 SI
TP n°3 :Manipulation d’une BD en mode commande
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 :
1. Lancer mysql et ouvrir votre base de données « location de voiture » créée précédemment
2. Remplir les tables de la base de données par les données suivantes :
Table client
NCIN_Cli Nom_Cli Prenom_Cli Ville Tel_cli
04215488 Aouadi Anis Tunis 71455698
05986732 Beji Mohamed Tunis 97888999
06697865 Krimi Ahlem Sousse 50777569

Table Location
Immat_Vehicule NCIN_Cli Date_Loc Duree_Loc Cout_Loc
118TN2064 05986732 20/01/2017 7 105
98TN5489 06697865 13/08/2016 15 200
98TN5489 06697865 01/01/2017 15 200
Table vehicule
Immat_vehicule Marque Model date_Acq
102TN3265 Renault Clio 2003
118TN2064 Fiat Panda 2005
118TN9865 Peugeot 406 2005
98TN5489 Opel Corsa 2000
99TN2154 Peugeot 206 2001
……………………………………………………………………………………………………….…………
………………………………………………….………………………………………………………………
……………………………………….…………………………………………………………………………
…………………………….……………………………………………………………………………………
………………….………………………………………………………………………………………………
……….……………………………………………………………………………………………………….…
…………………………………………………………………………………………………….……………
………………………………………………………………………………………….………………………
……………………………………………………………………………………………………………….
3. Supprimer la ligne suivante :
102TN3265 Renault Clio 2003
……………………………………………………………………………………………………….…………
…………………………………………………………………………………………….………………
4. Modifier le NCIN_Cli 04215488 en 04215487 dans la table client.
……………………………………………………………………………………………………….…………
…………………………………………………………………………………………….……………………
………………………………………………………………………………….………………………
5. Ajouter 5dt au coût de location de toutes les voitures et les clients.
……………………………………………………………………………………………………….…………
…………………………………………………………………………………………….………………
6. Mettre à jour le nom et le prénom de client dont le NCIN_Cli="05986732" à "Nefzi" "Aymen".
……………………………………………………………………………………………………….…………
…………………………………………………………………………………………….……………………
………………………………………………………………………………………………………….

- 4-
BD 3 SI
Application : Manipulation d’une BD
La base de données d’un hôpital contient entre autres les tables suivantes :
Patient (num_patient, nom_patient, prenom_patient, adr_patient,age)
Medecin (code_med, nom_med, prenom_med, tel_med, specialite)
Sejour (num_sej, num_chambre, date_deb, date_fin, num_patient#)
Traite (num_patient#, code_med#, date_deb_trait)
Donner les commandes SQL qui permettent de :
1) a- Créer la table patient sachant que :
Nom colonne Type et taille Contrainte
Num_patient Numérique de 4 chiffres Clé primaire
nom_patient , prenom_patient Chaine de 10 caractères Obligatoire
adr_patient Chaine de 20 caractères Par défaut ‘Tunis’
Age Numérique de 2 chiffres Positif
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
b-Créer la table traite
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
2) D’ insérer les données suivantes à notre base:
Table Patient
num_patient nom_patient prenom_patient adr_patient age
133 Tounsi Ahmed Béjà 47
6754 Souissi Asma Bizerte 50

Table Séjour
num_chambre date_deb date_fin num_patient Num_sej
13 12-12-2007 10-01-2007 133 1001
56 01-01-2007 23-01-2007 6754 1300
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
3) Ajouter 2 ans à l’âge de patient ayant le numéro "133".
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
4) Attribuer la nouvelle adresse "Nabeul" aux patients qui avaient comme adresse "Tunis"
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

- 5-
BD 3 SI
5) Supprimer tous les séjours ayant pour numéro de chambre "5" ou une date_deb entre " 01-01-2007"
et "18-02-2007".
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
6) Ajouter 20 jours à la date_fin de séjour du patient ayant le numéro "6754"
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
7) Supprimer tous les enregistrements de la table Sejour.
…………………………..………………………………………………………………………………………
8) Afficher tous les patients
…………………………………………………………………………………………………………………
9) Afficher les noms , les prénoms et le numéro de tel des médecins de spécialité « pédiatrie »
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

TP n°4: Les requêtes


1. Ecrire une requête SQL qui permet d’afficher la liste des clients
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
2. Modifier cette requête en affichant uniquement leur nom prénom et adresse
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
3. Ecrire une requête SQL qui permet d’afficher les clients habitant à tunis.
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
4. Créer une requête qui permet d’afficher les véhicules ayant la marque « Peugeot »
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
5. Modifier la dernière requête pour afficher les véhicules de marque « Peugeot » acquises en 2005
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
6. Ecrire une requête SQL qui permet d’afficher les locations ayant une durée supérieure à 10 jours.
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
7. Créer une requête qui permet d’afficher les locations ayant une durée de 6 ou 7 jours
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
………………………………………………………………………………………………………………

- 6-
BD 3 SI

C . Tri:
SELECT [DISTINCT] *|liste_champs
FROM table1
WHERE condition
ORDER BY colonne1[ASC|DESC] [, colonne2[ASC|DESC]..];
Exemple
SELECT noemp, nomemp, fonction, salaire
FROM employe
WHERE num_dep = 30
ORDER BY salaire asc ;

SELECT num_emp, nom_emp, fonction, salaire


FROM EMPLOYE
ORDER BY salaire desc, nom_emp asc ;
d. Utilisation des fonctions mathématiques et statistiques:
a. SUM ( ) : pour calculer le total des valeurs d’une colonne.
b. AVG ( ) : pour calculer la moyenne des valeurs d’une colonne.
c. MIN ( ) : pour chercher le minimum des valeurs d’une colonne.
d. MAX ( ) : pour chercher le maximum des valeurs d’une colonne.
e. COUNT ( ) : chercher le nombre de lignes vérifiant un critère.
Exemple
- Afficher le nombre de chauffeurs
SELECT COUNT(*)
FROM Chauffeur ;
- Afficher le prix maximal et minimal des voyages
SELECT MAX(prix), MIN(prix)
FROM voyage ;
- Afficher la Moyenne des couts de location
SELECT AVG(Cout_Loc)
FROMLocation;
- Afficher le nombre des locations
SELECT COUNT(*)
FROM Location;
- Afficher le nombre des clients
SELECT COUNT(Nom_Cli)
FROM Client;
- Afficher le nombre des clients qui ont loué une voiture
SELECT COUNT( DISTINCT NCIN_Cli)
FROM Location;
e- La requête "GROUP BY":
 On voudra avoir la moyenne de durée de location par véhicule
SELECT Immat_Vehicule , AVG(Duree_Loc)
FROM Location
GROUP BY Immat_Vehicule;
 On peut utiliser la commande Having qui est en gros l'équivalent du Where pour les groupes.
exemple : On veut la liste des numéros des clients avec leur moyenne de durée de location si il a fait 2 locations ou plus.
SELECT NCIN_Cli, COUNT(*), AVG (duree_Loc)
FROM Location
GROUP BY NCIN_Cli
- 7-
BD 3 SI
HAVING count(*) > =2;

Application : Les requêtes


Soit le schéma textuel de la base de données gestion_voyages
Voyageur (num_passp, nom, prenom, adr, date_nais)
Voyage (num_voy, ville_dest,date_dep, date_arr, tarif)
Réservation (num_voy#, num_passp#, confirmation)
Table Voyage
Table Voyageur Colonne Type Taille contraintes
Colonne Type Taille contraintes Num_voy entier 10 clé primaire
Num_pass entier 11 Clé primaire Ville_dest Texte 20 Non nulle
Nom Texte 20 Non nulle Date_dep date Non nulle
Prenom Texte 20 Non nulle Date_arr date Non nulle
Adr Texte 50 Tarif decimal 5,2 0 par défaut
Date_nais Date
Table réservation
Colonne Type Taille contraintes
Num_voy Entier 10 Clé primaire
Num_pass Entier 11 Clé primaire
confirmation Entier 1 Non nulle
Soient les enregistrements suivants : Table réservation
Table Voyageur Num_voy Num_pass confirmation
Num_pass Nom Prénom Adr Date_nais 1001 110045 1
110045 Tounsi Kamel Sfax 11/12/1995 1001 123457 1
123457 Ben Salah Sana Tunis 23/07/1987 1001 109876 0
109876 Omri Mohsen Sousse 1002 200087 1
213456 Younes Youssef Sfax 13/11/1978 1002 108987 1
100655 Benzarti Wafa Sfax 07/05/1980 1002 213456 0
108987 Sallemi Moussa Tunis 1002 110045 1
200087 Jilani Kaouther Sfax 17/01/1970 1003 100655 1
137689 Yahya Mouna Nabeul 1003 137689 0
111235 Blel Hosni Mahdia 21/11/1978 1003 111235 0

Table Voyage
Num_voy Ville_dest Date_dep Date_arr Tarif
1001 Tripoli 13/02/2009 13/02/2009 300
1002 Beyrout 25/03/2009 25/03/2009 600
1003 Caire 13/05/2009 16/05/2009 400
Questions :
1. Lancer mysql et créer la base gestion_voyages
2. Exprimer en SQL les requêtes suivantes :
☑ Projection :
🞖 R1 : lister la table voyageur
🞖 R2 : Afficher le prénom, nom et la date de naissance de tous les voyageurs
☑ Restriction :
🞖 R3 : Afficher la liste des voyageurs dont l’adresse est Sfax
🞖 R4 : Afficher la liste des voyageurs qui sont né en novembre1978
🞖 R5 : Afficher les noms, prénom et adresses des voyageurs qui sont originaires de (Tunis, Sfax,

- 8-
BD 3 SI
Sousse)

Suite application : requête


🞖 R6 : Afficher la liste des voyageurs dont la date de naissance est vide (est nulle)
………………………………………………………………..
…………………………………………………………………
🞖 R7 : Afficher la liste des voyageurs dont la date de naissance est non vide (n’est pas nulle)
………………………………………………………………..
…………………………………………………………………
🞖 R8 : Afficher la liste des voyageurs dont l’adresse commence par la lettre « s »
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
🞖 R9 : Afficher la liste des voyageurs dont le prénom contient « ou »
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
🞖 R10 : Afficher la liste des voyageurs dont le nom se termine par la lettre « i »
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
🞖 R11 : Afficher la liste des voyageurs dont la deuxième lettre du prénom est « a »
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
☑ Tri :
🞖 R12 : Afficher la liste des voyageurs triée selon les noms dans un ordre croissant
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
🞖 R13 : Afficher la liste des voyages triée selon les numéros dans un ordre décroissant
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
🞖 R14 : Afficher la liste des voyageurs triée selon les numéros dans un ordre croissant et les noms
dans un ordre décroissant
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
- 9-
BD 3 SI
☑ Utilisation des fonctions :
🞖 R15 : Afficher le nombre des voyages
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
🞖 R16 : Afficher le nombre des réservations non confirmées
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
🞖 R17 : Afficher le nombre des voyageurs qui ont réservé pour le voyage de numéro "1001"
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
🞖 R18 : Afficher le nombre des voyageurs qui ont réservé pour le voyage de numéro "1002" et
qui ont confirmé leur réservation
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
🞖 R19 : Afficher la date de naissance du plus vieux voyageur et celle du plus jeune.
………………………………………………………………..
…………………………………………………………………
🞖 R20 : Afficher la somme des tarifs.
………………………………………………………………..
…………………………………………………………………
🞖 R21 : Afficher la moyenne des tarifs.
………………………………………………………………..
…………………………………………………………………
🞖 R22 : Afficher le plus grand tarif.
………………………………………………………………..
…………………………………………………………………
🞖 R23 : Afficher le plus faible tarif.
………………………………………………………………..
…………………………………………………………………
🞖 R24 : Afficher le nombre des réservations confirmées par voyage
………………………………………………………………..
…………………………………………………………………
………………………………………………………………..

- 10 -
BD 3 SI

Correction série 1
Exercice 1 : structurée – redondance – données – programmes- informations - base

Exercice 2 :

Exercice 3 :

Exercice 4 : c- Que présente cette table ?


Soit la table suivante :
Des élèves
Id_Eleve Nom Prenom Date_n Classe
1510 Tounsi Mohamed 01/07/2006 3SI1 d- De quoi se compose-t-elle?
1080 Sallami Habib 16/05/2005 4EG2 Des lignes et des colonnes
1203 Saidi Hayfa 03/07/2007 3SI1
1222 Zyoudi Imed 03/04/2006 3Math
Exercice 5 :
Que présente chaque colonne de la table élève ? des propiétés
En se basant sur le tableau suivant, par quoi est décrit chaque champs ? type taille contraintes...
Nom: Elève
Description: Liste des élèves de lycée zouiet elmagaiz
Nom colonne Description Type de Taille Obligatoire Valeur par Valeurs
données défaut autorisées

- 11 -
BD 3 SI
ID_ELEVE Identifiant Numérique Entier oui
de l’élève
Nom chaîne 15 non
Prenom chaîne 15 non
Date_n Date de Date Entier non <Aujourd’hui( )
naissance
Classe chaîne 15 non
Exercice 6 :
Dans les tables suivantes, identifier les attributs permettant d’identifier l’entité d’une manière unique.
Table : OUVRIER
NOM PRENOM CIN DATE_NAISSANCE PROFESSION
x
Table : FILM
TITRE REFERENCE ANNE_SORTIE
X
Table : LIVRE
TITRE ISBN N_COPIES EDITION
x
Table : VOITURE
MODELE CATEGORIE IMMATRICULATION COULEUR PUYISSANCE
x
Exercice 7 : (contrainte d’intégrité)
Ci-dessous, on présente le contenu des trois tables Client, Article et Facture d’une base de données. Avec :
Table Facture
Table Client Table Article
CodeArt LibArt PrixArt N°Fact DateFact CodCl CodArt
NB : On suppose qu’une 003445 PC HP 1380 125 25/01/2023 123 012365
facture ne concerne qu’un 004516 PC IBM -1490 126 26/01/2023 426 045696
seul article. Questions : En 012365 PC SIEM. 1320 127 18/02/2023 456 004516
se basant sur les contenus de 023146 PC DELL 1200 128 22/02/2023 456 023146
ces tables, il apparaît que 045696 PC SIEM. 1300
129 03/03/2023 789 111111
trois contraintes d’intégrité 045696 IMP. HP 420
130 03/03/2023 123 003445
n’ont pas été respectées. Préciser l’anomalie et le nom de
Codecl Nomcl Prencl contrainte non respectée.
123 Mrad Amine
426 Abbes Amine
456 Abbes Eya
789 Nouri Ayoub
789 Sallami Ahlem
Anomalierencontrée Contrainted’intégriténonrespectée
Clé primaire qui se répéte (789 dans clients, 045696 dans
Contrainte d’intégrité de table
articles)
Code article dans facture 111111 n’existe pas dans la table
Contrainte d’intégrité référentielle
Article
Prix négatif Contrainte d’intégrité de domaine

Correction TP n°2
3. CREATE TABLE Client(
NCIN_Cli VARCHAR(8) PRIMARY KEY,
Nom_Cli VARCHAR(20) NOT NULL,
- 12 -
BD 3 SI
Prenom_Cli VARCHAR(20) NOT NULL,
Adresse_Cli VARCHAR(50),
Ville VARCHAR(20)
);
CREATE TABLE Vehicule(
immat_Vehicule VARCHAR(10) primary key,
marque VARCHAR(20) NOT NULL CHECK( marque in ('Peugeot','Renault','Fiat','Opel', 'Volkswagen',
'Citroën')),
model VARCHAR(20) NOT NULL,
date_acq INT(4) NOT NULL
);
CREATE TABLE Location(
immat_Vehicule VARCHAR(10) REFERENCES vehicule(immat_Vehicule)ON DELETE CASCADE,
NCIN_Cli VARCHAR(8) REFERENCES Client(NCIN_Cli)ON DELETE CASCADE,
date_loc DATE CHECK(date_loc<=curdate()),
duree_loc INT(3) CHECK(duree_loc>0),
cout_loc DECIMAL(8,3) CHECK(cout_loc>0),
CONSTRAINT PK_Location PRIMARY KEY(immat_Vehicule,NCIN_Cli)
);
4. ALTER TABLE Client ADD COLUMN (Tel_Cli VARCHAR(10) );

5. ALTER TABLE Client MODIFY COLUMN Tel_Cli INT(8);

6. ALTER TABLE Client DROP COLUMN Adresse_Cli ;

7. ALTER TABLE Vehicule ADD CONSTRAINT Vc CHECK (Annee_Acq BETWEEN 1990 AND 2016);

8. ALTER TABLE Client MODIFY COLUMN Ville VARCHAR(20) DEFAULT 'tunis';

9. ALTER TABLE Location DROP PRIMARY KEY;

ALTER TABLE Location ADD PRIMARY KEY (immat_Vehicule,NCIN_Cli,date_loc);

10. ALTER TABLE Client DISABLE PRIMARY KEY;

11. ALTER TABLE Client ENABLE PRIMARY KEY;

12. DROP TABLE Client;

CORRECTION DE L’APPLICATION
2-Alter table matches ADD COLUMN ( lieu int(20))
3-Alter table matches MODIFY lieu varchar

- 13 -
BD 3 SI

8
9- drop table arbitres
Correc tp3
1. INSERT INTO Client VALUES ('O4215488','Aouadi','Anis','15 rue F Hached','Tunis');

2. DELETE FROM vehicule


WHERE Immat_vehicule='102TN3265' ;
3. UPDATE Client
SET NCIN_Cli= 04215487
Where NCIN_Cli= 04215488;

4. UPDATE Location
SET Cout_Loc= Cout_Loc+5 ;
5. UPDATE Client
SET Nom_Cli='Nefzi', Prenom_Cli='Aymen'
WHERE NCIN_Cli='05986732' ;

Correction Application
La base de données d’un hôpital contient entre autres les tables suivantes :
Patient (num_patient, nom_patient, prenom_patient, adr_patient,age)
Medecin (code_med, nom_med, prenom_med, tel_med, specialite)
Sejour (num_sej, num_chambre, date_deb, date_fin, num_patient#)
Traite (num_patient#, code_med#, date_deb_trait)

Donner les commandes SQL qui permettent de :


10) a- Créer la table patient sachant que :
Nom colonne Type et taille contrainte
Num_patient Numérique de 4 Clé primaire
chiffres
nom_patient , Chaine de 10 caractères obligatoire
prenom_patient
adr_patient Chaine de 20 caractères Par défaut ‘Tunis’
age Numérique de 2 positif
chiffres

CREATE TABLE patient(


Num_patient int(4) PRIMARY KEY,

- 14 -
BD 3 SI
nom_patient varchar(10) NOT NULL,
prenom_patient varchar(10) NOT NULL,
adr_patient varchar(20) DEFAULT ‘TUNIS’,
age int(2) check (age >0)
); Clé
b- Créer la table traite étrangère
CREATE TABLE Traite (
Num_patient int(4) References patient (num_patient ) ON DELETE CASCADE,
code_med varchar(6) References Medecin (code_med) ON DELETE CASCADE ,
date_deb_trait Date,
PRIMARY KEY (Num_patient, code_med , date_deb_trait )) ; Clé primaire composée par 3
colonnes

2- D insérer les données suivantes à notre base:


Table Patient
num_patient nom_patient prenom_patient adr_patient age
133 Tounsi Ahmed Béjà 47
6754 Souissi Asma Bizerte 50

Table Séjour
num_chambre date_deb date_fin num_patient Num_sej
13 12-12-2007 10-01-2007 133 1001
56 01-01-2007 23-01-2007 6754 1300
INSERT INTO Patient values ( 133 , ‘Tounsi’ , ‘ Ahmed’ , ‘Béjà’ , 47) ;
INSERT INTO Patient values ( 6754 , ‘Souissi’ , ‘ Asma’ , ‘Bizerte’ , 50) ;
INSERT INTO Séjour values ( 1001, 13, ‘2007-12-12’ , ‘2007-01-10’ , 133) ;
INSERT INTO Séjour values ( 1300, 56, ‘2007-01-01’ , ‘2007-01-23’ , 6754) ;

3- Ajouter 2 ans à l’âge de patient ayant le numéro "133".

UPDATE Patient
SET age = age+2
Where num_patient = 133;

4- Attribuer la nouvelle adresse "Nabeul" aux patients qui avaient comme adresse "Tunis"
UPDATE Patient
SET adr_patient = "Nabeul"
Where adr_patient = "Tunis";

5- Supprimer tous les séjours ayant pour numéro de chambre "5" ou une date_deb entre " 01-01-2007"
et "18-02-2007".
DELETE FROM séjour
WHERE num_chambre =5 OR date_deb Between " 2007-01-01" and "2007-02-18" ;

6- Ajouter 20 jours à la date_fin de séjour du patient ayant le numéro "6754"


UPDATE séjour
SET date_fin = date_fin+20
Where num_patient = 6754;
7- Supprimer tous les enregistrements de la table Sejour.
- 15 -
BD 3 SI
DELETE FROM séjour ;

(remarque : dans cette question on a supprimé juste les lignes de la table séjour, la table existe
encore , mais pour supprimer toute la table on utilise la commande drop table séjour)

8- Afficher tous les patients


Select * from patient
9- Afficher les noms , les prénoms et le numéro de tel des médecins de spécialité « pédiatrie »
Select nom_med, prenom_med, tel_med
From Medecin
Where specialite=« pédiatrie »

CORRECTION DU TP N°4: Les requêtes


1. Ecrire une requête SQL qui permet d’afficher la liste des clients
Select * from clients
2. Modifier cette requête en affichant uniquement leur nom prénom et adresse
Select nom_cli,prenom_cli,ville
from clients
3. Ecrire une requête SQL qui permet d’afficher les clients habitant à tunis.
Select * from clients
Where ville= « tunis »
4. Créer une requête qui permet d’afficher les véhicules ayant une marque « Peugeot »
Select * from véhicules
Where marque = « Peugeot »
5. Modifier la dernière requête pour afficher les véhicules de marque « Peugeot » acquises en 2005
Select * from véhicules
Where marque = « Peugeot »
AND date_acq=2005
6. Ecrire une requête SQL qui permet d’afficher les locations ayant une durée supérieure à 10 jours.
Select * from locations
Where duree_loc >10
7. Créer une requête qui permet d’afficher les locations ayant une durée de 6 ou 7 jours
Select * from locations
Where duree_loc =6
Or duree_loc =7

CORRECTION DU application requêtes

R1 : SELECT* FROM voyageur;


R2: SELECT prenom,nom,date_nais FROM voyageur;
R3: SELECT * FROM voyageur
WHERE adr='sfax'
R4: SELECT * FROM voyageur
WHERE date_nais between '1978-11-01' and '1978-11-30'
R5: SELECT nom,prenom,adr FROM voyageur
WHERE adr in ('tunis','sfax','sousse');
- 16 -
BD 3 SI

Correction tp1

- 17 -
BD 3 SI

- 18 -
BD 3 SI

- 19 -
BD 3 SI

- 20 -
BD 3 SI

- 21 -
BD 3 SI

- 22 -
BD 3 SI

- 23 -
BD 3 SI

- 24 -
BD 3 SI

- 25 -
BD 3 SI

- 26 -
BD 3 SI

- 27 -
BD 3 SI

5)

6)

- 28 -
BD 3 SI

- 29 -
BD 3 SI

7)

- 30 -
BD 3 SI

8)

- 31 -
BD 3 SI

- 32 -
BD 3 SI

- 33 -
BD 3 SI

- 34 -
BD 3 SI

Correction TP2

3) création de la table client :

création de la table vehicule :

création de la table location :

- 35 -
BD 3 SI

4- ajouter colonne

5- modifier type colonne

6- supprimer colonne

7- ajouter contrainte

8- ajouter valeur par défaut

9- suppression puis ajout de clé primaire

10- désactivation clé primaire

11- réactivation clé primaire

12- suppression table

- 36 -
BD 3 SI

Correction tp3
2-

- 37 -
BD 3 SI

3-

4-

- 38 -
BD 3 SI

5-

- 39 -
BD 3 SI
6

Correction tp 4

- 40 -
BD 3 SI

- 41 -
BD 3 SI

- 42 -
BD 3 SI

- 43 -
BD 3 SI

6-

- 44 -
BD 3 SI

7-

- 45 -
BD 3 SI

Correction applicationrequête

- 46 -
BD 3 SI

- 47 -
BD 3 SI

- 48 -
BD 3 SI

- 49 -
BD 3 SI

- 50 -
BD 3 SI

- 51 -
BD 3 SI

- 52 -
BD 3 SI

- 53 -
BD 3 SI

- 54 -
BD 3 SI

- 55 -
BD 3 SI

- 56 -
BD 3 SI

R1

R2

- 57 -
BD 3 SI

R3

R4

- 58 -
BD 3 SI

R6 :

- 59 -

Vous aimerez peut-être aussi