Najah.
Mon plan de révision⚡ Défi flash

Informatique · BTS & DUT (EST) — BTS

Bases de données relationnelles et langage SQL

Le cours expliqué simplement, les questions que tous les élèves se posent et des exercices type examen national. Programme marocain, gratuit.

📘 Fiche de cours

L'essentiel du cours

Une base de données relationnelle organise les données sous forme de tables. Chaque table possède des attributs (colonnes) et des tuples (lignes). La clé primaire (PK) identifie de manière unique chaque tuple. La clé étrangère (FK) assure le lien entre deux tables. Le langage SQL (Structured Query Language) permet de manipuler ces données via le DDL (Data Definition Language) pour la structure et le DML (Data Manipulation Language) pour les données.

Méthodes à maîtriser

  1. Modélisation : Passer du modèle conceptuel au modèle relationnel en respectant les cardinalités.
  2. Requêtes de sélection : Utiliser SELECT, FROM, WHERE, GROUP BY, HAVING et ORDER BY.
  3. Jointures : Maîtriser INNER JOIN (intersection) et LEFT JOIN (tous les éléments de la table gauche).
  4. Agrégats : Utiliser COUNT(), SUM(), AVG(), MIN(), MAX().

Exemples corrigés

  • Sélection simple : SELECT nom FROM Etudiant WHERE ville = 'Casablanca';
  • Jointure : SELECT E.nom, C.libelle FROM Etudiant E JOIN Classe C ON E.id_classe = C.id;

Erreurs fréquentes

  • Oublier la condition de jointure (ON ...), ce qui crée un produit cartésien.
  • Confondre WHERE (filtre les lignes) et HAVING (filtre les groupes après GROUP BY).
  • Ne pas respecter l'ordre des clauses SQL (SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY).

🌉 Jisr : les mots du chapitre FR ⇄ AR

Tu as appris les sciences en arabe ? Touche un mot pour voir sa traduction et une explication en darija.

La question que tu n'oses pas poser en classe ? Pose-la à UstadZéro jugement, même en darija, même à minuit. Il t'explique pas à pas et corrige ta démarche. Gratuit.

Défi flash : 4 questions

Sans compte

🎯 Bases de données relationnelles et langage SQL

1/4

Quelle clause permet de filtrer les résultats après un regroupement ?

❓ Questions fréquentes

C'est quoi la différence entre clé primaire et clé étrangère ?
  1. La clé primaire (PK) est un identifiant unique pour chaque ligne d'une table (ex: id_etudiant). Elle ne peut pas être nulle.
  2. La clé étrangère (FK) est un champ qui fait référence à la clé primaire d'une autre table pour créer une relation.

💡 À retenir : La PK garantit l'unicité, la FK garantit la cohérence référentielle.

kifach n3rf imta nst3ml INNER JOIN w imta LEFT JOIN ?
  1. INNER JOIN : Nst3mlouha ila bghina ghi lbyanat li kaynin f jdwlin bjouj (l'intersection).
  2. LEFT JOIN : Nst3mlouha ila bghina ga3 lbyanat li f ljadwal lli 3la lissr, 7ta ila kan chi 7aja makhdama f ljadwal lli 3la limn.

💡 À retenir : INNER = commun, LEFT = tout à gauche + commun.

Est-ce qu'on peut avoir deux clés primaires dans une table ?

Non, une table ne peut avoir qu'une seule clé primaire. Cependant, cette clé peut être "composée", c'est-à-dire formée par la combinaison de deux ou plusieurs colonnes.

💡 À retenir : Une clé primaire composée = plusieurs colonnes qui, ensemble, forment un identifiant unique.

chno hiya l'utilité dial GROUP BY ?

GROUP BY kankhdmo biha bach nchm3o (regrouper) lbyanat li 3ndhom nafs l9ima f chi 3amoud, bach nطبقو 3lihom des fonctions d'agrégation (b7al COUNT aw SUM).

💡 À retenir : GROUP BY = "regrouper par" pour faire des calculs statistiques.

Pourquoi le langage SQL est-il dit "déclaratif" ?

Parce qu'en SQL, on décrit "quoi" on veut obtenir (le résultat) et non "comment" l'obtenir (l'algorithme de recherche est géré par le SGBD).

💡 À retenir : Le SGBD optimise le chemin d'accès aux données tout seul.

kifach n7seb l'age dial les étudiants ila 3ndi ghi date de naissance ?
  1. On utilise la fonction DATEDIFF ou YEAR(CURRENT_DATE) - YEAR(date_naissance).
  2. La syntaxe exacte dépend du SGBD (MySQL, SQL Server, etc.).

💡 À retenir : La soustraction des années est la méthode la plus courante.

Quelle est la différence entre DELETE et DROP ?
  1. DELETE supprime les lignes (données) d'une table, mais la structure reste.
  2. DROP supprime la table entière (structure + données).

💡 À retenir : DELETE = effacer le contenu, DROP = détruire l'objet.

Est-ce que NULL est égal à 0 ?

Non, NULL signifie "valeur inconnue" ou "absence de valeur". 0 est une valeur numérique réelle.

💡 À retenir : NULL n'est pas 0, il ne peut pas être comparé avec = (on utilise IS NULL).

Peut-on faire une requête sans FROM ?

Oui, par exemple pour faire un calcul simple : SELECT 10 + 5;. Cela affiche le résultat sans lire de table.

💡 À retenir : Utile pour tester des fonctions ou des calculs rapides.

Pourquoi on normalise une base de données ?

Pour éviter la redondance (répétition inutile) des données et garantir l'intégrité (éviter les anomalies de mise à jour).

💡 À retenir : Normalisation = moins de place perdue et moins d'erreurs.

Comment trier les résultats par ordre décroissant ?

On utilise la clause ORDER BY suivie du nom de la colonne et du mot-clé DESC.

💡 À retenir : ASC pour croissant (par défaut), DESC pour décroissant.

Est-ce que le nom des tables doit être en majuscules ?

SQL n'est pas sensible à la casse pour les mots-clés, mais il est recommandé d'utiliser des minuscules pour les noms de tables pour éviter les problèmes de portabilité.

💡 À retenir : La convention est plus importante que la règle technique.

✍️ Exercices type examen national

Exercice 1

Soit la table Produit(id_p, nom_p, prix, stock). Écrire la requête SQL pour afficher le nom des produits dont le prix est supérieur à 100 DH et dont le stock est inférieur à 10.

Voir la correction détaillée : inscription gratuite

Exercice 2

Soit deux tables : Client(id_c, nom) et Commande(id_com, id_c, date_com). Écrire la requête pour afficher le nom du client et la date de ses commandes.

Voir la correction détaillée : inscription gratuite

Exercice 3

Soit la table Vente(id_v, produit, montant). Écrire une requête pour afficher la somme totale des montants par produit.

Voir la correction détaillée : inscription gratuite

Un prof de Informatique pour aller plus loin

Les cours du soir avec des profs vérifiés arrivent : inscris-toi pour être prévenu(e) en premier.

Être prévenu(e) gratuitement

Autres chapitres de Informatique