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)
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.
NANA EMMANUEL 2
COURS D’INFORMATIQUE TERMINALE C
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