Nói cần dữ liệu gì
Giả sử bảng **BanNhac** có các trường `MaBai`, `TenBai`, `MaTacGia`. Muốn lấy tên những bản nhạc có `MaTacGia = 'T01'`, một chương trình tự xử lí tệp phải biết cách đọc từng dòng, tách các trường rồi lọc. Với **SQL** (ngôn ngữ truy vấn có cấu trúc), ta nêu bảng, cột và điều kiện; hệ quản trị CSDL (hệ QTCSDL) thực hiện truy xuất theo yêu cầu.
Câu truy vấn vẫn phải **đúng tên bảng, tên trường, điều kiện và quyền truy cập**; hệ QTCSDL không tự đoán ý khi yêu cầu sai. SQL giúp tập trung vào kết quả cần lấy, còn người thiết kế vẫn phải tổ chức dữ liệu và kiểm kết quả.
Ba nhóm công việc trong SGK
| Nhóm | Việc chính | Từ khóa ví dụ |
|---|---|---|
| DDL — định nghĩa dữ liệu | Tạo hoặc đổi cấu trúc bảng, khai báo khóa | `CREATE TABLE`, `ALTER TABLE` |
| DML — thao tác dữ liệu | Lấy, thêm, sửa, xóa bản ghi | `SELECT`, `INSERT`, `UPDATE`, `DELETE` |
| DCL — kiểm soát dữ liệu | Cấp hoặc thu hồi quyền truy cập | `GRANT`, `REVOKE` |
Ví dụ, **tạo** bảng Bản nhạc thuộc DDL; **tìm** bài của T01 thuộc DML; **cho** tài khoản chỉ được xem bảng thuộc DCL. Bài học này nhận ra mục đích và kết quả của câu SQL; cú pháp chi tiết còn phụ thuộc hệ QTCSDL sử dụng.
Bài luyện
Muốn lấy tên các bản nhạc của T01, điểm chính của cách dùng SQL là gì?
Đó là yêu cầu truy xuất ở mức dữ liệu.
Đây là cách tự xử lí tệp.
Truy vấn phải chỉ đúng bảng và trường.
Đổi tên tệp không tạo câu truy vấn.
Lời giải
SQL nêu cần lấy TenBai từ BanNhac với điều kiện MaTacGia là T01. Hệ QTCSDL thực hiện việc tìm dữ liệu; người viết không phải tự lập trình từng bước đọc tệp.
Bài luyện
Tạo bảng BanNhac với các trường MaBai, TenBai thuộc nhóm nào trong SGK?
Chưa sửa giá trị bản ghi nào.
Các trường là cấu trúc của bảng.
Tạo bảng khác với cấp quyền.
Truy xuất đọc dữ liệu, không tạo bảng.
Lời giải
Tạo bảng và xác định các trường là công việc định nghĩa cấu trúc dữ liệu, thuộc nhóm DDL.
Bài luyện
Cấp quyền chỉ xem bảng BanNhac cho một tài khoản thuộc nhóm nào?
DDL tạo hoặc đổi cấu trúc.
DML thao tác bản ghi.
DCL kiểm soát quyền truy cập.
Quyền xem là vấn đề truy cập CSDL.
Lời giải
Cấp quyền xem quyết định tài khoản được làm gì với bảng, nên thuộc nhóm kiểm soát dữ liệu DCL.
Đang học