Bài 14: SQL - Ngôn ngữ truy vấn có cấu trúc | Tin Học | Chủ đề 4. GIỚI THIỆU CÁC HỆ CƠ SỞ DỮ LIỆU.. - Lớp 11 - Kết Nối Tri Thức Với Cuộc Sống


SAU BÀI HỌC NÀY EM SẼ:

• Hiểu được ở mức nguyên lí: CSDL và các bàng được tạo lập, được thêm mới, cập nhật và truy xuất dữ liệu qua SQL.

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-0

Ở 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ì?

1. LỢI ÍCH CỦA NGÔN NGỮ TRUY VẤN

Hoạt động 1 Thảo luận về hai cách truy xuất dữ liệu

Để 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 Chien 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ì?

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-1Với cách thực hiện thứ nhất trong Hoạt động 1, người dùng phải biết rõ cấu trúc tệp dữ liệu, từ đó lập trình lấy ra đoạn dữ liệu liên quan tới từng bản nhạc đề xử lí. Việc làm này rất mất công sức, lại dễ nhầm lẫn. Đây là kiểu lập trình "theo thủ tục" vì phải biết rõ thủ tục truy cập dữ liệu để xây dựng thuật toán. Hơn thế nữa, ở một bài toán khác có nội dung tương tự, ví dụ lập danh sách các học sinh có điểm trung bình môn Toán trên 8 lại phải viết lại chương trình với một thủ tục tương tự.

Với cách thực hiện thứ hai trong Hoạt động 1, người dùng chỉ cần viết ra yêu cầu dưới dạng một câu truy vấn – muốn làm gì, chứ không phải nghĩ cách để thực hiện yêu cầu ấy. Mọi việc còn lại sẽ do hệ QTCSDL giải quyết: tiếp nhận yêu cầu ở dạng xâu truy vấn rồi lấy ra kết quả theo đúng yêu cầu.

Ngôn ngữ truy vấn định chuẩn cho việc định nghĩa, cập nhật, truy xuất và điều khiển dữ liệu từ các CSDL quan hệ là SQL (Structured Query Language) được xây

70

dựng từ những năm 1970. SQL đã trở thành ngôn ngữ truy vấn tiêu chuẩn mà hầu hết các hệ QTCSDL đều sử dụng. Điều đó có nghĩa là chúng ta có thể dùng SQL để thao tác trên hầu hết các hệ QTCSDL phổ biến như Oracle, SQL server, MySQL, PostGreSQL,... SQL có ba thành phần là DDL (Data Definition Language – ngôn ngữ định nghĩa dữ liệu), DML (Data Manipulation Language - ngôn ngữ thao tác dữ liệu) và DCL (Data Control Language - ngôn ngữ kiểm soát dữ liệu).

Chúng ta sẽ sử dụng SQL đề minh hoạ cách thức quản trị CSDL.

2. KHỞI TẠO CSDL

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-2Thành phần DDL của SQL cung cấp các câu truy vấn khởi tạo CSDL, khởi tạo bảng, thiết lập các khoá, tóm tắt trong các bảng sau.

Bảng 14.1. Các câu truy vấn CSDL

Câu truy vấn DDL Ý nghĩa
CREATE DATABASE Khởi tạo CSDL
CREATE TABLE Khởi tạo bảng
ALTER TABLE Thay đổi định nghĩa bảng
PRIMARY KEY Khai báo khoá chính
FOREIGN KEY... REFERENCES... Khai báo khoá ngoài

Các kiểu dữ liệu được sử dụng cho các thuộc tính của các bảng trong SQL.

Bảng 14.2. Kiểu dữ liệu

Kiểu dữ liệu Ý nghĩa

CHAR (n) hay CHARACTER (n)

Xâu kí tự có độ dài cố định n kí tự, nếu xâu có ít hơn n kí tự, các kí tự trồng được thêm vào phía bên phải
VARCHAR (n) Xâu kí tự có độ dài thay đổi, không vượt quá n kí tự
BOOLEAN Kiểu lôgic có giá trị Đúng (1) hay Sai (0)
INT hay INTEGER Số nguyên
REAL Số thực dấu phẩy động
DATE Ngày tháng, dạng 'YYYY-MM-DD'
TIME Thời gian, dạng 'HH:MM:SS'

Ví dụ: Khởi tạo CSDL âm nhạc, đặt tên là music và khởi tạo các bảng Nhạc sĩ, Bản nhạc có tên tương ứng là nhacsi và bannhac.

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-3

Khởi tạo CSDL music

Khởi tạo bảng bannhac

Thêm khoá chính Mid cho bảng bannhac

Khởi tạo bảng nhacsi

Các dấu chấm phẩy ";" được dùng để kết thúc câu truy vấn

71

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-41. 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.

2. Hãy viết câu truy vấn thêm khoá chính Sid cho bảng casi.

3. CẬP NHẬT VÀ TRUY XUẤT DỮ LIỆU

Thành phần DML của SQL cung cấp các câu truy vấn cập nhật và truy xuất dữ liệu. Sau đây là một vài câu truy xuất dữ liệu để minh hoạ.

Bảng 14.3. Câu truy xuất dữ liệu

Câu truy xuất dữ liệu Ý nghĩa

SELECT <dữ liệu cần lấy>

FROM <tên bảng>

WHERE <điều kiện chọn>

ORDER BY <tên trường>

INNER JOIN

<dữ liệu cần lấy có thể là danh sách các trường hay hàm nào đó với các biến là trường trong bảng
Chỉ định chọn chỉ các dòng thoả mãn điều kiện xác định
Sắp xếp các dòng kết quả theo thứ tự chỉ định
Liên kết các bảng theo điều kiện

Một số câu truy vấn cập nhật dữ liệu cho trong Bảng 14.4.

Bảng 14.4. Các câu truy vấn cập nhật dữ liệu

Câu truy vấn cập nhật dữ liệu Ý nghĩa

INSERT INTO <tên bảng>

VALUES <danh sách giá trị

Thêm dữ liệu vào bảng <tên bảng> với giá trị lấy từ <danh sách giá trị>

DELETE FROM <tên bảng>

WHERE <điều kiện>

Xoá các dòng trong bảng <tên bảng> thoả mãn <điều kiện>

UPDATE <tên bảng>

SET <tên trường> = <giá trị

Cập nhật <giá trị> cho trường có tên là <tên trường> trong bảng tên bảng>

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-5

Chọn ra từ bảng bannhac các dòng có Aid = 1, ở mỗi dòng chỉ lấy giá trị các cột Mid và Ten BN. Sắp xếp các dòng kết quả theo thứ tự TenBN.

Chọn lấy tất cả các dòng từ bảng bannhac, liên kết với bảng nhacsi theo khoá Aid, ở mỗi dòng lấy cột TenBN ở bảng bannhac và cột TenNS ở bảng nhacsi.

Thêm vào bảng nhacsi hai dòng mới.

Xoá dòng có Mid = '0005' trong bảng bannhac.

Thay đổi giá trị cột TenNS thành 'Hoàng Hiệp ở dòng có cột Aid = 6 trong bảng nhacsi.

72

Giả sử đã có bảng diemtoan_11A, trong đó có cột tb ghi điểm trung bình môn Toán của tất cả các học sinh lớp 11A. Khi đó câu truy vấn sau lấy ra điểm trung bình cộng môn Toán của tất cả các học sinh lớp 11A.

SECLECT  AVG(tb) FROM diemtoan_11A;

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-61. Hãy viết câu truy vấn lấy tất cả các dòng của bảng nhacsi.

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', 'Quý Dương'), ('YM', 'Y Moan').

4. KIỂM SOÁT QUYỀN TRUY CẬP

Thành phần DCL của SQL cung cấp các câu truy vấn kiểm soát quyền người dùng đối với CSDL, tóm tắt trong Bảng 14.5.

Bảng 14.5. Câu truy vấn kiểm soát quyền người dùng

Mẫu câu truy vấn Ý nghĩa

GRANT

Cấp quyền cho người dùng
REVOKE Thu hồi quyền đối với người dùng

Ví dụ:

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-7

GRANT select

ON music .*

TO guest ;

Cấp quyền dùng truy vấn SELECT đối với tất cả các bảng trong CSDL music cho người dùng guest.

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-8

REVOKE create, alter

ON music.bannhac

FROM mod;

Thu hồi quyền CREATE và ALTER cho bảng bannhac trong CSDL music đối với người dùng mod.

TDI câu truy vấn cấp quyền UPDATE đối với tất cả các vẫn cấp quyền UPDATE đối với tất cả các bảng trong CSDL music

1. Hãy viết mod cho người dùng mod.

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.

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-9LUYỆN TẬP

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.

2. Viết câu truy vấn tạo khoá ngoài Mid và Sid cho bảng banthuam.

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.

hinh-anh-bai-14-sql-ngon-ngu-truy-van-co-cau-truc-12060-10
VẬN DỤNG

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 TenCS của bảng casi.

Tin tức mới


Đánh giá

Bài 14: SQL - Ngôn ngữ truy vấn có cấu trúc | Tin Học | Chủ đề 4. GIỚI THIỆU CÁC HỆ CƠ SỞ DỮ LIỆU.. - Lớp 11 - Kết Nối Tri Thức Với Cuộc Sống

Tổng số sao của bài viết là: 5 trong 1 đánh giá
Xếp hạng: 5 / 5 sao

Bình Luận

Để Lại Bình Luận Của Bạn

Tin Học

  1. Chủ đề 1: Máy tính và xã hội tri thức
  2. Chủ để 2: Tổ chức lưu trữ, tìm kiếm và trao đổi thông tin
  3. Chủ đề 3: Đạo đức, pháp luật và văn hoá trong môi trường số
  4. Chủ đề 4. GIỚI THIỆU CÁC HỆ CƠ SỞ DỮ LIỆU..
  5. Chủ đề 5: HƯỚNG NGHIỆP VỚI TIN HỌC
  6. Chủ đề 6: Thực hành tạo và khai thác cơ sở dữ liệu
  7. Chủ đề 7: Phần mềm chỉnh sửa ảnh và làm video

Tin tức mới

Bộ Sách Lớp 11

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

Tài liệu học tập

Đây là tài liệu tham khảo hỗ trợ trong quá trình học tập

Global Success & Bộ Giáo Dục - Đào Tạo

Bộ sách Global Success & Bộ Giáo Dục - Đào Tạo là sự kết hợp giữa ngôn ngữ Tiếng Anh theo lối giảng dạy truyền thống và cập nhật những phương thức quốc tế

Cánh Diều

Bộ sách giáo khoa của Nhà xuất bản Cánh Diều

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

Sách Kết Nối Tri Thức Với Cuộc Sống

Lớp 1

Sách giáo khoa dành cho lớp 1

Lớp 6

Sách giáo khoa dành cho lớp 6

Lớp 5

Sách giáo khoa dành cho lớp 5

Lớp 4

Sách giáo khoa dành cho lớp 4

Lớp 2

Sách giáo khoa dành cho lớp 2

Lớp 3

Sách giáo khoa dành cho lớp 3

Lớp 7

Sách giáo khoa dành cho lớp 7

Lớp 8

Sách giáo khoa dành cho lớp 8

Lớp 9

Sách giáo khoa dành cho lớp 9

Lớp 10

Sách giáo khoa dành cho lớp 10

Lớp 11

Sách giáo khoa dành cho lớp 11

Lớp 12

Sách giáo khoa dành cho lớp 12

Liên Kết Chia Sẻ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.