Les Bases de Donnees
Les bases de données sont au coeur de tout système d information moderne. Elles permettent de stocker, organiser et manipuler des volumes considerables de données de manière structuree. De Carrefour a Doctolib, toutes les entreprises s appuient sur des bases de données performantes.
Objectifs du chapitre
- Comprendre le modèle relationnel (entites, attributs, relations)
- Maîtriser les bases du langage SQL
- Garantir l integrite des données
- Connaitre les principaux SGBD du marche
1. Le modèle relationnel
1.1 Concepts fondamentaux
Le modèle relationnel, invente par Edgar F. Codd en 1970, est le modèle dominant pour organiser les données. Il repose sur des tables (ou relations) composees de lignes (enregistrements) et de colonnes (attributs).
Vocabulaire essentiel :
- Entite : objet du monde reel a modeliser (Client, Produit, Commande)
- Attribut : propriete d une entite (nom, prix, date)
- Tuple : ligne dans une table, represente une occurrence
- Relation : lien entre deux entites (un client passe des commandes)
1.2 Les clés
Les clés sont essentielles pour identifier les enregistrements et etablir des liens entre les tables.
Cle primaire (PK)
Identifiant unique de chaque enregistrement dans une table. Exemple : id_client, numero_commande.
Cle etrangere (FK)
Reference vers la cle primaire d une autre table. Permet de creer des relations entre tables.
Exemple concret : E-commerce
Table CLIENTS :
id_client (PK) | nom | email | villeTable COMMANDES :
id_commande (PK) | date | montant | id_client (FK)La cle etrangere id_client dans COMMANDES référence id_client dans CLIENTS.
1.3 Les types de relations
| Type | Description | Exemple |
|---|---|---|
| 1:1 (un a un) | Un enregistrement correspond a un seul autre | Un employe a un badge unique |
| 1:N (un a plusieurs) | Un enregistrement peut être lie a plusieurs autres | Un client passe plusieurs commandes |
| N:M (plusieurs a plusieurs) | Plusieurs enregistrements lies a plusieurs autres | Des produits dans plusieurs commandes |
2. Le langage SQL
SQL (Structured Query Language) est le langage standard pour interroger et manipuler les bases de données relationnelles. Il comprend plusieurs types d instructions.
2.1 SELECT - Interroger les données
L instruction SELECT permet de recuperer des données depuis une ou plusieurs tables.
-- Selectionner tous les clients
SELECT * FROM clients;
-- Selectionner certains champs avec condition
SELECT nom, email FROM clients WHERE ville = 'Paris';
-- Trier les résultats
SELECT * FROM produits ORDER BY prix DESC;
-- Jointure entre tables
SELECT c.nom, co.date, co.montant
FROM clients c
JOIN commandes co ON c.id_client = co.id_client;
2.2 INSERT - Ajouter des données
-- Inserer un nouveau client
INSERT INTO clients (nom, email, ville)
VALUES ('Dupont', 'dupont@email.fr', 'Lyon');
2.3 UPDATE - Modifier des données
-- Modifier l email d un client
UPDATE clients
SET email = 'nouveau@email.fr'
WHERE id_client = 42;
2.4 DELETE - Supprimer des données
-- Supprimer un client
DELETE FROM clients WHERE id_client = 42;
-- Attention : sans WHERE, supprime TOUT !
Attention au Bac
Toujours utiliser une clause WHERE avec UPDATE et DELETE pour eviter de modifier ou supprimer toutes les données de la table !
3. Integrite des données
L integrite des données garantit que les informations stockees sont correctes, coherentes et fiables.
Integrite d entite
Chaque table possede une cle primaire unique et non nulle. Aucun doublon n est permis.
Integrite referentielle
Les clés etrangeres doivent referencer des valeurs existantes dans la table parent.
Integrite de domaine
Les valeurs respectent le type et les contraintes definis (age positif, email valide).
Integrite utilisateur
Regles metier specifiques (un client ne peut avoir plus de 5 commandes en cours).
4. Les SGBD (Systemes de Gestion de Bases de Donnees)
Un SGBD est le logiciel qui permet de creer, gerer et interroger les bases de données. Il assure la securite, la performance et la coherence des données.
| SGBD | Type | Utilisation |
|---|---|---|
| MySQL / MariaDB | Open source | Sites web, PME, startups |
| PostgreSQL | Open source avance | Applications complexes, geospatial |
| Oracle Database | Commercial | Grandes entreprises, banques |
| Microsoft SQL Server | Commercial | Ecosysteme Microsoft, entreprises |
| SQLite | Embarque | Applications mobiles, navigateurs |
Cas pratique : Amazon
Amazon utilise des dizaines de types de bases de données selon les besoins : Amazon Aurora (SQL pour les transactions), DynamoDB (NoSQL pour la rapidite), Redshift (data warehouse pour l analyse). Cette architecture permet de traiter plus d 1,5 million de transactions par minute pendant les pics de Black Friday.
5. Synthese et points clés
A retenir pour le Bac :
- Le modèle relationnel organise les données en tables avec des clés primaires et etrangeres
- SQL permet de manipuler les données : SELECT, INSERT, UPDATE, DELETE
- L integrite des données garantit leur coherence et fiabilite
- Les SGBD (MySQL, Oracle, SQL Server) gerent les bases de données
Erreurs frequentes a eviter
- Oublier la clause WHERE dans UPDATE/DELETE
- Confondre cle primaire et cle etrangere
- Ne pas respecter l integrite referentielle
- Creer des doublons dans les tables
Pour aller plus loin
Le prochain chapitre abordera les reseaux et la communication, qui permettent aux bases de données d être accessibles a travers l entreprise et le monde entier.
