Vous êtes sur la page 1sur 17

CHAPITRE 4:

LE LANGAGE SQL
(STRUCTURED QUERY LANGUAGE)

1
INTRODUCTION

— Un SGBD doit permettre la manipulation de la structure de la base de données, comme


l'ajout et la modification de champs, de manière transparente.
— Pour réaliser ces opérations avec l'indépendance souhaitée par rapport à la
représentation, le SGBD offre trois langages de haut niveau :
§ Langage de Définition de Données (LDD) qui permet d'agir sur la structure de la
base de données (ajout, suppression et modification des tables).
§ Langage de Manipulation de Données (LMD) qui permet de mettre à jour le
contenu de la base de données.
§ Langage d'interrogation de Données (LID) qui permet d'interroger le contenu de la
base de données.

2
LANGAGE SQL

—SQL est un langage de manipulation de données qui est devenu un


standard dans le monde des bases de données.

—Il simplifie la manipulation des tables en autorisant la recherche


d'informations et la mise à jour des relations par l'intermédiaire de
requêtes.

—SQL contient l’aspect :


§ LDD
§ LMD
§ LID 3
LANGAGE DE DÉFINITION DE DONNÉES
(LDD)

4
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Le langage de définition de données (LDD) est un langage orienté au niveau de


la structure de la base de données.

— Le LDD permet de créer, modifier, supprimer des objets.

— Il permet également de définir le type des données (nombre, chaîne de


caractères, date, booléen…) et d'ajouter des contraintes de valeur sur les
données.

— Il permet enfin d'autoriser ou d'interdire l'accès aux données.

— Les instructions du LDD sont : CREATE, ALTER, DROP.

5
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Création d’une base de données: CREATE DATABASE

§ La création d’une base de données en SQL est possible en ligne de commande. Même
si les systèmes de gestion de base de données (SGBD) sont souvent utilisés pour créer
une base, il convient de connaître la commande à utiliser, qui est très simple.

§ Pour créer une base de données qui sera appelé « ma_base » il suffit d’utiliser la
requête suivante :

CREATE DATABASE ma_base;

à N’oublier pas le point virgule.


6
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

⌘ Création d’une table: CREATE TABLE

§ Une table est un ensemble de lignes et de colonnes.

§ La création consiste à définir le nom de ces colonnes, leur format (type) et les règles de
gestion s'appliquant à la colonne (CONSTRAINT).
§ La commande de création de table la plus simple ne comportera que le nom et le type de
chaque colonne de la table. A la création, la table sera vide, mais un certain espace lui
sera alloué.
§ La syntaxe est la suivante : CREATE TABLE nom_table (
nom_col1 type,
nom_col2 type,
... );

7
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Exemple :
CREATE TABLE Etudiant
(
CNE INT,
nom VARCHAR(20),
prenom VARCHAR(20),
date_naissance DATE,
email VARCHAR(25),
ville VARCHAR(25),
pays VARCHAR(25)
);
8
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Contraintes d’intégrité
Lors de la création de la table, il faut spécifier les contraintes que doit respecter le contenu de
la table, pour assurer l’intégrité de la base:

§ Un attribut doit toujours avoir une valeur (contrainte Not NULL)


§ La valeur d’un attribut doit être unique au sein de la relation (UNIQUE)
§ Clé de la relation (PRIMARY KEY)
§ Intégrité référentielle: un attribut dans une table est lié à la clé primaire d’une autre
table (Clé étrangère FOREIGN KEY)

9
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Exemple : PRIMARY KEY

CREATE TABLE CLIENT


(
ID_CLIENT AUTOINCREMENT NOT NULL PRIMARY KEY,
NOM_CLIENT CHAR(32) NOT NULL
);

10
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Exemple : FOREIGN KEY REFERENCES


CREATE TABLE FACTURE
(
FCT_ID INT NOT NULL PRIMARY KEY,
CLIENT_ID INT NOT NULL,
FCT_DATE DATETIME NOT NULL,
FCT_MONTANT FLOAT NOT NULL,
CONSTRAINT FK_ID_CLIENT FOREIGN KEY (CLIENT_ID)
REFERENCES CLIENT (ID_CLIENT)
); 11
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Exemple : UNIQUE

CREATE TABLE personne


(
PRS_NOM VARCHAR(32),
PRS_PRENOM VARCHAR(32),
PRS_TELEPHONE CHAR(14) UNIQUE
);

12
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Exemple : CONSTRAINT

CREATE TABLE CLIENT


(
CLI_NOM CHAR(32) NOT NULL,
CLI_PRENOM VARCHAR(32) NOT NULL,
CONSTRAINT PK_CLIENT PRIMARY KEY (CLI_NOM, CLI_PRENOM)
);

13
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Exemple 2 : CONSTRAINT

CREATE TABLE personne


(
PRS_ID INT,
PRS_NOM VARCHAR(32),
PRS_PRENOM VARCHAR(32),
CONSTRAINT UNI_NOM_PRENOM UNIQUE (PRS_NOM,
PRS_PRENOM)
); 14
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Suppression d'une table: DROP

§ Supprimer une table revient à éliminer sa structure et toutes les données qu'elle
contient.

§ Les index associés sont également supprimés.

§ La syntaxe est la suivante :

DROP TABLE nom_table;

15
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Suppression d'une table

§ Attention : il faut utiliser cette commande avec attention car une fois supprimée, les
données sont perdues. Avant de l’utiliser sur une base importante il peut être judicieux
d’effectuer un backup (une sauvegarde) pour éviter les mauvaises surprises.

§ Intérêts Il arrive qu’une table soit créé temporairement pour stocker des données qui
n’ont pas vocation à être réutiliser. La suppression d’une table non utilisée est
avantageux sur plusieurs aspects :
ü Libérer de la mémoire et alléger le poids des backups
ü Éviter des erreurs dans le futur si une table porte un nom similaire ou qui porte à
confusion 16
LANGAGE DE DÉFINITION DE DONNÉES (LDD)

— Exercice: Réaliser le MLD du MCD suivant puis créer la Base de données


Animal
Espèce
idAnimal 1,n
Nom 1,1 Appartenir nom scientifique
population
Sexe
Date_naissance
Date_d’arrivée
Remarque
1,n
1,n
Vivre
Manger
Effectif
Quantité

1,n 1,n
Nourriture Régions
Nom_aliment Libellé_Zone
17

Vous aimerez peut-être aussi