0% ont trouvé ce document utile (0 vote)
12 vues18 pages

Hadhami 2

Le document présente les notions fondamentales de gestion de données et de bases de données, y compris leur définition, architecture, intérêts, et modèles. Il aborde également les systèmes de gestion de bases de données (SGBD), les types de clés, les contraintes d'intégrité, et la représentation des bases de données. Enfin, il propose des exercices pratiques pour renforcer la compréhension des concepts abordés.

Transféré par

anismdallel648
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)
12 vues18 pages

Hadhami 2

Le document présente les notions fondamentales de gestion de données et de bases de données, y compris leur définition, architecture, intérêts, et modèles. Il aborde également les systèmes de gestion de bases de données (SGBD), les types de clés, les contraintes d'intégrité, et la représentation des bases de données. Enfin, il propose des exercices pratiques pour renforcer la compréhension des concepts abordés.

Transféré par

anismdallel648
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

Gestion de données 3SI

Module2 : Gestion de Données


Présentation de la Base de données
Objectif : Définir les notions de base de données

I- Introduction Générale :
Mise en situation
Lorsque vous accéder à un site web ou une application mobile il vous demande de vous inscrire
Exemple : lorsque vous accédez au facebook pour la première fois et que vous voulez s’inscrire, il vous
demande de créer un compte
Facebook vous demande de renseigner certains données personnelle (nom prénom, date de naissance ,
genre, adresse email, nom d’utilisateur, le mot de pase ….)
Et lorsque vous reconnecter une autre fois par votre nom d’utilisateur et votre mot de passe ) facebook vous
reconnue càd que les données insérer sont stockées quelque part et il seront récupérer de l’endroit où il sont
stockées.
 Ces données sont insérées dans une base de données
1- Définition :
Une base de données est un ensemble de données relative à un ou
plusieurs domaines stockés de manière structurée, organisée et
avec le moins de redondance possible

2- 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 »

3- Les intérêts de la base des 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 Les données sont décrites indépendamment des programmes
données et 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 liaisons Les relations entre les données font partie de la base de données et non
entre les données pas des programmes comme dans le cas où les données sont organisées
en fichiers.
Partage des données Plusieurs utilisateurs peuvent accéder simultanément à la BD.

Mme.Hadhami LAMINE 1
Gestion de données 3SI
4- Les modèles de Bases de données
a- Le modèle hiérarchique

Elles se présentent comme un arbre ordonné dont les sommets sont les objets et les arcs sont les liens de type
père fils (1 : n) (un fils ne peut avoir qu’un seul père et un objet père peut avoir plusieurs fils)

b- Le modèle réseau
Les bases de données réseau se présentent comme un graphe, c’est une forme proche de l’hiérarchique mais avec
des liens plus ouvert (n : m) (tous les types de liens sont possible).

c- Le modèle relationnel
Une BD relationnelle est composée de Tables. Une table est composée de colonnes (champs) et de lignes
(enregistrements). Deux tables peuvent être liées entre elles grâce à des champs identiques des deux côtés.

d- Le modèle Orienté Objet


Les données sont stockées sous forme d'objets.

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


1- Définition
C’est un logiciel qui permet de décrire, modifier, interroger et administrer les données d'une base de données.
2- Les fonctions d'un système de gestion de bases de données
 La définition des données
 La manipulation des données
 L'intégrité des données
 La gestion des accès concurrents
 La confidentialité
 La sécurité du fonctionnement
III- Base de données relationnelle
Modèle relationnel : Les données sont organisées sous forme des tableaux de valeurs appelées tables qui sont
reliées entre eux.

Soit la base de données d'une agence de location de voiture.

Mme.Hadhami LAMINE 2
Gestion de données 3SI
1- Tables

Activité1 : Soit la table Client dans une base de données « Gestion Location »
De quoi est composée la table client ?

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

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

Les tables de données sont organisées en colonnes (ou champs, propriétés ou Attribut) et en ligne (ou
enregistrement, occurence ou n-uplet)
Toutes les données d’une même colonne sont de même type
Exemple : la colonne "Tel" contient les numéros de téléphone des clients
Chaque ligne d'une table contient les informations relatives à une occurrence d'un sujet
Exemple : (90909090, Salem Sallemi, 55 847 321, Gabes)

Le schéma d’une table : est donné par l’ensemble de ses attributs.


Exemple : Client (NumCin, NomClient, Tel, Adresse)
2- Clé primaire (Primary Key)
Activité 2 :
Q1 : Dans la table "Client" quel est le champ qui représente l'identifiant unique du client ?
 Le champs ''………………………………." Est une clé primaire
Q2 : Déduire la clé primaire de la table Véhicule ?....................................................................
Q3 : Déduire la clé primaire de la table Location ?....................................................................
a- Définition :
Clé primaire : (Primary Key, identifiant) est une colonne ou un groupe de colonne permettant d'identifier une
ligne d'une façon unique.
3- Clé étrangère (Foreign key)
Activité 3 :
Q1: Quel est le nombre de location du client Mohamed Tounsi ayant la carte d'identité nationale Numéro
50505050 ?
 Le NumCin 50505050 du client Mohamed Tounsi apparait ………… fois dans la table location
 Le champs NumCin permet de faire le lien entre la table Client et la Table location :
 NumCin est une clé étrangère dans la Table Location
Q2: Le véhicule 216 TU 3000 combien de fois il a été loué ? ………….
 ……………………… est une clé étrangère dans la Table …………………………………..

Mme.Hadhami LAMINE 3
Gestion de données 3SI
Clé étrangère : (Foreign key, clé secondaire, référence) Une colonne est dite clé étrangère dans une Table B, si
elle est une clé Primaire dans une Table A.

La clé étrangère permet de relier les tables A

4- Les contraintes
 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.
 On distingue trois types de contraintes :
• Contrainte d’intégrité de tables : Permet d’assurer l’unicité des lignes des tables. Chaque table doit
avoir une la clé primaire.
• 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.
• Contrainte de domaine : s’assurer de la validité des valeurs des colonnes (obligatoire ou pas, supérieur
à zéro , ….)
5- Représentation d’une 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 :
a- La représentation textuelle d'une base de données :
C’est l'ensemble des schémas des tables de la base de données.
Pour distinguer la clé primaire il suffit de la souligner
Pour distinguer la clé étrangère il suffit d’ajouter #
 Donner la représentation textuelle de la base de données Gestion location.

…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
b- La représentation graphique d'une base de données :

Les clés primaires sont représentées en gras 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.

Mme.Hadhami LAMINE 4
Gestion de données 3SI
6- Les types de liaisons

a) Liaison de type [1 : 1]
Exemple : un directeur dirige un seul lycée
un lycée est dirigé par un seul directeur

b) Liaison de type [1 : N]
Exemple : un élève est inscrit à un seul établissement
un établissement contient plusieurs élèves

c) Liaison de type [N : M] (plusieurs à plusieurs)


Exemple : un client peut louer N voitures
une voiture est louée par M clients
La liaison de type (N : M) donne naissance à une troisième table qui reçoit les clés primaires des deux tables
liées

Mme.Hadhami LAMINE 5
Gestion de données 3SI
Série d’application 1 :
Exercice 1 :
Compléter les vides en utilisant la liste suivante :
Redondance – données – structurée – programmes – base- informations
Une base de données est une entité dans laquelle il est possible de stocker des données de façon …………… et
avec le moins de ………………………………………… possible.

Ces ……………………………………………….. doivent pouvoir être utilisées par des


……………………………………………., par des utilisateurs différents. Ainsi, la notion de base de données est
généralement couplée à celle de réseau, afin de pouvoir mettre en commun ces
……………………………………………………, d’où le nom de ……………………………. On parle
généralement de système d’information pour désigner toute la structure regroupant les moyens mis en place pour
pouvoir partager des données.

Exercice 2 :
Relier par une flèche
Indépendance entre données et programme Ensemble de règles (unicité, référence et
. . valeur)
Centralisation des données Les données sont décrites indépendamment
. . des programmes
Intégrité Les données sont saisies une seule fois et
. . peuvent être utilisées par plusieurs
programmes et plusieurs utilisateurs

Exercice 3 :
Répondre par vrai (V)ou Faux (F) pour chacune des propositions suivante

1- Une base de données, c’est :


Un ensemble organisés et structuré d’information portant sur le même thème
Un plan de classement de l’information
Un serveur internet
2- Une base de données garde les informations d’une façon
Volatille
Permanante
temporaire
3- Dans une base de données relationnelle, les données sont :
Représentées par des objets
Reliées par de liens hi2rarchique
Regroupées sous formes de tables

Mme.Hadhami LAMINE 6
Gestion de données 3SI

Rappel
Exercice 1 :
Soit la table suivante :
Id_Eleve Nom Prenom Date_n Classe Que présente chaque colonne de la
1510 Tounsi Mohamed 01/07/2006 3SI1 table élève ?
1080 Sallami Habib 16/05/2005 4EG2 …………………………..
1203 Saidi Hayfa 03/07/2007 3SI1
1222 Zyoudi Imed 03/04/2006 3Math
En se basant sur le tableau suivant, par quoi est décrit chaque champ ? …………………………………..
Nom:Elève
Description:Liste des élèves de lycée Habib Bourguiba Gabes
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 2 : (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 Article Table Facture


Table client
Codecl Nomcl Prencl CodeArt LibArt PrixArt N°Fact DateFact CodCl CodArt
123 Mrad Amine 003445 PC HP 1380 125 25/01/2023 123 012365
426 Abbes Amine 004516 PC IBM -1490 126 26/01/2023 426 045696
456 Abbes Eya 012365 PC SIEM. 1320
127 18/02/2023 456 004516
789 Nouri Ayoub 023146 PC DELL 1200
045696 PC SIEM. 1300 128 22/02/2023 456 023146
789 Sallami Ahlem
045696 IMP. HP 420 129 03/03/2023 789 111111
1) Donner la représentation textuelle de la base de données. 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.
Anomalie rencontrée Contrainte d’intégrité non respectée
……………………………………………………
……………………………………………………………
……………………………………………………
……………………………………………………
……………………………………………………………
……………………………………………………
……………………………………………………
……………………………………………………………
……………………………………………………
Mme.Hadhami LAMINE 7
Gestion de données 3SI
Module2 : Gestion de Données
TP1 : Création et manipulation d’une base de données en
mode assisté
Objectif : Créer et Gérer des bases de données

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 )
évaluations ( numPermis# , idModele# , dateTest , securite, conduite )
1) Ouvrir l’environnement de développement «Wampserver ».
2) Créer cette base de données en lui attribuant le nom "BD_3SI".
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 :

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.

Mme.Hadhami LAMINE 8
Gestion de données 3SI
Création et manipulation d’une base de données en
mode commande
I- Présentation
Le mode commande consiste à créer les différentes structures de la base de données à l'aide de commandes
du langage SQL.
Ce langage est composé de trois familles de commandes :
a) Le langage de définition de données (LDD) : Permet de créer, modifier et supprimer les structures de la
base de données :
➢ Création de tables : CREATE TABLE
➢ Modification de tables : ALTER TABLE
➢ Suppression de tables : DROP TABLE
b) Le langage de manipulation de données (LMD) : permet de manipuler le contenu de la BD :
➢ Insertion de lignes : INSERT
➢ Modification de lignes : UPDATE
➢ Suppression de lignes : DELETE
➢ Consultation de lignes : SELECT
c) Le langage de contrôle de données (LCD) : permet de contrôler l'utilisation de la base de données
(sécurité de la base, intégrité des données, …).

II- Création d’une base de données en mode commande


Activité 1 : Soit la représentation textuelle de la base de données « gestion_commercial » :
Client (CodeClient, NomClient, PrenomClient, AdrClient, TelClient)
Article (CodeArticle, DesArticle, PrixUnit, QteStock)
Commande (NumComm, DateComm, CodeClient#)
Details (NumLigne, NumComm#, CodeArticle#, QteComm)
Description des colonnes
Nom colonne Type Contrainte
CodeClient Entier de chiffres
NomClient Chaîne de taille 30 Non null
PrenomClient Chaîne de taille 30 Non null
AdrClient Chaîne de taille 30
TelClient Entier de 8 chiffres Non null
CodeArticle Chaîne de taille 30
DesArticle Chaîne d,e taille 30 Non null
PrixUnit Decimal (8,3) Non null et >0
QteStock Entier de 5 chiffres Non null et >0
NumComm Chaîne de taille 30
DateComm Date Non null (< date d’aujourd’hui))
NumLigne Entier de 5 chiffres
QteComm Entier de 5 chiffres
a- Créer la base de données « gestion_commercial » :
b- Créer les différentes tables de la base de données :

Mme.Hadhami LAMINE 9
Gestion de données 3SI

1- Création d’une nouvelle base de données


La commande du langage SQL permettant de créer une nouvelle base de données est la commande
CREATE DATABASE.
La forme générale de cette commande est la suivante :
CREATE DATABASE Nom_base ;
2) Création d’une nouvelle table
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 (
colonne1 type [contrainte],
colonne2 type [contrainte], …
[[CONSTRAINT] [nom_contrainte] [contrainte]], …) ;
a) Les types de données :
INT ou INT(n) Un nombre entier de 4 octets compris entre -2 147 483 648 et 2 147 483 647.
Pour les entiers positifs de 0 à 4 294 967 295
DECIMAL (M, D) Un nombre réel dont M correspond au nombre total de chiffres et D correspond au
nombre de chiffres après la virgule.
CHAR Une chaîne de caractères de longueur fixe (1 par défaut)
VARCHAR Une chaîne de caractères de longueur variable dont la longueur maximale est fixée.
TEXT Une chaîne de caractères de longueur variable
DATE Date (exemple 2023-09-10)
TIME Heure (exemple 12:05:54)
DATETIME Date et Heure (exemple : 2023-09-15 12:20:33
b) Les contraintes d’intégrité
Les contraintes sont les règles qui peuvent être appliquées au niveau des colonnes ou au niveau de la table.
On peut citer :
DEFAULT Valeur par défaut
PRIMARY KEY Indiquer la clé primaire
NOT NULL La valeur de la colonne est obligatoire
NULL La valeur de la colonne n’est pas obligatoire
CHECK (condition) Spécifie que la valeur de la colonne doit respecter une
condition
UNIQUE Vérifier que la valeur saisie pour un champ ne se répète pas
FOREIGN KEY Définit une clé étrangère
REFERENCES table (colonne référencée) Fait référence à une clé primaire d’une autre table

Mme.Hadhami LAMINE 10
Gestion de données 3SI
Création et manipulation d’une base de données en
mode commande
Correction application1 :
a) Création de la base de données :

CREATE DATABASE gestion_commerciale ;

b) Création de la table client :


CREATE TABLE client (
CodeArticle int primary key,
NomClient varchar(30) NOT NULL ,
PrenomClient varchar(30) NOT NULL ,
AdrClient varchar(30),
TelClient int(8) NOT NULL
);
c) Création de la table Article :
CREATE TABLE Article(
CodeClient varchar(30) primary key,
DesArticle varchar(30) NOT NULL ,
PrixUnit Decimal(8,3) NOT NULL check(PrixUnit>0) ,
QteStock int(5) NOT NULL check(QteStock >0) ,
);
c) Création de la table Commande :
CREATE TABLE Commande(
NumCom varchar(30) primary key,
Datecomm Date NOT NULL check(Datecomm<now()),
CodeArticle int REFERENCES Article (CodeArticle) on update cascade on delete cascade
);
Remarque now() : fonction qui retourne la date et l’heure actuelle .
d) Création de la table Details :
CREATE table Details (
Numligne int(5),
Numcomm varchar(30) references Commande (Numcomm) on update cascade on delete cascade ,
codeArticle varchar(30) references Article (codeArticle) on update cascade on delete cascade ,
Qtecomm int(5),
primary key (Numligne,Numcomm)
);

Mme.Hadhami LAMINE 11
Gestion de données 3SI
Retenons :
1- Les contraintes sur une colonne : Permet de définir une contrainte d’intégrité sur une seule
colonne
• [NOT] NULL : L’option NULL signifie que la colonne n’est pas obligatoire, l’option NOT NULL veut dire
que la colonne est obligatoire.
Exemple : TelClient VARCHAR(8) NOT NULL
• DEFAULT : permet d’attribuer une valeur par défaut à cette colonne.
Exemple : QteComm INT(2) DEFAULT 1
• UNIQUE : empêche que deux enregistrements aient des valeurs identiques dans une colonne.
Exemple : TelClient VARCHAR(8) UNIQUE
• PRIMARY KEY : spécifie que la colonne est utilisée comme clé primaire.
Exemple : CodeArticle VARCHAR(10) PRIMARY KEY
• CHECK(condition) : active une condition permettant de vérifier la valeur saisie dans un enregistrement.
Exemple : Prix DECIMAL(12, 3) CHECK(Prix>0)
• REFERENCES Nom_table [(Nom_colonne)] [ON UPDATE CASCADE] [ON DELETE CASCADE] :
définit une contrainte d’intégrité référentielle.
 ON UPDATE CASCADE : maintient l’intégrité référentielle en modifiant automatiquement les valeurs
d’une clé étrangère dépendant des valeurs d’une clé primaire modifiée.
 ON DELETE CASCADE : maintient l’intégrité référentielle en supprimant automatiquement les valeurs
d’une clé étrangère dépendant des valeurs d’une clé primaire supprimée.

Exemple : CodeLivreEmp VARCHAR(10) REFERENCES Livre(CodeLivre) ON UPDATE CASCADE ON


DELETE CASCADE

2- Les contraintes sur une table : Permet de définir une contrainte d'intégrité au niveau de la table.
Elle doit être utilisée lorsque la contrainte ne s'applique pas à une seule colonne.
La syntaxe est la suivante :
[CONSTRAINT Nom contrainte]
PRIMARY KEY (colonnel, colonne2, ...)
FOREIGN KEY (colonnel, colonne2, ...) REFERENCES
nom_table [(colonnel, colonne2, ...)][ON UPDATE CASCADE] [ON DELETE CASCADE]
CHECK (condition)
UNIQUE (colonnel, colonne2, ...)
CONSTRAINT Nom_contrainte : sert à attribuer un nom à la contrainte, elle est optionnelle.
 PRIMARY KEY (Nom_colonne1, [Nom_colonne2, ...] : spécifie que les colonnes sont utilisées comme
clé primaire.
Exemple: CONSTRAINT p1 PRIMARY KEY(CodeLivre, NumAbonne, DateEmprunt)

Mme.Hadhami LAMINE 12
Gestion de données 3SI
 FOREIGN KEY : définit une contrainte d'intégrité référentielle relative à plusieurs colonnes. Le nom de
la table précisé après REFERENCES est celui de la table mère, les noms des colonnes sont ceux des
colonnes vers lesquelles on se réfère.
Exemple: CONSTRAINT kel FOREIGN KEY(CodeLivre) REFERENCES Livre(CodeLivre) ON UPDATE
CASCADE ON DELETE CASCADE
 CHECK (condition): mot clé associé à une condition qui doit être vérifiée pour chaque valeur insérée,
elle peut concerner ici plus qu'une colonne.
Exemple: CONSTRAINT ck1 CHECK(Age>18 AND Salaire > 1000);
 UNIQUE (colonnel, colonne2, ...): on peut appliquer la contrainte UNIQUE sur un groupe de colonnes.
Exemple: CONSTRAINT ucI UNIQUE(Tel, Email);

III- Modifier la structure d’une table en mode commande


1) Modifier la structure d’une table
La forme générale de cette commande est la suivante :

ALTER TABLE nom_table


ADD [COLUMN] nom_colonne type [contrainte]
DROP [COLUMN] nom_colonne
ALTER nom_colonne type
MODIFY nom_colonne type
RENAME [COLUMN] nom1 TO nom2
CHANGE [COLUMN] ancien_nom nouveau_nom type_données
ADD CONSTRAINT [nom_contrainte] contrainte
DROP CONSTRAINT nom_contrainte
ENABLE / DISABLE CONSTRAINT nom_contrainte

- ADD [COLUMN] : Permet d’Ajouter des nouvelles colonnes à la table


Exemple1 : ALTER TABLE Client ADD COLUMN EmailClient VARCHAR(50) NOT NULL;
Exemple2 : ALTER TABLE Client ADD (DateNaiss DATE, ChiffreAffaire DECIMAL(9,3)) ;

- DROP [COLUMN] : Permet de Supprimer une colonne de la table


Exemple : ALTER TABLE Client DROP EmailClient ;

- ALTER nom_colonne type


: Permet de Modifier le type d’une colonne.
- Modify nom_colonne type
Exemple : ALTER TABLE Client ALTER EmailClient VARCHAR(200) ;
Exemple : ALTER TABLE Client MODIFY TelClient INT(8) ;

- RENAME [COLUMN] nom1 TO nom2


: Permet de modifier le nom d’une colonne.
- CHANGE [COLUMN] nom1 nom2

Mme.Hadhami LAMINE 13
Gestion de données 3SI

Exemple : ALTER TABLE Client RENAME TelClient TO TelephoneClient ;


Exemple : ALTER TABLE Client CHANGE TelClient TelephoneClient INT(8) ;

- ADD CONSTRAINT [nom_contrainte] contrainte : Permet Ajouter une nouvelle contrainte à la table.

Exemple1 : contrainte de clé primaire


ALTER TABLE Client ADD CONSTRAINT PK1 PRIMARY KEY(CodeClient) ;
Exemple2 : contrainte de clé primaire
ALTER TABLE Emprunt ADD CONSTRAINT PK1 PRIMARY KEY(CodeLivre, NumAbonne, DateEmprunt) ;
Exemple3 : contrainte de clé étrangère
ALTER TABLE Emprunt ADD CONSTRAINT FK1 FOREIGN KEY(CodeLivre) REFERENCES Livre
(CodeLivre);
Exemple4 : contrainte de domaine
ALTER TABLE Personne ADD CONSTRAINT C1 CHECK(Age >18);
Exemple5 : contrainte d’unicité
ALTER TABLE Client ADD CONSTRAINT U1 UNIQUE(TelClient) ;

- MODIFY nom_colonne Type NOT NULL : Permet d’ajouter la contrainte NOT NULL

Exemple : ALTER TABLE Client MODIFY AdrClient VARCHAR(100) NOT NULL ;


- ALTER COLUMN nom_colonne SET DEFAULT valeur_par_defaut : Permet d’ajouter la contrainte
DEFAULT

Exemple : ALTER TABLE Article ALTER QteStock SET DEFAULT 0

- DROP CONSTRAINT nom_contrainte : Permet de supprimer une contrainte d’intégrité

Exemple1 : ALTER TABLE Client DROP CONSTRAINT PK1 ;

Exemple2 : ALTER TABLE Client DROP PRIMARY KEY;

Exemple3 : ALTER TABLE Client DROP FOREIGN KEY FK1;

- ENABLE / DISABLE CONSTRAINT nom_contrainte : Permet de réactiver ou désactiver une


contrainte d’intégrité de la table.

Exemple1 : ALTER TABLE Client DISABLE CONSTRAINT PK1 ;

Exemple2 : ALTER TABLE Client ENABLE CONSTRAINT PK1 ;

Exemple3 : ALTER TABLE Client DISABLE PRIMARY KEY ;

2) Renommer une table


Pour renommer une table on utilise la syntaxe suivante :
ALTER TABLE nom_table RENAME TO nouveau_nom ;

Exemple : ALTER TABLE details RENAME TO details_commande ;


3) Supprimer une table :
Pour supprimer une table on utilise la syntaxe suivante :
DROP TABLE nom_table ;

Exemple : DROP TABLE details ;

Mme.Hadhami LAMINE 14
Gestion de données 3SI
4) Supprimer une base de données
Pour supprimer une base de données on utilise la syntaxe suivante :
DROP DATABASE nom_base ;

Exemple : DROP DATABASE gestion_commerciale ;

Activité 1 :
Soit la représentation textuelle suivante de la base de données « commande_pizza »
Pizza (IdPizza, NomPizza, Details, Prix)
Client (Tel, Nom, Prenom, Adresse, MotPass, Age )
Commande (IdPizza#, Tel#, DateCmd, QteCmd)
Description des colonnes
Nom colonne Description Type Taille
IdPizza Identifiant d'une Pizza Texte 3
Nompizza Nom d'une Pizza Texte 30
Details Description d'une Pizza Texte 200
Prix Prix d'une Pizza Décimal 6,3
Tel Numéro de téléphone d'un client Texte 8
Nom Nom d'un client Texte 25
Prenom Prénom d'un client Texte 25
Adresse Adresse d'un client Texte 50
MotPass Mot de passe d'un client Texte 6
Age Age d’un client Entier 2
DateCmd Date et heure de la commande DateHeure
QteCmd Quantité commandée d'une Pizza Entier 1

a) En se référant à la description des colonnes indiquée ci-dessus, écrire les requêtes SQL permettant de
créer les tables de la base de données « commande_pizza »
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
……………………………………………………………………………………………………….
………………………………………………………………………………………………………
b) On souhaite ajouter une nouvelle colonne à la table « Client » nommé «AdrMail » de type chaîne
de caractères et de taille maximale égale à 50. Ecrire la requête SQL correspondante.
c) L’administrateur à oublier de mentionner la clé primaire de la table Client. Ecrire la requête SQL
permettant d’ajouter la clé primaire manquante.
d) Pour garantir la contrainte d’intégrité référentielle à la base de données, Ecrire la requête SQL
permettant d’ajouter la contrainte de clé étrangère (Tel) à la table commande.
e) On souhaite supprimer la colonne Age de la table Client. Ecrire la requête SQL correspondante.

Mme.Hadhami LAMINE 15
Gestion de données 3SI
f) On souhaite augmenter la taille maximale de la colonne « Adresse » de la table « Client » de 50 à
100 caractères. Ecrire la requête SQL correspondante.
g) Pour apporter plus d’efficacité à cette base de données, l’administrateur décide d’ajouter une
contrainte sur la colonne « QteCmd » de la table « Commande » afin de vérifier la validité de sa
valeur qui doit être comprise entre 1 et 10. Ecrire la requête SQL correspondante.
Correction activité1 :
a) alter table Client Add column AdrMail varchar(50) ;
b) alter table client add constraint primary key (Tel) ;
c) alter table commande
add constraint foreign key(Tel) references client(Tel) on update cascade on delete cascade
d) alter table client drop column Age;
e) alter table client Modify Adresse varchar(80)
f) alter table commande add constraint check(1<=QteCmd<=10)
Application :
Soit la base de données simplifiée intitulée « Gestion_abonnés » permettant de gérer les abonnements
ADSL d'un Fournisseur de Services Internet à travers ses différentes agences. Elle est décrite par la
représentation textuelle suivante :
CLIENT (CinCl, NomCl, PreCl, AdrCl, TelCl)
AGENCE (CodeAg, AdrAg, TelAg)
CONNEXION (CodeCnx, LibCnx, DebitCnx, PrixCnx)
ΑΒΟΝΝΕΜΕNT (NumAb, CinCl#, CodeCnx#, TelAb, DateAb, DureeAb)

NB:
Le champ DebitCnx est un entier exprimé en Méga octets (Mo)
Le champ DureeAb est un entier exprimé en nombre de mois
1. En supposant que les tables CLIENT, AGENCE et CONNEXION sont déjà créées, écrire la requête SQL
correspondante permettant de créer la table ABONNEMENT en tenant compte de la description suivante :

Mme.Hadhami LAMINE 16
Gestion de données 3SI
2. On souhaite ajouter à la table CLIENT une nouvelle colonne intitulée GenreCl de type texte et de
taille 1 caractère et qui ne peut prendre que la valeur « Η » ou « F ». Ecrire la requête SQL
correspondante.
3. Ecrire la requête SQL permettant de renommer le champ PreCl de la table CLIENT par PrenomCl.
4. Il s'est avéré que la taille du champ DureeAb de la table ABONNEMENT est insuffisante puisque la
durée de l'abonnement peut-être de 12 mois ou plus. Ecrire la requête SQL correspondante permettant de
modifier la taille du champ d'un entier d'un chiffre à un entier de 2 chiffres.
5. Lors de la création de la table CLIENT, l'administrateur a oublié de mentionner la clé primaire de la
table. Ecrire la requête SQL permettant d'ajouter la clé primaire manquante.
6. Dans le cas où la durée d'un abonnement n'est pas indiquée, on serait obligé d'attribuer une durée de 3
mois. Ecrire la requête SQL correspondante.
7. L'administrateur de la base s'est aperçu qu'il a omis d'ajouter le champ CodeAg dans la table
ΑΒΟΝΝΕΜΕNT. Ecrire la requête SQL permettant d'ajouter ce champ en tenant compte de la
description suivante :

8. Pour mieux gérer les données de la base, on souhaite ajouter une contrainte sur la colonne DebitCnx
en acceptant seulement l'une des valeurs suivantes (4; 8; 10; 12 et 20). Ecrire la requête SQL
correspondante pour ajouter cette contrainte.

Mme.Hadhami LAMINE 17
Gestion de données 3SI

Module2 : Gestion de Données


Application :
On propose la base de données intitulée « Archive_CD », permettant de gérer une collection de CD audio
relative à des artistes et à des compositeurs. Cette base de données est décrite par la représentation textuelle
simplifiée suivante :
CD (NumCD, TitreCD, NBPistes, NomComp, PrenComp, CodStyle #, IdArtiste #)
STYLE (CodStyle, DesStyle)
ARTISTE (IdArtiste, NomArtiste, PrenArtiste)
1) Donner la représentation graphique de cette base de données

2) Pour remédier à l'anomalie de redondance concernant les noms et prénoms des compositeurs dans la table
« CD », on propose d'améliorer cette base de données en tenant compte des règles de gestions suivantes :
R1: Chaque CD est caractérisé par un style musical (Oriental, Rap, Pop, ...)
R2: Chaque CD est enregistré par un seul artiste
R3: Un artiste peut enregistrer plusieurs CD
R4: Un compositeur peut composer plusieurs CD
R5: Un CD peut être composé par plusieurs compositeurs
Proposer une nouvelle description textuelle de cette base de données.
CD (NumCD, TitreCD, NBPistes, NomComp, PrenComp, CodStyle #, IdArtiste #)
STYLE (CodStyle, DesStyle)
ARTISTE (IdArtiste, NomArtiste, PrenArtiste)
Compositeur (IdComp, NomComp, PrenComp)
Chanson (NumCD#, IdComp#,DateComp)

Mme.Hadhami LAMINE 18

Vous aimerez peut-être aussi