Câu hỏi: Ở bài trước các em đã biết hệ QTCSDL với vai trò là một bộ phần mềm hỗ trợ khởi tạo, cập nhật, truy xuất CSDL để người dùng có thể cập nhật, truy xuất CSDL. Ngày nay người ta thực hiện công việc đó chủ yếu thông qua ngôn ngữ truy vấn có cấu trúc SQL. Sự khác biệt của việc sử dụng SQL so với việc truy xuất dữ liệu bằng ngôn ngữ lập trình là gì?
Hướng dẫn trả lời:
SQL tập trung vào truy cập và quản lý dữ liệu trong cơ sở dữ liệu, trong khi ngôn ngữ lập trình được sử dụng để xây dựng các ứng dụng và xử lý logic kinh doanh, bao gồm việc tương tác với cơ sở dữ liệu.
Hoạt động 1. Thảo luận về hai cách truy xuất dữ liệu
Câu 1: Để lấy danh sách các bản nhạc do nhạc sĩ Văn Cao (mã định danh Aid=1), sáng tác trong bảng dữ liệu Bản nhạc, ta có thể thực hiện theo một trong hai cách sau:
Dùng một ngôn ngữ lập trình, viết chương trình mở tệp chứa bảng dữ liệu Bản nhạc, rồi lần lượt lấy ra từng nhóm dữ liệu liên quan đến từng bản nhạc, sau đó tách phần Aid để kiểm tra, nếu Aid=1 thì đưa ra tên bản nhạc (tenBN)
Dùng ngôn ngữ truy vấn, viết: “CHỌN TenBN TỪ Bản nhạc VỚI Aid=1” rồi gửi cho hệ QTCSDL thực hiện.
Sự khác biệt cơ bản trong cách truy vấn nhờ ngôn ngữ truy vấn so với lập trình trực tiếp theo em là gì?
Hướng dẫn trả lời:
Ngôn ngữ truy vấn được thiết kế đặc biệt để truy vấn dữ liệu trong cơ sở dữ liệu một cách hiệu quả và đơn giản, lập trình trực tiếp cần phải sử dụng ngôn ngữ lập trình để thực hiện các truy vấn dữ liệu và đảm bảo tính đúng đắn của chúng.
Câu 1: Hãy viết câu truy vấn tạo bảng Ca sĩ như đã mô tả trong Bài 11 với tên bảng là casi.
Hướng dẫn trả lời:
Create Database casi
Sid varchar (20)
TenCS(nvarchar (50)
TK vchar (20)
LD vchar (20)
TN vchar (20)
QH vchar (20)
Câu 2: Hãy viết câu truy vấn thêm khóa chính Sid cho bảng casi.
Hướng dẫn trả lời:
CREATE TABLE casi
( Sid INT PRIMARY KEY);
Câu 1: Hãy viết câu truy vấn lấy tất cả các dòng của bảng nhacsi.
Hướng dẫn trả lời:
SELECT [Asid], [TenNS]
FROM [nhacsi]
Câu 2: Hãy viết câu truy vấn thêm các dòng cho bảng casi với các giá trị là ('TK', 'Nguyễn Trung Kiên'), ('QD', 'Quy Dương'), ('YM', 'Y Moan').
Hướng dẫn trả lời:
INSERT INTO casi
VALUES ('Nguyễn Trung Kiên','Quy Dương','Y Moan');
Câu 1: Hãy viết câu truy vấn cấp quyền UPDATE đối với tất cả các bảng trong CSDL music cho người dùng mod.
Hướng dẫn trả lời:
GRANT SELECT
ON music
to mod
Câu 2: Hãy viết câu truy vấn thu hồi quyền DELETE đối bảng nhacsi trong CSDL music cho người dùng mod.
Hướng dẫn trả lời:
REVOKE DELETE ON mod FROM music;
Câu 1: Hãy viết câu truy vấn tạo bảng Bản thu âm (banthuam) như đã mô tả trong Bài 13.
Hướng dẫn trả lời:
CREATE TABLE table_banthuam
(
Mid(int),
Sid varchar(20),
)
Câu 2: Viết câu truy vấn tạo khoá ngoại Mid và Sid cho bảng banthuam.
Hướng dẫn trả lời:
CONSTRAINT fk_banthuam
FOREIGN KEY (Mid, Sid)
REFERENCES banthuam (Mid, Sid
);
Câu 3: Viết câu truy vấn lấy ra tất cả các dòng trong liên kết bảng banthuam với bảng bannhac, mỗi dòng lấy các cột: Mid, Sid của bảng banthuam và cột TenBN của bảng bannhac.
Hướng dẫn trả lời:
SELECT
FROM banthuam, bannhac
WHERE banthuam.Mid; banthuam.Sid;bannhac.TenBN
Câu 1: Viết câu truy vấn lấy ra tất cả các dòng trong liên kết bảng banthuam với bảng bannhac và bảng casi, mỗi dòng lấy các cột: Mid. Sid của bảng banthuam, cột TenBN của bảng bannhac và TenCS của bảng casi.
Hướng dẫn trả lời:
SELECT banthuam.Mid, banthuam.Sid,bannhac.TenBN,casi.TenCS
FOM banthuam,bannhac,casi