Vous êtes sur la page 1sur 80

Base de données : Présentation

Base de données – Présentation


Base de données (BD)
C’est un ensemble structuré de données relatives à un ou plusieurs domaines.
Elle est exhaustive, non redondante , structurée et persistante .

Architecture client/serveur
Dans une architecture client/serveur, une base de données est considérée comme une
ressource partagée par un ensemble d'applications situées sur les postes clients.
La machine qui gère cette base de données est appelée «Serveur »

Les intérêts d’une base de données


intérêts Description
Centralisation Les données sont regroupées dans une structure centrale permettant d'éviter la
redondance. En effet, les données sont saisies une seule fois et peuvent être
utilisées par plusieurs programmes et plusieurs utilisateurs.
Indépendance entre données et Les données sont décrites indépendamment des programmes
programmes
Intégrité de données L’intégrité est l’ensemble de règles permettant d'assurer la cohérence des
données. On distingue 3 types de règles : unicité, référence et valeur.
Intégration des liaisons entre Les relations entre les données font partie de la base de données et non pas des
les données programmes comme dans le cas où les données sont organisées en fichiers.
Partage des données

Les modèles des bases de données


1. Hiérarchique : Un objet peut avoir plusieurs fils, mais un fils ne peut avoir qu'un seul père (1 :n)
2. Réseau : Tous les types de liens sont possibles, notamment les liens (n:m)
3. relationnel
4. orienté objet

1
Base de données : Présentation

Système de Gestion des Bases de Données (SGBD)


C’est un logiciel qui permet de décrire, modifier, interroger et administrer les données d'une base de données.

Français Anglais Arabe

Système de Gestion de Bases de Data bases ‫نظام الّتصّر ف في قواعــد‬


Données (SGBD) Management System ‫الــبـيـانات‬

Un SGBD permet la définition, la manipulation, l'intégrité, la confidentialité et la sécurité des données.


Les fonctions d'un système de gestion de bases de données
1. La définition des données 4. La gestion des accès concurrents
2. La manipulation des données 5. La confidentialité
3. L'intégrité des données 6. La sécurité du fonctionnement

Les tables (table, entité, sujet, table relationnelle)


Une table est un ensemble de données relatives à un seul sujet. Elle est organisée sous forme d’un tableau en lignes
et en colonnes.

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


Dans une table, une colonne correspond à une propriété élémentaire de l'objet décrit par cette table

Les lignes (ligne, enregistrement, occurrence, Uplet) :


Une ligne correspond à une occurrence (un élément parmi les entités qui se répètent) du sujet représenté par la
table.
On dit aussi qu'elle correspond à un objet du monde réel

La clé primaire (primary key , identifiant)


Formée par un ou plusieurs champs, identifie de façon unique chaque enregistrement de la table.

La clé étrangère (clé secondaire, Foreign Key, référence)

2
Base de données : Présentation

Formée par un ou plusieurs champs, qui existe aussi dans une autre table comme clé primaire. Il assure la liaison
(association) entre les deux tables.

Les contraintes
1. Une contrainte est une règle appliquée à une colonne ou à une table et qui doit être toujours vérifiée à fin
d’assurer l’intégrité des données.
1. On distingue trois types de contraintes :
1. Contrainte d’intégrité de tables : Permet d’assurer l’unicité des lignes des tables. Chaque table
doit avoir une la clé primaire.
2. Contrainte d’intégrité référentielle : Permet d’assurer qu’une clé secondaire d’une table est
reliée à une clé primaire d’une autre table. Elle est représentée sous forme de lien entre tables.
3. Contrainte de domaine : s’assurer de la validité des valeurs des colonnes (obligatoire ou pas,
supérieur à zéro , ….)

Représentation de la structure de la base de données :


Après la présentation des différents objets qui décrivent une bd, on peut la représenter de façon homogène. Cette
représentation est 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 associations en utilisant du texte.
Soit une table A composée des attributs a1, a2, a3 et
a4 où a1 est une clé primaire et une table B
composée des attributs b1, b2 et b3 avec b1 une clé
primaire. On suppose que B réfère à A.
La représentation textuelle est :
A (a1, a2, a3, a4) Les clés primaires sont représentées en gras
et les clés étrangères à l’aide d’un lien entre les deux
B (b1, b2, b3, a1#)
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.

Série n°1
Exercice 1 :

3
Base de données : Présentation

Exercice 2 :

Exercice 3 :

Exercice 4 : 1. Que présente cette


table ?
Soit la table suivante : ……………………………..
2. De quoi se compose-
4
t-elle?
……………………………..
……………………………..
Base de données : Présentation
Id_Eleve Nom Prenom Date_n Classe

1510 Tounsi Mohamed 01/07/2006 3SI1

1080 Sallami Habib 16/05/2005 4EG2

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 ? …………………………..
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é)


5
Base de données : Présentation

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
N°Fact DateFact CodCl CodArt
CodeArt LibArt PrixArt
125 25/01/2023 123 012365
Codecl Nomcl Prencl 003445 PC HP 1380
126 26/01/2023 426 045696
123 Mrad Amine 004516 PC IBM -1490
127 18/02/2023 456 004516
426 Abbes Amine 012365 PC SIEM. 1320
128 22/02/2023 456 023146
456 Abbes Eya NB : 023146 PC DELL 1200 On
129 03/03/2023 789 111111
789 Nouri Ayoub 045696 PC SIEM. 1300
130 03/03/2023 123 003445
789 Sallami Ahlem 045696 IMP. HP 420
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.

Anomalie rencontrée Contrainte d’intégrité non respectée

………………………………………………………………………………
……………………………………………………………………………….. ……………………………………………………………………………..

………………………………………………………………………………..
……………………………………………………………………………..
………………………………………………………………………………..
………………………………………………………………………………..
……………………………………………………………………………..
………………………………………………………………………………..

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 de cette 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 "BD num de groupe".

3. Créer les différentes tables en précisant la clé primaire pour chacune d’elles et en se référant à la définition des
champs présentée dans le tableau suivant :

6
Base de données : Présentation

Champ Type Description

numPermis Chaîne de 8 caractè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 adresse de la table testeur
8. Supprimer la clé primaire de la table evaluation puis définir les 2 colonnes numPermis et idModele comme clé
primaire
9. Insérer les lignes ci-dessous dans les tables modeleVoiture et testeur.

7
Base de données : Présentation

Création Et manipulation D’Une Base De Données en mode commande SQL


1. 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 :
1. 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.
2. 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.
3. 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).
1. 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) ;

8
Base de données : Présentation

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, …) [ON
DELETE CASCADE]
CHECK (Condition de valeurs)
CHECK (Condition )

4. 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

5. 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.

6. 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,
9
Base de données : Présentation

Age int(2) check (age < 100),


Email varchar(50) NOT NULL check (Email LIKE "%@%"),
Adr int(3) UNIQUE REFERENCES Adresse(code_adr) ) ;
7. 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.
8. 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


[ADD COLUMN (Nom_colonne Type_donnee)]
• Suppression de colonnes,
[MODIFY Nom_colonne Type_donnee]
• Ajout de contraintes d'intégrité,
[DROP COLUMN Nom_colonne]
• Suppression de contraintes d'intégrité,
[ADD CONSTRAINT Nom_contrainte]
• Activation ou désactivation de contraintes
[DROP CONSTRAINT Nom_contrainte]
d'intégrité.
[ENABLE|DISABLE nom_contrainte]

Exemples:
1. Pour ajouter une colonne Tel à la table clients :
ALTER TABLE clients ADD COLUMN (tel int(8) ) ;
2. Pour modifier le type de la colonne age en type date :
ALTER TABLE clients MODIFY Age DATE;
3. Pour supprimer la colonne email de la table clients
ALTER TABLE clients DROP COLUMN email ;
4. 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) ;
5. Pour supprimer la clé primaire de la table detail_commande :
ALTER TABLE detail_commande DROP PRIMARY KEY ;

10
Base de données : Présentation

6. 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 ;
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.
7. 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; 8. Pour supprimer la table clients :
DROP TABLE clients ;

11
Base de données : Présentation

12
Base de données : Présentation

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
13
Base de données : Présentation

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

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
…………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………..

14
Base de données : Présentation

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
…………………………………………………………………………………………………………………………………………………………..

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 :

1. Syntaxe :
INSERT INTO nom_table [(liste des colonnes)] VALUES (valeurs) ;
2. Remarques :
1. Les valeurs saisies doivent respecter l’ordre, le type et les contraintes d’intégrité.
2. 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 .
3. 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');
1. Suppression de lignes :

1. Syntaxe :

DELETE FROM nom_table 2. Exemple :


WHERE condition ; DELETE FROM Chauffeur
WHERE date_Naissance<’1/1/1960’ ;
1. Modification de lignes :
1. Syntaxe :

15
Base de données : Présentation

UPDATE nom_table 2. Exemple :


SET Colonne1=valeur1 UPDATE Bus
Colonne2=valeur2 SET Classe=’B’
colonnex=valeurx WHERE Nb_Places>40;
WHERE condition;
1. Recherche de données : Requêtes :
La recherche en mode commande est effectuée grâce à la commande SELECT du langage SQL.

3. Projection : recherche de certaines colonnes dans une table ;

Syntaxe
SELECT [DISTINCT] *|liste_champs
FROM table;
1. Distinct : permet d’afficher un seul exemplaire des lignes identiques du résultat trouvé.
2. *: désigne tous les champs de la table
3. La liste des champs sert comme entête de colonnes (alias)
4. 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'


FROM client;

SELECT date_loc, Duree_Loc*Cout_Loc 'Frais'


FROM Location;
1. Sélection :
recherche de certaines lignes dans une tab
SELECT [DISTINCT] *|liste_champs

16
Base de données : Présentation

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 :
2. BETWEEN : pour encadrer une valeur. Exemple: BETWEEN 100 AND 200
3. IN : pour créer une liste. Exemple: IN (‘Paris’, ‘Montréal’, ‘London’)
4. IS NULL : la valeur est nulle
5. IS NOT NULL : la valeur n’est pas nulle
6. 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';
1. 'Menzel%' commence par Menzel
2. '%Men%' contient le mot Men
3. '_M%' dont le 2ème caractère est M
4. 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;

17
Base de données : Présentation

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_Cl Prenom_Cl Ville Tel_cli


i i

04215488Aouadi Anis Tunis 71455698

05986732Beji Mohamed Tunis 97888999

06697865Krimi Ahlem Sousse50777569

Table vehicule

Immat_vehicul Marqu Mode date_Ac


e e l q

102TN3265 Renault Clio 2003

118TN2064 Fiat Panda 2005

118TN9865 Peugeo 406 2005


18
Base de données : Présentation
Table Location
t
Immat_Vehicul NCIN_Cli Date_Loc Duree_Lo Cout_Lo
98TN5489 Opel Corsa 2000
e c c
99TN2154 Peugeo 206 2001
118TN2064 05986732 20/01/201 7 105
t
7

98TN5489 06697865 13/08/201 15 200


6

98TN5489 06697865 01/01/201 15 200


7

……………………………………………………………………………………………………….
…………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………
……….
3. Supprimer la ligne suivante :

102TN3265 Renault Clio 1.

……………………………………………………………………………………………………….
……………………………………………………………………………………………………….………………
2. Modifier le NCIN_Cli 04215488 en 04215487 dans la table client.
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….………………………
3. Ajouter 5dt au coût de location de toutes les voitures et les clients.
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….………………
4. Mettre à jour le nom et le prénom de client dont le NCIN_Cli="05986732" à "Nefzi" "Aymen".
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………….

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#)

19
Base de données : Présentation

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".

20
Base de données : Présentation

………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………
4. Attribuer la nouvelle adresse "Nabeul" aux patients qui avaient comme adresse "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".
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………
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

21
Base de données : Présentation

………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………
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

………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
……………………………………………………………………………………

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 :


1. SUM ( ) : pour calculer le total des valeurs d’une colonne.
2. AVG ( ) : pour calculer la moyenne des valeurs d’une colonne.
3. MIN ( ) : pour chercher le minimum des valeurs d’une colonne.
4. MAX ( ) : pour chercher le maximum des valeurs d’une colonne.
5. COUNT ( ) : chercher le nombre de lignes vérifiant un critère.
22
Base de données : Présentation

Exemple
1. Afficher le nombre de chauffeurs
SELECT COUNT(*)
FROM Chauffeur ;
2. Afficher le prix maximal et minimal des voyages
SELECT MAX(prix), MIN(prix)
FROM voyage ;
3. Afficher la Moyenne des couts de location
SELECT AVG(Cout_Loc)
FROM Location;
4. Afficher le nombre des locations
SELECT COUNT(*)
FROM Location;
5. Afficher le nombre des clients
SELECT COUNT(Nom_Cli)
FROM Client;
6. Afficher le nombre des clients qui ont loué une voiture
SELECT COUNT( DISTINCT NCIN_Cli)
FROM Location;

e- La requête "GROUP BY" :


1. 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;
2. 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
HAVING count(*) > =2;

23
Base de données : Présentation

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 Taill contraintes
Colonne Type Taille contraintes e

Num_passentier 11 Clé primaire Num_voy entier 10 clé primaire

Nom Texte 20 Non nulle Ville_dest Texte 20 Non nulle

Prenom Texte 20 Non nulle Date_dep date Non nulle

Adr Texte 50 Date_arr date Non nulle

Date_nais Date Tarif decimal 5,2 0 par défaut

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
24
Base de données : Présentation

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 :
1. Projection :
1. R1 : lister la table voyageur
2. R2 : Afficher le prénom, nom et la date de naissance de tous les voyageurs

3. Restriction :
1. R3 : Afficher la liste des voyageurs dont l’adresse est Sfax
2. R4 : Afficher la liste des voyageurs qui sont né en novembre1978
3. R5 : Afficher les noms, prénom et adresses des voyageurs qui sont originaires de (Tunis, Sfax,

Sousse)

Suite application : requête


4. R6 : Afficher la liste des voyageurs dont la date de naissance est vide (est nulle)
………………………………………………………………..
…………………………………………………………………
5. R7 : Afficher la liste des voyageurs dont la date de naissance est non vide (n’est pas nulle)
………………………………………………………………..
…………………………………………………………………
6. R8 : Afficher la liste des voyageurs dont l’adresse commence par la lettre « s »
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
7. R9 : Afficher la liste des voyageurs dont le prénom contient « ou »
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
8. R10 : Afficher la liste des voyageurs dont le nom se termine par la lettre « i »
………………………………………………………………..
…………………………………………………………………
25
Base de données : Présentation

………………………………………………………………....
9. R11 : Afficher la liste des voyageurs dont la deuxième lettre du prénom est « a »
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
10. Tri :
11.R12 : Afficher la liste des voyageurs triée selon les noms dans un ordre croissant
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
12.R13 : Afficher la liste des voyages triée selon les numéros dans un ordre décroissant
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
13.R14 : Afficher la liste des voyageurs triée selon les numéros dans un ordre croissant et les noms
dans un ordre décroissant
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
14. Utilisation des fonctions :

15.R15 : Afficher le nombre des voyages


………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
16.R16 : Afficher le nombre des réservations non confirmées
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
1. R17 : Afficher le nombre des voyageurs qui ont réservé pour le voyage de numéro "1001"
………………………………………………………………..
…………………………………………………………………
………………………………………………………………....
2. R18 : Afficher le nombre des voyageurs qui ont réservé pour le voyage de numéro "1002" et
qui ont confirmé leur réservation
………………………………………………………………..

26
Base de données : Présentation

…………………………………………………………………
………………………………………………………………....
3. R19 : Afficher la date de naissance du plus vieux voyageur et celle du plus jeune.
………………………………………………………………..
…………………………………………………………………
4. R20 : Afficher la somme des tarifs.
………………………………………………………………..
…………………………………………………………………
5. R21 : Afficher la moyenne des tarifs.
………………………………………………………………..
…………………………………………………………………
6. R22 : Afficher le plus grand tarif.
………………………………………………………………..
…………………………………………………………………
7. R23 : Afficher le plus faible tarif.
………………………………………………………………..
…………………………………………………………………
8. R24 : Afficher le nombre des réservations confirmées par voyage
………………………………………………………………..
…………………………………………………………………
………………………………………………………………..

Correction série 1

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

Exercice 2 :

27
Base de données : Présentation

Exercice 3 :

Exercice 4 : 2. Que présente cette


table ?
Soit la table suivante : Des élèves
Id_Eleve Nom Prenom Date_n Classe 3. De quoi se compose-
t-elle?
1510 Tounsi Mohamed 01/07/2006 3SI1 Des lignes et des colonnes
1080 Sallami Habib 16/05/2005 4EG2

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

28
Base de données : Présentation

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 :

29
Base de données : Présentation

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

Anomalie rencontrée Contrainte d’intégrité non respectée

Clé primaire qui se répéte (789 dans


clients, 045696 dans articles) Contrainte d’intégrité de table

Code article dans facture 111111


Contrainte d’intégrité référentielle
n’existe pas dans la table article
Prix négatif Contrainte d’intégrité de domaine

Correction TP n°2
1. CREATE TABLE Client(
NCIN_Cli VARCHAR(8) PRIMARY KEY,
Nom_Cli VARCHAR(20) NOT NULL,

Codecl Nomcl Prencl Prenom_Cli VARCHAR(20) NOT NULL,

123 Mrad Amine Adresse_Cli VARCHAR(50),

426 Abbes Amine Ville VARCHAR(20)


NCIN_Cli VARCHAR(8) REFERENCES Client(NCIN_Cli)ON DELETE
CASCADE, );
456 Abbes Eya
date_loc
CREATE DATEVehicule(
TABLE CHECK(date_loc<=curdate()),
789 Nouri Ayoub
duree_loc INT(3) VARCHAR(10)
immat_Vehicule CHECK(duree_loc>0),
primary key,
789 Sallami Ahlem
cout_loc DECIMAL(8,3) NOT
marque VARCHAR(20) CHECK(cout_loc>0),
NULL CHECK( marque in
('Peugeot','Renault','Fiat','Opel', 'Volkswagen', 'Citroën')),
CONSTRAINT PK_Location PRIMARY KEY(immat_Vehicule,NCIN_Cli)
model VARCHAR(20) NOT NULL,
);
date_acq INT(4) NOT NULL
2. ALTER TABLE Client ADD COLUMN (Tel_Cli VARCHAR(10) );
);
3.CREATE
ALTERTABLE
TABLELocation(
Client MODIFY COLUMN Tel_Cli INT(8);

immat_Vehicule VARCHAR(10) REFERENCES vehicule(immat_Vehicule)ON DELETE CASCADE,


30
Base de données : Présentation

4. ALTER TABLE Client DROP COLUMN Adresse_Cli ;

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

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

7. ALTER TABLE Location DROP PRIMARY KEY;

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

8. ALTER TABLE Client DISABLE PRIMARY KEY;

9. ALTER TABLE Client ENABLE PRIMARY KEY;

10. DROP TABLE Client;

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

8
9-drop table arbitres

Correc tp3

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


31
Base de données : Présentation

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 :


6. 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 , Chaine de 10 caractères obligatoire


prenom_patient

adr_patient Chaine de 20 caractères Par défaut ‘Tunis’

age Numérique de 2 chiffres positif

32
Base de données : Présentation

CREATE TABLE patient(


Num_patient int(4) PRIMARY KEY,
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é
);
étrangère
1. Créer la table traite
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,
Clé primaire composée par 3
PRIMARY KEY (Num_patient, code_med , date_deb_trait )) ; colonnes

1. 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) ;

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

UPDATE Patient

33
Base de données : Présentation

SET age = age+2


Where num_patient = 133;

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

4. 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" ;

5. 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;
6. Supprimer tous les enregistrements de la table Sejour.

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)

7. Afficher tous les patients

Select * from patient


8. 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
34
Base de données : Présentation

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');

35
Base de données : Présentation

36
Base de données : Présentation

Correction tp1

37
Base de données : Présentation

38
Base de données : Présentation

39
Base de données : Présentation

40
Base de données : Présentation

41
Base de données : Présentation

42
Base de données : Présentation

43
Base de données : Présentation

44
Base de données : Présentation

45
Base de données : Présentation

46
Base de données : Présentation

47
Base de données : Présentation

5)

6)

48
Base de données : Présentation

49
Base de données : Présentation

7)
50
Base de données : Présentation

8)

51
Base de données : Présentation

52
Base de données : Présentation

53
Base de données : Présentation

54
Base de données : Présentation

Correction TP2
55
Base de données : Présentation

3) création de la table client :

création de la table vehicule :

création de la table location :

4- ajouter colonne

5- modifier type colonne

6- supprimer colonne

7- ajouter contrainte

56
Base de données : Présentation

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

Correction tp3

2-

57
Base de données : Présentation

58
Base de données : Présentation

3-

4-

59
Base de données : Présentation

5-

60
Base de données : Présentation

Correction tp 4

61
Base de données : Présentation

62
Base de données : Présentation

63
Base de données : Présentation

64
Base de données : Présentation

6-

65
Base de données : Présentation

7-

66
Base de données : Présentation

Correction application requête

67
Base de données : Présentation

68
Base de données : Présentation

69
Base de données : Présentation

70
Base de données : Présentation

71
Base de données : Présentation

72
Base de données : Présentation

73
Base de données : Présentation

74
Base de données : Présentation

75
Base de données : Présentation

76
Base de données : Présentation

77
Base de données : Présentation

R1

R2

78
Base de données : Présentation

R3

R4

79
Base de données : Présentation

R6 :

80

Vous aimerez peut-être aussi