Fiche de cours

Découvrir le langage SQL

Lycée   >   Terminale   >   NSI   >   Découvrir le langage SQL

  • Fiche de cours
  • Quiz et exercices
  • Vidéos et podcasts
Objectif

Découvrir les commandes de base du langage SQL pour réaliser des requêtes d’interrogation et ainsi obtenir des informations sur une relation d’une base de données.

Points clés
  • Le langage SQL est un langage de requêtes structurées qui permet de définir, de manipuler et de contrôler les données d’un SGBD (système de gestion de base de données). Le langage SQL sert donc à dialoguer et interagir avec une base de données, en réalisant des requêtes SQL.
  • Une requête SQL est composée d’instructions SQL.
  • Pour créer une relation, il faut utiliser la requête SQL suivante :

    CREATE TABLE nom_de_la_relation (
      attribut1 type contrainte,
      attribut2 type contrainte,
      …

      PRIMARY KEY(attribut_clef_primaire)
      );

  • Pour obtenir les attributs d’une table, il faut utiliser l’instruction DESC.
  • Pour obtenir les données d’une table, il faut utiliser la requête SQL :
    SELECT
     attributs_que_l_on_veut FROM Nom_de_la_relation;
Pour bien comprendre
  • Base de données et schéma relationnel
  • Notion de SGBD (système de gestion de base de données)
1. Le langage SQL
Définition
Le langage SQL (Structured Query Langage) est un langage de requêtes structurées qui permet de définir, de manipuler et de contrôler les données d’un SGBD (système de gestion de base de données).

Le langage SQL sert donc à dialoguer et à interagir avec une base de données grâce à des requêtes SQL qui sont composées d’instructions.

Rappel
Un SGBD est un logiciel qui permet de gérer les bases de données : il donne l'accès aux données de façon simple, tout en autorisant un accès aux informations à de multiples utilisateurs.
Il permet également de manipuler les données présentes dans la base de données (insertion, suppression, modification).
Les commandes du langage SQL

Les commandes du langage SQL sont cataloguées en trois sous-langages : le DDL, le DML et le DCL.

Il est possible d’inclure des requêtes SQL dans un programme écrit dans différents langages grâce aux commandes de ces trois sous-langages, ou d’envoyer directement les requêtes SQL telles quelles au SGBD.

Un langage de définition de données

Le langage de définition de données se nomme DDL pour Data Definition Language. Il permet de créer des tables dans une base de données relationnelle, et de modifier ou supprimer des relations de ces tables.

Rappel
Une relation est une table qui contient différents enregistrements (lignes).
Un langage de manipulation des données

Le langage de manipulation des données se nomme DML pour Data Modification Language. Il permet de sélectionner, d’insérer, de modifier ou de supprimer des données dans une table d’une base de données relationnelle.

Un langage de contrôle de données

Le langage de contrôle de données se nomme DCL pour Data Control Language. Il permet de définir des permissions au niveau des utilisateurs d’une base de données relationnelle, afin d’empêcher les incohérences.

2. Créer ou supprimer une relation
a. Créer une relation
Pour créer une relation dans une base de données relationnelle, il faut utiliser l’instruction CREATE TABLE. On la fait suivre du nom de la relation, puis entre parenthèses de la liste des attributs.

On indique le typage (le type de la variable : entier, chaine de caractères, etc.) et parfois les contraintes de chaque attribut. Il faut également préciser l’attribut qui est la clé primaire de la relation.

Le tableau suivant liste les contraintes des attributs.

Contrainte Signification
NOT NULL Aucune case vide.
UNIQUE Aucune répétition de la valeur.
DEFAULT Valeur par défaut si rien n’est donné en entrée.
PRIMARY KEY L’attribut est une clé primaire.
FOREIGN KEY REFERENCES Donne les attributs correspondants aux clés étrangères.
Exemple
La requête SQL suivante permet de créer la relation table1.
Requête SQL Explication
CREATE TABLE table1( On crée la relation table1.

  id INT NOT NULL,
  nom VARCHAR(10),
  age INT,
  poids INT,

On crée les attributs de table1.
  • id est un entier avec comme contrainte une valeur obligatoire (car il y a NOT NULL).
  • nom est une chaine de caractères avec contrainte d’au plus 10 caractères (VARCHAR permet d’allouer de l’espace mémoire à une chaine de caractères stockée).
  • age est un entier.
  • poids est un entier.
  PRIMARY KEY(id)
  );
On définit que la clé primaire est id.
b. Supprimer une relation
Pour supprimer une relation dans une base de données relationnelle, il faut utiliser l’instruction DROP TABLE.
Exemple
Pour supprimer la relation table1, il faut taper la requête SQL :
DROP TABLE table1;
Remarque
Pour marquer la fin d’une action, on emploie « ; ».
3. Obtenir des informations / Lire des données

On va utiliser SQL en ligne pour lancer des requêtes.

a. Obtenir des informations sur une relation
Pour obtenir des informations sur une relation d’une base de données relationnelle, il faut utiliser l’instruction DESC (abréviation de describe), suivie du nom de la relation.

On obtient alors les attributs avec leur type et leurs contraintes (le fait qu’on accepte ou pas des champs vides).

Exemple
Pour obtenir les attributs de la relation table1 et leurs contraintes, on utilise la requête SQL : 
DESC table1;
Application
On utilise une base de données en ligne sur les aéroports, de l’université de Göttingen : http://www.semwebtech.org/sqlfrontend/.

On tape la requête SQL DESC AIRPORT; puis on appuie sur le bouton « send ».

On obtient le résultat suivant, qui nous donne les 10 attributs de la relation AIRPORT.

Les attributs de cette relation sont soit des nombres, soit des chaines de caractères d’au plus 2 caractères. La colonne NULLABLE indique si on peut se passer de remplir la cellule.

b. Chercher des informations
Pour extraire des données d’une relation d’une base de données relationnelle, il faut utiliser la requête SQL :

SELECT attributs FROM Nom de la relation;

Exemples
  • Pour sélectionner les attributs 1 et 2 de la relation table1, on utilise la requête SQL : 
    SELECT attribut1,attribut2 FROM table1;
  • Pour sélectionner tous les attributs de la relation table1, on utilise la requête SQL :
    SELECT * FROM table1;
Application
On utilise une base de données en ligne sur les aéroports de l’université de Göttingen : http://www.semwebtech.org/sqlfrontend/.

On exécute la requête SQL

SELECT IATACODE,COUNTRY FROM AIRPORT;

puis on appuie sur le bouton « send ».

 

On obtient la liste des 1319 codes IATA des aéroports (codes de trois lettres qui désignent les aéroports), ainsi que leur pays.
c. Classer des informations
Pour classer dans l’ordre croissant un attribut_choisi, il faut ajouter à l’instruction précédente :

ORDER BY attribut_choisi ASC

La requête SQL (instruction complète) est donc :

SELECT Attributs FROM relation
ORDER BY attribut_choisi ASC;

Pour classer dans l’ordre décroissant, il faut remplacer ASC par DESC.
Exemple
On considère la relation ELEVES dont le schéma est :
ELEVES(id, nom, prenom, annee_naissance).
  • Pour obtenir les données de cette relation classées dans l’ordre alphabétique des noms, on utilise la requête SQL :
    SELECT * FROM ELEVES ORDER BY nom ASC;
  • Pour obtenir les données de cette relation classées dans l’ordre inverse de l’ordre alphabétique des noms, on utilise la requête SQL :
    SELECT * FROM ELEVES ORDER BY nom DESC;
d. Créer/effacer une vue
Créer/effacer une vue permet de créer une table qui sera le résultat d’une requête.
Pour créer une vue nommée vue, qui contient les attributs attribut1 et attribut2 de la table1, il faut utiliser la requête SQL suivante :
   CREATE VIEW vue AS
     SELECT attribut1,attribut2 FROM table1;

Les vues sont éphémères, elles disparaissent lorsqu’on se déconnecte de la base de données.

On peut toutefois choisir de détruire une vue nommée vue en tapant la requête SQL :
DROP VIEW vue;

Évalue ce cours !

 

Des quiz et exercices pour mieux assimiler sa leçon

La plateforme de soutien scolaire en ligne myMaxicours propose des quiz et exercices en accompagnement de chaque fiche de cours. Les exercices permettent de vérifier si la leçon est bien comprise ou s’il reste encore des notions à revoir.

S’abonner

 

Des exercices variés pour ne pas s’ennuyer

Les exercices se déclinent sous toutes leurs formes sur myMaxicours ! Selon la matière et la classe étudiées, retrouvez des dictées, des mots à relier ou encore des phrases à compléter, mais aussi des textes à trous et bien d’autres formats !

Dans les classes de primaire, l’accent est mis sur des exercices illustrés très ludiques pour motiver les plus jeunes.

S’abonner

 

Des quiz pour une évaluation en direct

Les quiz et exercices permettent d’avoir un retour immédiat sur la bonne compréhension du cours. Une fois toutes les réponses communiquées, le résultat s’affiche à l’écran et permet à l’élève de se situer immédiatement.

myMaxicours offre des solutions efficaces de révision grâce aux fiches de cours et aux exercices associés. L’élève se rassure pour le prochain examen en testant ses connaissances au préalable.

S’abonner

Des vidéos et des podcasts pour apprendre différemment

Certains élèves ont une mémoire visuelle quand d’autres ont plutôt une mémoire auditive. myMaxicours s’adapte à tous les enfants et adolescents pour leur proposer un apprentissage serein et efficace.

Découvrez de nombreuses vidéos et podcasts en complément des fiches de cours et des exercices pour une année scolaire au top !

S’abonner

 

Des podcasts pour les révisions

La plateforme de soutien scolaire en ligne myMaxicours propose des podcasts de révision pour toutes les classes à examen : troisième, première et terminale.

Les ados peuvent écouter les différents cours afin de mieux les mémoriser en préparation de leurs examens. Des fiches de cours de différentes matières sont disponibles en podcasts ainsi qu’une préparation au grand oral avec de nombreux conseils pratiques.

S’abonner

 

Des vidéos de cours pour comprendre en image

Des vidéos de cours illustrent les notions principales à retenir et complètent les fiches de cours. De quoi réviser sa prochaine évaluation ou son prochain examen en toute confiance !

S’abonner

Découvrez le soutien scolaire en ligne avec myMaxicours

Plongez dans l'univers de myMaxicours et découvrez une approche innovante du soutien scolaire en ligne, conçue pour captiver et éduquer les élèves de CP à la terminale. Notre plateforme se distingue par une riche sélection de contenus interactifs et ludiques, élaborés pour stimuler la concentration et la motivation à travers des parcours d'apprentissage adaptés à chaque tranche d'âge. Chez myMaxicours, nous croyons en une éducation où chaque élève trouve sa place, progresse à son rythme et développe sa confiance en soi dans un environnement bienveillant.

Profitez d'un accès direct à nos Profs en ligne pour une assistance personnalisée, ou explorez nos exercices et corrigés pour renforcer vos connaissances. Notre assistance scolaire en ligne est conçue pour vous accompagner à chaque étape de votre parcours éducatif, tandis que nos vidéos et fiches de cours offrent des explications claires et concises sur une multitude de sujets. Avec myMaxicours, avancez sereinement sur le chemin de la réussite scolaire, armé des meilleurs outils et du soutien de professionnels dédiés à votre épanouissement académique.

Fiches de cours les plus recherchées

NSI

Administrer une base de données avec le langage SQL

NSI

Construire des requêtes d'interrogation à l'aide des clauses du langage SQL

NSI

Construire des requêtes d'insertion et de mise à jour à l'aide du langage SQL

NSI

Découvrir le système sur une puce

NSI

Comprendre la gestion de plusieurs processus

NSI

Comprendre la notion d'interblocage de processus

NSI

Comprendre les protocoles de routage

NSI

Introduire la cryptographie

NSI

Comprendre le chiffrement symétrique

NSI

Comprendre le chiffrement asymétrique