| 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 |
Bases de données
Informatique IGCSE · Sujet 9
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
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.


| 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.

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.

| 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 |
| 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.)

| 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
SELECTindique quels champs afficher.FROMindique quelle table utiliser.WHEREfournit une condition 条件, afin que seuls les enregistrements correspondants soient affichés.

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
SUMadditionne les valeurs d'un champ numérique.COUNTcompte 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 :
FROM— quelle table ;WHERE— ne garder que les enregistrements correspondant à la condition ;SELECT— n'afficher que les champs choisis ;ORDER BY— ranger les résultats par ordre.

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.
SELECT … WHERE
Parcourez une requête : WHERE filtre les lignes, SELECT choisit les colonnes.
| 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.
COUNTcompte les enregistrements correspondants ;SUMadditionne un champ numérique.
Leçons interactives sur ce sujet
Traversez-le étape par étape, avec des exercices à vérification instantanée.