Vous êtes sur la page 1sur 5

COURS D’INFORMATIQUE TERMINALE C

UA7 : Implémentation d’une base de données

Leçon 20 &21 &22 : Généralités sur les bases de données et SGBD & Définition et manipulation des
données en SQL

Situation problème :
Questions d’orientation/consignes
Indicateurs de compétences : A la fin de cette leçon, l’élève doit être capable de :
 Citer quelques exemples de SGBD
 Lister les opérations de manipulation des données d’une base de données (insertion, modification, sélection,
suppression) ;
 Écrire les requêtes SQL de définition des données sur une seule table (CREATE, ALTER, DROP)
Introduction
Le SQL (Structured Query Language) en français (langage de requête structuré) est un langage Standard permettant à
un client de communiquer des instructions à la base de données. Il se décline en 04 parties et comme tout langage
possède une syntaxe bien précise avec des instructions permettant (types de données, contraintes d’intégrité) de
décrire les données qui seront manipulées.
Le SQL se décline en 4 parties qui sont :
 LDD (Langage de définition des données) : cela veut dire qu’il permet de créer des bases de données ainsi
que des tables dans une Base de données
 LMD (Langage de Manipulation des données) : cela signifie qu’il permet de sélectionner, insérer, modifier,
ou supprimer des données dans une base de données
 LCD (Langage de contrôle de données) : qui permet d’autoriser des actions à certaines personnes, d’ajouter
ou de supprimer des autorisations
 LCT (Langage de contrôle de transaction) : permettant de confirmer ou annuler l’exécution d’une
transaction
Dans le cadre de ce cours nous nous limiterons aux LDD et LMD.
I. QUELQUES EXEMPLES DE SGBD
Un SGBD (Système de Gestion de Base de Données) est un logiciel servant à stocker, à manipuler ou gérer, et à
partager des données dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations,
tout en cachant la complexité des opérations.
Il existe plusieurs SGBD comme, Microsoft-Access, MySQL, Oracle, SQL Server, PostgreSQL, DBase ,
Apache Derby, Sybase, Informix etc.
II. LES TYPES DE DONNEES UTILISEES EN SQL
SQL propose les types de données suivants :
 Numériques : INTEGER (Entier signé de 32 bits), SMALLINT (Entier signé de 16 bits), FLOAT
(Nombre à virgule flottante), DECIMAL(n, m) : Nombre de n chiffres [optionnellement m après la
virgule]
 Chaines de caractères : CHAR(n) (Chaîne de caractères de longueur fixe), VARCHAR(n) (Chaîne
de caractère de longueur variable, n caractères maximum), TEXT (n) (Permet de stocker du texte de
longueur variable. Une variable de type TEXT peut avoir du texte sur plusieurs lignes)
 Date : DATE (pour représenter une date sous le format ‘AAAA-MM-JJ’)
 Heure : TIME (pour représenter l’heure)

III. LES CONTRAINTES D’INTEGRITE EN SQL

NANA EMMANUEL 1
COURS D’INFORMATIQUE TERMINALE C

Ce sont des règles qui édictent les propriétés que doivent respecter les champs de la base de données afin de garantir
leur cohérence, leur pertinence et leur validité. Ces contraintes doivent être exprimées dès la création de la table
grâce aux mots clés suivants :
 CONSTRAINT : permet de spécifier une clé primaire ou clé étrangère
 DEFAULT : Permet de garantir qu’un champ ne sera pas vide
 NOT NULL : permet de spécifier qu’un champ doit être saisi
 UNIQUE : cette clause permet de vérifier que la valeur saisie pour un champ n’existe pas déjà.
 CHECK () : permet de faire un test sur un champ comportant une condition logique portant sur une valeur
entre les parenthèses.

IV. LANGAGE DE DEFINITION DES DONNEES


1) Créer et supprimer une base de données
a) Créer une base de données
Syntaxe : CREATE DATABASE [IF NOT EXISTS] database_name;
Exemple: CREATE DATABASE Lycée;
b) Supprimer une base de données
Syntaxe : DROP DATABASE database_name ;
Exemple : DROP DATABASE Lycée ;
2) Créer une table
La commande CREATE TABLE permet de créer une table en SQL. La création d’une table sert à
définir les colonnes et le type de données qui seront contenues dans chacune des colonnes.
Syntaxe : CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);
Exemple : CREATE TABLE Elève (
Matricule CHAR (5),
Nom VARCHAR (50),
Prénom VARCHAR (50),
Sexe CHAR (1),
Age INT (4),
Niveau VARCHAR (20),
Id_classe CHAR (10),
PRIMARY KEY (Matricule)
);
Exemple de création d’une table avec utilisation des contraintes :
CREATE TABLE Elève (
Matricule CHAR (5),
Nom VARCHAR (50),
Prénom VARCHAR (50),
Sexe CHAR (1) DEFAULT ‘M’,
Age INT (4), CHECK (Age < 25),
Niveau VARCHAR (20) NOT NULL,
Id_Classe CHAR (10),

NANA EMMANUEL 2
COURS D’INFORMATIQUE TERMINALE C

UNIQUE (Nom, Prénom),


PRIMARY KEY (Matricule),
CONSTRAINT FK_ClasseEleve FOREIGN KEY (Id_classe) REFERENCES Classe(Id_Classe)
);
3) Supprimer une table
Syntaxe : DROP TABLE table_name ;
Exemple : DROP TABLE Elève ;
4) Modification du schéma d’une table
La modification d’une table se fait à l’aide de la commande ALTER TABLE
a) Ajouter une colonne à la table (ADD)
Syntaxe : ALTER TABLE table_name ADD column_name datatype;
Exemple : ALTER TABLE Elève ADD TEL_Parent INT(8) ;
b) Supprimer une colonne (DROP/DROP CULUMN)
Syntaxe : ALTER TABLE table_name DROP COLUMN column_name;
Exemple : ALTER TABLE Elève DROP COLUMN TEL_parent ;
c) Modifier une colonne (MODIFY/MODIFY COLUMN) : change le type de la colonne
Syntaxe : ALTER TABLE table_name MODIFY column_name datatype;
Exemple : ALTER TABLE Elève MODIFY Sexe VARCHAR (10) ;
d) Renommer une colonne (RANAME/CHANGE)
Syntaxe : ALTER TABLE table_name RENAME COLUMN Old_name TO New_name datatype;
ALTER TABLE table_name CHANGE COLUMN Old_name TO New_name datatype;
Exemple : ALTER TABLE Elève RENAME COLUMN Id_classe TO Classe VARCHAR (20) ;

V. LANGAGE DE MANIPULATION DES DONNÉES


Le langage SQL propose quatre types de requêtes pour manipuler les données. Il s’agit de :
 La requête d’insertion ou d’ajout : permet de faire un enregistrement.
 La requête de modification : permet de modifier les valeurs des enregistrements.
 La requête de suppression : permet de supprimer des enregistrements.
 La requête de sélection ou d’interrogation : permet d’afficher des enregistrements

Soient les tables « Elève » et « Club » ci-dessous :

1) Requête d’insertion des données


Pour insérer un élément dans une table d’une base de données, on utilise le mot-clé INSERT INTO et sa
syntaxe est la suivante :
INSERT INTO nom_table (champ1, champ2 …champN)
VALUES ("val_champ1","val_champ2", … "val_champN") ;

NANA EMMANUEL 3
COURS D’INFORMATIQUE TERMINALE C

Exemple : Écrire la requête permettant d’ajouter dans la table « Élève », l’élève ayant les informations
suivantes : TA04, Abba, 18, Masculin.
INSERT INTO Élève (matricule, nom, sexe, âge)
VALUES ("TA01", "Abba", 18,"Masculin") ;
Nous pouvons aussi écrire simplement :
INSERT INTO Élève
VALUES ("TA01", "Abba", 18, "Masculin") ;
2) Requête de modification des données
Pour modifier les données dans une table, on utilise le mot-clé UPDATE.
Sa syntaxe est la suivante :
UPDATE Nom_table SET champ1=valeur1, champ2=valeur2, …, champN=valeurN WHERE condition ;
Exemple : Écrire la requête permettant de modifier l’âge de l’élève Abba qui a plutôt 20 ans
UPDATE Élève SET âge=20
WHERE matricule="TA04" ;
3) Requête de suppression d’enregistrement
Pour supprimer un enregistrement, on utilise le mot clé DELETE. Sa syntaxe est la suivante :
DELETE FROM nom_table WHERE condition ;
Exemple : Écrire la requête permettant de supprimer l’élève Abba de la base de données
DELETE FROM Élève
WHERE matricule="TA04" ;
4) Requête de sélection ou d’interrogation
Syntaxe : SELECT [DISTINCT] column_name1, column_name2, …, column_nameN
FROM table_name
[ WHERE condition]
[GROUP BY column_name (s)]
[ORDER BY column_name (s)] ;
 La clause SELECT permet de spécifier les attributs que l’on désire voir apparaître dans le résultat de
la requête. Le caractère étoile (*) permet de récupérer tous les attributs de la table générée par la
clause FROM.
 La clause FROM spécifie les tables sur lesquelles porte la requête
 La clause WHERE qui est facultative, indique une condition que doivent respecter les n-uplets
sélectionnés. Nous pouvons utiliser les opérateurs tels que : =, <, >, AND, OR, LIKE, BETWEEN <=,
>=, etc.
 La clause GROUP BY permet de définir des groupes
 La clause ORDER BY permet de trier les n-uplets du résultat par ordre croissant ou décroissant. Pour
cela, on utilise les mots-clés ASC (pour trier par ordre croissant) et DESC (pour trier par ordre
décroissant). Par défaut, les résultats sont classés par ordre ascendant ou croissant.
 Le mot clé DISTINCT permet d’éviter les redondances dans les résultats.
a) Sélection des données sans condition (ou projection)
La sélection des données sans condition est encore appelée projection.
EXEMPLE :
 SELECT Nom, Age FROM Élève ; permet d’afficher uniquement les noms et les âges des élèves.
 SELECT * FROM Élève ; permet d’afficher toute la table élève.
 SELECT nomClub FROM Club ; permet d’afficher les noms des clubs de la table Club.
On constate qu’il existe des doublons dans le résultat de la dernière requête.
 SELECT DISTINCT nomClub FROM Club ; permet d’afficher le résultat sans doublon
b) Sélection des données selon une condition (ou restriction)

NANA EMMANUEL 4
COURS D’INFORMATIQUE TERMINALE C

Une restriction est une sélection de données avec des critères (condition précisée dans la clause WHERE).
Exemple : Écrire la requête permettant d’afficher sans doublon le nom des élèves commençant par la lettre «
A » et dont l’âge est supérieur ou égal à 16 ans.
SELECT DISTINCT Nom, Age FROM Elève WHERE Nom LIKE "A%" AND Age >=16;
c) Tri des données
On parle de tri des données lorsque les données sélectionnées sont rangées soit dans l’ordre croissant, soit dans l’ordre
décroissant.
Exemple : Écrire la requête qui permet d’afficher les noms et les âges (par ordre décroissant) des élèves.
SELECT Nom, Age FROM Élève ORDER BY Age DESC;
d) Jointure
On parle de jointure lorsque les données sont sélectionnées dans plusieurs tables.
Exemple : Écrire la requête permettant d’afficher le nom, l’âge et le club des élèves
SELECT Nom, Age, nomClub FROM Elève, Club
WHERE Elève.Matricule=Club.Matricule ;

NANA EMMANUEL 5

Vous aimerez peut-être aussi