Physique-Chimie & NSI

Cours complets et originaux de Physique-Chimie & NSI

4-01. Principes et architectures

Les bases de données sont devenues des outils indispensables pour stocker, organiser et exploiter efficacement des volumes croissants de données, que ce soit dans les entreprises, les administrations ou notre vie quotidienne.

Historique

Avant les bases de données, les informations étaient stockées dans des fichiers plats, ce qui rendait la recherche et la gestion difficiles. Dans les années 1970, le modèle relationnel (tables, SQL) a révolutionné le domaine par sa simplicité et sa souplesse. Depuis, d’autres modèles (NoSQL, bases orientées documents, etc.) sont apparus pour répondre à de nouveaux besoins, mais les bases relationnelles restent très utilisées aujourd’hui.

Un fichier est dit « plat » (flat file) s’il est simple (du texte) et sans structure interne complexe, ce qui le distingue des autres types de fichiers ou des bases de données.

Généralités

  • Identifier les services rendus par un système de gestion de bases de données relationnelles : persistance des données, gestion des accès concurrents, efficacité de traitement des requêtes, sécurisation des accès.

Définition générale

Une base de données est un ensemble organisé d’informations, stockées de façon structurée, permettant de les retrouver, de les modifier et de les exploiter facilement. Elle sert à gérer efficacement de grandes quantités de données, souvent partagées entre plusieurs utilisateurs ou applications.

Exemples

  • Carnet d’adresses : stocke les noms, adresses, numéros de téléphone de contacts.
  • Bibliothèque : conserve la liste des livres, des auteurs, des emprunteurs, etc.
  • Gestion des élèves d’un lycée : enregistre les informations sur les élèves, les classes, les notes.

Données, base de données et SGBD

Les données sont les informations brutes (par exemple : « Dupont, Jean, 15 ans »).

Une base de données est un ensemble structuré de ces données, organisées selon un modèle précis pour faciliter leur stockage et leur consultation.

Un Système de Gestion de Base de Données (SGBD) est le logiciel qui permet de créer, manipuler et interroger la base de données. C'est lui qui gère les accès, maintient l'intégrité et assure la sécurité des données.

Exemple : une liste de noms sur une feuille de papier représente des données simples. Ces mêmes noms organisés par catégories dans un classeur forment une base de données basique. Un logiciel comme Access ou MySQL qui permet de rechercher, modifier et sécuriser ces informations est un SGBD.

À quoi ça sert ?

Les bases de données et leur SGBD sont conçues pour stocker, organiser et retrouver l’information de manière rapide et fiable, même lorsqu’il s’agit de très grandes quantités de données. On s’en sert partout : gestion des comptes bancaires, réseaux sociaux, systèmes d’information des entreprises, sites de commerce en ligne, etc.

Contrairement aux fichiers classiques, qui deviennent vite difficiles à manipuler dès que les données se multiplient, une base de données permet d’éviter les erreurs, de limiter les redondances et d’assurer la cohérence des informations. Elle offre aussi des outils puissants pour rechercher, trier ou croiser les données, ce qui facilite grandement leur exploitation et leur sécurisation.

Le dialogue client-serveur

Lorsqu'un utilisateur souhaite accéder à des informations stockées dans une base de données, un dialogue s'établit entre différents composants.

Tout commence par le client – qui peut être un site web, une application mobile ou un utilisateur exécutant directement des commandes SQL – formulant une requête précise (par exemple : « donne-moi la liste des clients ayant commandé plus de 1000 € ce mois-ci »).

Cette requête est alors transmise à travers le réseau jusqu'au serveur hébergeant la base de données.

Le Système de Gestion de Base de Données (SGBD) prend alors le relais : il analyse la requête, vérifie les droits d'accès, identifie les tables concernées, et exécute les opérations demandées (filtrage, tri, calculs, jointures entre tables, etc.). Une fois le traitement terminé, le SGBD renvoie uniquement les données pertinentes au client.

Base de données : client et serveur Requête Réponse Client Serveur (SGBD + BD)
Dialogue client-serveur lors d’une requête

Les différents types de BD

Le modèle relationnel

Le modèle relationnel, qui reste le plus répandu aujourd'hui, organise les données sous forme de tables (appelées aussi relations) composées de lignes et de colonnes. Chaque table représente un type d'entité (clients, produits, commandes...) et les relations entre ces entités sont gérées par des clés.

Exemple : Une base de données d'un lycée pourrait avoir une table « Élèves »

ID Nom Prénom Classe Date_Naissance
1 Martin Emma Terminale 1 15/03/2008
2 Dubois Lucas Première 2 27/09/2009

Et une table « Notes » qui serait liée à la table « Élèves » via l'ID de l'élève.

Les modèles non relationnels (NoSQL)

Face à de nouveaux besoins (données massives, structures variables, haute disponibilité), plusieurs alternatives au modèle relationnel sont apparus.

Exemple avec MongoDB : Au lieu d'avoir plusieurs tables reliées, on pourrait stocker un élève avec ses notes dans un seul document JSON.


			{
				"id": 1,
				"nom": "Martin",
				"prenom": "Emma",
				"classe": "Terminale 1",
				"date_naissance": "15/03/2008",
				"notes": [
					{ "matiere": "Mathématiques", "valeur": 16 },
					{ "matiere": "Physique", "valeur": 14 },
					{ "matiere": "NSI", "valeur": 18 }
				]
			}
		

Pourquoi différents modèles ?

Chaque modèle répond à des besoins spécifiques :

  • Le modèle relationnel excelle dans les applications où l'intégrité des données et les relations complexes sont prioritaires (gestion bancaire, systèmes d'information d'entreprise).
  • Les modèles NoSQL sont souvent plus adaptés aux applications web à grande échelle, aux données non structurées, ou aux cas nécessitant une extensibilité horizontale, c’est-à-dire la répartition de la BD sur plusieurs machines (réseaux sociaux, IoT, applications temps réel).

Le choix d'un modèle dépend donc de la nature des données à stocker, du volume attendu, des types de requêtes à effectuer et des exigences en termes de performance et de cohérence.

Fonctions d’un SGBD

Un Système de Gestion de Base de Données offre bien plus que le simple stockage d'informations. Il assure plusieurs fonctions essentielles :

  • Gestion des accès simultanés : il permet à plusieurs personnes de consulter ou modifier les données en même temps sans créer de conflits.
  • Contrôle des droits d'accès : il définit qui peut voir ou modifier quelles informations (par exemple, un élève ne peut pas modifier ses notes, mais un professeur le peut).
  • Rapidité des recherches : grâce à des techniques spéciales (comme les index), il peut retrouver rapidement une information parmi des millions de données.
  • Protection des données : il crée des sauvegardes et peut chiffrer les informations sensibles pour éviter les pertes ou les vols de données.
  • Vérification des données : il s'assure que les informations respectent certaines règles (par exemple, qu'une note est bien comprise entre 0 et 20).

Découvrir les bases de données relationnelles

Partie A. Une méthode (trop) simple

Madame B., professeur d’anglais, met à disposition de ses élèves des livres en anglais dont elle souhaite gérer les emprunts. Pour cela, elle a créé la table suivante dans une feuille de tableur. Quand un élève emprunte un livre elle ajoute une ligne contenant toutes les informations sur le livre et l’élève, ainsi que la date de l’emprunt. Quand l’élève rend le livre, elle efface la ligne correspond à l’ouvrage.

Titre Année Auteur Nationalité Carte Emprunteur Classe Date emprunt
Animal Farm 1945 George Orwell Britannique E073 Lucas 1e 2 19/09/2024
The Catcher in the Rye 1951 J.D. Salinger Américaine E102 Thomas 1e 2 26/09/2024
To Kill a Mockingbird 1960 Harper Lee Américaine E084 Julie 1e 1 03/10/2024
Lord of the Flies 1954 William Golding Britannique E092 Maxime 1e 1 22/10/2024
The Fault in Our Stars 2012 John Green Américaine E125 Nicolas 1e 2 04/11/2024
Pride and Prejudice 1813 Jane Austen Britannique E145 Sophie 2nde 1 15/11/2024
Brave New World 1932 Aldous Huxley Britannique E137 Emma 1e 1 05/12/2024
The Great Gatsby 1925 F. Scott Fitzgerald Américaine E118 Camille 2nde 1 08/01/2025
The Picture of Dorian Gray 1890 Oscar Wilde Irlandaise E081 Nicolas 1e 2 13/01/2025
The Curious Incident of the Dog in the Night-Time 2003 Mark Haddon Britannique E056 Emma 1e 1 17/02/2025
Of Mice and Men 1937 John Steinbeck Américaine E109 Chloé 1e 1 26/02/2025

1. Une méthode de gestion simple…

  1. Quels sont les descripteurs (= colonnes) de cette table ?
  2. Combien y a-t-il de livres empruntés ?
  3. Combien d’élèves ont emprunté un ou plusieurs livres ?
  4. Camille emprunte The Lord of The Ring: The Fellowship of the Ring de J.R.R Tolkien paru en 1954. Que doit faire Madame B. ?
  5. Pourquoi la méthode utilisée par Madame B. semble simple ?

2. … ou pas…

  1. Madame B. vient d’acheter un livre : Hyperion de Dans Simmons, édité en 1989. Que doit-on faire ?
  2. Maxime rend le seul livre qu’il a emprunté : Lord of the Flies. Que doit-on faire ?
  3. Il emprunte Animal Farm qui vient d’être rendu par Lucas. Que doit-on faire ? Qu’en pensez-vous ?
  4. Emma change de classe pour suivre la spécialité NSI. Elle est maintenant en 1ère 2. Que doit-on faire ?
  5. Quels livres sont disponibles à l’emprunt ?
  6. Pourquoi la méthode utilisée par Madame B. n’est finalement pas aussi si simple qu’elle paraissait ?

Partie B. Une méthode plus élaborée

Afin de mieux gérer les emprunts, Madame B. décide de créer plusieurs tables :

id titre année id_auteur
1 Animal Farm 1945 1
2 The Catcher in the Rye 1951 2
3 To Kill a Mockingbird 1960 3
4 Lord of the Flies 1954 4
5 The Fault in Our Stars 2012 5
6 Pride and Prejudice 1813 6
7 Brave New World 1932 7
8 The Great Gatsby 1925 8
9 The Picture of Dorian Gray 1890 9
10 The Curious Incident of the Dog in the Night-Time 2003 10
11 Of Mice and Men 1937 11
12 Hyperion 1989 12
13 The Lord of the Rings: The Fellowship of the Ring 1954 13
14 The Lord of the Rings: The Two Towers 1954 13
15 The Lord of the Rings: The Return of the King 1955 13
id nom nationalité
1 George Orwell Britannique
2 J.D. Salinger Américaine
3 Harper Lee Américaine
4 William Golding Britannique
5 John Green Américaine
6 Jane Austen Britannique
7 Aldous Huxley Britannique
8 F. Scott Fitzgerald Américaine
9 Oscar Wilde Irlandaise
10 Mark Haddon Britannique
11 John Steinbeck Américaine
12 Dan Simmons Américaine
13 J.R.R. Tolkien Britannique
id nom classe carte
1 Lucas 1e 2 E073
2 Thomas 1e 2 E102
3 Julie 1e 1 E084
4 Maxime 1e 1 E092
5 Nicolas 1e 2 E125
6 Sophie 2nde 1 E145
7 Emma 1e 1 E137
8 Camille 2nde 1 E118
9 Chloé 1e 1 E109
id_livre id_eleve date
1 1 19/09/2024
2 2 26/09/2024
3 3 03/10/2024
4 4 22/10/2024
5 5 04/11/2024
6 6 15/11/2024
7 7 05/12/2024
8 8 08/01/2025
9 5 13/01/2025
10 7 17/02/2025
11 9 26/02/2025

1. Une méthode de gestion plus élaborée.

  1. Camille emprunte Lord of the Rings: The Fellowship of the Ring. Que doit-on faire ?
  2. Combien y a t il de livres empruntés ?
  3. Combien d’élèves ont emprunté un ou plusieurs livres ?
  4. Madame B. vient d’acheter un livre : The Fall of Hyperion de Dan Simmons, édité en 1990. Que doit-on faire ?
  5. Un matin, Nicolas rend le seul livre qu’il a emprunté : The Fault in Our Stars. Que doit-on faire ?
  6. Le soir, il emprunte Lord of the Flies qui vient d’être rendu par Maxime. Que doit-on faire ? Qu’en pensez-vous ?
  7. Emma change de classe pour suivre la spécialité NSI. Elle est maintenant en 1ère 2. Que doit-on faire ?
  8. Quels livres sont disponibles à l’emprunt ?

2. Recherches dans une table donnée.

  1. Quel est le titre du livre paru en dernier ?
  2. Combien de livres ont été publiés après 1980 ?
  3. Quel est le prénom de l’emprunteur qui a un numéro de carte le plus récent ?
  4. Quels sont les prénoms des emprunteurs de Seconde 6, classés par ordre alphabétique ?

3. Recherches croisées.

  1. Quel est le nom de l’auteur du livre d’id 6 ?
  2. Quel est le titre du livre écrit par John Green ?
  3. Combien de livres a écrit J.R.R Tolkien ?
  4. Quels livres a empruntés Emma (classés par ordre alphabétique du titre) ?
  5. Quels livres ne sont pas empruntés (classés par date de parution) ?
  6. Qui a emprunté le livre le plus récent ?

4. Bilan. Que peut-on dire de cette méthode de gestion par rapport à celle de la partie A ?

Structure d’une base de données relationnelle

  • Identifier les concepts définissant le modèle relationnel (relation, attribut, domaine, clef primaire, clef étrangère, schéma relationnel)
  • Savoir distinguer la structure d’une base de données de son contenu.

Vocabulaire

Relations

La structure d’une base de données relationnelle repose sur des relations (au sens mathématique), que l’on représente sous la forme de tables à deux dimensions.

Le terme relationnel dans base de données relationnelle vient de la théorie mathématique des relations en algèbre relationnelle, et non du mot relation au sens courant (comme une relation entre deux personnes).

En mathématiques, une relation est un ensemble de tuples, où chaque tuple est une liste de valeurs.

Par exemple, une relation "Personnes" pourrait être un ensemble de tuples tels que : (Alice, 30, Paris), (Bob, 25, Lyon), etc.

L’exemple ci-dessous est une visualisation, sous forme d’une table, d’une relation dont le nom est Livres, qui permet de représenter des livres. Plusieurs livres sont représentés dans la relation.

id titre année id_auteur
1 Animal Farm 1945 1
2 The Catcher in the Rye 1951 2
3 To Kill a Mockingbird 1960 3
4 Lord of the Flies 1954 4
5 The Fault in Our Stars 2012 5
6 Pride and Prejudice 1813 6
7 Brave New World 1932 7
8 The Great Gatsby 1925 8
9 The Picture of Dorian Gray 1890 9
10 The Curious Incident of the Dog in the Night-Time 2003 10
11 Of Mice and Men 1937 11
12 Hyperion 1989 12
13 The Lord of the Rings: The Fellowship of the Ring 1954 13
14 The Lord of the Rings: The Two Towers 1954 13
15 The Lord of the Rings: The Return of the King 1955 13
Livres

Attributs

Dans cette relation, chaque livre est décrit par des caractéristiques : son identifiant, son titre, son année de parution et l’identifiant de l’auteur.

Toute caractéristique décrivant un élément d’une relation s’appelle attribut de la relation.

L’ensemble des attributs d’une relation constitue le schéma de la relation. Celui-ci se retrouve sur la ligne d’entête de la table.

Entrée et instance

On appelle « n-uplet » (ou plus souvent ligne ou entrée), toute ligne d’une relation. Il contient les caractéristiques d’un élément précis de la relation.

L’ensemble des entrées d’une relation compose une instance de la relation.

Pour résumer

Relation et termes associés id titre année id_auteur 1 Animal Farm 1945 1 2 The Catcher in the Rye 1951 2 3 To kill a Mockingbird 1960 3 Livres n-uplet ou entrée instance relation attribut
Relation et termes associés

Contraintes d’intégrité

Lorsqu’un utilisateur veut insérer des données dans une relation, il est nécessaire d’avoir des contrôles afin d’éviter des insertions de données aberrantes ou redondantes.

Une contrainte d’intégrité une propriété que les données doivent satisfaire. Les contraintes d’intégrité sont des règles qui édictent les propriétés que doivent respecter les valeurs des attributs afin de garantir leur cohérence, leur pertinence et leur validité.

Les différents types de contraintes d’intégrité

Contrainte de domaine

Elle a pour objectif d’éviter d’avoir des entrées incohérentes. Toute valeur d’attribut doit appartenir à un domaine défini pour cet attribut, qui est un ensemble (fini ou infini) de valeurs permises.

Contrainte d’unicité

Elle a pour objectif de permettre l’identification d’une entrée de façon unique afin d’éviter, par exemple, la redondance d’information. Pour cela, on va chercher un ou plusieurs attributs dont les valeurs permettent d’identifier une entrée de façon unique. Cet ensemble d’attributs s’appelle la clé primaire.

Contrainte d’inclusion

Elle a pour objectif de s’assurer qu’un attribut qui fait référence à une entrée d’une autre table a une valeur possible. Cet attribut est appelé une clé étrangère.

Précision à propos des clés étrangères

Dans une base de données relationnelle, la contrainte d'inclusion est un type de contrainte d'intégrité qui assure qu'un attribut faisant référence à une entrée dans une autre table possède une valeur existante dans cette table. Une clé étrangère est l'implémentation technique de cette contrainte - c'est un attribut (ou ensemble d'attributs) dans une table qui fait référence à la clé primaire d'une autre table. La contrainte d'inclusion définit donc le principe général (s'assurer que les références entre tables sont valides), tandis que la clé étrangère est le mécanisme concret qui établit et maintient cette relation, garantissant l'intégrité référentielle des données et permettant la création de liens structurés entre différentes tables.

Exemples dans la relation Livres :

  • Le domaine de l’attribut Titre pourrait correspondre à l’ensemble des chaînes de caractère comprenant entre 1 et 255 caractères ;
  • Le domaine de l’attribut Année pourrait correspondre à l’ensemble des entiers inférieurs ou égaux à l’année en cours.
  • La clé primaire de la table serait l’id. On peut en effet envisager que deux livres différents puissent avoir le même titre.
  • L’attribut id_auteur de la table Livres est une clé étrangère qui fait référence à une valeur d’attribut d’une autre table. Il faut s’assurer que la valeur utilisée dans la table Livres existe effectivement dans la table Auteur.

Schéma relationnel

Lorsqu’une base de données relationnelle contient plusieurs relations, on représente cette base sous la forme d’un schéma relationnel contenant l’ensemble des schémas des relations dans lesquels on indique, si elles existent, les clés primaires et les clés étrangères.

Titre LIVRES id titre date auteur EMPRUNTS id_livre id_eleves date EMPRUNTEURS id nom classe carte AUTEURS id nom nationalité
Schéma relationnel

Dans ce schéma, les clés primaire sont représentées en bleu et les clés étrangères sont représentées en vert.