Trước khi có máy tính, thư viện giữ một ngăn kéo như thế này. Một thẻ cho mỗi cuốn sách, mỗi thẻ chứa cùng vài thông tin, tất cả đều được sắp xếp — để nhân viên thư viện có thể tìm thấy bất kỳ cuốn sách nào…
English narration · English + 中文 subtitles burned in · Giọng đọc tiếng Anh · phụ đề tiếng Anh + 中文 được ghi trực tiếp
Syllabus · Chương trình
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
Tiếng Việt
Thí sinh cần có thể:
Ghi chú và hướng dẫn
1 Định nghĩa một cơ sở dữ liệu bảng đơn từ các yêu cầu lưu trữ dữ liệu đã cho
• Bao gồm: – trường – bản ghi – xác thực
2 Gợi ý các kiểu dữ liệu cơ bản phù hợp
• Bao gồm: – văn bản/alphanumeric – ký tự – Boolean – số nguyên – số thực – ngày/giờ
3 Hiểu mục đích của khóa chính và xác định khóa chính phù hợp cho bảng cơ sở dữ liệu đã cho
4 Đọc, hiểu và hoàn thành ngôn ngữ truy vấn có cấu trúc (SQL) để truy vấn dữ liệu được lưu trữ trong một bảng cơ sở dữ liệu đơn
• Giới hạn ở: – SELECT – FROM – WHERE – ORDER BY DESCENDING – ORDER BY ASCENDING – SUM – COUNT – AND – OR • Xác định kết quả trả về bởi một câu lệnh SQL sẽ truy vấn nội dung đã cho của bảng cơ sở dữ liệu
Source: Cambridge International syllabus · Nguồn: Chương trình Cambridge International
9.1
What is a database? · Cơ sở dữ liệu là gì?
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.
Tiếng Việt
Một cơ sở dữ liệu là nơi lưu trữ dữ liệu có tổ chức, giúp dễ dàng tìm kiếm, sắp xếp và cập nhật. Trong kỳ thi IGCSE, bạn sẽ làm việc với cơ sở dữ liệu một bảng — tất cả dữ liệu được lưu trong một bảng duy nhất.
Danh mục thẻ thư viện là một cơ sở dữ liệu trên giấy — các bản ghi mà bạn có thể tìm kiếm và sắp xếp theo chỉ mụcCác cơ sở dữ liệu lớn hiện đại được lưu trữ trên các máy chủ trong trung tâm dữ liệu
9.2
Records and fields · Bản ghi và trường dữ liệu
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.
Tiếng Việt
Bảng cơ sở dữ liệu được tạo thành từ các bản ghi và các trường dữ liệu.
Một bản ghi là một hàng trong bảng — toàn bộ dữ liệu về một đối tượng cụ thể (ví dụ: một học sinh).
Một trường dữ liệu là một cột trong bảng — một mảnh thông tin mà mọi bản ghi đều có (ví dụ: "Tên").
StudentID
FirstName
DateOfBirth
FormClass
FeesPaid
1
Amy
14/03/2009
10A
TRUE
2
Ben
02/11/2008
10B
FALSE
Ở đây, mỗi hàng là một bản ghi, và mỗi cột là một trường dữ liệu.
Mỗi hàng là một bản ghi và mỗi cột là một trường dữ liệu; khóa chính (StudentID) là duy nhất cho mỗi bản ghi
9.3
Data types for fields · Các loại dữ liệu cho trường
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
Tiếng Việt
Mỗi trường lưu trữ một loại dữ liệu. Bạn chọn loại phù hợp nhất với dữ liệu đó.
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.
Tiếng Việt
Một khóa chính là một trường chứa giá trị duy nhất cho mỗi bản ghi. Không có hai bản ghi nào có cùng khóa chính, vì vậy nó cho phép bạn xác định chính xác một bản ghi.
Trong bảng trên, StudentID là một khóa chính tốt vì mỗi học sinh có một con số khác nhau. Một trường như FormClass sẽ là một khóa chính kém, vì nhiều học sinh cùng thuộc một lớp.
9.5
Validation in a database · Xác thực dữ liệu trong cơ sở dữ liệu
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.)
Tiếng Việt
Khi dữ liệu được nhập vào cơ sở dữ liệu, các kiểm tra xác thực đảm bảo dữ liệu hợp lý — ví dụ: kiểm tra phạm vi cho trường tuổi, hoặc kiểm tra sự tồn tại để đảm bảo trường không để trống. (Bạn đã gặp các kiểm tra này trong chủ đề 7.)
Kiểm tra khoảng giá trị chấp nhận các giá trị hợp lý và loại bỏ phần còn lại
Structured Query Language (SQL) · Ngôn ngữ truy vấn có cấu trúc (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:
FROM — which table;
WHERE — keep only the records that match the condition;
SELECT — show only the chosen fields;
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.
Tiếng Việt
Ngôn ngữ truy vấn có cấu trúc (SQL) là ngôn ngữ dùng để truy vấn cơ sở dữ liệu — để lấy ra các bản ghi bạn mong muốn. Bạn cần hiểu và viết được các đoạn mã SQL.
SELECT, FROM và WHERE
SELECT chỉ định các trường nào cần hiển thị.
FROM chỉ định bảng nào cần sử dụng.
WHERE đưa ra một điều kiện, để chỉ những bản ghi khớp mới được hiển thị.
SELECT chọn trường, FROM nêu tên bảng, WHERE đặt điều kiện
SELECT FirstName, FormClass
FROM Student
WHERE FeesPaid = TRUE;
Câu này hiển thị tên và lớp của tất cả các học sinh đã thanh toán học phí.
Sử dụng * để chọn tất cả các trường:
SELECT *
FROM Student
WHERE FormClass = '10A';
ORDER BY
ORDER BY sắp xếp kết quả. Sử dụng ASC để tăng dần (nhỏ nhất trước, A→Z) hoặc DESC để giảm dần (lớn nhất trước, Z→A).
SELECT FirstName, DateOfBirth
FROM Student
ORDER BY DateOfBirth ASC;
AND và OR
Kết nối các điều kiện bằng AND (cả hai đều phải đúng) hoặc OR (ít nhất một phải đúng).
SELECT FirstName
FROM Student
WHERE FormClass = '10A' AND FeesPaid = FALSE;
SUM và COUNT
SUM cộng tổng các giá trị trong một trường số.
COUNT đếm số lượng bản ghi khớp.
SELECT COUNT(StudentID)
FROM Student
WHERE FeesPaid = FALSE;
Câu này đếm số học sinh chưa thanh toán. SUM hoạt động tương tự nhưng cộng một trường số thay vì đếm số hàng.
Tính toán đầu ra
Để tìm đầu ra của một đoạn mã SQL, hãy đọc theo thứ tự sau:
FROM — bảng nào;
WHERE — giữ lại chỉ những bản ghi khớp với điều kiện;
SELECT — chỉ hiển thị các trường đã chọn;
ORDER BY — sắp xếp kết quả theo thứ tự.
Đọc một truy vấn SQL theo thứ tự này: FROM (bảng nào), WHERE (những hàng nào), SELECT (những trường nào), ORDER BY (sắp xếp)
Theo các bước này, bạn có thể xác định chính xác những hàng và cột mà truy vấn sẽ trả về.
Ví dụ minh họa. Một bảng Book có các trường là Title, Author, Price và InStock. Viết một truy vấn hiển thị tiêu đề và giá của tất cả các sách của Orwell đang có sẵn, sắp xếp từ rẻ nhất lên đắt nhất.
SELECT Title, Price
FROM Book
WHERE Author = 'Orwell' AND InStock = TRUE
ORDER BY Price ASC;
Xây dựng theo thứ tự đọc: FROM đặt tên bảng; WHERE chỉ giữ lại các bản ghi khớp, và vì có hai điều kiện nên chúng cần AND; SELECT chỉ hiển thị hai trường được yêu cầu; ORDER BY … ASC sắp xếp chúng. Giá trị văn bản phải nằm trong dấu ngoặc kép, và chỉ những trường mà câu hỏi yêu cầu mới thuộc về SELECT - thêm Author chỉ vì bạn đã lọc theo nó là cách phổ biến nhất để mất điểm ở đây.
Explore · Khám phá
SELECT … WHERE
Step through a query: WHERE filters rows, SELECT picks columns. · Lặp qua truy vấn: WHERE lọc các hàng, SELECT chọn các cột.
Pick one and the site follows you — notes, papers, videos and practice all open on it. · Chọn một môn và trang sẽ điều hướng theo — ghi chú, tài liệu, video và bài tập đều mở ở đó.
Type to search notes, lessons, code, vocabulary and past-paper questions across every subject. · Nhập để tìm ghi chú, bài học, mã, từ vựng và câu hỏi đề thi cũ trên mọi môn học.