Passer au contenu

Bases de données

Informatique IGCSE · Sujet 9

Entrainer
Leçon vidéo pour ce sujet Ouvrir la page vidéo
8:17

Bases de données

Avant les ordinateurs, une bibliothèque gardait un tiroir comme celui-ci. Une carte par livre, contenant chacun les mêmes quelques faits, tous rangés par ordre — afin qu'une bibliothécanière puisse trouver n'importe quel livre…

Narration en anglais · Sous-titres anglais + 中文 incrustés

Programme
Les candidats doivent être capables de : Notes et orientations
1 Définir une base de données à table unique à partir de besoins de stockage de données donnés • Y compris : – champs – enregistrements – validation
2 Suggérer des types de données de base appropriés • Y compris : – texte/alphanumérique – caractère – Booléen – entier – réel – date/heure
3 Comprendre la fonction d'une clé primaire et identifier une clé primaire appropriée pour une table de base de données donnée
4 Lire, comprendre et compléter des scripts SQL (Structured Query Language) pour interroger des données stockées dans une table de base de données unique • Limité à : – SELECT – FROM – WHERE – ORDER BY DESCENDING – ORDER BY ASCENDING – SUM – COUNT – AND – OR • Identification de la sortie donnée par une instruction SQL qui interrogera le contenu donné d'une table de base de données

Source : Programme Cambridge International

9.1

Qu'est-ce qu'une base de données ?

Une base de données 数据库 est un stockage organisé de données, conçu pour faciliter la recherche, le tri et la mise à jour. Au niveau IGCSE, vous travaillez avec une base de données à table unique 单表数据库 — toutes les données sont contenues dans une seule table.

Lignes de petits tiroirs étiquetés dans un catalogue de cartes de bibliothèque
Un catalogue de cartes de bibliothèque est une base de données sur papier — des enregistrements que vous pouvez rechercher et trier par indice
Lignes de serveurs dans un centre de données
Les grandes bases de données modernes sont stockées sur des serveurs dans des centres de données
Vocabulaire Entrainer
Anglais Chinois Pinyin
unique/juːˈniːk/ 唯一的 wéi yī de
9.2

Enregistrements et champs

Une table de base de données est constituée d'enregistrements et de champs.

  • Un enregistrement 记录 est une ligne unique dans la table — toutes les données concernant un élément (par exemple un élève).
  • Un champ 字段 est une colonne unique dans la table — un seul élément de données que chaque enregistrement possède (par exemple "Prénom").
StudentID FirstName DateOfBirth FormClass FeesPaid
1 Amy 14/03/2009 10A TRUE
2 Ben 02/11/2008 10B FAUX

Ici, chaque ligne est un enregistrement, et chaque colonne est un champ.

La table Élève avec chaque ligne étiquetée comme un enregistrement, chaque colonne comme un champ, et la colonne StudentID surlignée comme clé primaire
Chaque ligne est un enregistrement et chaque colonne est un champ ; la clé primaire (StudentID) est unique pour chaque enregistrement
9.3

Types de données pour les champs

Chaque champ stocke un seul type de données 数据类型. Vous choisissez le type qui correspond le mieux aux données.

Types de champs : texte (un nom), nombre (un âge), date/heure (un anniversaire), booléen (oui/non)
Types de champs : texte, nombre, date/heure et booléen
Type de données Utilisé pour Exemple
text/alphanumeric 文本 lettres, chiffres et symboles "10A", "Amy"
character 字符 un seul caractère 'M'
Boolean 布尔值 l'une de deux valeurs TRUE / FALSE
integer 整数 un nombre entier 42
réel 实数 un nombre avec une virgule décimale 3.5
date/time 日期时间 une date ou une heure 14/03/2009
Vocabulaire Entrainer
Anglais Chinois Pinyin
database/ˈdeɪtəbeɪs/ 数据库 shù jù kù
single-table database/ˈsɪŋɡl ˈteɪbl ˈdeɪtəbeɪs/ 单表数据库 dān biǎo shù jù kù
record/ˈrekɔːd/ 记录 jì lù
field/fiːld/ 字段 zì duàn
data type/ˈdeɪtə taɪp/ 数据类型 shù jù lèi xíng
text/alphanumeric/tekst ˌælfənjuːˈmerɪk/ 文本 wén běn
character/ˈkærɪktə/ 字符 zì fú
Boolean/ˈbuːlɪən/ 布尔值 bù ěr zhí
integer/ˈɪntɪdʒə/ 整数 zhěng shù
real/rɪəl/ 实数 shí shù
date/time/deɪt taɪm/ 日期时间 rì qī shí jiān
primary key/ˈpraɪməri kiː/ 主键 zhǔ jiàn
9.4

La clé primaire

Une clé primaire 主键 est un champ qui contient une valeur unique 唯一的 pour chaque enregistrement. Aucun enregistrement ne peut avoir la même clé primaire, ce qui permet d'identifier exactement un enregistrement.

Dans le tableau ci-dessus, StudentID est une bonne clé primaire car chaque élève a un numéro différent. Un champ comme FormClass serait une mauvaise clé primaire, car de nombreux élèves partagent la même classe.

9.5

Validation dans une base de données

Lorsque des données sont saisies dans une base de données, des validations 验证 vérifient qu'elles sont sensées — par exemple un contrôle de plage sur un champ âge, ou un contrôle de présence pour s'assurer qu'un champ n'est pas laissé vide. (Vous avez vu ces contrôles dans le sujet 7.)

Un contrôle de plage sur un champ âge accepte 16 mais rejette 200
Une vérification de plage accepte des valeurs sensées et rejette les autres
Vocabulaire Entrainer
Anglais Chinois Pinyin
validation/ˌvælɪˈdeɪʃn/ 验证 yàn zhèng
9.6

Langage de requête structuré (SQL)

Structured Query Language 结构化查询语言 (SQL) est un langage utilisé pour interroger 查询 une base de données — pour extraire les enregistrements souhaités. Vous devez comprendre et compléter des scripts SQL.

SELECT, FROM et WHERE

  • SELECT indique quels champs afficher.
  • FROM indique quelle table utiliser.
  • WHERE fournit une condition 条件, afin que seuls les enregistrements correspondants soient affichés.
Une requête SQL : SELECT name FROM students WHERE age > 15
SELECT sélectionne les champs, FROM nomme la table, WHERE définit la condition
SELECT FirstName, FormClass
FROM Student
WHERE FeesPaid = TRUE;

Cela affiche le prénom et la classe de chaque élève qui a payé ses frais.

Utilisez * pour sélectionner tous les champs :

SELECT *
FROM Student
WHERE FormClass = '10A';

ORDER BY

ORDER BY trie les résultats. Utilisez ASC pour un ordre croissant 升序 (le plus petit d'abord, A→Z) ou DESC pour un ordre décroissant 降序 (le plus grand d'abord, Z→A).

SELECT FirstName, DateOfBirth
FROM Student
ORDER BY DateOfBirth ASC;

AND et OR

Joignez les conditions avec AND (les deux doivent être vraies) ou OR (au moins l'une doit être vraie).

SELECT FirstName
FROM Student
WHERE FormClass = '10A' AND FeesPaid = FALSE;

SUM et COUNT

  • SUM additionne les valeurs d'un champ numérique.
  • COUNT compte combien d'enregistrements correspondent.
SELECT COUNT(StudentID)
FROM Student
WHERE FeesPaid = FALSE;

Ceci compte combien d'élèves n'ont pas payé. SUM fonctionne de la même manière mais additionne un champ numérique au lieu de compter les lignes.

Calculer la sortie

Pour trouver la sortie d'un script SQL, lisez-le dans cet ordre :

  1. FROM — quelle table ;
  2. WHERE — ne garder que les enregistrements correspondant à la condition ;
  3. SELECT — n'afficher que les champs choisis ;
  4. ORDER BY — ranger les résultats par ordre.
Quatre étapes dans l'ordre : FROM (quelle table), WHERE (garder les lignes correspondantes), SELECT (afficher les champs choisis), ORDER BY (trier les résultats)
Lisez une requête SQL dans cet ordre : FROM (quelle table), WHERE (quelles lignes), SELECT (quels champs), ORDER BY (trier)

En suivant ces étapes, vous pouvez noter exactement quelles lignes et quelles colonnes la requête retourne.

Exemple résolu. Une table Book a les champs Title, Author, Price et InStock. Écrivez une requête affichant le titre et le prix de chaque livre d'Orwell disponible, du moins cher au plus cher.

SELECT Title, Price
FROM Book
WHERE Author = 'Orwell' AND InStock = TRUE
ORDER BY Price ASC;

Construisez-la dans l'ordre de lecture : FROM nomme la table ; WHERE garde seulement les enregistrements correspondants, et comme il y a deux conditions, ils ont besoin de AND ; SELECT n'affiche que les deux champs demandés ; ORDER BY … ASC les trie. Les valeurs textuelles vont entre des guillemets, et seuls les champs demandés par la question appartiennent à SELECT - ajouter Author simplement parce que vous l'avez filtrée est le moyen le plus courant de perdre une marque ici.

Explorer

SELECT … WHERE

Parcourez une requête : WHERE filtre les lignes, SELECT choisit les colonnes.

Vocabulaire Entrainer
Anglais Chinois Pinyin
structured query language/ˈstrʌktʃəd ˈkwɪərɪ ˈlæŋɡwɪdʒ/ 结构化查询语言 jié gòu huà chá xún yǔ yán
query/ˈkwɪərɪ/ 查询 chá xún
condition/kənˈdɪʃn/ 条件 tiáo jiàn
ascending/əˈsendɪŋ/ 升序 shēng xù
descending/dɪˈsendɪŋ/ 降序 jiàng xù
9.7

Conseils d'examen

  • Un enregistrement est une ligne (toutes les données sur un élément) ; un champ est une colonne (un élément que chaque enregistrement possède).
  • Une clé primaire doit être unique pour chaque enregistrement, afin d'identifier exactement un enregistrement (StudentID, pas FormClass).
  • Apprenez les parties SQL : SELECT (quels champs), FROM (quelle table), WHERE (la condition), ORDER BY (tri, ASC ou DESC).
  • Lisez une requête dans l'ordre FROM → WHERE → SELECT → ORDER BY pour déterminer sa sortie.
  • COUNT compte les enregistrements correspondants ; SUM additionne un champ numérique.

Leçons interactives sur ce sujet

Traversez-le étape par étape, avec des exercices à vérification instantanée.

Épreuves Passées

Plus de sujets dans Informatique IGCSE

Se connecter ou créer un compte

IGCSE, A-Level & AP