📘 CodingMarble Learn

Bases de données : SGBD, relations et clés

Quand les données sont rangées dans des fichiers séparés, on obtient des doublons, des contradictions et une mauvaise sécurité. Une base de données range des données liées au même endroit, et un SGBD (comme MySQL) est le logiciel qui la gère. Dans le modèle relationnel, les données sont dans des tables (relations) faites de colonnes (attributs) et de lignes (n-uplets) ; un domaine est l'ensemble des valeurs permises pour une colonne. Une clé candidate identifie chaque ligne de façon unique ; on en choisit une comme clé primaire et les autres deviennent des clés alternatives.

🎬 L'histoire pas à pas

  1. Des fichiers séparés répètent les données et finissent par se contredire. Une base de données garde une seule copie.
  2. Un SGBD se place entre les utilisateurs et les données et gère tout.
  3. Une table est une relation : les colonnes sont des attributs, les lignes sont des n-uplets.
  4. Un domaine est l'ensemble des valeurs qu'une colonne a le droit de prendre.
  5. Les clés candidates identifient chaque ligne. L'une devient la clé primaire ; les autres sont des clés alternatives.
  6. À toi de jouer : teste chaque colonne pour voir si elle peut être une clé.

Astuce : fais glisser la scène 3D pour la tourner. Utilise deux doigts pour zoomer.

🤔 Les doutes courants, éclaircis

Un tableur, ce n'est pas déjà une base de données ?

Un tableur peut contenir une table, mais un SGBD ajoute le partage entre plusieurs utilisateurs en même temps, des règles (clés, domaines), la sécurité et des requêtes puissantes.

Pourquoi appelle-t-on les lignes des n-uplets ?

En maths, un ensemble ordonné de valeurs s'appelle un n-uplet (tuple en anglais). Chaque ligne est un ensemble ordonné de valeurs, une pour chaque attribut.

Qui décide du domaine ?

Le concepteur de la base, à partir de règles réelles (classe 9 à 12, notes de 0 à 100). Ensuite le SGBD refuse les valeurs en dehors du domaine.

Si AdmNo et Email sont tous les deux uniques, pourquoi choisir AdmNo ?

Il est court, ne change jamais et chaque élève en a un. Les e-mails peuvent changer ou manquer.

Une clé peut-elle être faite de deux colonnes ?

Oui. Quand aucune colonne seule n'est unique, un groupe comme (Class, RollNo) peut servir de clé. C'est une clé composée.

Pourquoi a-t-on besoin d'une base de données ?

Dans un système de fichiers, chaque service garde ses propres fichiers. Cela pose des problèmes :

Une base de données est un ensemble organisé de données liées, rangées au même endroit, pour qu'elles puissent être partagées, restent cohérentes et soient protégées.

Système de gestion de base de données (SGBD)

Un SGBD est un logiciel qui sert à créer, enregistrer, modifier, chercher et gérer une base de données, et à contrôler qui peut l'utiliser. Exemples : MySQL, Oracle, PostgreSQL, SQLite, Microsoft Access.

Avantages : moins de redondance, cohérence, partage entre de nombreux utilisateurs, sécurité par mots de passe et autorisations, sauvegarde et récupération, et recherche facile avec un langage de requêtes (SQL).

Usages de tous les jours : banque, réservation de trains, dossiers scolaires, achats en ligne, hôpitaux.

Modèle relationnel : relation, attribut, n-uplet, domaine

Dans le modèle de données relationnel, les données sont rangées dans des tables.

Règles : chaque colonne a un nom unique ; l'ordre des lignes ou des colonnes n'a pas d'importance ; deux lignes ne sont jamais exactement identiques ; chaque case contient une seule valeur (ou NULL, qui veut dire inconnue).

Les clés : candidate, primaire et alternative

Exemple : STUDENT(AdmNo, Name, Class, Email). Name se répète, Class se répète, ce ne sont donc pas des clés. AdmNo et (s'il est toujours rempli et différent) Email sont des clés candidates. On choisit AdmNo comme clé primaire ; Email devient la clé alternative.

Bon à savoir aussi : une clé composée utilise deux colonnes ou plus ensemble (comme Class + RollNo) ; une clé étrangère est une colonne d'une table qui renvoie à la clé primaire d'une autre table, ce qui relie les deux.

Essaie : trouve la clé dans ta carte d'élève

Regarde ta carte d'élève ou ta carte de bus. Note chaque champ (nom, classe, numéro de liste, numéro d'inscription, téléphone). Pour chacun, pose-toi deux questions : deux élèves peuvent-ils avoir la même valeur ? Peut-il être vide ? Écris quels champs sont des clés candidates et lequel tu choisirais comme clé primaire. Puis fais le même test à l'étape 6 de la 3D.

Formules et définitions clés

Exemples résolus

1. Une table a 5 colonnes et 30 lignes. Donne son degré et sa cardinalité.

Degré = 5, cardinalité = 30.

2. On ajoute 2 lignes et 1 colonne à une table 4 × 10 (degré 4, cardinalité 10). Quelles sont les nouvelles valeurs ?

Degré = 5, cardinalité = 12.

3. EMPLOYEE(EmpID, Name, Aadhaar, Dept). Repère les clés candidates, primaire et alternative.

EmpID et Aadhaar sont uniques → clés candidates. On choisit EmpID comme clé primaire ; Aadhaar est la clé alternative. Name et Dept peuvent se répéter.

4. Pourquoi Name ne peut-il pas être la clé primaire de STUDENT ?

Deux élèves peuvent porter le même nom, donc il n'identifie pas une ligne de façon unique.

5. Donne le domaine d'un attribut Gender enregistré sous forme d'une seule lettre.

{"M", "F", "O"} (ou les codes que l'école autorise).

Erreurs fréquentes

Quiz d'entraînement

1. Une ligne d'une relation s'appelle un/une :
2. Le nombre de colonnes d'une relation est son :
3. Une clé candidate qui n'est pas choisie comme clé primaire est une :
4. Lequel est un SGBD ?
5. Les mêmes données rangées dans plusieurs fichiers, c'est de la :

Entraînement : réponds toi-même

Écris ou choisis ta réponse, puis appuie sur Vérifier. Prends un indice si tu bloques ; la solution complète s'affiche après ta réponse.

Questions fréquentes

À quoi sert une base de données ?

À éviter les données en double et incohérentes des fichiers séparés, et à partager, sécuriser et chercher les données facilement.

Quelle est la différence entre clé candidate, primaire et alternative ?

Chaque clé candidate peut identifier les lignes de façon unique ; celle qu'on choisit est la clé primaire ; les autres sont des clés alternatives.

Que sont le degré et la cardinalité ?

Le degré est le nombre de colonnes (attributs) ; la cardinalité est le nombre de lignes (n-uplets) d'une relation.

Où c'est enseigné

ItalySecondaria di secondo grado – classe 3ªTools and foundations
ItalySecondaria di secondo grado – classe 4ªTools and foundations
NetherlandsHAVO 5 (eindexamenjaar)Elective theme: Databases
NetherlandsVWO 6 (eindexamenjaar)Elective theme: Databases
PolandLiceum ogólnokształcące, klasa IIProgramming and solving problems with computers
RomaniaClasa a X-aDatabases
RomaniaClasa a XII-aModule 1: Databases (compulsory)
RomaniaClasa a XII-aModule 2: Database management systems (optional)
RomaniaClasa a XII-aModern user skills
RomaniaClasa a XII-aWorking with a database application
Ukraine9 класInformation systems and data management
Ukraine10 класBase module: database systems
CBSE (India)Class 11Database Concepts and SQL
CBSE (India)Class 11RDBMS
England (GCSE, A level)Year 113.7 Relational databases and SQL
Japan高校1年Networks and data
Japan高校(専門学科)1〜3年Using Software
Japan高校(専門学科)1〜3年Computer Systems Technology
Japan高校(専門学科)1〜3年Databases
South Korea고등학교 2학년Understanding data science
South Korea고등학교 3학년Data and information
Germany (Bavaria)Jahrgangsstufe 10Data modelling and relational databases
FranceSecondeThemes
FrancePremièreTabular data
FranceTerminaleSpecific option — management information systems
Russia9 классTheoretical foundations
Russia11 классInformation technologies

À voir d'abord

À voir ensuite