SQL et Bases de Données Relationnelles

Classe SDA 7 2025-2026

Module 1

Introduction aux Bases de Données

1. Qu'est-ce qu'une Base de Données ?

Une base de données est un système organisé pour stocker, gérer et récupérer de grandes quantités d'informations de manière efficace, structurée et sécurisée. C'est le cœur de la plupart des applications modernes, des sites web aux systèmes financiers.

Illustration Base de Données
Architecture d'une base de données SQL
Analogie : La Bibliothèque Numérique

Sans base de données

C'est comme avoir une pile de livres en désordre dans une pièce. Pour trouver un livre précis, vous devez fouiller toute la pile. C'est lent et inefficace.

Avec une base de données

C'est comme une bibliothèque bien organisée. Les livres sont rangés dans des étagères spécifiques (les tables), chaque livre a une fiche descriptive (une ligne ou un enregistrement), et un système d'indexation vous permet de trouver n'importe quel livre en quelques secondes (une requête).

Le SGBD (Système de Gestion de Base de Données) est le "bibliothécaire" (le logiciel comme MySQL, PostgreSQL) qui gère tout cela pour vous.

Edgar F. Codd
Edgar F. Codd - Créateur du modèle relationnel (1970)

Théorisé en 1970, le modèle relationnel est le modèle de base de données le plus utilisé à ce jour. Il repose sur des principes simples et puissants : les données sont organisées dans des tables, et chaque table traite d'un sujet unique. L'objectif est d'éviter la redondance (le même élément de données ne doit pas se trouver à plusieurs endroits) et de garantir la cohérence.

2. Relationnel vs. Non Relationnel (SQL vs. NoSQL)

Il existe deux grandes familles de bases de données :

Relationnelle (SQL)

Structure : Organise les données dans des tables (comme des feuilles de calcul Excel) avec des lignes et des colonnes. Les tables peuvent être liées entre elles.

Langage : Utilise le langage SQL (Structured Query Language).

Idéal pour : Des données structurées avec des relations bien définies (ex: un système bancaire, un site e-commerce, un inventaire).

Non relationnelle (NoSQL)

Structure : Beaucoup plus flexible. Les données peuvent être stockées sous forme de documents (JSON), de graphes, etc.

Idéal pour : Des données non structurées ou semi-structurées, et des applications nécessitant une très grande échelle (ex: réseaux sociaux, données IoT).

Ce cours se concentre sur le monde relationnel (SQL), qui est le fondement de la majorité des applications d'entreprise.

Pourquoi utiliser une Base de Données (plutôt qu'un fichier Excel) ?

Caractéristique Fichier Excel Base de Données (SGBD)
Volume de données Limité, devient très lent avec des milliers de lignes. Conçue pour gérer des millions, voire des milliards de lignes.
Accès Simultané Difficile, une seule personne peut modifier à la fois. Gère des milliers d'accès simultanés de manière sécurisée.
Intégrité des Données Aucune. On peut facilement entrer du texte dans une colonne de dates. Contraintes strictes (ex: cette colonne ne peut contenir que des dates, celle-ci doit être unique).
Relations Manuelles et fragiles. Relations robustes entre les tables (ex: impossible de supprimer un client s'il a encore des commandes).
Sécurité Limitée à un mot de passe sur le fichier. Gestion fine des permissions (cet utilisateur peut lire, cet autre peut modifier...).

3. L'Écosystème des SGBD

Comprendre qu'il n'existe pas de "meilleure" base de données, mais des outils différents pour des besoins différents, et connaître les forces des acteurs majeurs du marché.

SGBD Type Idéal Pour... Caractéristique Clé
PostgreSQL Open Source Applications complexes, analyse de données, systèmes où l'intégrité et le respect des standards sont cruciaux. Le plus avancé et extensible des SGBD open source. "Le couteau suisse."
MySQL Open Source Applications Web (Blogs, CMS, E-commerce), applications nécessitant une grande vitesse de lecture. Le plus populaire et le plus facile à prendre en main. Au cœur de l'écosystème web (LAMP).
Oracle Commercial Très grandes entreprises, systèmes financiers, applications critiques nécessitant un support et des performances extrêmes. Le "poids lourd" de l'entreprise. Extrêmement puissant, mais complexe et cher.
SQLite Open Source Applications mobiles (Android, iOS), applications de bureau, petits sites web, tests. Une base de données complète dans un seul fichier. Incroyablement simple et légère.

4. Le Vocabulaire du Modèle Relationnel

Prenons l'exemple d'une bibliothèque dont la base de données possède une relation « livres » :

Table de livres
Exemple de relation (table) "livres"

Vocabulaire :

→ Relation, ou table

C'est l'endroit où sont rangées les données. L'ordre des lignes (que l'on appelera des enregistrements) n'a pas d'importance.

→ Enregistrement, ou tuple, ou n-uplet, ou t-uplet, ou vecteur

Cela correspond à une ligne du tableau, et donc un ensemble de valeurs liées entre elles : l'auteur « Eric VUILLARD » a bien écrit le livre « L'Ordre du jour ». Il est interdit que deux enregistrements soient totalement identiques. Le nombre d'enregistrements d'une relation s'appelle son cardinal.

→ Attribut

C'est l'équivalent d'une colonne. Il y a dans notre relation un attribut « code », un attribut « Titre », etc.

→ Domaine

Le domaine désigne « le type » (au sens type Int, Float, String). L'attribut « Éditeur » est une chaîne de caractères, son domaine est donc String. Par contre l'attribut « ISBN » est un nombre de 13 chiffres, commençant manifestement par 978. Son domaine est donc Int.

→ Schéma

Le schéma d'une relation est le regroupement de tous les attributs et de leur domaine respectif. Ici notre schéma serait :

((Code, Entier), (Titre, Chaîne de caractères), (Auteur, Chaîne de caractères), (Éditeur, Chaîne de caractères), (ISBN, Entier))