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

Giáo trình Cơ sở dữ liệu (Mã môn học: MH12) là tài liệu học tập chính khóa thuộc khối kiến thức cơ sở ngành, được ban hành kèm theo Quyết định số 368ĐT/QĐ-CĐXD1 ngày 10 tháng 8 năm 2021 của Hiệu trưởng Trường Cao đẳng Xây dựng số 1 (Bộ Xây dựng). Môn học được bố trí giảng dạy tại học kỳ thứ 02 trong chương trình đào tạo trình độ Cao đẳng ngành Công nghệ thông tin và không yêu cầu môn học tiên quyết.

Mục tiêu học tập của giáo trình được xác định cụ thể theo ba chuẩn đầu ra:

  • Về kiến thức: Cung cấp hệ thống lý thuyết về vai trò và mô hình cơ sở dữ liệu; mô hình thực thể liên kết (E-R), mô hình quan hệ và quy tắc chuyển đổi giữa các mô hình; lý thuyết thiết kế cơ sở dữ liệu quan hệ gồm phụ thuộc hàm, bao đóng, khóa, siêu khóa và các dạng chuẩn hóa lược đồ.
  • Về kỹ năng: Trang bị năng lực giải quyết bài toán truy vấn bằng ngôn ngữ đại số quan hệ, thao tác lệnh SQL và thiết kế cơ sở dữ liệu đạt các dạng chuẩn hóa.
  • Về năng lực tự chủ và trách nhiệm: Hình thành tác phong công nghiệp, tư duy làm việc độc lập và kỹ năng phối hợp nhóm trong giải quyết kỹ thuật.

Cấu trúc giáo trình gồm 03 chương được xây dựng theo tiến trình tuyến tính: từ tổng quan khái niệm và hệ quản trị (Chương 1), chuyển tiếp sang biểu diễn dữ liệu mức quan niệm và logic (Chương 2), đến kỹ thuật tối ưu hóa toán học cho lược đồ quan hệ (Chương 3). Giáo trình do ThS. Lê Thị Lương làm chủ biên cùng tập thể giảng viên Bộ môn Tin học cơ sở biên soạn, kết hợp giữa nền tảng lý thuyết hình thức và hệ thống bài tập thực hành định lượng.


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

                    ┌────────────────────────────────────────────────────────┐
                    │      CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU              │
                    │  • Khái niệm, vai trò, ưu điểm và thách thức CSDL      │
                    │  • Lịch sử mô hình: Mạng, Phân cấp, Quan hệ, E-R, HĐT  │
                    │  • Kiến trúc CSDL: Tập trung (Cá nhân, Trung tâm, C/S) │
                    │    và Phân tán (Thuần nhất, Hỗn hợp)                   │
                    │  • Tổng quan ngôn ngữ SQL: Nhóm lệnh DDL và DML        │
                    └───────────────────────────┬────────────────────────────┘
                                                │
                                                ▼
                    ┌────────────────────────────────────────────────────────┐
                    │      CHƯƠNG 2: CÁC MÔ HÌNH DỮ LIỆU                     │
                    │  • Mô hình E-R: Thực thể, Thuộc tính, Liên kết, Bản số │
                    │  • Quy trình 5 bước xây dựng mô hình E-R               │
                    │  • Mô hình quan hệ: Cấu trúc bảng, Miền giá trị Dom(A) │
                    │  • Định nghĩa toán học về Khóa, Siêu khóa, Khóa ngoại  │
                    └───────────────────────────┬────────────────────────────┘
                                                │
                                                ▼
                    ┌────────────────────────────────────────────────────────┐
                    │      CHƯƠNG 3: LÝ THUYẾT THIẾT KẾ CSDL QUAN HỆ         │
                    │  • Phụ thuộc hàm (PTH): Định nghĩa, Phân rã, Tựa bắc cầu│
                    │  • Bao đóng tập thuộc tính X+, Thuật toán tìm khóa     │
                    │  • Các dạng chuẩn: 1NF, 2NF, 3NF, BCNF                 │
                    │  • Lý thuyết tách lược đồ: Bảo toàn thuộc tính,        │
                    │    Bảo toàn phụ thuộc hàm và Phép tách không mất tin   │
                    └────────────────────────────────────────────────────────┘

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

Nội dung toàn bộ giáo trình được phân bố qua 03 chương chuyên đề:

Chương 1: Tổng quan về cơ sở dữ liệu

Chương mở đầu phân tích vai trò của cơ sở dữ liệu (CSDL) trong việc giảm thiểu dư thừa dữ liệu, đảm bảo tính nhất quán và chia sẻ tài nguyên đồng thời; chỉ rõ các thách thức kỹ thuật như bảo mật, phân quyền, tính chủ quyền dữ liệu và hiện tượng khóa chết (DeadLock).

Chương này khái quát tiến trình phát triển của các mô hình dữ liệu lịch sử:

  • Mô hình mạng (Network Data Model - Honeywell, 1964–1965)
  • Mô hình phân cấp (Hierarchical Data Model - IBM và North American Rockwell, 1965)
  • Mô hình quan hệ (Relational Data Model - E. F. Codd, 1970)
  • Mô hình thực thể - kết hợp (Entity-Relationship Model - Peter Pin-Shan Chen, 1976)
  • Mô hình hướng đối tượng (Object-Oriented Data Model, cuối thập niên 80 - đầu thập niên 90)

Kiến trúc CSDL được phân loại theo hệ tập trung (cá nhân, trung tâm, khách - chủ hoạt động trên cơ chế Remote Procedure Call - RPC) và hệ phân tán (thuần nhất, hỗn hợp). Cuối chương, giáo trình tổng hợp vai trò của ngôn ngữ SQL và bảng danh mục các lệnh thao tác dữ liệu (DML: SELECT, INSERT, UPDATE, DELETE, TRUNCATE) cùng lệnh định nghĩa dữ liệu (DDL: CREATE TABLE, DROP TABLE, ALTER TABLE, CREATE VIEW, CREATE INDEX, CREATE SCHEMA, CREATE PROCEDURE, CREATE FUNCTION).

Chương 2: Các mô hình dữ liệu

Trọng tâm chương 2 trình bày chi tiết hai mô hình cơ bản:

  • Mô hình thực thể kết hợp (E-R): Định nghĩa thực thể, tập thực thể, bản số và phân loại thuộc tính (thuộc tính đơn, thuộc tính kết hợp, thuộc tính rỗng - null value, thuộc tính suy ra). Giáo trình đưa ra quy trình 5 bước xây dựng sơ đồ E-R:
    1. Liệt kê và chọn lọc thông tin
    2. Xác định thực thể và thuộc tính
    3. Xác định mối quan hệ
    4. Vẽ biểu đồ E-R
    5. Chuẩn hóa và rút gọn mô hình
  • Mô hình quan hệ: Định nghĩa thuộc tính, tên bảng, kiểu dữ liệu, miền giá trị $\text{Dom}(A)$, giá trị null, khái niệm ngôi của quan hệ (ví dụ: quan hệ 2 ngôi KHOA, quan hệ 5 ngôi SINHVIEN), khóa chính (Primary Key), khóa dự tuyển (Candidate Key), siêu khóa (Superkey) và khóa ngoại (Foreign Key) phục vụ ràng buộc tham chiếu giữa các bảng (ví dụ: liên kết giữa bảng GIANGDAYLOP).

Chương 3: Lý thuyết thiết kế CSDL quan hệ

Chương 3 cung cấp cơ sở toán học cho việc tối ưu hóa cấu trúc dữ liệu:

  • Phụ thuộc hàm (PTH): Định nghĩa hình thức $X \to Y$, phụ thuộc hàm hiển nhiên ($Y \subseteq X$), phụ thuộc hàm đầy đủ/nguyên tố và các tính chất (phân rã, kết hợp, tựa bắc cầu).
  • Bao đóng và khóa: Thuật toán tính bao đóng của tập thuộc tính $X^+$ đối với tập phụ thuộc hàm $F$, định nghĩa tập phụ thuộc hàm không dư thừa, thuật toán tìm khóa tối tiểu dựa trên đồ thị có hướng (phân loại nút gốc, nút lá, tập thuộc tính nguồn $N$, tập thuộc tính trung gian $TG$).
  • Các dạng chuẩn:
    • Dạng chuẩn 1 (1NF): Mọi thuộc tính đều mang giá trị nguyên tố.
    • Dạng chuẩn 2 (2NF): Đạt 1NF và mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính.
    • Dạng chuẩn 3 (3NF): Mọi phụ thuộc hàm $X \to A$ thì $X$ là siêu khóa hoặc $A$ là thuộc tính khóa.
    • Dạng chuẩn Boyce-Codd (BCNF): Mọi phụ thuộc hàm $X \to A$ thì $X$ bắt buộc phải là siêu khóa.
  • Phép tách lược đồ quan hệ: Quy tắc bảo toàn thuộc tính ($\bigcup R_i = R$), điều kiện bảo toàn phụ thuộc hàm ($(\bigcup \pi_{R_i}(F))^+ = F^+$), và thuật toán kiểm tra phép tách kết nối không mất thông tin sử dụng bảng ma trận ký hiệu ($a_{ij}, b_{ij}$).

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

Giáo trình hình thành nền tảng lý thuyết thông qua:

  • Lý thuyết tập hợp và quan hệ logic: Xây dựng mô hình quan hệ dựa trên khái niệm tích Descartes và các bộ giá trị (tuples), ánh xạ thuộc tính với miền xác định.
  • Hệ tiên đề Armstrong và suy diễn phụ thuộc hàm: Cung cấp công cụ chứng minh các tính chất phân rã, kết hợp, bắc cầu và thuật toán rút gọn tập phụ thuộc hàm tương đương.
  • Lý thuyết chuẩn hóa hình thức: Thiết lập các tiêu chuẩn từ 1NF đến BCNF nhằm loại trừ các dị thường khi thực hiện thao tác cập nhật, thêm mới và xóa dữ liệu.

Kỹ năng phát triển

Người học được rèn luyện các nhóm năng lực kỹ thuật:

  • Kỹ năng phân tích: Khảo sát tân từ bài toán thực tế (quản lý học viên, quản lý đơn hàng, quản lý phòng ban) để xác định thực thể, thuộc tính và ràng buộc toàn vẹn.
  • Kỹ năng tính toán và tối ưu: Thực thi thuật toán tính bao đóng $X^+_F$, xác định toàn bộ khóa của lược đồ quan hệ, kiểm tra các điều kiện dạng chuẩn và thực hiện thuật toán ma trận để kiểm tra tính bảo toàn thông tin của phép phân rã.
  • Kỹ năng thao tác kỹ thuật: Viết các câu lệnh SQL định nghĩa cấu trúc bảng (CREATE, ALTER), thiết lập ràng buộc toàn vẹn khóa chính - khóa ngoại và thực thi các câu lệnh truy vấn có điều kiện lọc (SELECT ... FROM ... WHERE).

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

Giáo trình được thiết kế theo tỷ lệ phân bổ thời gian thực hành chiếm ưu thế, đáp ứng yêu cầu đào tạo kỹ thuật thực hành ở trình độ cao đẳng.

Hoạt động đào tạo Thời lượng quy định Tỷ lệ phần trăm
Lý thuyết 15 giờ 20.0%
Thực hành, thí nghiệm, thảo luận, bài tập 57 giờ 76.0%
Kiểm tra định kỳ 03 giờ 4.0%
Tổng thời lượng môn học 75 giờ 100%
Trong đó: Thời lượng giảng dạy trực tuyến 30 giờ 40.0%

Phương pháp triển khai bài tập và tình huống thực hành

Hệ thống bài tập trong giáo trình được chia thành các trường hợp cụ thể:

  1. Bài toán Quản lý giảng dạy (Chương 1): Yêu cầu xác định khóa chính và mối quan hệ giữa 5 lược đồ quan hệ:
    • HOCVIEN (MAHV, HO, TEN, NGAYSINH, GIOITINH, NOISINH, MALOP)
    • LOP (MALOP, TENLOP, LOPTRG, SISO, MAGVCN, MACVHT, MACBQL)
    • MONHOC (MAMH, TENMH, SOTC)
    • GIAOVIEN (MAGV, HOTEN, GIOITINH, NLV)
    • GIANGDAY (MALOP, MAMH, MAGV, HOCKY, NAM)
  2. Bài toán Quản lý đơn đặt hàng và giao hàng (Chương 2): Hướng dẫn thực hành 5 bước chuẩn hóa sơ đồ E-R, phân tích các thuộc tính từ phiếu đặt hàng và phiếu giao hàng để rút gọn thành thực thể Đơn vị khách.
  3. Bài toán Quản lý nhân sự công ty (Chương 2): Xác định thực thể, thuộc tính và vẽ sơ đồ E-R cho bài toán nhân viên trực thuộc phòng ban và chịu sự quản lý trực tiếp từ nhân viên khác.
  4. Hệ thống bài tập đại số và phụ thuộc hàm (Chương 3):
    • Chứng minh các tính chất hình thức của phụ thuộc hàm.
    • Tính toán bao đóng: Cho $R(A, B, C, D, E, G)$ và $F={A \to C, A \to EG, B \to D, G \to E}$, tính $A^+_F, CGD^+_F, AB^+_F$.
    • Kiểm tra tư cách thành viên của phụ thuộc hàm: Cho $R(A, B, C, D, E)$ và $F={B \to C, AC \to D, D \to G, AG \to E}$, kiểm tra xem $E \to AC$ và $AD \to BD$ có thuộc $F^+$ không.
    • Thuật toán ma trận: Biến đổi bảng trạng thái 3 dòng 5 cột ($U_1, U_2, U_3$) dựa trên tập phụ thuộc hàm để kiểm tra tính không mất thông tin.

Hướng dẫn tự học và đánh giá

Cuối mỗi chương, giáo trình thiết lập mục "Hệ thống kiến thức đã học", tóm lược mục tiêu lý thuyết, yêu cầu bài tập và công thức toán học cần ghi nhớ. Người học tự đánh giá tiến độ thông qua việc hoàn thành các bài toán chuẩn hóa lược đồ và giải thuật tìm khóa trước các kỳ kiểm tra chính thức (03 giờ).


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

Giáo trình bổ sung và chuẩn hóa các nội dung học thuật dựa trên đề cương cập nhật năm 2021:

  • Bổ sung các lý thuyết thiết kế chuyên sâu: Khắc phục hạn chế của các tài liệu giảng dạy trước đó bằng việc đưa vào thuật toán đồ thị có hướng tìm khóa của quan hệ, định nghĩa mở rộng dạng chuẩn BCNF, và giải thuật kiểm tra bảo toàn phụ thuộc hàm $(\bigcup \pi_{R_i}(F))^+ = F^+$.
  • Hệ thống hóa kiến trúc CSDL hiện đại: Cung cấp cấu trúc phân loại đa chiều về hệ CSDL:
    • Phân loại theo cấu trúc: CSDL có cấu trúc, bán cấu trúc, phi cấu trúc.
    • Phân loại theo đặc tính: CSDL kho (Data Warehouse), CSDL ngữ nghĩa, CSDL hoạt động.
    • Phân loại theo mô hình triển khai: CSDL tập trung, phân tán, tập trung có bản sao.
  • Tích hợp tiêu chuẩn SQL thương mại: Cung cấp bảng đối chiếu các lệnh SQL chuẩn (DDL/DML) tương thích với các hệ quản trị CSDL phổ biến như Microsoft Access (kiểu text, memo) và SQL Server (kiểu text, char, varchar, nvarchar, smalltime).
  • Ứng dụng giải thuật ma trận trực quan: Sử dụng phương pháp kiểm tra phép tách kết nối không mất thông tin qua bảng ma trận biến đổi ký hiệu ($a_j, b_{ij}$), giúp việc đánh giá lược đồ quan hệ trở nên trực quan thay vì chỉ chứng minh thuần túy bằng đại số hình thức.

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

Giáo trình phục vụ cho các nhóm đối tượng cụ thể trong đào tạo và nghiên cứu:

                            ┌────────────────────────────────────────────────────────┐
                            │                ĐỐI TƯỢNG SỬ DỤNG                       │
                            └───────────────────────────┬────────────────────────────┘
                                                        │
                      ┌─────────────────────────────────┼─────────────────────────────────┐
                      │                                 │                                 │
                      ▼                                 ▼                                 ▼
        ┌───────────────────────────┐     ┌───────────────────────────┐     ┌───────────────────────────┐
        │  SINH VIÊN CAO ĐẲNG CNTT  │     │   GIẢNG VIÊN CHUYÊN NGÀNH │     │    NGƯỜI TỰ HỌC & TRA CỨU │
        │ • Học kỳ 2, ngành CNTT    │     │ • Khung bài giảng 75 giờ  │     │ • Tự học thiết kế CSDL    │
        │ • Môn học: MH12           │     │ • 15h LT + 57h TH + 3h KT │     │ • Ôn tập thuật toán chuẩn │
        │ • Không cần tiên quyết    │     │ • Hỗ trợ 30h trực tuyến   │     │   hóa và truy vấn SQL     │
        └───────────────────────────┘     └───────────────────────────┘     └───────────────────────────┘
  • Sinh viên chính quy: Sinh viên năm thứ nhất (học kỳ 2) ngành Công nghệ thông tin trình độ Cao đẳng tại Trường Cao đẳng Xây dựng số 1 và các cơ sở giáo dục nghề nghiệp tương đương.
  • Yêu cầu kiến thức tiên quyết: Giáo trình không đặt điều kiện tiên quyết về môn học trước đó, người học chỉ cần kiến thức tin học cơ sở để tiếp thu các khái niệm.
  • Giảng viên chuyên ngành: Sử dụng làm tài liệu giảng dạy chuẩn hóa thời lượng 75 giờ (phân bổ 15 giờ lý thuyết, 57 giờ thực hành/thảo luận, 03 giờ kiểm tra) và tài liệu cho 30 giờ đào tạo trực tuyến.
  • Người tự học và tham khảo kỹ thuật: Kỹ thuật viên phát triển phần mềm cần củng cố phương pháp phân tích mô hình E-R, kỹ thuật chuẩn hóa dữ liệu tránh dư thừa và các cú pháp truy vấn dữ liệu SQL căn bản.

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

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

Tài liệu được biên soạn phục vụ trực tiếp cho sinh viên trình độ Cao đẳng ngành Công nghệ thông tin theo khung chương trình môn học mã số MH12, đồng thời có thể dùng làm tài liệu tham khảo cho người học các chuyên ngành kỹ thuật liên quan.

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

Môn học không yêu cầu môn học tiên quyết. Nội dung được trình bày từ các khái niệm cơ bản về bảng, bản ghi, trường dữ liệu đến các thuật toán thiết kế nâng cao.

3. Giáo trình có điểm gì khác biệt so với các tài liệu CSDL khác?

Tài liệu tập trung vào thời lượng thực hành (57/75 giờ), tích hợp chi tiết các thuật toán thiết kế như giải thuật tìm khóa bằng đồ thị có hướng, kiểm tra dạng chuẩn BCNF và phương pháp ma trận kiểm tra tính không mất thông tin của phép tách lược đồ.

4. Phương pháp tự học giáo trình này như thế nào để đạt hiệu quả?

Người học cần bám sát hệ thống mục tiêu ở đầu mỗi chương, thực hiện lần lượt các bước xây dựng mô hình E-R theo ví dụ mẫu (như bài toán Quản lý đơn hàng) và tự giải hệ thống bài tập tính bao đóng, chứng minh phụ thuộc hàm ở cuối Chương 3.

5. Giáo trình sử dụng hệ quản trị cơ sở dữ liệu nào để minh họa?

Giáo trình trình bày cú pháp ngôn ngữ SQL chuẩn và liên hệ trực tiếp với các kiểu dữ liệu trên các hệ quản trị CSDL thương mại gồm Microsoft Access và Microsoft SQL Server.


Kết luận

Giáo trình Cơ sở dữ liệu (Chủ biên: ThS. Lê Thị Lương, Trường Cao đẳng Xây dựng số 1) cung cấp hệ thống kiến thức từ khái niệm tổng quan, mô hình thực thể kết hợp (E-R), mô hình quan hệ đến lý thuyết phụ thuộc hàm và các dạng chuẩn hóa (1NF, 2NF, 3NF, BCNF). Lộ trình học tập phân bổ 75 giờ (15 giờ lý thuyết, 57 giờ thực hành, 3 giờ kiểm tra) giúp người học nắm vững phương pháp phân tích và thiết kế tối ưu hệ thống dữ liệu. Tài liệu được lưu hành theo Quyết định số 368ĐT/QĐ-CĐXD1 phục vụ công tác đào tạo và nghiên cứu học thuật nội bộ.