Giải bài tập Tin học lớp 11 Bài 14: SQL – Ngôn ngữ truy vấn có cấu trúc
Khởi động trang 69 Tin học 11: Ở 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ì?
Lời giải:
SQL (Structured Query Language) là một ngôn ngữ truy vấn được sử dụng để truy xuất và quản lý dữ liệu trong các hệ quản trị cơ sở dữ liệu (CSDL) quan hệ. SQL là một ngôn ngữ chuyên dụng và có cú pháp cụ thể để thực hiện các hoạt động trên cơ sở dữ liệu, chẳng hạn như tìm kiếm, thêm, sửa và xóa dữ liệu.
Trong khi đó, ngôn ngữ lập trình được sử dụng để viết các chương trình và ứng dụng có thể thực hiện các hoạt động phức tạp trên dữ liệu. Ngôn ngữ lập trình có thể sử dụng để truy xuất và cập nhật dữ liệu trong CSDL, nhưng thường được sử dụng để thực hiện các tác vụ khác, chẳng hạn như xử lý dữ liệu, hiển thị dữ liệu cho người dùng hoặc thực hiện các tính toán phức tạp trên dữ liệu.
Vì vậy, sự khác biệt chính giữa SQL và ngôn ngữ lập trình là SQL được thiết kế để làm việc với cơ sở dữ liệu, trong khi ngôn ngữ lập trình được thiết kế để thực hiện các tác vụ phức tạp khác. SQL được sử dụng để truy xuất và cập nhật dữ liệu trong CSDL, trong khi ngôn ngữ lập trình được sử dụng để thực hiện các tác vụ phức tạp khác như xử lý dữ liệu, tính toán và hiển thị kết quả cho người dùng.
1. Lợi ích của ngôn ngữ truy vấn
Hoạt động 1 trang 69 Tin học 11: Để 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ì?
Lời giải:
Sự khác biệt cơ bản giữa cách truy vấn dữ liệu thông qua ngôn ngữ truy vấn và lập trình trực tiếp là: 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, trong khi 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. Sử dụng ngôn ngữ truy vấn có thể giúp thực thi các truy vấn nhanh hơn và dễ dàng bảo trì hơn trong các ứng dụng liên tục sử dụng dữ liệu từ cơ sở dữ liệu. Tuy nhiên, lập trình trực tiếp cũng còn được sử dụng để thực hiện các truy vấn dữ liệu phức tạp hoặc kết hợp các tác vụ khác nhau trong ứng dụng.
2. Khởi tạo CSDL
Câu hỏi 1 trang 71 Tin học 11: 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.
Lời giải:
Create Database casi
Sid varchar (20)
TenCS(nvarchar (50)
TK vchar (20)
LD vchar (20)
TN vchar (20)
QH vchar (20)
Câu hỏi 2 trang 71 Tin học 11: Hãy viết câu truy vấn thêm khoá chính Sid cho bảng casi.
Lời giải:
CREATE TABLE casi
( Sid INT PRIMARY KEY);
3. Cập nhật và truy xuất dữ liệu
Câu hỏi 1 trang 72 Tin học 11: Hãy viết câu truy vấn lấy tất cả các dòng của bảng nhacsi.
Lời giải:
SELECT [Asid], [TenNS]
FROM [nhacsi]
Câu hỏi 2 trang 72 Tin học 11: 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), (QDP, ‘Quy Dương), (YM, ‘Y Moan’).
Lời giải:
INSERT INTO casi
VALUES (‘Nguyễn Trung Kiên’,’Quy Dương’,’Y Moan’);
4. Kiểm soát quyền truy cập
Câu hỏi 1 trang 72 Tin học 11: 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.
Lời giải:
GRANT SELECT
ON music
to mod
Câu hỏi 2 trang 72 Tin học 11: 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.
Lời giải:
REVOKE DELETE ON mod FROM musci;
Luyện tập
Luyện tập 1 trang 72 Tin học 11: 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.
Lời giải:
CREATE TABLE table_banthuam
(
Mid(int),
Sid varchar(20),
)
Luyện tập 2 trang 72 Tin học 11: Viết câu truy vấn tạo khoá ngoại Mid và Sid cho bảng banthuam.
Lời giải:
CONSTRAINT fk_banthuam
FOREIGN KEY (Mid, Sid)
REFERENCES banthuam (Mid, Sid
);
Luyện tập 3 trang 72 Tin học 11: 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
Lời giải:
SELECT
FROM banthuam, bannhac
WHERE banthuam.Mid; banthuam.Sid;bannhac.TenBN
Vận dụng
Vận dụng trang 72 Tin học 11: 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.
Lời giải:
SELECT banthuam.Mid, banthuam.Sid,bannhac.TenBN,casi.TenCS
FROM banthuam,bannhac,casi
Xem thêm các bài giải SGK Tin học lớp 11 Kết nối tri thức hay, chi tiết khác:
Bài 13: Cơ sở dữ liệu quan hệ
Bài 14: SQL – Ngôn ngữ truy vấn có cấu trúc
Bài 15: Bảo mật và an toàn hệ cơ sở dữ liệu
Bài 16: Công việc quản trị cơ sở dữ liệu
Bài 17: Dữ liệu mảng một chiều và hai chiều (Khoa học máy tính)
Bài 17: Quản trị cơ sở dữ liệu trên máy tính (Tin học ứng dụng)