Giáo Trình Cơ Sở Dữ Liệu: Chương 5 - Ngôn Ngữ Định Nghĩa Dữ Liệu (DDL) và Truy Vấn Dữ Liệu SQL

Tổng quan về giáo trình

Bài giảng "Chương 5: SQL (Structured Query Language)" là học liệu cốt lõi trong chương trình đào tạo học phần Cơ sở dữ liệu, được biên soạn bởi Bộ môn Hệ thống Thông tin – Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên (ĐHQG-HCM). Trong chương trình đào tạo bậc đại học khối ngành Công nghệ Thông tin và Hệ thống Thông tin, học phần Cơ sở dữ liệu giữ vị trí môn học cơ sở ngành bắt buộc, đóng vai trò bản lề kết nối giữa kiến thức toán rời rạc, cấu trúc dữ liệu với các kỹ thuật xây dựng ứng dụng phần mềm và quản trị dữ liệu nâng cao.

+-------------------------------------------------------------------------------+
|             BỘ MÔN HỆ THỐNG THÔNG TIN - KHOA CÔNG NGHỆ THÔNG TIN              |
|                      TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN                         |
+-------------------------------------------------------------------------------+
                                       |
                                       v
                     GIÁO TRÌNH MÔN HỌC: CƠ SỞ DỮ LIỆU
                                       |
                                       v
               CHƯƠNG 5: SQL (STRUCTURED QUERY LANGUAGE)
  +-----------------------------------+-----------------------------------+
  | Phân hệ Định nghĩa Dữ liệu (DDL)  |   Phân hệ Thao tác Dữ liệu (DML)  |
  | - Cấu trúc Lược đồ bảng           |   - Cú pháp SELECT - FROM - WHERE |
  | - Hệ thống Kiểu dữ liệu           |   - Biểu thức Boolean & Phép nối  |
  | - Ràng buộc Toàn vẹn (Constraint) |   - Xử lý giá trị NULL            |
  +-----------------------------------+-----------------------------------+

Mục tiêu học tập của bài giảng bao gồm:

  • Cung cấp hiểu biết toàn diện về lịch sử hình thành, chuẩn hóa và kiến trúc phân lớp của ngôn ngữ SQL từ chuẩn ANSI (SQL-86, SQL-92, SQL-99) đến các hệ quản trị thương mại như Microsoft SQL Server.
  • Giúp người học làm chủ ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language) nhằm thiết lập cấu trúc bảng, khai báo kiểu dữ liệu và định nghĩa hệ thống ràng buộc toàn vẹn trên lược đồ quan hệ.
  • Xây dựng kỹ năng chuyển dịch từ mô hình đại số quan hệ lý thuyết sang các câu lệnh truy vấn dữ liệu thực tế bằng ngôn ngữ SQL cấp cao.

Cách tiếp cận của giáo trình đi từ việc giải thích nền tảng lý thuyết chuẩn hóa đến việc hiện thực hóa cú pháp chi tiết trên hệ quản trị cơ sở dữ liệu quan hệ cụ thể. Điểm đặc thù của tài liệu là việc sử dụng đồng nhất một cơ sở dữ liệu mẫu mang tính học thuật cao về quản lý hoạt động nghiên cứu khoa học của giảng viên (bao gồm các thực thể: GIAOVIEN, BOMON, KHOA, DETAI, CONGVIEC, THAMGIADT) xuyên suốt toàn bộ ví dụ minh họa và bài tập phân tích cú pháp.


Nội dung kiến thức cốt lõi

Các chương và chủ đề chính

Nội dung bài giảng được cấu trúc thành các module kiến thức tuần tự, đảm bảo tính liên tục và logic từ khâu tạo dựng cấu trúc dữ liệu đến khâu trích xuất thông tin:

[Tổng quan & Lịch sử SQL] 
  1. Giới thiệu tổng quan và lịch sử SQL:
    • Khái quát về hạn chế của ngôn ngữ đại số quan hệ thuần túy trong tương tác người dùng.
    • Nguồn gốc của ngôn ngữ SEQUEL do IBM phát triển vào thập niên 1970 và tiến trình chuẩn hóa bởi ANSI thông qua các mốc: SQL-86, SQL-92, SQL-99.
    • Phân loại các phân hệ trong SQL: Định nghĩa dữ liệu (DDL), Thao tác dữ liệu (DML), Định nghĩa khung nhìn (View), Kiểm soát ràng buộc toàn vẹn, Phân quyền bảo mật và Điều khiển giao tác.
    • Bảng quy đổi thuật ngữ giữa lý thuyết đại số quan hệ và hệ thống cơ sở dữ liệu thương mại:
Lý thuyết (Đại số quan hệ / Chuẩn SQL-92) Thương mại (Hệ quản trị MS SQL Server)
Quan hệ (Relation) Bảng (Table)
Thuộc tính (Attribute) Cột (Column)
Bộ (Tuple) Dòng (Row / Record)
  1. Hệ thống kiểu dữ liệu trong SQL:

    • Nhóm kiểu số (Numeric): INTEGER, SMALLINT, NUMERIC(p, s), DECIMAL(p, s), REAL, DOUBLE PRECISION, FLOAT(p).
    • Nhóm kiểu chuỗi ký tự (Character string): CHAR(n), VARCHAR(n) (chuỗi thay đổi độ dài), và các định dạng hỗ trợ ký tự quốc tế Unicode gồm NCHAR(n), NVARCHAR(n).
    • Nhóm kiểu chuỗi bit (Bit string): BIT, BIT(x), BIT VARYING(x).
    • Nhóm kiểu ngày giờ (Datetime): DATE (ngày/tháng/năm), TIME (giờ/phút/giây), TIMESTAMP (ngày và giờ theo chuẩn ANSI) và DATETIME (kiểu dữ liệu kết hợp ngày giờ trong Microsoft SQL Server).
  2. Lệnh định nghĩa dữ liệu (DDL - Data Definition Language):

    • CREATE TABLE: Khởi tạo cấu trúc bảng mới cùng danh sách các cột, kiểu dữ liệu tương ứng và các ràng buộc đi kèm.
    • ALTER TABLE: Thay đổi cấu trúc bảng hiện hành bao gồm thêm cột mới (ADD), xóa cột (DROP COLUMN), thay đổi định nghĩa kiểu dữ liệu cột (ALTER COLUMN), thêm ràng buộc (ADD CONSTRAINT) hoặc loại bỏ ràng buộc (DROP CONSTRAINT).
    • DROP TABLE: Xóa bỏ hoàn toàn định nghĩa bảng và toàn bộ dữ liệu lưu trữ bên trong bảng ra khỏi cơ sở dữ liệu.
    • CREATE DOMAIN: Tạo miền giá trị hoặc kiểu dữ liệu người dùng tự định nghĩa kế thừa từ các kiểu dữ liệu có sẵn (Ví dụ: CREATE DOMAIN MyString30 AS VARCHAR(30)).
    • CREATE DATABASE: Thiết lập cơ sở dữ liệu mới trên hệ thống lưu trữ.
  3. Hệ thống ràng buộc toàn vẹn (Integrity Constraints - RBTV):

    • Cơ chế thiết lập các quy tắc toàn vẹn dữ liệu: NOT NULL, NULL, UNIQUE, DEFAULT, PRIMARY KEY, FOREIGN KEY / REFERENCES, CHECK.
    • Cú pháp định danh tên tường minh cho ràng buộc: CONSTRAINT <Ten_RBTV> <Loai_RBTV>. Kỹ thuật này cho phép quản lý vòng đời của ràng buộc độc lập với định nghĩa cột.
  4. Truy vấn dữ liệu cơ bản (DML - Basic Query):

    • Cấu trúc ba mệnh đề nền tảng: SELECT <danh sách cột> FROM <danh sách bảng> WHERE <điều kiện lọc>.
    • Đối chiếu với đại số quan hệ: Cú pháp SELECT L FROM R WHERE C tương đương với biểu thức đại số quan hệ $\pi_L(\sigma_C(R))$.
    • Mở rộng mệnh đề SELECT: Sử dụng bí danh cột (AS), các phép toán số học trên thuộc tính (ví dụ: LUONG * 1.1), phép ghép chuỗi địa chỉ (SONHA + ',' + DUONG + ...), và loại bỏ trùng lặp bằng từ khóa DISTINCT.
    • Xây dựng điều kiện WHERE: Sử dụng toán tử logic (AND, OR, NOT), toán tử xác định khoảng (BETWEEN ... AND ..., NOT BETWEEN), toán tử so khớp mẫu ký tự (LIKE, NOT LIKE với ký tự đại diện %, _, [charlist], [^charlist]).
    • Xử lý giá trị NULL: Biểu thức số học chứa NULL cho kết quả NULL; biểu thức so sánh chứa NULL dẫn đến trạng thái logic UNKNOWN; kiểm tra giá trị rỗng bằng IS NULL và IS NOT NULL.
    • Phép kết bảng trên mệnh đề FROM: Minh họa bản chất của phép tích Descartes ($R \times S$) khi liệt kê nhiều bảng trên FROM và kỹ thuật sử dụng điều kiện kết nối thuộc tính khóa trên mệnh đề WHERE để tránh nhập nhằng bằng bí danh bảng (Alias).
+-------------------------------------------------------------------------------+
|                      CƠ SỞ DỮ LIỆU MẪU: QUẢN LÝ ĐỀ TÀI                        |
+-------------------------------------------------------------------------------+
|                                                                               |
|   +-----------------------+              +-----------------------+            |
|   |         KHOA          |              |        BOMON          |            |
|   +-----------------------+              +-----------------------+            |
|   | PK: MAKHOA            |1            *| PK: MABM              |            |
|   |     TENKHOA           |--------------|     TENBM             |            |
|   |     TRUONGKHOA (FK)   |              |     TRUONGBM (FK)     |            |
|   +-----------------------+              | FK: MAKHOA            |            |
|                                          +-----------------------+            |
|                                                      |1                       |
|                                                      |                        |
|                                                      |*                       |
|   +-----------------------+              +-----------------------+            |
|   |        DETAI          |              |       GIAOVIEN        |            |
|   +-----------------------+              +-----------------------+            |
|   | PK: MADT              |1            *| PK: MAGV              |            |
|   |     TENDT (UNIQUE)    |--------------|     HOTEN (NOT NULL)  |            |
|   |     KINHPHI           |              |     LUONG (DEFAULT)   |            |
|   | FK: GVCNDT            |              |     PHAI (CHECK)      |            |
|   +-----------------------+              | FK: GVQLCM            |            |
|               |1                         | FK: MABM              |            |
|               |                          +-----------------------+            |
|               |*                                     |1                       |
|   +-----------------------+                          |                        |
|   |       CONGVIEC        |                          |                        |
|   +-----------------------+                          |                        |
|   | PK,FK: MADT           |                          |                        |
|   | PK:    STT            |                          |*                       |
|   |        TENCV          |              +-----------------------+            |
|   +-----------------------+              |       THAMGIADT       |            |
|                                          +-----------------------+            |
|                                          | PK,FK: MAGV           |            |
|                                          | PK,FK: MADT, STT      |            |
|                                          |        PHUCAP         |            |
|                                          +-----------------------+            |
+-------------------------------------------------------------------------------+

Kiến thức nền tảng được xây dựng

Nội dung bài giảng thiết lập nền tảng khoa học vững chắc về lý thuyết cơ sở dữ liệu quan hệ:

  • Nguyên lý toàn vẹn dữ liệu (Data Integrity): Toàn vẹn thực thể (thông qua khóa chính PRIMARY KEY), toàn vẹn tham chiếu (thông qua khóa ngoại FOREIGN KEY), toàn vẹn miền giá trị (thông qua CHECK, DEFAULT, NOT NULL, CREATE DOMAIN) và toàn vẹn định danh người dùng (UNIQUE).
  • Logic ba giá trị (Three-Valued Logic): Hiểu rõ cơ chế đánh giá biểu thức logic trong cơ sở dữ liệu quan hệ gồm ba trạng thái: TRUE, FALSE và UNKNOWN.
  • Ánh xạ từ mô hình hình thức sang mô hình cài đặt: Nắm vững cơ chế chuyển đổi các phép toán của đại số quan hệ (Chiếu, Chọn, Tích Descartes, Kết nối tự nhiên, Kết nối có điều kiện $\theta$-join) sang cú pháp khai báo của SQL.

Kỹ năng phát triển

Thông qua các nội dung được giảng dạy, người học hình thành các kỹ năng chuyên môn:

  • Kỹ năng kỹ thuật: Soạn thảo các kịch bản DDL chuẩn xác để khởi tạo, điều chỉnh và quản lý lược đồ cơ sở dữ liệu vật lý; thiết lập chính xác các khóa và ràng buộc phức hợp trên nhiều cột (như PRIMARY KEY (MADT, STT) trong bảng CONGVIEC).
  • Kỹ năng phân tích logic: Phân tích yêu cầu bài toán thực tế để xác định đúng miền giá trị, quy tắc kiểm tra điều kiện (ví dụ: ràng buộc tuổi TUOI >= 23 AND TUOI <= 60, ràng buộc giới tính PHAI IN ('Nam', 'Nu')).
  • Kỹ năng giải quyết bài toán truy vấn: Ánh xạ chính xác các câu hỏi nghiệp vụ bằng ngôn ngữ tự nhiên sang các câu lệnh truy vấn đa bảng có cấu trúc điều kiện phức hợp và loại trừ lỗi nhập nhằng tên thuộc tính.

Phương pháp giảng dạy và học tập

Phương pháp tiếp cận sư phạm

Bài giảng áp dụng phương pháp sư phạm cấu trúc theo mô hình diễn tiến chuẩn mực trong khoa học máy tính:

  1. Trình bày khái niệm lý thuyết và nền tảng chuẩn hóa: Giới thiệu mục tiêu của lệnh, cơ sở toán học hoặc chuẩn quốc tế tương ứng.
  2. Khai báo cú pháp tổng quát: Đưa ra cấu trúc chuẩn của câu lệnh cùng các tham số tùy chọn và bắt buộc.
  3. Phân tích ca minh họa cụ thể: Sử dụng các lược đồ thực tế để mô tả cách thức vận hành của câu lệnh.
  4. Đối chiếu đại số quan hệ và phân tích mã lỗi: Đối chiếu biểu thức SQL với phép toán đại số quan hệ tương đương, phân tích các trường hợp xung đột toàn vẹn dữ liệu (ví dụ: tạo khóa ngoại khi bảng cha chưa tồn tại, hoặc thêm khóa chính mà cột chưa được gán thuộc tính NOT NULL).
+-----------------------------------------------------------------------------+
|                           TIẾN TRÌNH SƯ PHẠM                                |
+-----------------------------------------------------------------------------+
|  Bước 1: Cơ sở Lý thuyết (Chuẩn SQL-92, Đại số quan hệ)                     |
|  Bước 2: Cú pháp Chuẩn hóa (CREATE TABLE, ALTER TABLE, SELECT...)          |
|  Bước 3: Thực thi Minh họa (Lược đồ GIAOVIEN, BOMON, KHOA, DETAI)           |
|  Bước 4: Kiểm soát Ràng buộc & Tối ưu hóa (CONSTRAINT, INDEX, NULL logic)  |
+-----------------------------------------------------------------------------+

Bài tập và kịch bản thực hành

Giáo trình cung cấp các dạng bài tập thực hành theo cấp độ từ cơ bản đến phức hợp:

  • Bài tập định nghĩa lược đồ có ràng buộc: Điển hình là yêu cầu tạo bảng GIAOVIEN với các quy định khắt khe: MaGV là khóa chính, HoTen không được để trống (NOT NULL), Luong mặc định là 1000 (DEFAULT), Phai thuộc tập giá trị Nam/Nữ (CHECK (PHAI IN ('Nam', 'Nu'))), địa chỉ phân rã thành các trường nhỏ (SoNha, Duong, Quan, ThanhPho), cùng các khóa ngoại tự tham chiếu GVQLCM và khóa ngoại liên kết MaBM.
  • Bài tập thay đổi lược đồ động: Thực hành lệnh ALTER TABLE BOMON để bổ sung khóa chính PK_BOMON, khóa ngoại FK_TRBOMON tham chiếu đến GIAOVIEN(MAGV), ràng buộc duy nhất UNI_TENBM và ràng buộc giá trị mặc định DF_NGAYNHANCHUC sử dụng hàm hệ thống GETDATE().
  • Bài tập truy vấn liên kết đa bảng:
    • Truy vấn tìm tên bộ môn và tên trưởng bộ môn thuộc khoa CNTT.
    • Truy vấn thông tin đề tài cấp 'Thành phố' kèm họ tên, ngày sinh, địa chỉ của chủ nhiệm đề tài thông qua liên kết ba bảng DETAI, CHUDE, GIAOVIEN.
    • Truy vấn tìm giáo viên thuộc bộ môn 'HTTT' tham gia đề tài 'Mobile Database' có phụ cấp công việc trên 10 triệu đồng thông qua liên kết bốn bảng GIAOVIEN, THAMGIADT, CONGVIEC, DETAI.

Phương pháp đánh giá và hướng dẫn tự học

  • Đánh giá kết quả học tập: Được thực hiện thông qua bài thực hành viết mã trực tiếp trên hệ quản trị SQL Server trong môi trường phòng lab, đánh giá khả năng thiết kế lược đồ không lỗi toàn vẹn và mức độ tối ưu, chính xác của các câu lệnh trích xuất dữ liệu.
  • Khuyến nghị tự học: Sinh viên cần thực hiện tuần tự việc phân tích lược đồ dữ liệu trên giấy, viết biểu thức đại số quan hệ tương đương trước khi chuyển thể thành câu lệnh SQL; chủ động thử nghiệm các trường hợp vi phạm ràng buộc dữ liệu (nhập trùng khóa chính, nhập sai khóa ngoại, gán giá trị ngoài miền CHECK) để quan sát cơ chế bắt lỗi của hệ quản trị cơ sở dữ liệu.

Điểm nổi bật và cập nhật

Tính chuẩn hóa kết hợp thực tiễn thương mại

Bài giảng cân bằng giữa tính hàn lâm chuẩn mực và yêu cầu thực tiễn của công nghệ phần mềm:

  • Song hành chuẩn ANSI và hệ quản trị thương mại: Bài giảng làm rõ sự khác biệt giữa chuẩn lý thuyết (SQL-92) và việc triển khai trong Microsoft SQL Server (như kiểu dữ liệu DATETIME, hàm GETDATE(), tiền tố N cho kiểu dữ liệu hỗ trợ Unicode NVARCHAR).
  • Phân định rõ ràng vòng đời schema: Hướng dẫn chi tiết kỹ thuật đặt tên ràng buộc (CONSTRAINT <Ten_RBTV>) giúp sinh viên nắm vững kỹ năng quản trị lược đồ chuyên nghiệp, cho phép sửa đổi hoặc gỡ bỏ các ràng buộc riêng lẻ trên hệ thống thực tế mà không làm gián đoạn hay phá vỡ cấu trúc dữ liệu tổng thể.
                  +-----------------------------------+
                  |      KIẾN TRÚC RÀNG BUỘC SQL      |
                  +-----------------------------------+
                                    |
            +-----------------------+-----------------------+
            |                                               |
            v                                               v
+-----------------------+                       +-----------------------+
|  Ràng buộc nội dòng   |                       | Ràng buộc tường minh  |
|  (Inline Constraint)  |                       |  (Named CONSTRAINT)   |
+-----------------------+                       +-----------------------+
| - Khai báo cùng kiểu  |                       | - Định danh rõ ràng   |
|   dữ liệu             |                       |   (PK_, FK_, CK_...)  |
| - Khó quản lý sửa đổi |                       | - Thêm/xóa linh hoạt  |
| - Hệ thống tự đặt tên |                       |   qua ALTER TABLE     |
+-----------------------+                       +-----------------------+

Tính trực quan và tính hệ thống của các ví dụ

  • Lược đồ dữ liệu thực tế: Cơ sở dữ liệu mẫu về quản lý đề tài khoa học thể hiện đầy đủ các mối quan hệ đa dạng trong thực tế: quan hệ 1-N (Khoa - Bộ môn, Bộ môn - Giáo viên), quan hệ đệ quy/tự tham chiếu (Giáo viên - Giáo viên quản lý chuyên môn), quan hệ xác định người lãnh đạo (Bộ môn - Trưởng bộ môn), quan hệ phụ thuộc thực thể yếu (Đề tài - Công việc) và quan hệ N-N có thuộc tính (Giáo viên - Tham gia đề tài).
  • Phân tích sâu về cơ chế so sánh chuỗi và giá trị rỗng: Trình bày chi tiết cú pháp đối sánh chuỗi với tập ký tự [charlist] và phủ định [^charlist], giải thích tường minh cơ chế hoạt động của giá trị NULL trong các phép toán số học và biểu thức logic, giúp sinh viên tránh được các sai sót căn bản thường gặp trong lập trình cơ sở dữ liệu.

Đối tượng sử dụng giáo trình

Bài giảng được thiết kế chuyên biệt phục vụ các đối tượng trong môi trường đào tạo đại học và nghiên cứu kỹ thuật:

+-----------------------------------------------------------------------------+
|                         ĐỐI TƯỢNG SỬ DỤNG HỌC LIỆU                          |
+-----------------------------------------------------------------------------+
|                                                                             |
|                                                                             |
+-----------------------------------------------------------------------------+
  1. Sinh viên đại học chính quy:

    • Dành cho sinh viên năm thứ hai hoặc năm thứ ba thuộc các ngành: Hệ thống Thông tin, Công nghệ Thông tin, Kỹ thuật Phần mềm, Khoa học Máy tính và Khoa học Dữ liệu.
    • Điều kiện tiên quyết (Prerequisites): Sinh viên cần hoàn thành học phần Nhập môn Lập trình, Cấu trúc Dữ liệu & Giải thuật, và đã học các chương đầu của môn Cơ sở dữ liệu về: Mô hình thực thể kết hợp (ERD), Mô hình quan hệ (Relational Model), và Đại số quan hệ (Relational Algebra).
  2. Giảng viên và cán bộ trợ giảng:

    • Sử dụng làm tài liệu giảng dạy chuẩn trên lớp, định hướng cấu trúc nội dung bài giảng lý thuyết và xây dựng hệ thống bài tập thực hành phòng máy tương thích với hệ quản trị Microsoft SQL Server.
  3. Kỹ sư phần mềm và người tự học:

    • Tài liệu tham khảo hữu ích cho các lập trình viên muốn củng cố kiến thức nền tảng về DDL, chuẩn hóa cơ sở dữ liệu quan hệ, nắm vững cơ chế ràng buộc toàn vẹn và kỹ thuật viết câu lệnh truy vấn chuẩn tắc theo tiêu chuẩn ANSI SQL.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với đối tượng nào?

Giáo trình được thiết kế chuẩn mực cho sinh viên bậc đại học ngành Công nghệ Thông tin và Hệ thống Thông tin đang học môn Cơ sở dữ liệu, đồng thời là tài liệu tham khảo nền tảng cho lập trình viên phát triển ứng dụng cần nắm vững kiến thức SQL chuẩn và thiết kế lược đồ cơ sở dữ liệu.

2. Cần chuẩn bị những kiến thức nền tảng nào trước khi học nội dung này?

Người học cần có kiến thức cơ bản về tư duy lập trình cấu trúc, hiểu biết về mô hình dữ liệu quan hệ (các khái niệm quan hệ, thuộc tính, bộ giá trị, khóa chính, khóa ngoại) và các phép toán trong đại số quan hệ (Chiếu, Chọn, Tích Descartes, Kết nối).

3. Sự khác biệt giữa cách tiếp cận lý thuyết (Chuẩn SQL-92) và thương mại (MS SQL Server) trong bài giảng là gì?

Chuẩn SQL-92 đại diện cho lý thuyết chuẩn hóa của ANSI với các khái niệm quan hệ, thuộc tính, bộ và các kiểu dữ liệu trừu tượng (TIMESTAMP, CREATE DOMAIN). Trong khi đó, MS SQL Server là hệ quản trị thương mại cụ thể hóa các lý thuyết này thành bảng, cột, dòng, đồng thời bổ sung các kiểu dữ liệu và hàm đặc thù như DATETIME, NVARCHAR, GETDATE().

4. Làm sao để nắm vững và áp dụng chính xác hệ thống Ràng buộc Toàn vẹn (RBTV)?

Người học cần phân biệt rõ ràng hai phương pháp khai báo: khai báo trực tiếp cùng dòng định nghĩa thuộc tính và khai báo tường minh qua lệnh CONSTRAINT. Việc sử dụng mệnh đề CONSTRAINT có đặt tên được khuyến nghị để thuận tiện cho việc bảo trì, thêm hoặc xóa ràng buộc thông qua lệnh ALTER TABLE khi yêu cầu nghiệp vụ thay đổi.

5. Có những tài liệu và công cụ nào cần thiết để thực hành bài giảng này?

Sinh viên cần cài đặt hệ quản trị cơ sở dữ liệu Microsoft SQL Server cùng công cụ quản lý SQL Server Management Studio (SSMS), kết hợp với tài liệu hướng dẫn thực hành và hệ thống bài tập lớn của Bộ môn Hệ thống Thông tin – Trường ĐH Khoa học Tự nhiên.


Kết luận

Bài giảng Chương 5: SQL (Ngôn ngữ Định nghĩa và Truy vấn Dữ liệu) của Bộ môn Hệ thống Thông tin – Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên cung cấp một hệ thống kiến thức hoàn chỉnh, chuẩn xác và mang tính sư phạm cao về ngôn ngữ SQL. Bằng việc kết hợp chặt chẽ giữa nền tảng lý thuyết đại số quan hệ và cú pháp thực thi trên hệ quản trị cơ sở dữ liệu thương mại, tài liệu giúp người học xây dựng tư duy mạch lạc trong việc mô tả lược đồ, kiểm soát toàn vẹn dữ liệu và trích xuất thông tin.

Lộ trình học tập đề xuất: $$\text{Lý thuyết Đại số quan hệ} \longrightarrow \text{Định nghĩa Dữ liệu & RBTV (DDL)} \longrightarrow \text{Truy vấn Cơ bản (SELECT-FROM-WHERE)} \longrightarrow \text{Truy vấn Nâng cao & Tối ưu hóa}$$

Để hoàn thiện toàn bộ khối kiến thức của chương học, người học được khuyến nghị tiếp tục nghiên cứu các phần tiếp theo về hàm kết hợp (AGGREGATE FUNCTIONS), gom nhóm (GROUP BY, HAVING), truy vấn lồng (NESTED QUERIES), phân hệ cập nhật dữ liệu (INSERT, UPDATE, DELETE), cùng kỹ thuật tạo khung nhìn (VIEW) và chỉ mục (INDEX).