0% ont trouvé ce document utile (0 vote)
14 vues10 pages

Introduction au langage SQL et DDL

SQL

Transféré par

benjeddoumayssen
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)
14 vues10 pages

Introduction au langage SQL et DDL

SQL

Transféré par

benjeddoumayssen
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

I.S.L.A.I.

B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

Cours 1 : Découvrir le langage SQL


Partie 1 : Présentation du langage SQL
– SQL signifie langage de requête structuré (Structured Query Language).

– SQL a été développé à l'origine par IBM au début des années 1970

– SQL est un langage de programmation standard spécialement conçu pour stocker, extraire,
gérer ou manipuler les données à l'intérieur d'un système de gestion de bases de données
relationnelles (SGBDR).

– Tous les systèmes de gestion de base de données relationnelle (SGBDR) tels que MySQL,
MS Access, Oracle, Sybase, Informix, Postgres et SQL Server utilisent SQL comme
langage de base de données standard.

– Une instruction SQL constitue une requête (la description d’une opération que le SGBD
doit exécuter).

– Le SQL est composé de quatre parties:

 Le DDL (Data Definition Language) est destiné à créer ou supprimer des objets dans
la base de données (tables, contraintes, etc.).

 Le DML (Data Manipulation Language) est destiné à manipuler les données


contenues dans les tables, c'est-à-dire à manipuler les lignes de celles-ci.

 le DQL (Data Query Language) permet de lire les données dans la base à l’aide de
requêtes.

 Le DCL (Data Control Language) gère les utilisateurs d'une base de données ainsi que
leurs droits sur les objets (droit de consultation, modification etc.).

SQL
Cours 1 : Découvrir le langage SQL

DDL DML DQL DCL


Create Insert Select Grant, Revoke
Alter Update Commit, Rollback
Drop Delete

Partie 2 : DDL
I. C’est quoi le DDL :
Le DDL est appelé aussi le LDD (Langage de Définition de Données)
Les opérations du DDL :
 Création d’une table

1
I.S.L.A.I.B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

 Suppression d’une table


 Ajout, suppression, modification d’une colonne
 Ajout, suppression d’une contrainte
 Ajout, suppression d’un index
 Création d’un espace de stockage
II. Opérations sur la base de données :
1. Création d'une base de données :

L'instruction CREATE DATABASE est utilisée pour créer une nouvelle base de données
SQL.

Syntaxe :
CREATE DATABASE nomBDonnees;

Le nom de la base de données doit toujours être unique dans le SGBDR.

Exemple :

Si on veut créer une nouvelle base de données "cinema", l'instruction CREATE


DATABASE sera comme ci-dessous.

CREATE DATABASE cinema;

2. Suppression une base de données

L'instruction DROP DATABASE est utilisée pour supprimer une base de données existante
dans un schéma SQL.
Cours 1 : Découvrir le langage SQL

Syntaxe :

DROP DATABASE nomBDonnees;


Exemple :

Si on veut supprimer une base de données existante "cinema", l'instruction DROP


DATABASE sera comme ci-dessous.

DROP DATABASE cinema;

2
I.S.L.A.I.B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

III. Opérations sur la table :


1. Création d’une table : CREATE TABLE
a. Introduction
Une table est un ensemble de lignes et de colonnes. La création consiste à définir (en fonction
de l’analyse) le nom de ces colonnes, leur format (type), la valeur par défaut à la création de
la ligne (DEFAULT) et les règles de gestion s’appliquant à la colonne (CONSTRAINT).
b. Syntaxe :

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(


column1 type_donnees [contraintes column1 ],
column2 type_donnees [contraintes column2],
column3 type_donnees [contraintes olumn3],
.....
columnN type_donnees [contraintes columnN],
[CONSTRAINT nom_1] contrainte_de_table_1,
[CONSTRAINT nom_2] contrainte_de_table_2,
... ...
[CONSTRAINT nom_p] contrainte_de_table_p
);
c. Type de données :

Les types de données peuvent être :

 INTEGER : Ce type permet de stocker des entiers signés codés sur 4 octets.
 BIGINT : Ce type permet de stocker des entiers signés codés sur 8 octets.
 REAL : Ce type permet de stocker des réels comportant 6 chiffres significatifs codés
Cours 1 : Découvrir le langage SQL

sur 4 octets.
 NUMERIC[(précision, [longueur])] : Ce type de données permet de stocker des
données numériques à la fois entières et réelles. La longueur précise le nombre
maximum de chiffres significatifs stockés et la précision donne le nombre maximum
de chiffres après la virgule.
 CHAR(longueur) : Ce type de données permet de stocker des chaînes de caractères
de longueur fixe. longueur doit être inférieur à 255, sa valeur par défaut est 1.
 VARCHAR(longueur) : Ce type de données permet de stocker des chaînes de
caractères de longueur variable. La longueur doit être inférieur à 2000, il n’y a pas de
valeur par défaut.
 DATE : Ce type de données permet de stocker des données constituées d’une date.

3
I.S.L.A.I.B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

 TIME : Stocke l'heure dans le format HH:MI:SS


 BOOLEAN : Ce type de données permet de stocker des valeurs Booléenne.
 MONEY : Ce type de données permet de stocker des valeurs monétaires.

Exemple :

CREATE TABLE Employes(


Id INTEGER(2) ,Nom VARCHAR (20));
d. Les contraintes :
 Contraintes de colonne

Les différentes contraintes de colonne que l’on peut déclarer sont les suivantes :

 NOT NULL ou NULL : Interdit (NOT NULL) ou autorise (NULL) l’insertion de


valeur NULL pour cet attribut.

CREATE TABLE Employes(


Id INTEGER(2) ,
Nom VARCHAR (20) NOT NULL);

 UNIQUE : Deux n-uplets ne peuvent recevoir des valeurs identiques pour cet attribut,
mais l’insertion de valeur NULL est toutefois autorisée. Cette contrainte peut
apparaître plusieurs fois dans l’instruction.

CREATE TABLE Employes(


Id INTEGER(2) ,
Nom VARCHAR (20) NOT NULL,
Age INT (2) UNIQUE
);
Cours 1 : Découvrir le langage SQL

 PRIMARY KEY : Désigne l’attribut comme clé primaire de la table. La clé primaire
étant unique, cette contrainte ne peut apparaître qu’une seule fois dans l’instruction.
La définition d’une clé primaire composée se fait par l’intermédiaire d’une contrainte
de table. En fait, la contrainte PRIMARY KEY est totalement équivalente à la
contrainte UNIQUE NOT NULL.

CREATE TABLE Employes(


Id INTEGER (2) ,
Nom VARCHAR (20) ,

4
I.S.L.A.I.B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

Age INTEGER (2) UNIQUE


PRIMARY KEY (Id));

 CHECK (condition) : Vérifie lors de l’insertion de n-uplets que l’attribut réalise la


condition « condition ».

CREATE TABLE Employes(


Id INTEGER (2) NOT NULL,
Nom VARCHAR (20) NOT NULL,
Age INTEGER(2) UNIQUE CHECK (Age >= 18),
PRIMARY KEY (Id));

 DEFAULT valeur : Permet de spécifier la valeur par défaut de l’attribut.

CREATE TABLE Employes(


Id INTEGER (2) NOT NULL,
Nom VARCHAR (20) NOT NULL,
Age INTEGER (2) UNIQUE CHECK (Age >= 18),
Salaire INT(5) DEFAULT 800,
PRIMARY KEY (Id));

 Contraintes de table

Les différentes contraintes de table que l’on peut déclarer sont les suivantes :

 PRIMARY KEY (colonne, ...) : Désigne la concaténation des attributs cités comme clé
primaire de la table. Cette contrainte ne peut apparaître qu’une seule fois dans
l’instruction.
Cours 1 : Découvrir le langage SQL

 spécifier en fin de requête


CONSTRAINT nom PRIMARY KEY (attr1, attr2,...,attrN)

 UNIQUE (colonne, ...) : Désigne la concaténation des attributs cités comme clé
secondaire de la table. Dans ce cas, au moins une des colonnes participant à cette clé
secondaire doit permettre de distinguer le n-uplet. Cette contrainte peut apparaître
plusieurs fois dans l’instruction.
 spécifier en fin de requête
CONSTRAINT nom UNIQUE (attr1, attr2,...,attrN)

5
I.S.L.A.I.B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

 FOREIGN KEY (colonne, ...) REFERENCES table [(colonne, ...)] [ON DELETE
CASCADE | SET NULL] : Contrainte d’intégrité référentielle pour un ensemble
d’attributs de la table en cours de définition. Les valeurs prises par ces attributs
doivent exister dans l’ensemble d’attributs spécifié et posséder une contrainte
PRIMARY KEY ou UNIQUE dans la table.
 Spécifier en fin de requête
CONSTRAINT nom FOREIGN KEY (attr1, attr2,...,attrN)
REFERENCES table [(attr1, attr2,...,attrN)]

 CHECK (condition) : Cette contrainte permet d’exprimer une condition qui doit
exister entre plusieurs attributs de la ligne.
 Spécifier en fin de requête

CONSTRAINT nom CHECK (condition)

Les contraintes de tables portent sur plusieurs attributs de la table sur laquelle elles sont
définies. Il n’est pas possible de définir une contrainte d’intégrité utilisant des attributs
provenant de deux ou plusieurs tables.

 Complément sur les contraintes


 ON DELETE CASCADE : Demande la suppression des n-uplets dépendants, dans la
table en cours de définition, quand le n-uplet contenant la clé primaire référencée est
supprimé dans la table maître.
 ON DELETE SET NULL : Demande la mise à NULL des attributs constituant la clé
étrangère qui font référence au n-uplet supprimé dans la table maître. La suppression
d’un n-uplet dans la table maître pourra être impossible s’il existe des n-uplets dans
Cours 1 : Découvrir le langage SQL

d’autres tables référençant cette valeur de clé primaire et ne spécifiant pas l’une de ces
deux options.

Exemple :

create table clients


(idClient integer(2),
Nom varchar (10),
Prénom varchar (10),

6
I.S.L.A.I.B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

PRIMARY KEY (idClient)) ;

create table commandes

(id integer(2),

date date,

montant numeric(7,3),

idClient integer(2),,

PRIMARY KEY (id),

FOREIGN KEY (idClient) REFERENCES clients(idClient) ON DELETE CASCADE);

 Cette instruction SQL définit ainsi que lorsque l’on supprime un client, toutes les
commandes associées seront également automatiquement supprimées.
2. Suppression des tables :

L'instruction DROP TABLE permet de supprimer une définition de table ainsi que toutes les
données, index, déclencheurs, contraintes et spécifications de permission de cette table.

Remarque : Une fois la table supprimée, toutes les informations disponibles dans cette table
seront également définitivement perdues.

Syntaxe :

DROP TABLE nom_table;

Exemple :
Cours 1 : Découvrir le langage SQL

Pour supprimer la table Employes, vous devez exécuter la requête suivante :

DROP TABLE Employes;

3. Modifier la structure d'une table

La commande SQL ALTER TABLE permet d’ajouter, de supprimer ou de modifier des


colonnes dans une table existante.

7
I.S.L.A.I.B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

On peut également utiliser la commande ALTER TABLE pour ajouter et supprimer


diverses contraintes sur une table existante.

a. ALTER TABLE - ADD


 Ajouter une colonne

La syntaxe de base d'une commande ALTER TABLE pour ajouter une nouvelle colonne
dans une table existante est la suivante :

ALTER TABLE table_name


ADD (colonne1 type_donnees,
colonne1 type_donnees,
...
colonneN type_donnees);
Exemple :
La requête suivante ajoutera une colonne "adresse" à la table Employes

ALTER TABLE Employes ADD Adresse Varchar(100);

 Ajouter une contrainte :

ADD peut également être utilisé pour créer une contrainte sur les colonnes de la table

Syntaxe :

ALTER TABLE nom_table


ADD CONSTRAINT nom_contrainte contrainte
Cours 1 : Découvrir le langage SQL

Exemple :
La requête suivante, ajoutera une contrainte CHECK à la colonne Age.

ALTER TABLE Employes


ADD CONSTRAINT ageContrainte CHECK(Age >= 18);

b. ALTER TABLE - DROP

8
I.S.L.A.I.B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

 Supprimer une colonne :

DROP COLUMN est utilisé pour supprimer une colonne dans une table. Suppression des
colonnes indésirables de la table.

Syntaxe :

ALTER TABLE nom_table


DROP COLUMN nom_colonne;
Exemple :
Pour supprimer la colonne Age de la table Employes, on peut utiliser la requête suivante :

ALTER TABLE Employes


DROP COLUMN Age;

 Supprimer une contrainte

DROP CONSTRAINT peut également être utilisé pour supprimer une contrainte sur les
colonnes de la table

Syntaxe :

ALTER TABLE nom_table


DROP CONSTRAINT nom_contrainte;
Cours 1 : Découvrir le langage SQL

Exemple :
Pour supprimer la contrainte ageContrainte sur la colonne Age de la table Employes, vous
pouvez utiliser la requête suivante :

ALTER TABLE Employes


DROP CONSTRAINT ageContrainte;

c. ALTER TABLE - MODIFY


Elle est utilisée pour modifier les colonnes existantes dans une table. Plusieurs colonnes
peuvent également être modifiées à la fois.

9
I.S.L.A.I.B
Cours: Ingénierie de bases de données Enseignante: Mme Soussi Mouna
Niveau: 2ième LNSI

Syntaxe :

ALTER TABLE nom_table


MODIFY nom_colonne type_donnees;
Exemple :
Si on veut changer le type de données de la colonne Age de int à Date. On peut le faire en
utilisant la requête suivante :

ALTER TABLE Employes


MODIFY Age Date;

Cours 1 : Découvrir le langage SQL

10

Vous aimerez peut-être aussi