Vous êtes sur la page 1sur 13

SGBD

SQL

Interrogation d’une base de données


Langage SQL

Pereira D.

Lycée Camille Corot

20 novembre 2023

Pereira D. SQL
SGBD Définition
SQL Exemple

Une B.D.D doit être consultable par des utilisateurs ou par des
programmes. Or une base de données n’est qu’un fichier sur un
disque dur, voir un cluster de disques durs. Afin de pouvoir interagir
avec la base de données nous avons besoin d’un Système de
Gestion de Base de Données.
SGBD
Un système de gestion de base de données (SGBD) est le logiciel
qui permet à un ordinateur de stocker, récupérer, ajouter,
supprimer et modifier des données. Un SGBD gère tous les aspects
primaires d’une base de données, y compris la gestion de la
manipulation des données, comme l’authentification des
utilisateurs, ainsi que l’insertion ou l’extraction des données.

Les outils que nous utilisons tous au quotidien nécessitent des


SGBD en coulisse. Cela comprend les guichets automatiques
bancaires, les systèmes de réservation de vols, Pronote, ...

Pereira D. SQL
SGBD Définition
SQL Exemple

Le SGBD gère trois choses importantes :


les données,
le moteur de base de données qui permet d’accéder aux
données, de les verrouiller et de les modifier,
le schéma de base de données qui définit la structure logique
de la base de données.
Ces trois éléments fondamentaux assurent :
la concomitance,
la sécurité,
l’intégrité des données,
l’uniformité des procédures administratives.
Le SGBD offre une indépendance logique et physique des
données.

Pereira D. SQL
SGBD Définition
SQL Exemple

Ce SGBD peut être :


un serveur distant (Oracle, IBM, ...),
un logiciel installé sur l’ordinateur (DB Browser for SQLite par
exemple),
un module python (import sqlite3),
...

Pereira D. SQL
SGBD Définition
SQL Syntaxe

Le langage SQL
Pour interagir avec un SGBD, un langage « universel » de requêtes
a été créé : le langage SQL (depuis 1987).
Structured Query Language
Le langage SQL (Structured Query Language) est un langage
informatique déclaratif utilisé pour exploiter des bases de données
relationnelles.
Ce langage de requête structurée permet de :
définir des données : création de tables, ...
manipuler des données : rechercher, ajouter, modifier ou
supprimer des données dans les tables,
contrôler la sécurité des données : gestion des droits, des
transactions, ...
Nous n’étudierons cette année que la partie manipulation des
données.
Pereira D. SQL
SGBD Définition
SQL Syntaxe

Quelques règles / conventions du langage SQL :


une commande SQL se termine par un point-virgule
en général on écrit le nom des mots-clefs en MAJUSCULES
on place un seul mot-clef par ligne (pas obligatoire mais plus
simple au début)

select num_et from Etudiants where nom=’MALLET’ ;

SELECT num_et
FROM Etudiants
WHERE nom=’MALLET’ ;

Les deux instructions ci-dessus sont strictement équivalentes mais


la seconde est plus facile à lire.

Pereira D. SQL
SGBD Définition
SQL Syntaxe

Lire des données : SELECT ... FROM ... ;


Pour sélectionner des données, on utilise la commande

SELECT <nom des attributs séparés par une virgule>


FROM <nom de la relation> ;

Remarque :
le symbole * permet
de sélectionner tous
les attributs d’une table

Pereira D. SQL
SGBD Définition
SQL Syntaxe

SELECT ... FROM ... WHERE ... ;

On peut réduire les résultats en filtrant selon une condition.

SELECT <nom des attributs séparés par une virgule>


FROM <nom de la relation>
WHERE <conditions> ;

Pereira D. SQL
SGBD Définition
SQL Syntaxe

WHERE
Les conditions du WHERE se construisent avec les éléments
suivants :
comparaisons : <, =, >, <=, >=, <> (différent)
opérateurs logiques OR AND NOT
encadrements BETWEEN
chaînes de caractères : LIKE (% pour représenter plusieurs
caractères, _ pour un seul)

SELECT nom, prenom


FROM Etudiants
WHERE nom LIKE ’R%’ AND genre = ’F’ ;

Renvoie la liste (nom,prenom) des étudiants de sexe féminin dont le


nom commence par un R.

Pereira D. SQL
SGBD Définition
SQL Syntaxe

JOIN ... ON ...

Une jointure (commande JOIN ... ON ...) permet d’associer


plusieurs tables dans une même requête. En général, les jointures
consistent à associer des lignes de 2 tables en associant l’égalité des
valeurs d’un attribut d’une première table par rapport à la valeur
d’un attribut d’une seconde table.

SELECT <nom des attributs séparés par une virgule ou *>


FROM <relation1> JOIN <relation2> ON <relation1.attribut> = <relation2.attribut> ;

Cette commande est extrêmement utile. C’est notamment elle qui


permet d’éviter la redondance d’informations.

Pereira D. SQL
SGBD Définition
SQL Syntaxe

SELECT *
FROM Emprunts JOIN Etudiants ON Emprunts.num_et =
Etudiants.num_et ;

Cette requête permet de regrouper les lignes des tables Emprunts et


Etudiants ayant le même num_et. Les attributs de la table
Emprunts apparaîtront en premier.

Pereira D. SQL
SGBD Définition
SQL Syntaxe

DISTINCT et ORDER BY
Deux autres mots-clefs seront utiles cette année lors des requêtes
SELECT :
DISTINCT permet de ne renvoyer que des lignes différentes en
supprimant les doublons,
ORDER BY permet de trier les réponses dans l’ordre croissant
(ASC) ou décroissant (DESC) d’un attribut.

SELECT DISTINCT filiere, niveau


FROM Programme
ORDER BY nb_heures ASC ;

Remarque : on peut aussi utiliser les fonctions count(), min() et


max()
Question : pouvez-vous écrire une requête permettant de trouver le
nom et le prénom de tous les étudiants de la filière Informatique ?
Pereira D. SQL
SGBD Définition
SQL Syntaxe

Sources :
https://www.oracle.com/fr/database/
systeme-gestion-base-de-donnees-sgbd-definition.
html

https:
//fr.wikipedia.org/wiki/Structured_Query_Language

https://www.w3schools.com/sql/

Pereira D. SQL

Vous aimerez peut-être aussi