Skip to content · ⁨Lompat ke konten⁩

Databases · ⁨Database⁩

IGCSE Computer Science · ⁨Ilmu Komputer IGCSE⁩ · Topic 9 · ⁨Topik 9⁩

Video lesson for this topic · ⁨Pelajaran video untuk topik ini⁩ Open the video page · ⁨Buka halaman video⁩
8:17

Database

Sebelum adanya komputer, perpustakaan menyimpan laci seperti ini. Satu kartu per buku, masing-masing berisi beberapa fakta yang sama, semuanya tersusun rapi — sehingga pustakawan dapat menemukan buku apa pun…

English narration · English + 中文 subtitles burned in · ⁨Narasi bahasa Inggris · Subtitle bahasa Inggris + 中文 disematkan langsung⁩

Syllabus · ⁨Silabus⁩
English
Candidates should be able to: Notes and guidance
1 Define a single-table database from given data storage requirements • Including: – fields – records – validation
2 Suggest suitable basic data types • Including: – text/alphanumeric – character – Boolean – integer – real – date/time
3 Understand the purpose of a primary key and identify a suitable primary key for a given database table
4 Read, understand and complete structured query language (SQL) scripts to query data stored in a single database table • Limited to: – SELECT – FROM – WHERE – ORDER BY DESCENDING – ORDER BY ASCENDING – SUM – COUNT – AND – OR • Identifying the output given by an SQL statement that will query the given contents of a database table
Bahasa Indonesia
Kandidat harus mampu: Catatan dan panduan
1 Definisikan basis data tabel tunggal berdasarkan persyaratan penyimpanan data yang diberikan • Termasuk: – bidang – rekord – validasi
2 Sarankan tipe data dasar yang sesuai • Termasuk: – teks/alfanumerik – karakter – Boolean – integer – real – tanggal/waktu
3 Pahami tujuan kunci utama dan identifikasi kunci utama yang sesuai untuk tabel basis data yang diberikan
4 Baca, pahami, dan lengkapi skrip bahasa query terstruktur (SQL) untuk querying data yang disimpan dalam tabel basis data tunggal • Terbatas pada: – SELECT – FROM – WHERE – ORDER BY MENURUN – ORDER BY NAIK – SUM – COUNT – AND – OR • Mengidentifikasi output yang dihasilkan oleh pernyataan SQL yang akan querying isi tabel basis data yang diberikan

Source: Cambridge International syllabus · ⁨Sumber: Silabus Cambridge International⁩

9.1

What is a database? · ⁨Apa itu database?⁩

English

A database 数据库 is an organised store of data, kept so that it is easy to search, sort and update. At IGCSE you work with a single-table database 单表数据库 — all the data is held in one table.

Bahasa Indonesia

Database adalah tempat penyimpanan data yang terorganisir, disimpan sedemikian rupa sehingga mudah dicari, diurutkan, dan diperbarui. Di IGCSE Anda bekerja dengan database satu tabel — semua data disimpan dalam satu tabel.

Baris laci kecil bertanda di katalog kartu perpustakaan *Katalog kartu perpustakaan adalah database berbasis kertas — rekaman yang dapat Anda cari dan urutkan berdasarkan indeks

Baris server di pusat data *Database modern berukuran besar disimpan di server di pusat data

Vocabulary · ⁨Kosa kata⁩ Train · ⁨Latih⁩
English Bahasa Indonesia
database/ˈdeɪtəbeɪs/ basis data
single-table database/ˈsɪŋɡl ˈteɪbl ˈdeɪtəbeɪs/ basis data tabel tunggal
record/ˈrekɔːd/ rekaman
9.2

Records and fields · ⁨Rekam dan bidang⁩

English

A database table is made of records and fields.

  • A record 记录 is one row in the table — all the data about one thing (for example one student).
  • A field 字段 is one column in the table — one piece of data that every record has (for example "First name").
StudentID FirstName DateOfBirth FormClass FeesPaid
1 Amy 14/03/2009 10A TRUE
2 Ben 02/11/2008 10B FALSE

Here each row is a record, and each column is a field.

Bahasa Indonesia

Tabel database terdiri dari rekam dan bidang.

  • Rekam adalah satu baris dalam tabel — seluruh data tentang satu hal (misalnya satu siswa).
  • Bidang adalah satu kolom dalam tabel — satu bagian data yang dimiliki setiap rekam (misalnya "Nama depan").
StudentID FirstName DateOfBirth FormClass FeesPaid
1 Amy 14/03/2009 10A TRUE
2 Ben 02/11/2008 10B FALSE

Di sini setiap baris adalah rekam, dan setiap kolom adalah bidang.

Tabel Siswa dengan setiap baris diberi label sebagai rekam, setiap kolom sebagai bidang, dan kolom StudentID disorot sebagai kunci utama *Setiap baris adalah rekam dan setiap kolom adalah bidang; kunci utama (StudentID) unik untuk setiap rekam

9.3

Data types for fields · ⁨Tipe data untuk bidang⁩

English

Each field stores one data type 数据类型. You choose the type that best fits the data.

Data type Used for Example
text/alphanumeric 文本 letters, digits and symbols "10A", "Amy"
character 字符 a single character 'M'
Boolean 布尔值 one of two values TRUE / FALSE
integer 整数 a whole number 42
real 实数 a number with a decimal point 3.5
date/time 日期时间 a date or a time 14/03/2009
Bahasa Indonesia

Setiap bidang menyimpan satu tipe data. Pilihlah tipe yang paling sesuai dengan datanya.

Tipe bidang: teks (nama), angka (usia), tanggal/waktu (ulang tahun), boolean (ya/t)
Tipe bidang: teks, angka, tanggal/waktu dan boolean
Tipe Data Digunakan Untuk Contoh
teks/alphanumeric huruf, digit, dan simbol "10A", "Amy"
karakter satu karakter 'M'
Boolean salah satu dari dua nilai TRUE / FALSE
integer bilangan bulat 42
real bilangan dengan titik desimal 3.5
tanggal/waktu tanggal atau waktu 14/03/2009
Vocabulary · ⁨Kosa kata⁩ Train · ⁨Latih⁩
English Bahasa Indonesia
field/fiːld/ medan
data type/ˈdeɪtə taɪp/ tipe data
text/alphanumeric/tekst ˌælfənjuːˈmerɪk/ teks/alfanumerik
character/ˈkærɪktə/ karakter
Boolean/ˈbuːlɪən/ Boolean
integer/ˈɪntɪdʒə/ integer
real/rɪəl/ real
date/time/deɪt taɪm/ tanggal/waktu
primary key/ˈpraɪməri kiː/ kunci utama
unique/juːˈniːk/ unik
9.4

The primary key · ⁨Kunci utama⁩

English

A primary key 主键 is a field that holds a unique 唯一的 value for every record. No two records can have the same primary key, so it lets you pick out exactly one record.

In the table above, StudentID is a good primary key because every student has a different number. A field like FormClass would be a bad primary key, because many students share the same class.

Bahasa Indonesia

Kunci utama adalah bidang yang menyimpan nilai unik untuk setiap rekam. Tidak ada dua rekam yang memiliki kunci utama sama, sehingga memungkinkan Anda memilih tepat satu rekam.

Dalam tabel di atas, StudentID adalah kunci utama yang baik karena setiap siswa memiliki nomor berbeda. Bidang seperti FormClass akan menjadi kunci utama yang buruk, karena banyak siswa berbagi kelas yang sama.

9.5

Validation in a database · ⁨Validasi dalam database⁩

English

When data is put into a database, validation 验证 checks make sure it is sensible — for example a range check on an age field, or a presence check so a field is not left empty. (You saw these checks in topic 7.)

Bahasa Indonesia

Ketika data dimasukkan ke dalam database, validasi memeriksa apakah data tersebut masuk akal — misalnya pengecekan rentang pada bidang usia, atau pengecekan keberadaan agar bidang tidak dibiarkan kosong. (Anda melihat pemeriksaan ini di topik 7.)

Pengecekan rentang pada bidang usia menerima 16 tetapi menolak 200
Pengecekan rentang menerima nilai yang masuk akal dan menolak sisanya
Vocabulary · ⁨Kosa kata⁩ Train · ⁨Latih⁩
English Bahasa Indonesia
validation/ˌvælɪˈdeɪʃn/ validasi
9.6

Structured Query Language (SQL)

English

Structured Query Language 结构化查询语言 (SQL) is a language used to query 查询 a database — to pick out the records you want. You must understand and complete SQL scripts.

SELECT, FROM and WHERE

  • SELECT says which fields to show.
  • FROM says which table to use.
  • WHERE gives a condition 条件, so only matching records are shown.

This shows the first name and class of every student who has paid the fees.

Use * to select all fields:

ORDER BY

ORDER BY sorts the results. Use ASC for ascending 升序 (smallest first, A→Z) or DESC for descending 降序 (largest first, Z→A).

AND and OR

Join conditions with AND (both must be true) or OR (at least one must be true).

SUM and COUNT

  • SUM adds up the values in a number field.
  • COUNT counts how many records match.

This counts how many students have not paid. SUM works the same way but adds a number field instead of counting rows.

Working out the output

To find the output of an SQL script, read it in this order:

  1. FROM — which table;
  2. WHERE — keep only the records that match the condition;
  3. SELECT — show only the chosen fields;
  4. ORDER BY — put the results in order.

Following these steps, you can write down exactly which rows and columns the query returns.

Worked example. A Book table has the fields Title, Author, Price and InStock. Write a query showing the title and price of every book by Orwell that is in stock, cheapest first.

Build it in the reading order: FROM names the table; WHERE keeps only the matching records, and because there are two conditions they need AND; SELECT shows only the two fields asked for; ORDER BY … ASC sorts them. Text values go in quotes, and only the fields the question asks for belong in SELECT - adding Author just because you filtered on it is the commonest way to lose a mark here.

Bahasa Indonesia

Structured Query Language (SQL) adalah bahasa yang digunakan untuk mengquery database — untuk mengambil rekam yang Anda inginkan. Anda harus memahami dan menyelesaikan skrip SQL.

SELECT, FROM dan WHERE

  • SELECT menentukan bidang mana yang akan ditampilkan.
  • FROM menentukan tabel mana yang akan digunakan.
  • WHERE memberikan syarat, sehingga hanya rekam yang cocok yang ditampilkan.
Query SQL: SELECT name FROM students WHERE age > 15
SELECT memilih bidang, FROM menamai tabel, WHERE menetapkan syarat
SELECT FirstName, FormClass
FROM Student
WHERE FeesPaid = TRUE;

Ini menampilkan nama depan dan kelas setiap siswa yang telah membayar biaya sekolah.

Gunakan * untuk memilih semua bidang:

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

ORDER BY

ORDER BY mengurutkan hasil. Gunakan ASC untuk naik (terkecil pertama, A→Z) atau DESC untuk turun (terbesar pertama, Z→A).

SELECT FirstName, DateOfBirth
FROM Student
ORDER BY DateOfBirth ASC;

AND dan OR

Gabungkan kondisi dengan AND (keduanya harus benar) atau OR (setidaknya satu harus benar).

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

SUM dan COUNT

  • SUM menjumlahkan nilai dalam bidang numerik.
  • COUNT menghitung berapa banyak rekam yang cocok.
SELECT COUNT(StudentID)
FROM Student
WHERE FeesPaid = FALSE;

Ini menghitung berapa banyak siswa yang belum membayar. SUM bekerja dengan cara yang sama tetapi menjumlahkan bidang numerik alih-alih menghitung baris.

Menghitung output

Untuk menemukan output dari skrip SQL, bacalah dalam urutan ini:

  1. FROM — tabel mana;
  2. WHERE — simpan hanya rekam yang sesuai dengan syarat;
  3. SELECT — tampilkan hanya bidang yang dipilih;
  4. ORDER BY — susun hasil secara berurutan.
Empat langkah berurutan: DARI (tabel mana), DI MANA (simpan baris yang cocok), PILIH (tampilkan bidang yang dipilih), URUTKAN BY (urutkan hasilnya)
Baca query SQL dalam urutan ini: DARI (tabel mana), DI MANA (baris mana), PILIH (bidang mana), URUTKAN BY (urutkan)

Mengikuti langkah-langkah ini, Anda dapat menuliskan secara tepat baris dan kolom apa yang dikembalikan oleh query.

Contoh terpecahkan. Tabel Book memiliki bidang Title, Author, Price dan InStock. Tulis query yang menampilkan judul dan harga setiap buku karya Orwell yang tersedia stok, termurah pertama.

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

Bangunlah sesuai urutan bacaan: FROM menyebut nama tabel; WHERE hanya menyimpan catatan yang cocok, dan karena ada dua syarat mereka memerlukan AND; SELECT hanya menampilkan dua bidang yang diminta; ORDER BY … ASC mengurutkannya. Nilai teks masuk ke dalam tanda kutip, dan hanya bidang yang diminta soal yang boleh berada di dalam SELECT - menambahkan Author hanya karena Anda memfilternya adalah cara paling umum untuk kehilangan poin di sini.

Explore · ⁨Jelajahi⁩

SELECT … WHERE

Step through a query: WHERE filters rows, SELECT picks columns. · ⁨Langkahkan melalui kueri: WHERE memfilter baris, SELECT memilih kolom.⁩

Vocabulary · ⁨Kosa kata⁩ Train · ⁨Latih⁩
English Bahasa Indonesia
structured query language/ˈstrʌktʃəd ˈkwɪərɪ ˈlæŋɡwɪdʒ/ structured query language
query/ˈkwɪərɪ/ query
condition/kənˈdɪʃn/ kondisi
ascending/əˈsendɪŋ/ meningkat
descending/dɪˈsendɪŋ/ menurun
9.7

Exam tips · ⁨Tips ujian⁩

English
  • A record is a row (all the data about one thing); a field is a column (one item that every record has).
  • A primary key must be unique for every record, so it picks out exactly one record (StudentID, not FormClass).
  • Learn the SQL parts: SELECT (which fields), FROM (which table), WHERE (the condition), ORDER BY (sort, ASC or DESC).
  • Read a query in the order FROM → WHERE → SELECT → ORDER BY to work out its output.
  • COUNT counts the matching records; SUM adds up a number field.
Bahasa Indonesia
  • Sebuah catatan adalah sebuah baris (semua data tentang satu hal); sebuah bidang adalah sebuah kolom (satu item yang dimiliki setiap catatan).
  • Sebuah kunci utama harus unik untuk setiap catatan, sehingga ia memilih tepat satu catatan (StudentID, bukan FormClass).
  • Pelajari bagian SQL: SELECT (bidang mana), FROM (tabel mana), WHERE (syaratnya), ORDER BY (urutkan, ASC atau DESC).
  • Bacalah query dengan urutan DARI → DI MANA → PILIH → URUTKAN BY untuk menentukan output-nya.
  • COUNT menghitung rekaman yang cocok; SUM menjumlahkan bidang angka.

Interactive lessons on this topic · ⁨Pelajaran interaktif untuk topik ini⁩

Work through it step by step, with instant-check exercises. · ⁨Kerjakan langkah demi langkah, dengan latihan pengecekan instan.⁩

Past Papers · ⁨Soal-Soil Masa Lalu⁩

More topics in IGCSE Computer Science · ⁨Ilmu Komputer IGCSE⁩ · ⁨Topik lain dalam IGCSE Computer Science · ⁨Ilmu Komputer IGCSE⁩⁩

Log in or create account · ⁨Masuk atau buat akun⁩

IGCSE, A-Level & AP