Bases de Donnees
Decouvre les bases de donnees : comment elles organisent, stockent et permettent d'acceder a des millions de donnees en quelques millisecondes.
Qu'est-ce qu'une base de donnees ?
Une base de donnees (BDD) est un ensemble organise de donnees stockees electroniquement, concu pour etre facilement accessible, gere et mis a jour.
Pourquoi une BDD plutot qu'un fichier ?
Fichier (CSV, Excel)
- - Limite a quelques milliers de lignes
- - Un seul utilisateur a la fois
- - Pas de securite integree
- - Recherche lente sur gros fichiers
Base de Donnees
- + Millions/milliards de lignes
- + Acces multi-utilisateurs simultanes
- + Securite et droits d'acces
- + Recherche ultra-rapide (index)
Exemples concrets : Facebook stocke plus de 100 petaoctets de donnees. Google traite 8,5 milliards de recherches par jour grace a ses bases de donnees !
Le SGBD (Systeme de Gestion)
Un SGBD (Systeme de Gestion de Bases de Donnees) est le logiciel qui permet de creer, gerer et interroger une base de donnees.
SGBD Relationnels (SQL)
- ● MySQL / MariaDB
- ● PostgreSQL
- ● SQLite
- ● Oracle, SQL Server
SGBD NoSQL
- ● MongoDB (documents)
- ● Redis (cle-valeur)
- ● Cassandra (colonnes)
- ● Neo4j (graphes)
Structure d'une BDD relationnelle
Table (Relation)
Ensemble d'enregistrements de meme structure. Ex: table "eleves", table "notes".
Enregistrement (Ligne / Tuple)
Une entite complete. Ex: un eleve avec son nom, age, classe.
Attribut (Colonne / Champ)
Une propriete des entites. Ex: "nom", "age", "classe".
Cle etrangere (Foreign Key)
Lien vers une autre table. Ex: id_classe dans "eleves" pointe vers la table "classes".
Exemple : 2 tables liees
Table: eleves
Table: classes
id_classe dans "eleves" fait reference a id dans "classes" (cle etrangere)
Operations CRUD
CRUD designe les 4 operations fondamentales sur les donnees : Create, Read, Update, Delete.
Create (INSERT)
INSERT INTO eleves (nom, age)
VALUES ('David', 16);Read (SELECT)
SELECT nom, age FROM eleves
WHERE age >= 16;Update (UPDATE)
UPDATE eleves
SET age = 17
WHERE nom = 'Alice';Delete (DELETE)
DELETE FROM eleves
WHERE id = 5;Python et SQLite
SQLite est une BDD legere integree a Python. Parfaite pour apprendre et les petits projets !
Creer et utiliser une BDD SQLite
import sqlite3
# Connexion (cree le fichier si inexistant)
conn = sqlite3.connect('ecole.db')
cursor = conn.cursor()
# Creer une table
cursor.execute('''
CREATE TABLE IF NOT EXISTS eleves (
id INTEGER PRIMARY KEY,
nom TEXT NOT NULL,
age INTEGER,
classe TEXT
)
''')
# Inserer des donnees
cursor.execute("INSERT INTO eleves (nom, age, classe) VALUES (?, ?, ?)",
("Alice", 15, "2nde3"))
conn.commit() # SauvegarderLire et interroger
# Lire tous les eleves
cursor.execute("SELECT * FROM eleves")
tous = cursor.fetchall()
for eleve in tous:
print(eleve)
# Filtrer
cursor.execute("SELECT nom FROM eleves WHERE age >= ?", (16,))
majeurs = cursor.fetchall()
# Fermer la connexion
conn.close()Quiz de validation
Question 1: Qu'est-ce qu'une base de donnees ?
Question 2: Que signifie SQL ?
Question 3: Quelle commande SQL permet de lire des donnees ?
Question 4: Qu'est-ce qu'une relation (ou table) dans une base de donnees ?
Question 5: Quelle est la difference principale entre SQL et NoSQL ?
A retenir
- ✓Une BDD stocke des donnees de maniere organisee et performante.
- ✓SQL = langage pour interroger les BDD relationnelles.
- ✓CRUD = Create, Read, Update, Delete (les 4 operations de base).
- ✓Python + SQLite = solution simple pour apprendre les BDD.
Dans ce cours
Progression du theme
6/11 cours completes
