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

Tp2 BD

Le document traite de la manipulation d'une base de données en mode commande SQL, en se concentrant sur la modification de la structure des tables à l'aide de la commande ALTER TABLE. Il fournit des exemples pratiques pour ajouter, modifier et supprimer des colonnes et des contraintes d'intégrité, ainsi que pour supprimer des tables. Deux exercices sont présentés, illustrant des manipulations spécifiques sur des tables d'une base de données de gestion d'élèves et de location de voitures.

Transféré par

hamzaiuechtati32
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
37 vues6 pages

Tp2 BD

Le document traite de la manipulation d'une base de données en mode commande SQL, en se concentrant sur la modification de la structure des tables à l'aide de la commande ALTER TABLE. Il fournit des exemples pratiques pour ajouter, modifier et supprimer des colonnes et des contraintes d'intégrité, ainsi que pour supprimer des tables. Deux exercices sont présentés, illustrant des manipulations spécifiques sur des tables d'une base de données de gestion d'élèves et de location de voitures.

Transféré par

hamzaiuechtati32
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 PDF, TXT ou lisez en ligne sur Scribd

Tp2 BD (LDD)

(Manipulation d’une BD en mode commande (SQL))


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 :

Syntaxe :

ALTER TABLE Nom_table

• Ajout de nouvelles colonnes, [ADD COLUMN (Nom_colonne Type_donnee)]

• Modification de colonnes, [MODIFY Nom_colonne Type_donnee]

• Suppression de colonnes, [DROP COLUMN Nom_colonne]

• Ajout de contraintes d'intégrité, [ADD CONSTRAINT Nom_contrainte]

• Suppression de contraintes d'intégrité, [DROP CONSTRAINT Nom_contrainte]

• Activation ou désactivation de contraintes 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 âge 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 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 command : ALTER TABLE command 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 ;

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.

-1-
• L'option ENABLE permet de réactiver une contrainte d'intégrité. Pour réactiver la clé primaire de la table clients :

ALTER TABLE clients ENABLE PRIMARY KEY ;

2. 2-La suppression d'une table :


Elle se fait en suivant la syntaxe suivante:

DROP TABLE Nom_table.

Exemple: Pour supprimer la table clients :

DROP TABLE clients ;

Exercice 1 : (Manipulation des colonnes) (LDD)

On va travailler sur la même base de données de l’exercice 1 du TP1 (Gestion_Elève).

Représentation graphique : ELEVE DEVOIR MATIERE

Id_elv Id_elv# Id_mat

nom Id_mat# Nom_mat

prenom note

date_naiss

A/ Ajout d’une colonne :

Q1/ ajouter à la table ‘ELEVE’ la colonne ‘CIN’ de type chaine de caractères (taille =8)

B/Suppression d’une colonne :

Q2/ Supprimer la colonne ‘date_naiss’ de la table ‘ELEVE’

C/Ajout d’une contrainte :

Q3/ Rendre la colonne ‘CIN’ clé primaire de la table ‘ELEVE’

D/ suppression d’une contrainte :

Q4/ supprimer la contrainte clé primaire de la table ‘ELEVE’

E/ Modification des propriétés d’une colonne :

Q5/ Modifier le type de la colonne ‘Note’ de la table ‘DEVOIR’ par le type entier (de 2 chiffres)

F/ Activer ou désactiver une contrainte :

Q6/ Désactiver la contrainte clé primaire de la table ‘ELEVE’

Q7/ Réactiver la contrainte clé primaire de la table ‘ELEVE’

-2-
G/ Suppression d’une table :

Q8/ supprimer la table ‘DEVOIR’

Exercice 2 :
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"]
-3-
(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_cli 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
Créer une table loc puis la supprimer

-4-
Prof : Zomiti Henda Classe : 3ème SI

Correction Tp2
Exercice 1 :
Q1/ ALTER TABLE ELEVE ADD COLUMN (CIN int(8) ) ;

Q2/ ALTER TABLE ELEVE DROP COLUMN date_naiss ;

Q3/ ALTER TABLE ELEVE ADD PRIMARY KEY (CIN) ;

Q4/ ALTER TABLE ELEVE DROP PRIMARY KEY ;

Q5/ ALTER TABLE ELEVE MODIFY Note INT(2);

Q6/ ALTER TABLE ELEVE DISABLE PRIMARY KEY ;

Q7/ ALTER TABLE ELEVE ENABLE PRIMARY KEY ;

Q8/ DROP TABLE clients ;

Exercice 2 :
3. CREATE TABLE Client(
NCIN_Cli VARCHAR(8) PRIMARY KEY,
Nom_Cli VARCHAR(20) NOT NULL,
Prenom_Cli VARCHAR(20) NOT NULL,
Adresse_Cli VARCHAR(50) NULL,
Ville VARCHAR(20) NULL );

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

5
Prof : Zomiti Henda Classe : 3ème SI

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),
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 Location ;

Vous aimerez peut-être aussi