wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

ÔN TẬP GIỮA KỲ 2-TIN 11-2025

Total questions: 71

Worksheet time: 53mins

Name
Class
Date
1.

Nhu cầu lưu trữ dữ liệu trong bài toán quản lý nhằm mục đích gì?

a)

Để tiết kiệm thời gian và dễ dàng tra cứu thông tin.

b)

Để tạo ra các phần mềm quản lý phức tạp.

c)

Để thay thế hoàn toàn việc ghi chép bằng tay.

d)

Để mã hóa thông tin nhằm bảo mật dữ liệu.

2.

Khai thác thông tin trong cơ sở dữ liệu có vai trò gì?

a)

Giúp lưu trữ dữ liệu an toàn hơn.

b)

Giúp lấy thông tin cần thiết để đưa ra quyết định hoặc phân tích.

c)

Giúp thiết kế giao diện phần mềm đẹp hơn.

d)

Giúp tăng tốc độ hoạt động của máy tính.

3.

Ví dụ nào sau đây là một bài toán quản lý cần sử dụng cơ sở dữ liệu?

a)

Vẽ một bức tranh trên máy tính.

b)

Quản lý danh sách học sinh trong trường học.

c)

Soạn thảo một văn bản báo cáo.

d)

Chơi một trò chơi điện tử.

4.

Tại sao cần khai thác thông tin từ cơ sở dữ liệu trong quản lý cửa hàng?

a)

Để biết mặt hàng nào còn trong kho và mặt hàng nào bán chạy.

b)

Để thay đổi giá sản phẩm hàng ngày.

c)

Để tạo thêm sản phẩm mới trong kho.

d)

Để kiểm tra phần cứng của máy tính.

5.

Dữ liệu trong cơ sở dữ liệu được lưu trữ để phục vụ mục đích gì?

a)

Chỉ để bảo mật thông tin tránh bị mất.

b)

Để dễ dàng quản lý và sử dụng khi cần thiết.

c)

Để tăng dung lượng lưu trữ của máy tính.

d)

Để kiểm tra lỗi phần mềm quản lý.

6.

Bảng trong CSDL quan hệ là gì?

a)

Tập hợp các trường không liên quan

b)

Tập hợp dữ liệu dưới dạng hàng và cột

c)

Tập hợp các phần mềm quản lý

d)

Tập hợp các máy tính lưu trữ dữ liệu

7.

Khóa chính trong một bảng có vai trò gì?

a)

Liên kết với bảng khác

b)

Xác định duy nhất mỗi bản ghi trong bảng

c)

Lưu trữ dữ liệu dạng số

d)

Tăng tốc độ truy vấn

8.

Trường (Field) trong một bảng cơ sở dữ liệu là gì?

a)

Một hàng dữ liệu trong bảng

b)

Một cột dữ liệu biểu diễn một thuộc tính của đối tượng

c)

Một bảng con bên trong bảng chính

d)

Một phần mềm để quản lý dữ liệu

9.

Khóa ngoài (Foreign Key) có vai trò gì trong cơ sở dữ liệu quan hệ?

a)

Xác định duy nhất mỗi bản ghi trong bảng

b)

Liên kết với khóa chính của một bảng khác để tạo mố

10.

Câu 9. Khóa ngoài (Foreign Key) có vai trò gì trong cơ sở dữ liệu quan hệ?

a)

Xác định duy nhất mỗi bản ghi trong bảng

b)

Liên kết với khóa chính của một bảng khác để tạo mối quan hệ

c)

Lưu trữ dữ liệu dạng văn bản

d)

Tăng tốc độ truy xuất dữ liệu

11.

Câu 10. Trong cơ sở dữ liệu quan hệ, bản ghi (Record) là gì?

a)

Một cột trong bảng

b)

Một hàng trong bảng đại diện cho một đối tượng cụ thể

c)

Một phần mềm để nhập dữ liệu

d)

Một kiểu dữ liệu đặc biệt

12.

Câu 11. Tại sao cần sử dụng khóa chính (Primary Key) trong một bảng cơ sở dữ liệu?

a)

Để liên kết với bảng khác trong cơ sở dữ liệu

b)

Để đảm bảo mỗi bản ghi trong bảng được xác định duy nhất và không trùng lặp

c)

Để tăng tốc độ truy vấn dữ liệu trong bảng

d)

Để lưu trữ dữ liệu dạng số hoặc văn bản

13.

Câu 12. Trong thiết kế cơ sở dữ liệu quan hệ, việc chọn kiểu dữ liệu phù hợp cho mỗi trường có ý nghĩa gì?

a)

Giúp tăng dung lượng lưu trữ của cơ sở dữ liệu

b)

Đảm bảo dữ liệu được nhập đúng định dạng và tiết kiệm bộ nhớ

c)

Làm cho giao diện của bảng đẹp hơn

d)

Giúp kết nối các bảng với nhau nhanh hơn

14.

Câu 13. Mối quan hệ một-nhiều giữa hai bảng được thiết lập như thế nào?

a)

Sử dụng cùng một khóa chính cho cả hai bảng

b)

Sử dụng khóa ngoài trong bảng "nhiều" để liên kết với khóa chính trong bảng "một"

c)

Sử dụng cùng kiểu dữ liệu cho tất cả các trường trong hai bảng

d)

Sử dụng một phần mềm riêng để tạo liên kết

15.

Câu 14. Tại sao cần thiết kế cấu trúc bảng trước khi nhập dữ liệu vào cơ sở dữ liệu?

a)

Để dữ liệu được tổ chức khoa học, dễ quản lý và tránh sai sót

b)

Để tăng tốc độ nhập dữ liệu trên phần mềm

c)

Để làm cho cơ sở dữ liệu có nhiều bảng hơn

d)

Để sử dụng được phần mềm Microsoft Access

16.

Câu 15. Trong một cơ sở dữ liệu quản lý học sinh, nếu không sử dụng khóa ngoài để liên kết giữa bảng "HocSinh" và "Diem", điều gì có thể xảy ra?

a)

Dữ liệu trong bảng "Diem" sẽ không thể hiển thị

b)

Không thể xác định được điểm số thuộc về học sinh nào

c)

Dữ liệu trong bảng "HocSinh" sẽ bị trùng lặp

d)

Phần mềm quản lý sẽ tự động tạo kh

17.

Câu 15: ảy ra?

a)

Dữ liệu trong bảng "Diem" sẽ không thể hiển thị

b)

Không thể xác định được điểm số thuộc về học sinh nào

c)

Dữ liệu trong bảng "HocSinh" sẽ bị trùng lặp

d)

Phần mềm quản lý sẽ tự động tạo khóa ngoài

18.

Câu 16: Trong CSDL MyMusic, bảng "casi" được tạo để lưu thông tin về ca sĩ. Trường "idcasi" trong bảng này thường được chọn làm gì?

a)

Khóa ngoài để liên kết với bảng khác

b)

Khóa chính để xác định duy nhất mỗi ca sĩ

c)

Trường lưu trữ tên ca sĩ

d)

Trường lưu trữ ngày sinh của ca sĩ

19.

Câu 17: Khi tạo bảng "banthuam" trong HeidiSQL, kiểu dữ liệu nào dưới đây phù hợp để lưu trữ trường "ngaythu" (ngày thu âm)?

a)

VARCHAR(10)

b)

INT

c)

DATE

d)

YES/NO

20.

Câu 18: Bảng trong CSDL quan hệ là gì?

a)

Tập hợp các phần mềm quản lý dữ liệu

b)

Tập hợp dữ liệu dưới dạng hàng và cột

c)

Tập hợp các máy tính được kết nối

d)

Tập hợp các kiểu dữ liệu

21.

Câu 19: Khóa chính trong một bảng có vai trò gì?

a)

Lưu trữ dữ liệu dạng số

b)

Tăng tốc độ truy vấn dữ liệu

c)

Xác định duy nhất mỗi bản ghi trong bảng

d)

Liên kết với bảng khác

22.

Câu 20: Kiểu dữ liệu VARCHAR trong HeidiSQL được dùng để lưu trữ gì?

a)

Số nguyên

b)

Ngày tháng

c)

Chuỗi ký tự có độ dài xác định

d)

Giá trị logic (True/False)

23.

Câu 21: Tại sao cần đặt khóa chính cho bảng "bannhac" trong CSDL MyMusic?

a)

Để tăng tốc độ truy vấn dữ liệu

b)

Để lưu trữ thông tin tên bản nhạc

c)

Để xác định duy nhất mỗi bản nhạc và tránh trùng lặp

d)

Để liên kết với bảng "casi"

24.

Câu 22: Trong HeidiSQL, khi tạo bảng "nhacsi", nếu trường "tennhacsi" được chọn kiểu dữ liệu VARCHAR(50), điều này có ý nghĩa gì?

a)

Trường "tennhacsi" chỉ có thể chứa số nguyên

b)

Trường "tennhacsi" có thể chứa tối đa 50 ký tự dạng chuỗi

c)

Trường "tennhacsi" phải chứa chính xác 50 ký tự

d)

Trường "tennhacsi" không được phép để trống

25.

Câu 23: Khi thiết kế bảng "bannhac" trong CSDL MyMusic, việc chọn kiểu dữ liệu VARCHAR(100) cho trường "tenbannhac" có ý nghĩa gì?

a)

Đảm bảo tên bản nhạc chỉ chứa số nguyên

b)

Cho phép tên bản nhạc chứa tối đa 100 ký tự dạng chuỗi

c)

Yêu cầu tên bản nhạc phải chứa ít nhất 1 ký tự

26.

Việc chọn kiểu dữ liệu VARCHAR(100) cho trường "tenbannhac" có ý nghĩa gì?

a)

Đảm bảo tên bản nhạc chỉ chứa số nguyên

b)

Cho phép tên bản nhạc chứa tối đa 100 ký tự dạng chuỗi

c)

Yêu cầu tên bản nhạc phải đúng 100 ký tự

d)

Làm cho tên bản nhạc trở thành khóa chính

27.

Trong CSDL MyMusic, tại sao cần tạo bảng "nhacsi" riêng biệt thay vì lưu thông tin nhạc sĩ trực tiếp trong bảng "bannhac"?

a)

Để tăng tốc độ truy vấn dữ liệu

b)

Để giảm dung lượng lưu trữ của CSDL

c)

Để tránh trùng lặp thông tin nhạc sĩ và dễ dàng quản lý khi một nhạc sĩ sáng tác nhiều bản nhạc

d)

Để làm cho bảng "bannhac" có nhiều trường hơn

28.

Nếu trường "idbanthuam" trong bảng "banthuam" không được đặt làm khóa chính, điều gì có thể xảy ra khi nhập dữ liệu vào bảng này?

a)

Dữ liệu sẽ tự động được sắp xếp theo thứ tự thời gian

b)

Không thể nhập dữ liệu vào bảng "banthuam"

c)

Các bản thu âm có thể bị trùng lặp, gây khó khăn trong việc quản lý và truy vấn dữ liệu

d)

Bảng "banthuam" sẽ tự động liên kết với bảng "casi"

29.

Trong CSDL MyMusic, trường "idnhacsi" trong bảng "bannhac" được thiết lập làm khóa ngoài liên kết với bảng "nhacsi". Điều này có ý nghĩa gì?

a)

Đảm bảo mỗi bản nhạc có một mã duy nhất

b)

Cho phép nhập bất kỳ giá trị nào vào "idnhacsi" mà không cần kiểm tra

c)

Đảm bảo rằng mỗi giá trị "idnhacsi" trong "bannhac" phải tồn tại trong bảng "nhacsi"

d)

Làm cho bảng "bannhac" trở thành bảng chính trong CSDL

30.

Tại sao trong CSDL MyMusic, bảng "banthuam" cần thiết lập "idcasi" làm khóa ngoài liên kết với bảng "casi"?

a)

Để tăng tốc độ nhập dữ liệu vào bảng "banthuam"

b)

Để đảm bảo mỗi bản thu âm liên kết với một ca sĩ hợp lệ trong bảng "casi"

c)

Để cho phép bảng "banthuam" lưu trữ tên ca sĩ thay vì mã ca sĩ

d)

Để ngăn bảng "casi" thêm dữ liệu mới

31.

Nếu trong HeidiSQL, bạn cố gắng xóa một ca sĩ trong bảng "casi" nhưng ca sĩ đó đang có bản thu âm trong bảng "banthuam", điều gì sẽ xảy ra khi khóa ngoài "idcasi" được thiết lập với "On Delete: Restrict"?

4 lines
32.

casi" nhưng ca sĩ đó đang có bản thu âm trong bảng "banthuam", điều gì sẽ xảy ra khi khóa ngoài "idcasi" được thiết lập với "On Delete: Restrict"?

a)

Bản ghi ca sĩ sẽ bị xóa mà không ảnh hưởng đến "banthuam"

b)

HeidiSQL sẽ báo lỗi và ngăn không cho xóa bản ghi ca sĩ

c)

Tất cả bản thu âm liên quan trong "banthuam" sẽ tự động bị xóa

d)

Dữ liệu trong "banthuam" sẽ tự động thay đổi để phù hợp

33.

Trong CSDL MyMusic, mối quan hệ giữa bảng "nhacsi" và "bannhac" là một-nhiều. Tại sao việc thiết lập "idnhacsi" làm khóa ngoài trong "bannhac" là cần thiết để thể hiện mối quan hệ này?

a)

Để tăng số lượng trường trong bảng "bannhac"

b)

Để cho phép một bản nhạc có nhiều nhạc sĩ sáng tác

c)

Để đảm bảo mỗi bản nhạc chỉ liên kết với một nhạc sĩ duy nhất đã tồn tại trong "nhacsi"

d)

Để ngăn bảng "nhacsi" lưu trữ thông tin tên nhạc sĩ

34.

Nếu trong bảng "banthuam" không thiết lập "idbannhac" làm khóa ngoài liên kết với bảng "bannhac", điều gì có thể xảy ra khi nhập dữ liệu vào "banthuam"?

a)

Dữ liệu trong "banthuam" sẽ tự động được sắp xếp theo ngày thu âm

b)

Có thể nhập giá trị "idbannhac" không tồn tại trong "bannhac", gây mất tính nhất quán dữ liệu

c)

HeidiSQL sẽ tự động tạo bản nhạc mới trong "bannhac" để phù hợp

d)

Bảng "banthuam" sẽ không thể nhập dữ liệu

35.

Bạn đang thiết lập bảng "banthuam" trong CSDL MyMusic trên HeidiSQL với các trường: idbanthuam (VARCHAR(10), khóa chính), idbannhac (VARCHAR(10), khóa ngoài), idcasi (VARCHAR(10), khóa ngoài), ngaythu (DATE). Khi thêm khóa ngoài "idcasi" liên kết với bảng "casi", bạn chọn "On Delete: Cascade". Nếu xóa một ca sĩ trong bảng "casi", điều gì sẽ xảy ra?

a)

HeidiSQL sẽ báo lỗi và không cho xóa ca sĩ

b)

Tất cả bản thu âm liên quan trong "banthuam" sẽ bị xóa cùng ca sĩ đó

c)

Chỉ ca sĩ bị xóa, các bản thu âm trong "banthuam" vẫn giữ nguyên

d)

Khóa ngoài "idcasi" trong "banthuam" sẽ tự động chuyển thành NULL

36.

Trong HeidiSQL, bạn nhập dữ liệu vào bảng "bannhac" (idbannhac, tenbannhac, idnhacsi) với khóa ngoài "idnhacsi" liên kết với bảng "nhacsi". Bạn thử nhập m

4 lines
37.

Trong HeidiSQL, bạn nhập dữ liệu vào bảng "bannhac" (idbannhac, tenbannhac, idnhacsi) với khóa ngoài "idnhacsi" liên kết với bảng "nhacsi". Bạn thử nhập một bản nhạc với "idnhacsi" là "NS03", nhưng trong bảng "nhacsi" chỉ có "NS01" và "NS02". Điều gì sẽ xảy ra?

a)

Dữ liệu được nhập thành công mà không có lỗi

b)

HeidiSQL sẽ tự động thêm "NS03" vào bảng "nhacsi"

c)

HeidiSQL sẽ báo lỗi vì vi phạm tính toàn vẹn tham chiếu

d)

Giá trị "idnhacsi" sẽ tự động chuyển thành "NS01"

38.

Bạn thiết lập CSDL MyMusic trong HeidiSQL với bảng "banthuam" có khóa ngoài "idbannhac" liên kết với "idbannhac" trong "bannhac", và chọn "On Update: Cascade". Nếu bạn thay đổi "idbannhac" từ "BN01" thành "BN001" trong bảng "bannhac", điều gì sẽ xảy ra với bảng "banthuam"?

a)

Giá trị "idbannhac" trong "banthuam" vẫn giữ nguyên là "BN01"

b)

Giá trị "idbannhac" trong "banthuam" sẽ tự động thay đổi thành "BN001"

c)

HeidiSQL sẽ báo lỗi và không cho phép thay đổi

d)

Tất cả bản ghi trong "banthuam" có "idbannhac" là "BN01" sẽ bị xóa

39.

Trong CSDL MyMusic, bạn cần thêm một bản thu âm mới vào bảng "banthuam" với các giá trị: idbanthuam: "BT03", idbannhac: "BN02", idcasi: "CS01", ngaythu: "2023-07-10". Bảng "casi" hiện có "CS01" và bảng "bannhac" hiện có "BN02". Nếu khóa ngoài "idcasi" và "idbannhac" đã được thiết lập, kết quả nào dưới đây là đúng khi nhập dữ liệu này?

a)

Dữ liệu sẽ được nhập thành công vì tất cả giá trị khóa ngoài đều hợp lệ

b)

HeidiSQL sẽ báo lỗi vì "idbanthuam" chưa tồn tại

c)

Dữ liệu sẽ không được nhập vì "ngaythu" không đúng định dạng

d)

HeidiSQL sẽ tự động thay đổi "idcasi" thành giá trị khác

40.

Bạn đang thiết kế CSDL MyMusic trong HeidiSQL và muốn thêm bảng "theloai" (idtheloai, tentheloai) để quản lý thể loại nhạc, rồi liên kết với bảng "bannhac" bằng khóa ngoài "idtheloai". Nếu bạn đặt "idtheloai" trong "bannhac" làm khóa ngoài với "On Delete: Restrict" và nhập dữ liệu: "TL01" (Pop) trong "theloai" và "BN01" (Diễm Xưa, TL01) trong "bannhac", điều gì sẽ xảy ra khi bạn xóa "TL01" tron

4 lines
41.

"idtheloai" trong "bannhac" làm khóa ngoài với "On Delete: Restrict" và nhập dữ liệu: "TL01" (Pop) trong "theloai" và "BN01" (Diễm Xưa, TL01) trong "bannhac", điều gì sẽ xảy ra khi bạn xóa "TL01" trong "theloai"?

a)

"TL01" sẽ bị xóa và "idtheloai" trong "bannhac" sẽ thành NULL

b)

HeidiSQL sẽ ngăn chặn việc xóa "TL01" vì "BN01" đang tham chiếu đến nó

c)

Cả "TL01" trong "theloai" và "BN01" trong "bannhac" sẽ bị xóa

d)

HeidiSQL sẽ tự động thay đổi "idtheloai" trong "bannhac" thành giá trị khác

42.

Trong CSDL MyMusic, lệnh UPDATE banthuam SET ngaythu = '2023-08-01' WHERE idbanthuam = 'BT01'; được sử dụng. Tại sao cần có điều kiện WHERE trong lệnh này?

a)

Để tăng tốc độ thực thi lệnh UPDATE

b)

Để chỉ định chính xác bản thu âm cần sửa, tránh thay đổi toàn bộ bảng

c)

Để đảm bảo ngày thu âm được nhập đúng định dạng

d)

Để liên kết bảng "banthuam" với bảng "casi"

43.

Khi sử dụng HeidiSQL để xóa dữ liệu trong bảng "casi" bằng lệnh DELETE FROM casi WHERE idcasi = 'CS01';, nếu "CS01" đang có bản thu âm trong "banthuam" và khóa ngoài "idcasi" được thiết lập "On Delete: Restrict", điều gì sẽ xảy ra?

a)

Bản ghi "CS01" sẽ bị xóa mà không ảnh hưởng đến "banthuam"

b)

HeidiSQL sẽ tự động xóa các bản thu âm liên quan trong "banthuam"

c)

Lệnh DELETE sẽ bị chặn để đảm bảo tính toàn vẹn tham chiếu

d)

Giá trị "idcasi" trong "banthuam" sẽ tự động chuyển thành NULL

44.

Lệnh SELECT bannhac.tenbannhac, nhacsi.tennhacsi FROM bannhac JOIN nhacsi ON bannhac.idnhacsi = nhacsi.idnhacsi; được dùng trong CSDL MyMusic. Tại sao cần sử dụng JOIN trong câu lệnh này?

a)

Để sắp xếp dữ liệu theo tên bản nhạc

b)

Để kết hợp thông tin tên bản nhạc và tên nhạc sĩ từ hai bảng khác nhau

c)

Để chỉ lấy dữ liệu từ bảng "bannhac" mà không cần bảng "nhacsi"

d)

Để tăng số lượng bản ghi trong kết quả truy vấn

45.

Khi thêm dữ liệu vào bảng "banthuam" bằng lệnh INSERT INTO banthuam (idbanthuam, idbannhac, idcasi, ngaythu) VALUES ('BT03', 'BN02', 'CS01', '2023-07-10');, tại sao giá trị "idbannhac" và "idcasi" phải tồn tại trong "bannhac" và "casi"?

4 lines
46.

Tại sao giá trị "idbannhac" và "idcasi" phải tồn tại trong "bannhac" và "casi"?

a)

Để tăng tốc độ nhập dữ liệu vào bảng "banthuam"

b)

Để đảm bảo tính toàn vẹn tham chiếu vì "idbannhac" và "idcasi" là khóa ngoài

c)

Để tránh trùng lặp giá trị trong bảng "banthuam"

d)

Để tự động tạo bản ghi mới trong "bannhac" và "casi"

47.

Trong HeidiSQL, nếu bạn chạy lệnh SELECT * FROM banthuam WHERE ngaythu > '2023-06-01';, điều kiện WHERE có tác dụng gì trong truy vấn này?

a)

Làm cho kết quả hiển thị tất cả bản ghi trong "banthuam"

b)

Giới hạn kết quả chỉ lấy các bản thu âm có ngày thu sau ngày 1/6/2023

c)

Kết hợp dữ liệu từ "banthuam" với bảng "casi"

d)

Sắp xếp các bản thu âm theo thứ tự ngày thu âm

48.

Bạn cần thêm một ca sĩ mới vào bảng "casi" trong CSDL MyMusic trên HeidiSQL. Lệnh SQL nào dưới đây sẽ thực hiện đúng thao tác này nếu bảng "casi" có các trường idcasi (VARCHAR(10), khóa chính) và tencasi (VARCHAR(50))?

a)

INSERT INTO casi (idcasi, tencasi) VALUES ('CS04', 'Trần Thu Hà');

b)

UPDATE casi SET idcasi = 'CS04', tencasi = 'Trần Thu Hà';

c)

DELETE FROM casi WHERE idcasi = 'CS04';

d)

SELECT idcasi, tencasi FROM casi WHERE idcasi = 'CS04';

49.

Trong HeidiSQL, bạn muốn sửa tên bản nhạc từ "Diễm Xưa" thành "Diễm Xưa (Live)" trong bảng "bannhac" cho bản nhạc có idbannhac là "BN01". Lệnh SQL nào dưới đây sẽ thực hiện đúng thao tác này?

a)

INSERT INTO bannhac (idbannhac, tenbannhac) VALUES ('BN01', 'Diễm Xưa (Live)');

b)

UPDATE bannhac SET tenbannhac = 'Diễm Xưa (Live)' WHERE idbannhac = 'BN01';

c)

DELETE FROM bannhac WHERE tenbannhac = 'Diễm Xưa';

d)

SELECT tenbannhac FROM bannhac WHERE idbannhac = 'BN01';

50.

Bạn muốn xóa tất cả bản thu âm trong bảng "banthuam" có ngày thu trước "2023-06-01" trong CSDL MyMusic. Lệnh SQL nào dưới đây sẽ thực hiện đúng thao tác này, giả sử không có hạn chế từ khóa ngoài?

a)

INSERT INTO banthuam (ngaythu) VALUES ('2023-06-01');

b)

UPDATE banthuam SET ngaythu = '2023-0

51.

Lệnh SQL nào dưới đây sẽ thực hiện đúng thao tác này, giả sử không có hạn chế từ khóa ngoài?

a)

INSERT INTO banthuam (ngaythu) VALUES ('2023-06-01');

b)

UPDATE banthuam SET ngaythu = '2023-06-01' WHERE ngaythu < '2023-06-01';

c)

DELETE FROM banthuam WHERE ngaythu < '2023-06-01';

d)

SELECT * FROM banthuam WHERE ngaythu < '2023-06-01';

52.

Bạn cần truy vấn tên ca sĩ và ngày thu âm của tất cả bản thu âm trong CSDL MyMusic bằng HeidiSQL. Lệnh SQL nào dưới đây sẽ cho kết quả đúng, biết rằng thông tin ca sĩ nằm trong "casi" và bản thu âm nằm trong "banthuam"?

a)

SELECT casi.tencasi, banthuam.ngaythu FROM casi JOIN banthuam ON casi.idcasi = banthuam.idcasi;

b)

SELECT tencasi, ngaythu FROM casi WHERE banthuam.idcasi = casi.idcasi;

c)

INSERT INTO banthuam (idcasi, ngaythu) VALUES ('CS01', '2023-07-10');

d)

UPDATE casi SET tencasi = banthuam.ngaythu WHERE idcasi = 'CS01';

53.

Trong CSDL MyMusic, bạn muốn lấy tên bản nhạc và tên nhạc sĩ của các bản nhạc do nhạc sĩ "NS01" sáng tác từ bảng "bannhac" và "nhacsi". Lệnh SQL nào dưới đây sẽ thực hiện đúng yêu cầu này trong HeidiSQL?

a)

SELECT bannhac.tenbannhac, nhacsi.tennhacsi FROM bannhac JOIN nhacsi ON bannhac.idnhacsi = nhacsi.idnhacsi WHERE nhacsi.idnhacsi = 'NS01';

b)

UPDATE bannhac SET tenbannhac = nhacsi.tennhacsi WHERE idnhacsi = 'NS01';

c)

DELETE FROM bannhac WHERE idnhacsi = 'NS01';

d)

INSERT INTO nhacsi (idnhacsi, tennhacsi) VALUES ('NS01', 'Trịnh Công Sơn');

54.

Trong CSDL MyMusic, bảng "banthuam" có khóa ngoài "idcasi" tham chiếu đến "idcasi" trong "casi" với tùy chọn ON DELETE: Restrict. Tại sao HeidiSQL không cho phép xóa một ca sĩ trong "casi" nếu ca sĩ đó có bản thu âm trong "banthuam"?

a)

Vì "idcasi" trong "casi" không phải là khóa chính

b)

Vì ON DELETE: Restrict ngăn xóa để đảm bảo tính toàn vẹn tham chiếu

c)

Vì "banthuam" không chứa dữ liệu liên quan đến ca sĩ

d)

Vì tùy chọn Cascade chưa được kích hoạt

55.

Khi thêm một bản thu âm mới vào bảng "banthuam" trong CSDL MyMusic bằng lệnh INSERT INTO banthuam (idbanthuam, idbannhac, idcasi,

4 lines
56.

Câu 47. Khi thêm một bản thu âm mới vào bảng "banthuam" trong CSDL MyMusic bằng lệnh INSERT INTO banthuam (idbanthuam, idbannhac, idcasi, ngaythu) VALUES ('BT03', 'BN02', 'CS01', '2023-07-10');, tại sao "BN02" phải tồn tại trong bảng "bannhac" trước khi thực hiện lệnh này?

a)

Để tăng tốc độ thực thi lệnh INSERT

b)

Vì "idbannhac" là khóa ngoài, phải tham chiếu đến giá trị hợp lệ trong "bannhac"

c)

Vì "BN02" là khóa chính của "banthuam"

d)

Để sắp xếp dữ liệu trong "banthuam" theo "idbannhac"

57.

Câu 48. Trong CSDL MyMusic, nếu "idnhacsi" trong "bannhac" là khóa ngoài tham chiếu đến "nhacsi" với ON UPDATE: Cascade, điều gì sẽ xảy ra khi bạn sửa "idnhacsi" từ "NS01" thành "NS001" trong "nhacsi" bằng lệnh UPDATE nhacsi SET idnhacsi = 'NS001' WHERE idnhacsi = 'NS01';?

a)

Lệnh sẽ bị chặn để bảo vệ dữ liệu trong "bannhac"

b)

Giá trị "idnhacsi" trong "bannhac" sẽ tự động đổi thành "NS001"

c)

Tất cả bản nhạc trong "bannhac" của "NS01" sẽ bị xóa

d)

Dữ liệu trong "bannhac" không thay đổi, chỉ "nhacsi" bị sửa

58.

Câu 49. Trong HeidiSQL, khi bạn cố gắng xóa bản nhạc "BN01" trong bảng "bannhac" bằng lệnh DELETE FROM bannhac WHERE idbannhac = 'BN01'; nhưng "BN01" đang được tham chiếu trong "banthuam" với ON DELETE: Restrict, tại sao cần xóa các bản thu âm liên quan trong "banthuam" trước?

a)

Để tăng dung lượng lưu trữ trong CSDL

b)

Vì ON DELETE: Restrict yêu cầu bảng con không còn tham chiếu trước khi xóa bảng cha

c)

Để tự động kích hoạt tùy chọn Cascade

d)

Vì "BN01" không phải là khóa chính của "bannhac"

59.

Câu 50. Trong CSDL MyMusic, nếu bảng "banthuam" có khóa ngoài "idcasi" tham chiếu đến "casi" với ON DELETE: Cascade, điều gì sẽ xảy ra khi bạn thực hiện lệnh DELETE FROM casi WHERE idcasi = 'CS01';?

a)

Lệnh sẽ bị chặn nếu "CS01" có bản thu âm trong "banthuam"

b)

Chỉ bản ghi "CS01" trong "casi" bị xóa, "banthuam" không ảnh hưởng

c)

Tất cả bản thu âm của "CS01" trong "banthuam" sẽ tự động bị xóa cùng "CS01"

d)

Giá trị "idcasi" trong "banthuam" sẽ tự động đổi thành NULL

60.

Câu 51.

4 lines
61.

Trong CSDL MyMusic, bạn muốn thêm một bản thu âm mới vào bảng "banthuam" với thông tin: idbanthuam: "BT03", idbannhac: "BN01", idcasi: "CS01", ngaythu: "2023-07-10". Giả sử "BN01" và "CS01" đã tồn tại trong "bannhac" và "casi". Lệnh SQL nào dưới đây sẽ thực hiện đúng thao tác này?

a)

INSERT INTO banthuam (idbanthuam, idbannhac, idcasi, ngaythu) VALUES ('BT03', 'BN01', 'CS01', '2023-07-10');

b)

UPDATE banthuam SET idbannhac = 'BN01', idcasi = 'CS01' WHERE idbanthuam = 'BT03';

c)

DELETE FROM banthuam WHERE idbanthuam = 'BT03';

d)

SELECT idbannhac, idcasi FROM banthuam WHERE ngaythu = '2023-07-10';

62.

Trong HeidiSQL, bạn muốn sửa "idcasi" từ "CS01" thành "CS001" trong bảng "casi" của CSDL MyMusic, với khóa ngoài "idcasi" trong "banthuam" được thiết lập ON UPDATE: Cascade. Lệnh SQL nào dưới đây sẽ thực hiện đúng thao tác này?

a)

INSERT INTO casi (idcasi, tencasi) VALUES ('CS001', 'Hà Anh Tuấn');

b)

UPDATE casi SET idcasi = 'CS001' WHERE idcasi = 'CS01';

c)

DELETE FROM casi WHERE idcasi = 'CS01';

d)

SELECT idcasi FROM casi WHERE idcasi = 'CS01';

63.

Trong CSDL MyMusic, bạn muốn xóa ca sĩ "CS02" trong bảng "casi", nhưng "CS02" đang có bản thu âm trong "banthuam" với khóa ngoài "idcasi" thiết lập ON DELETE: Restrict. Lệnh nào dưới đây cần thực hiện trước để xóa "CS02" thành công trong HeidiSQL?

a)

UPDATE banthuam SET idcasi = 'CS01' WHERE idcasi = 'CS02';

b)

DELETE FROM banthuam WHERE idcasi = 'CS02';

c)

INSERT INTO banthuam (idbanthuam, idcasi) VALUES ('BT04', 'CS02');

d)

SELECT * FROM banthuam WHERE idcasi = 'CS02';

64.

Trong CSDL MyMusic, bạn cần xóa bản nhạc "BN01" trong "bannhac", với khóa ngoài "idbannhac" trong "banthuam" được thiết lập ON DELETE: Cascade. Lệnh SQL nào dưới đây sẽ thực hiện thao tác này, và đồng thời xóa tất cả bản thu âm liên quan trong "banthuam"?

4 lines
65.

Lệnh SQL nào dưới đây sẽ thực hiện thao tác này, và đồng thời xóa tất cả bản thu âm liên quan trong "banthuam"?

a)

UPDATE bannhac SET idbannhac = 'BN02' WHERE idbannhac = 'BN01';

b)

DELETE FROM bannhac WHERE idbannhac = 'BN01';

c)

INSERT INTO bannhac (idbannhac, tenbannhac) VALUES ('BN01', 'Diễm Xưa');

d)

SELECT idbannhac FROM banthuam WHERE idbannhac = 'BN01';

66.

Trong HeidiSQL, bạn muốn thêm một ca sĩ mới "CS03" vào "casi" và ngay sau đó thêm một bản thu âm cho "CS03" vào "banthuam" với idbanthuam: "BT05", idbannhac: "BN01", ngaythu: "2023-08-01". Giả sử "BN01" đã tồn tại trong "bannhac". Cặp lệnh SQL nào dưới đây sẽ thực hiện đúng yêu cầu này?

a)

INSERT INTO casi (idcasi, tencasi) VALUES ('CS03', 'Bùi Anh Tuấn'); INSERT INTO banthuam (idbanthuam, idbannhac, idcasi, ngaythu) VALUES ('BT05', 'BN01', 'CS03', '2023-08-01');

b)

UPDATE casi SET idcasi = 'CS03' WHERE tencasi = 'Bùi Anh Tuấn'; UPDATE banthuam SET idcasi = 'CS03' WHERE idbanthuam = 'BT05';

c)

DELETE FROM casi WHERE idcasi = 'CS03'; DELETE FROM banthuam WHERE idbanthuam = 'BT05';

d)

SELECT idcasi FROM casi WHERE idcasi = 'CS03'; SELECT idbanthuam FROM banthuam WHERE idcasi = 'CS03';

67.

Lệnh nào dưới đây dùng để truy xuất dữ liệu từ bảng trong SQL?

a)

INSERT

b)

UPDATE

c)

DELETE

d)

SELECT

68.

Trong CSDL MyMusic, "idcasi" trong "banthuam" là gì?

a)

Khóa chính

b)

Khóa ngoài

c)

Trường thông thường

d)

Tên bảng

69.

INNER JOIN trong SQL có tác dụng gì?

a)

Lấy tất cả bản ghi từ bảng trái

b)

Chỉ lấy bản ghi khớp nhau giữa hai bảng

c)

Xóa bản ghi không khớp

d)

Thêm bản ghi mới vào bảng

70.

Trong HeidiSQL, phím nào dùng để chạy câu lệnh SQL trong tab "Query"?

a)

F5

b)

F9

c)

F12

d)

Enter

71.

Trong CSDL MyMusic, bảng nào chứa thông tin về ngày thu âm?

a)

casi

b)

nhacsi

c)

bannhac

d)

banthuam