Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài

Tóm tắt lý thuyết Tin học lớp 11 Bài 20: Thực hành tạo lập các bảng có khoá ngoài hay, chi tiết sách Kết nối tri thức sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 11.

1 11,871 08/08/2026


Lý thuyết Tin học 11 Bài 20: Thực hành tạo lập các bảng có khoá ngoài

A. Kiến thức trọng tâm Tin học 11 Bài 20: Thực hành tạo lập các bảng có khoá ngoài

Nhiệm vụ. Tạo lập bảng bannhac với cấu trúc:

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

Hướng dẫn:

1. KHAI BÁO BẢNG BANNHAC VỚI CÁC TRƯỜNG IDBANNHAC, TENBANNHAC

 Chọn thẻ Tạo mới, chọn Bảng. Nhập tên: bannhac, chọn Thêm mới để thêm trường dữ liệu, một trường với tên mặc định Column1 sẽ xuất hiện phía dưới.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

 Nhập tên: idBannhac, chọn kiểu dữ liệu INT, bỏ đánh dấu ô Allow NULL, nháy chuột vào ô No default để chọn giá trị mặc định là AUTO_INCREMENT.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

 Để khai báo thêm trường tiếp theo, nhấn Ctrl+Insert hoặc nháy nút phải chuột vào phần dưới dòng idBannhac và chọn Add column.  Nhập: tenBannhac, chọn kiểu VARCHAR, độ dài 255, giá trị mặc định là kí tự rỗng “.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

2. KHAI BÁO CÁC TRƯỜNG LÀ KHÓA NGOÀI

 Các trường là khóa ngoài của bảng là các trường tham chiếu đến một trường khóa chính (k) của một bảng khác vì vậy cần được khai báo giá trị mặc định phù hợp với giá trị tương ứng của k.  Ví dụ, bảng bannhac, trường idNhacsi tham chiếu đến trường idNhacsi (kiểu INT) của bảng nhacsi nên giá trị của trường này cũng là INT và giá trị mặc định là một số nguyên, chẳng hạn là 0.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

3. KHAI BÁO CÁC TRƯỜNG KHÓA

 a) Khai báo khóa chính: idBannhac

 Nháy nút phải chuột vào ô idBannhac, chọn Create new index, chọn PRIMARY.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

 b) Khai báo khóa chống trùng lặp

 Cặp (tenBannhac, idNhacsi) không được trùng lặp giá trị nên phải khai báo khóa cấm trùng lặp. Đánh dấu hai trường này, nháy nút phải chuột vào vùng đánh dấu và chọn Create new index, chọn UNIQUE.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

 c) Khai báo các khóa ngoài

 Để khai báo khóa ngoài idNhacsi, chọn thẻ Foreign Key.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

 Nháy chuột vào ô dưới dòng Columns và chọn trường khóa ngoài là idNhacsi rồi chọn OK.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

 Nháy chuột vào ô phía dưới Refenrence table để chọn bảng tham chiếu là nhacsi và chọn OK.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

 Tiếp theo chọn trường tham chiếu trong bảng nhacsi.

Lý thuyết Tin học 11 Bài 20 (Kết nối tri thức): Thực hành tạo lập các bảng có khoá ngoài (ảnh 1)

 Cuối cùng nháy chuột chọn Lưu để kết thúc khai báo và khởi tạo bảng bannhac

B. Bài tập Tin học 11 Bài 20: Thực hành tạo lập các bảng có khoá ngoài

Câu 1: Khoá ngoài có tác dụng?

A. Thể hiện dữ liệu chính

B. Liên kết các dữ liệu trong bảng với nhau

C. Liên kết dữ liệu giữa các bảng

D. Cả ba đáp án trên đều đúng

Câu 2: Vệc thiết lập khoá ngoài được thực hiện như thế nào??

A. Việc thiết lập khoá ngoài được thực hiện bằng cách xác định cột trong bảng hiện tại là khoá ngoài

B. Việc thiết lập khoá ngoài được thực hiện bằng cách chỉ định bảng mà khoá ngoài này tham chiếu đến (bảng gốc)

C. Việc thiết lập khoá ngoài được thực hiện bằng cách xác định cột trong bảng hiện tại là khoá ngoài, và chỉ định bảng mà khoá ngoài này tham chiếu đến (bảng gốc)

D. Cả ba đáp án trên đều sai

Câu 3: Để chọn giá trị mặc định là AUTO_INCREMENT thì nháy chuột vào ô?

A. Allow NULL

B. Add column

C. No default

D. Đáp án khác

Câu 4: Các trường là khóa ngoài của bảng là ?

A. Các dữ liệu trong một cột liên kết đến một cột của bảng khác

B. Các ô trong bảng liên kết đến một ô của bảng khác

C. Các trường tham chiếu đến một trường khóa chính của bảng khác

D. Cả ba đáp án trên đều đúng

Câu 5: Cần khai báo giá trị mặc định phù hợp với?

Giá trị tương ứng của hàng

Giá trị tương ứng của cột

Giá trị tương ứng của k

Đáp án khác

Câu 6: Tên các trường không được trùng lặp giá trị nên phải khai báo khóa?

A. Chính

B. Phụ

C. Cấm trùng lặp

D. Đáp án khác

Câu 7: Để khai báo khóa cấm trùng lặp ta dùng?

A. Chọn Create new index -> Primary

B. Chọn Create new index -> Key

C. Chọn Create new index -> Unique

D. Chọn Create new index -> Fulltext

Câu 8: Để khai báo khóa ngoài chọn thẻ?

A. " Create database"

B. "Create new"

C. "Root"

D. Foreign keys

Câu 9: Để chọn bảng tham chiếu ta chọn ô?

A. " Create database"

B. "Create new"

C. Reference table

D. Foreign keys

Câu 10: Để tạo bảng mới trong HeidiSQL, em chọn?

A. " Create database"

B. "Root"

C. "Create new"

D. Đáp án khác

Trắc nghiệm Tin học 11 Bài 20: Thực hành tạo lập các bảng có khoá ngoài

Câu 1:Trường nào trong bảng "bannhac" được thiết lập làm khóa chính?

A. idNhacsi

B. tenBannhac

C. idBannhac

D. tenNhacsi

Đáp án:C

Giải thích:Khóa chính trong bảng "bannhac" được thiết lập là idBannhac vì nó là trường duy nhất để phân biệt mỗi bản ghi và có giá trị tự động tăng (AUTO_INCREMENT).

Câu 2:Khi khai báo khóa ngoài cho bảng "bannhac", trường nào được chọn làm khóa ngoài?

A. idBannhac

B. tenBannhac

C. idNhacsi

D. idBanthuam

Đáp án: C

Giải thích:Trường idNhacsi trong bảng "bannhac" được khai báo là khóa ngoài vì nó tham chiếu đến trường idNhacsi trong bảng "nhacsi".

Câu 3:Khi khai báo khóa ngoài cho idNhacsi, bảng tham chiếu nào được chọn?

A. bannhac

B. nhacsi

C. banthuam

D. casi

Đáp án: B

Giải thích:Bảng tham chiếu cho trường idNhacsi trong bảng "bannhac" là bảng "nhacsi", nơi idNhacsi là khóa chính.

Câu 4:Khi khai báo khóa ngoài, kiểu dữ liệu của trường idNhacsi trong bảng "bannhac" nên là gì?

A. VARCHAR

B. TEXT

C. INT

D. FLOAT

Đáp án: C

Giải thích:Trường idNhacsi là khóa ngoài và cần có cùng kiểu dữ liệu với trường idNhacsi trong bảng "nhacsi", tức là INT.

Câu 5:Khi khai báo cặp trường (tenBannhac, idNhacsi) không được trùng lặp giá trị, loại khóa nào được sử dụng?

A. PRIMARY

B. UNIQUE

C. FOREIGN KEY

D. INDEX

Đáp án: B

Giải thích:Để đảm bảo giá trị của cặp trường (tenBannhac, idNhacsi) không trùng lặp, ta sử dụng khóa UNIQUE.

Câu 6:Khi tạo bảng "bannhac", để thêm một trường mới vào bảng, bạn sử dụng thao tác nào?

A. Nhấn Ctrl+Alt+Del

B. Nhấn Ctrl+Insert

C. Nhấn Ctrl+Delete

D. Nhấn Alt+Insert

Đáp án: B

Giải thích:Thao tác Ctrl+Insert hoặc nhấp chuột phải để chọn "Add column" được dùng để thêm một trường mới vào bảng.

Câu 7:Giá trị mặc định của trường khóa ngoài idNhacsi trong bảng "bannhac" nên là gì?

A. NULL

B. AUTO_INCREMENT

C. 0

D. Một chuỗi rỗng

Đáp án: C

Giải thích:Giá trị mặc định của trường khóa ngoài thường được đặt là 0, thể hiện rằng chưa có giá trị nào được tham chiếu

Câu 8:Khóa ngoài trong bảng "bannhac" tham chiếu đến khóa chính ở bảng nào?

A. nhacsi

B. casi

C. banthuam

D. quận/huyện

Đáp án: A

Giải thích:Khóa ngoài idNhacsi trong bảng "bannhac" tham chiếu đến khóa chính idNhacsi trong bảng "nhacsi".

Câu 9:Thao tác nào được sử dụng để khai báo khóa chính cho trường idBannhac?

A. Chọn "Create new index" → "UNIQUE"

B. Chọn "Create new index" → "PRIMARY"

C. Chọn "Create new index" → "FOREIGN KEY"

D. Chọn "Create new index" → "INDEX"

Đáp án: B

Giải thích:Để khai báo idBannhac là khóa chính, cần chọn "Create new index" và sau đó chọn "PRIMARY"

Câu 10:Sau khi khai báo xong các trường trong bảng "bannhac", thao tác cuối cùng là gì?

A. Chọn "Tạo bảng mới"

B. Chọn "Xóa bảng"

C. Chọn "Lưu"

D. Chọn "Chỉnh sửa khóa"

Đáp án: C

Giải thích:Sau khi hoàn thành việc khai báo các trường và khóa, bạn cần chọn "Lưu" để lưu bảng vào cơ sở dữ liệu

PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai

Câu 1:Trường "idBannhac" trong bảng "bannhac" có những đặc điểm nào sau đây?

a) Kiểu dữ liệu của trường "idBannhac" là INT và có giá trị tự động tăng.

b) Trường "idBannhac" cho phép giá trị NULL.

c) Trường "idBannhac" được đặt làm khóa chính và không cho phép giá trị trùng lặp.

d) Trường "idBannhac" có giá trị mặc định là một chuỗi rỗng.

a) Đúng. Trường "idBannhac" có kiểu dữ liệu INT và được đặt tự động tăng giá trị bằng cách sử dụng thuộc tính AUTO_INCREMENT.

b) Sai. Trường "idBannhac" không cho phép giá trị NULL vì nó được đặt làm khóa chính.

c) Đúng. Trường "idBannhac" là khóa chính, nghĩa là nó không được phép trùng lặp và không chứa giá trị NULL.

d) Sai. Trường khóa chính không có giá trị mặc định là chuỗi rỗng, mà được tự động tăng giá trị nếu sử dụng AUTO_INCREMENT.

Câu 2:Khi khai báo khóa ngoài cho trường "idNhacsi" trong bảng "bannhac", điều nào sau đây là đúng?

a) Trường "idNhacsi" tham chiếu đến trường "idNhacsi" của bảng "nhacsi".

b) Trường "idNhacsi" phải có cùng kiểu dữ liệu với trường tham chiếu trong bảng "nhacsi".

c) Khóa ngoài "idNhacsi" không yêu cầu phải khai báo khóa chính trong bảng "nhacsi".

d) Giá trị mặc định của trường "idNhacsi" có thể là 0.

a) Đúng. Khóa ngoài "idNhacsi" tham chiếu đến khóa chính "idNhacsi" trong bảng "nhacsi".

b) Đúng. Trường "idNhacsi" trong bảng "bannhac" phải có kiểu dữ liệu INT để tương thích với trường tham chiếu trong bảng "nhacsi".

c) Sai. Khóa ngoài luôn phải tham chiếu đến khóa chính của bảng khác để đảm bảo tính toàn vẹn dữ liệu.

d) Đúng. Trường khóa ngoài có thể có giá trị mặc định là 0 nếu không có giá trị nào khác được cung cấp.

PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3

Câu 1:Tại sao trường "idBannhac" cần được khai báo là khóa chính trong bảng "bannhac"?

Đáp án:Trường "idBannhac" cần được khai báo là khóa chính để đảm bảo mỗi bản ghi trong bảng "bannhac" đều có một định danh duy nhất.

Giải thích:Khóa chính (Primary Key) là một trường hoặc tập hợp các trường có giá trị duy nhất trong mỗi bản ghi. Việc khai báo "idBannhac" là khóa chính giúp phân biệt các bản ghi khác nhau trong bảng và ngăn chặn các giá trị trùng lặp hoặc NULL. Điều này rất quan trọng trong việc duy trì tính toàn vẹn dữ liệu

Câu 2: Tại sao cần khai báo khóa ngoài cho trường "idNhacsi" trong bảng "bannhac"?

Đáp án:Trường "idNhacsi" cần được khai báo là khóa ngoài để duy trì mối quan hệ giữa bảng "bannhac" và bảng "nhacsi".

Giải thích:Khóa ngoài (Foreign Key) giúp tạo ra liên kết giữa hai bảng bằng cách đảm bảo rằng giá trị của "idNhacsi" trong bảng "bannhac" phải tồn tại trong trường tương ứng "idNhacsi" của bảng "nhacsi". Điều này duy trì tính toàn vẹn tham chiếu, đảm bảo rằng tất cả các giá trị trong khóa ngoài đều liên kết với một bản ghi hợp lệ trong bảng tham chiếu.

Câu 3: Mục đích của việc khai báo cặp (tenBannhac, idNhacsi) là khóa chống trùng lặp trong bảng "bannhac" là gì?

Đáp án:Mục đích của việc khai báo cặp (tenBannhac, idNhacsi) là khóa chống trùng lặp để đảm bảo rằng không có hai bản ghi nào trong bảng có cùng tên ban nhạc và cùng nhạc sĩ.

Giải thích:Khóa chống trùng lặp (Unique Key) đảm bảo rằng các bản ghi không có các giá trị trùng lặp trong các trường cụ thể. Trong trường hợp này, việc kết hợp "tenBannhac" và "idNhacsi" làm khóa chống trùng lặp đảm bảo rằng không có hai ban nhạc nào với cùng tên và cùng nhạc sĩ xuất hiện nhiều lần, giúp dữ liệu duy trì sự nhất quán và chính xác.

1 11,871 08/08/2026


Xem thêm các chương trình khác: