Font size
WorksheetsÔN TẬP GIỮA KỲ 2-TIN 11-2025
Total questions: 71
Worksheet time: 53mins
Nhu cầu lưu trữ dữ liệu trong bài toán quản lý nhằm mục đích gì?
Để tiết kiệm thời gian và dễ dàng tra cứu thông tin.
Để tạo ra các phần mềm quản lý phức tạp.
Để thay thế hoàn toàn việc ghi chép bằng tay.
Để mã hóa thông tin nhằm bảo mật dữ liệu.
Khai thác thông tin trong cơ sở dữ liệu có vai trò gì?
Giúp lưu trữ dữ liệu an toàn hơn.
Giúp lấy thông tin cần thiết để đưa ra quyết định hoặc phân tích.
Giúp thiết kế giao diện phần mềm đẹp hơn.
Giúp tăng tốc độ hoạt động của máy tính.
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?
Vẽ một bức tranh trên máy tính.
Quản lý danh sách học sinh trong trường học.
Soạn thảo một văn bản báo cáo.
Chơi một trò chơi điện tử.
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?
Để biết mặt hàng nào còn trong kho và mặt hàng nào bán chạy.
Để thay đổi giá sản phẩm hàng ngày.
Để tạo thêm sản phẩm mới trong kho.
Để kiểm tra phần cứng của máy tính.
Dữ liệu trong cơ sở dữ liệu được lưu trữ để phục vụ mục đích gì?
Chỉ để bảo mật thông tin tránh bị mất.
Để dễ dàng quản lý và sử dụng khi cần thiết.
Để tăng dung lượng lưu trữ của máy tính.
Để kiểm tra lỗi phần mềm quản lý.
Bảng trong CSDL quan hệ là gì?
Tập hợp các trường không liên quan
Tập hợp dữ liệu dưới dạng hàng và cột
Tập hợp các phần mềm quản lý
Tập hợp các máy tính lưu trữ dữ liệu
Khóa chính trong một bảng có vai trò gì?
Liên kết với bảng khác
Xác định duy nhất mỗi bản ghi trong bảng
Lưu trữ dữ liệu dạng số
Tăng tốc độ truy vấn
Trường (Field) trong một bảng cơ sở dữ liệu là gì?
Một hàng dữ liệu trong bảng
Một cột dữ liệu biểu diễn một thuộc tính của đối tượng
Một bảng con bên trong bảng chính
Một phần mềm để quản lý dữ liệu
Khóa ngoài (Foreign Key) có vai trò gì trong cơ sở dữ liệu quan hệ?
Xác định duy nhất mỗi bản ghi trong bảng
Liên kết với khóa chính của một bảng khác để tạo mố
Câu 9. Khóa ngoài (Foreign Key) có vai trò gì trong cơ sở dữ liệu quan hệ?
Xác định duy nhất mỗi bản ghi trong bảng
Liên kết với khóa chính của một bảng khác để tạo mối quan hệ
Lưu trữ dữ liệu dạng văn bản
Tăng tốc độ truy xuất dữ liệu
Câu 10. Trong cơ sở dữ liệu quan hệ, bản ghi (Record) là gì?
Một cột trong bảng
Một hàng trong bảng đại diện cho một đối tượng cụ thể
Một phần mềm để nhập dữ liệu
Một kiểu dữ liệu đặc biệt
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?
Để liên kết với bảng khác trong cơ sở dữ liệu
Để đả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
Để tăng tốc độ truy vấn dữ liệu trong bảng
Để lưu trữ dữ liệu dạng số hoặc văn bản
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ì?
Giúp tăng dung lượng lưu trữ của cơ sở dữ liệu
Đảm bảo dữ liệu được nhập đúng định dạng và tiết kiệm bộ nhớ
Làm cho giao diện của bảng đẹp hơn
Giúp kết nối các bảng với nhau nhanh hơn
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?
Sử dụng cùng một khóa chính cho cả hai bảng
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"
Sử dụng cùng kiểu dữ liệu cho tất cả các trường trong hai bảng
Sử dụng một phần mềm riêng để tạo liên kết
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?
Để dữ liệu được tổ chức khoa học, dễ quản lý và tránh sai sót
Để tăng tốc độ nhập dữ liệu trên phần mềm
Để làm cho cơ sở dữ liệu có nhiều bảng hơn
Để sử dụng được phần mềm Microsoft Access
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?
Dữ liệu trong bảng "Diem" sẽ không thể hiển thị
Không thể xác định được điểm số thuộc về học sinh nào
Dữ liệu trong bảng "HocSinh" sẽ bị trùng lặp
Phần mềm quản lý sẽ tự động tạo kh
Câu 15: ảy ra?
Dữ liệu trong bảng "Diem" sẽ không thể hiển thị
Không thể xác định được điểm số thuộc về học sinh nào
Dữ liệu trong bảng "HocSinh" sẽ bị trùng lặp
Phần mềm quản lý sẽ tự động tạo khóa ngoài
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ì?
Khóa ngoài để liên kết với bảng khác
Khóa chính để xác định duy nhất mỗi ca sĩ
Trường lưu trữ tên ca sĩ
Trường lưu trữ ngày sinh của ca sĩ
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)?
VARCHAR(10)
INT
DATE
YES/NO
Câu 18: Bảng trong CSDL quan hệ là gì?
Tập hợp các phần mềm quản lý dữ liệu
Tập hợp dữ liệu dưới dạng hàng và cột
Tập hợp các máy tính được kết nối
Tập hợp các kiểu dữ liệu
Câu 19: Khóa chính trong một bảng có vai trò gì?
Lưu trữ dữ liệu dạng số
Tăng tốc độ truy vấn dữ liệu
Xác định duy nhất mỗi bản ghi trong bảng
Liên kết với bảng khác
Câu 20: Kiểu dữ liệu VARCHAR trong HeidiSQL được dùng để lưu trữ gì?
Số nguyên
Ngày tháng
Chuỗi ký tự có độ dài xác định
Giá trị logic (True/False)
Câu 21: Tại sao cần đặt khóa chính cho bảng "bannhac" trong CSDL MyMusic?
Để tăng tốc độ truy vấn dữ liệu
Để lưu trữ thông tin tên bản nhạc
Để xác định duy nhất mỗi bản nhạc và tránh trùng lặp
Để liên kết với bảng "casi"
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ì?
Trường "tennhacsi" chỉ có thể chứa số nguyên
Trường "tennhacsi" có thể chứa tối đa 50 ký tự dạng chuỗi
Trường "tennhacsi" phải chứa chính xác 50 ký tự
Trường "tennhacsi" không được phép để trống
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ì?
Đảm bảo tên bản nhạc chỉ chứa số nguyên
Cho phép tên bản nhạc chứa tối đa 100 ký tự dạng chuỗi
Yêu cầu tên bản nhạc phải chứa ít nhất 1 ký tự
Việc chọn kiểu dữ liệu VARCHAR(100) cho trường "tenbannhac" có ý nghĩa gì?
Đảm bảo tên bản nhạc chỉ chứa số nguyên
Cho phép tên bản nhạc chứa tối đa 100 ký tự dạng chuỗi
Yêu cầu tên bản nhạc phải đúng 100 ký tự
Làm cho tên bản nhạc trở thành khóa chính
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"?
Để tăng tốc độ truy vấn dữ liệu
Để giảm dung lượng lưu trữ của CSDL
Để 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
Để làm cho bảng "bannhac" có nhiều trường hơn
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?
Dữ liệu sẽ tự động được sắp xếp theo thứ tự thời gian
Không thể nhập dữ liệu vào bảng "banthuam"
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
Bảng "banthuam" sẽ tự động liên kết với bảng "casi"
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ì?
Đảm bảo mỗi bản nhạc có một mã duy nhất
Cho phép nhập bất kỳ giá trị nào vào "idnhacsi" mà không cần kiểm tra
Đảm bảo rằng mỗi giá trị "idnhacsi" trong "bannhac" phải tồn tại trong bảng "nhacsi"
Làm cho bảng "bannhac" trở thành bảng chính trong CSDL
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"?
Để tăng tốc độ nhập dữ liệu vào bảng "banthuam"
Để đả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"
Để cho phép bảng "banthuam" lưu trữ tên ca sĩ thay vì mã ca sĩ
Để ngăn bảng "casi" thêm dữ liệu mới
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"?
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"?
Bản ghi ca sĩ sẽ bị xóa mà không ảnh hưởng đến "banthuam"
HeidiSQL sẽ báo lỗi và ngăn không cho xóa bản ghi ca sĩ
Tất cả bản thu âm liên quan trong "banthuam" sẽ tự động bị xóa
Dữ liệu trong "banthuam" sẽ tự động thay đổi để phù hợp
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?
Để tăng số lượng trường trong bảng "bannhac"
Để cho phép một bản nhạc có nhiều nhạc sĩ sáng tá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"
Để ngăn bảng "nhacsi" lưu trữ thông tin tên nhạc sĩ
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"?
Dữ liệu trong "banthuam" sẽ tự động được sắp xếp theo ngày thu âm
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
HeidiSQL sẽ tự động tạo bản nhạc mới trong "bannhac" để phù hợp
Bảng "banthuam" sẽ không thể nhập dữ liệu
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?
HeidiSQL sẽ báo lỗi và không cho xóa ca sĩ
Tất cả bản thu âm liên quan trong "banthuam" sẽ bị xóa cùng ca sĩ đó
Chỉ ca sĩ bị xóa, các bản thu âm trong "banthuam" vẫn giữ nguyên
Khóa ngoài "idcasi" trong "banthuam" sẽ tự động chuyển thành NULL
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
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?
Dữ liệu được nhập thành công mà không có lỗi
HeidiSQL sẽ tự động thêm "NS03" vào bảng "nhacsi"
HeidiSQL sẽ báo lỗi vì vi phạm tính toàn vẹn tham chiếu
Giá trị "idnhacsi" sẽ tự động chuyển thành "NS01"
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"?
Giá trị "idbannhac" trong "banthuam" vẫn giữ nguyên là "BN01"
Giá trị "idbannhac" trong "banthuam" sẽ tự động thay đổi thành "BN001"
HeidiSQL sẽ báo lỗi và không cho phép thay đổi
Tất cả bản ghi trong "banthuam" có "idbannhac" là "BN01" sẽ bị xóa
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?
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ệ
HeidiSQL sẽ báo lỗi vì "idbanthuam" chưa tồn tại
Dữ liệu sẽ không được nhập vì "ngaythu" không đúng định dạng
HeidiSQL sẽ tự động thay đổi "idcasi" thành giá trị khác
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
"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"?
"TL01" sẽ bị xóa và "idtheloai" trong "bannhac" sẽ thành NULL
HeidiSQL sẽ ngăn chặn việc xóa "TL01" vì "BN01" đang tham chiếu đến nó
Cả "TL01" trong "theloai" và "BN01" trong "bannhac" sẽ bị xóa
HeidiSQL sẽ tự động thay đổi "idtheloai" trong "bannhac" thành giá trị khác
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?
Để tăng tốc độ thực thi lệnh UPDATE
Để chỉ định chính xác bản thu âm cần sửa, tránh thay đổi toàn bộ bảng
Để đảm bảo ngày thu âm được nhập đúng định dạng
Để liên kết bảng "banthuam" với bảng "casi"
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?
Bản ghi "CS01" sẽ bị xóa mà không ảnh hưởng đến "banthuam"
HeidiSQL sẽ tự động xóa các bản thu âm liên quan trong "banthuam"
Lệnh DELETE sẽ bị chặn để đảm bảo tính toàn vẹn tham chiếu
Giá trị "idcasi" trong "banthuam" sẽ tự động chuyển thành NULL
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?
Để sắp xếp dữ liệu theo tên bản nhạc
Để 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
Để chỉ lấy dữ liệu từ bảng "bannhac" mà không cần bảng "nhacsi"
Để tăng số lượng bản ghi trong kết quả truy vấn
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"?
Tại sao giá trị "idbannhac" và "idcasi" phải tồn tại trong "bannhac" và "casi"?
Để tăng tốc độ nhập dữ liệu vào bảng "banthuam"
Để đảm bảo tính toàn vẹn tham chiếu vì "idbannhac" và "idcasi" là khóa ngoài
Để tránh trùng lặp giá trị trong bảng "banthuam"
Để tự động tạo bản ghi mới trong "bannhac" và "casi"
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?
Làm cho kết quả hiển thị tất cả bản ghi trong "banthuam"
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
Kết hợp dữ liệu từ "banthuam" với bảng "casi"
Sắp xếp các bản thu âm theo thứ tự ngày thu âm
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))?
INSERT INTO casi (idcasi, tencasi) VALUES ('CS04', 'Trần Thu Hà');
UPDATE casi SET idcasi = 'CS04', tencasi = 'Trần Thu Hà';
DELETE FROM casi WHERE idcasi = 'CS04';
SELECT idcasi, tencasi FROM casi WHERE idcasi = 'CS04';
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?
INSERT INTO bannhac (idbannhac, tenbannhac) VALUES ('BN01', 'Diễm Xưa (Live)');
UPDATE bannhac SET tenbannhac = 'Diễm Xưa (Live)' WHERE idbannhac = 'BN01';
DELETE FROM bannhac WHERE tenbannhac = 'Diễm Xưa';
SELECT tenbannhac FROM bannhac WHERE idbannhac = 'BN01';
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?
INSERT INTO banthuam (ngaythu) VALUES ('2023-06-01');
UPDATE banthuam SET ngaythu = '2023-0
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?
INSERT INTO banthuam (ngaythu) VALUES ('2023-06-01');
UPDATE banthuam SET ngaythu = '2023-06-01' WHERE ngaythu < '2023-06-01';
DELETE FROM banthuam WHERE ngaythu < '2023-06-01';
SELECT * FROM banthuam WHERE ngaythu < '2023-06-01';
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"?
SELECT casi.tencasi, banthuam.ngaythu FROM casi JOIN banthuam ON casi.idcasi = banthuam.idcasi;
SELECT tencasi, ngaythu FROM casi WHERE banthuam.idcasi = casi.idcasi;
INSERT INTO banthuam (idcasi, ngaythu) VALUES ('CS01', '2023-07-10');
UPDATE casi SET tencasi = banthuam.ngaythu WHERE idcasi = 'CS01';
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?
SELECT bannhac.tenbannhac, nhacsi.tennhacsi FROM bannhac JOIN nhacsi ON bannhac.idnhacsi = nhacsi.idnhacsi WHERE nhacsi.idnhacsi = 'NS01';
UPDATE bannhac SET tenbannhac = nhacsi.tennhacsi WHERE idnhacsi = 'NS01';
DELETE FROM bannhac WHERE idnhacsi = 'NS01';
INSERT INTO nhacsi (idnhacsi, tennhacsi) VALUES ('NS01', 'Trịnh Công Sơn');
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"?
Vì "idcasi" trong "casi" không phải là khóa chính
Vì ON DELETE: Restrict ngăn xóa để đảm bảo tính toàn vẹn tham chiếu
Vì "banthuam" không chứa dữ liệu liên quan đến ca sĩ
Vì tùy chọn Cascade chưa được kích hoạt
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,
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?
Để tăng tốc độ thực thi lệnh INSERT
Vì "idbannhac" là khóa ngoài, phải tham chiếu đến giá trị hợp lệ trong "bannhac"
Vì "BN02" là khóa chính của "banthuam"
Để sắp xếp dữ liệu trong "banthuam" theo "idbannhac"
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';?
Lệnh sẽ bị chặn để bảo vệ dữ liệu trong "bannhac"
Giá trị "idnhacsi" trong "bannhac" sẽ tự động đổi thành "NS001"
Tất cả bản nhạc trong "bannhac" của "NS01" sẽ bị xóa
Dữ liệu trong "bannhac" không thay đổi, chỉ "nhacsi" bị sửa
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?
Để tăng dung lượng lưu trữ trong CSDL
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
Để tự động kích hoạt tùy chọn Cascade
Vì "BN01" không phải là khóa chính của "bannhac"
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';?
Lệnh sẽ bị chặn nếu "CS01" có bản thu âm trong "banthuam"
Chỉ bản ghi "CS01" trong "casi" bị xóa, "banthuam" không ảnh hưởng
Tất cả bản thu âm của "CS01" trong "banthuam" sẽ tự động bị xóa cùng "CS01"
Giá trị "idcasi" trong "banthuam" sẽ tự động đổi thành NULL
Câu 51.
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?
INSERT INTO banthuam (idbanthuam, idbannhac, idcasi, ngaythu) VALUES ('BT03', 'BN01', 'CS01', '2023-07-10');
UPDATE banthuam SET idbannhac = 'BN01', idcasi = 'CS01' WHERE idbanthuam = 'BT03';
DELETE FROM banthuam WHERE idbanthuam = 'BT03';
SELECT idbannhac, idcasi FROM banthuam WHERE ngaythu = '2023-07-10';
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?
INSERT INTO casi (idcasi, tencasi) VALUES ('CS001', 'Hà Anh Tuấn');
UPDATE casi SET idcasi = 'CS001' WHERE idcasi = 'CS01';
DELETE FROM casi WHERE idcasi = 'CS01';
SELECT idcasi FROM casi WHERE idcasi = 'CS01';
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?
UPDATE banthuam SET idcasi = 'CS01' WHERE idcasi = 'CS02';
DELETE FROM banthuam WHERE idcasi = 'CS02';
INSERT INTO banthuam (idbanthuam, idcasi) VALUES ('BT04', 'CS02');
SELECT * FROM banthuam WHERE idcasi = 'CS02';
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"?
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"?
UPDATE bannhac SET idbannhac = 'BN02' WHERE idbannhac = 'BN01';
DELETE FROM bannhac WHERE idbannhac = 'BN01';
INSERT INTO bannhac (idbannhac, tenbannhac) VALUES ('BN01', 'Diễm Xưa');
SELECT idbannhac FROM banthuam WHERE idbannhac = 'BN01';
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?
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');
UPDATE casi SET idcasi = 'CS03' WHERE tencasi = 'Bùi Anh Tuấn'; UPDATE banthuam SET idcasi = 'CS03' WHERE idbanthuam = 'BT05';
DELETE FROM casi WHERE idcasi = 'CS03'; DELETE FROM banthuam WHERE idbanthuam = 'BT05';
SELECT idcasi FROM casi WHERE idcasi = 'CS03'; SELECT idbanthuam FROM banthuam WHERE idcasi = 'CS03';
Lệnh nào dưới đây dùng để truy xuất dữ liệu từ bảng trong SQL?
INSERT
UPDATE
DELETE
SELECT
Trong CSDL MyMusic, "idcasi" trong "banthuam" là gì?
Khóa chính
Khóa ngoài
Trường thông thường
Tên bảng
INNER JOIN trong SQL có tác dụng gì?
Lấy tất cả bản ghi từ bảng trái
Chỉ lấy bản ghi khớp nhau giữa hai bảng
Xóa bản ghi không khớp
Thêm bản ghi mới vào bảng
Trong HeidiSQL, phím nào dùng để chạy câu lệnh SQL trong tab "Query"?
F5
F9
F12
Enter
Trong CSDL MyMusic, bảng nào chứa thông tin về ngày thu âm?
casi
nhacsi
bannhac
banthuam
