THÔNG TIN THƯ MỤC VÀ TỔNG QUAN GIÁO TRÌNH

  • Tên giáo trình: Giáo trình nhập môn Cơ sở dữ liệu (Thuộc Tủ sách Dễ học)
  • Tác giả / Biên soạn: Phương Lan (Chủ biên), Hoàng Đức Hải
  • Đơn vị xuất bản: Nhà xuất bản Lao Động – Xã Hội phối hợp Công ty TNHH Minh Khai (MK.PUB)
  • Số đăng ký kế hoạch xuất bản: 204-2008/CXB/21-68/LĐXH; Quyết định xuất bản số 167/QĐ NXBLĐXH ngày 24/03/2008; Nộp lưu chiểu Quý II/2008
  • Quy cách: Khổ 16 x 24 cm; Ban Biên tập Giáo trình Dạy nghề thẩm định nội dung

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

Giáo trình nhập môn Cơ sở dữ liệu là tài liệu học tập thuộc khối kiến thức cơ sở ngành trong chương trình đào tạo Công nghệ Thông tin, Hệ thống Thông tin và Tin học Ứng dụng ở bậc Cao đẳng và Đại học. Vị trí của học phần này đóng vai trò bản lề, trang bị cho người học các nguyên lý tổ chức, lưu trữ và khai thác dữ liệu có cấu trúc trước khi tiếp cận các môn học chuyên sâu như Phân tích Thiết kế Hệ thống Thông tin, Quản trị Cơ sở Dữ liệu Nâng cao hay Phát triển Ứng dụng Phần mềm.

Mục tiêu học tập của giáo trình hướng đến việc cung cấp cho sinh viên:

  1. Năng lực hiểu rõ bản chất của dữ liệu, bảng dữ liệu và hệ thống quản trị cơ sở dữ liệu quan hệ (RDBMS).
  2. Khả năng thiết kế lược đồ dữ liệu logic, xác định đúng các loại khóa và áp dụng các dạng chuẩn hóa (từ 1NF đến 4NF) để loại bỏ hiện tượng dư thừa, bất thường dữ liệu.
  3. Kỹ năng vận dụng ngôn ngữ truy vấn cấu trúc (SQL) theo chuẩn ANSI phục vụ việc định nghĩa dữ liệu (DDL) và thao tác dữ liệu (DML).
  4. Khả năng xây dựng mô hình thực thể kết hợp (ER, EER), ánh xạ mô hình khái niệm sang mô hình quan hệ vật lý.
  5. Sự hiểu biết về các vấn đề cấp cao của hệ quản trị: kiểm soát tranh chấp giao dịch, khôi phục hệ thống, bảo mật phân quyền và cơ chế tổ chức chỉ mục trên thiết bị lưu trữ vật lý.

Cấu trúc giáo trình gồm 12 chương, đi từ các khái niệm trực quan trong đời sống (danh bạ điện thoại, bộ sưu tập đĩa nhạc) đến các lý thuyết toán học trừu tượng (đại số quan hệ, phụ thuộc hàm) và kỹ thuật quản trị DBMS chuyên sâu. Cách tiếp cận kết hợp giữa phân tích lý thuyết hình thức và thực hành cú pháp giúp người học từng bước hình thành tư duy dữ liệu logic và độc lập với các phần mềm cụ thể.


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

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

Giáo trình gồm 12 chương với các chủ đề trọng tâm sau:

  • Chương 1: Làm quen với cơ sở dữ liệu: Khái quát về hệ quản trị cơ sở dữ liệu (DBMS); định nghĩa thực thể, mối quan hệ (1:1, 1:n, n:m); cấu trúc bảng (table), cột (column/attribute), hàng (row/tuple/record). Định nghĩa các khái niệm khóa: Siêu khóa (Super Key), Khóa ứng viên (Candidate Key), Khóa chính (Primary Key), Khóa ngoại (Foreign Key). Giới thiệu khái niệm phụ thuộc hàm $A \to B$; các kiểu dữ liệu chuẩn (chuỗi, số, ngày tháng, tiền tệ, logic Boolean), xử lý cấu trúc dữ liệu phức hợp (địa chỉ, số điện thoại) và nguyên tắc mã hóa dữ liệu nhạy cảm (mã hóa một chiều và hai chiều).
  • Chương 2: Chuẩn hóa cơ sở dữ liệu: Trình bày chi tiết lý thuyết phụ thuộc hàm và các dạng chuẩn: Dạng chuẩn 0 (Zero Form); Dạng chuẩn 1 (1NF – giá trị đơn nguyên, loại bỏ nhóm lặp); Dạng chuẩn 2 (2NF – loại bỏ phụ thuộc từng phần vào khóa phức hợp); Dạng chuẩn 3 (3NF – loại bỏ phụ thuộc bắc cầu); Dạng chuẩn 4 (4NF – xử lý phụ thuộc đa trị và quan hệ nhiều-nhiều bằng bảng trung gian kết hợp).
  • Chương 3: SQL và cơ sở dữ liệu: Giới thiệu ngôn ngữ SQL chuẩn ANSI. Phân định nhóm lệnh DDL (CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, DROP INDEX) và nhóm lệnh DML (SELECT, INSERT INTO, UPDATE, DELETE). Trình bày các mệnh đề và toán tử lọc dữ liệu: SELECT DISTINCT, WHERE với các toán tử =, <>, <, >, <=, >=, BETWEEN, LIKE; sắp xếp ORDER BY; phép kết nối bảng JOIN; hợp tập hợp UNION, UNION ALL; gom nhóm và tính toán tổng hợp với GROUP BY, HAVING; lệnh tạo khung nhìn CREATE VIEW.
  • Chương 4 & Chương 5: Cơ sở dữ liệu Access và Lập trình kết nối cơ sở dữ liệu: Hướng dẫn xây dựng CSDL trên MS Access từ mẫu (Template) và tự tạo. Trình bày các chuẩn giao tiếp lập trình và cơ chế kết nối qua API, giao diện bảng tính Spreadsheet, kết nối PHP với MySQL, chuẩn ODBC (Open Database Connectivity) cùng kiến trúc ADO trong môi trường ASP.
  • Chương 6: Metadata, Bảo mật và Quản trị (DBA): Định nghĩa siêu dữ liệu (Metadata), các cấp độ bảo vệ an toàn dữ liệu tại mức DBMS và mức người dùng, cơ chế hạn chế quyền thực thi SQL và vai trò chức năng của Quản trị viên cơ sở dữ liệu (Database Administrator - DBA).
  • Chương 7, 8 & 9: Phân tích, Thiết kế và Ánh xạ mô hình thực thể kết hợp (ER / EER): Phân tích mô hình kiến trúc 3 mức; các thành phần thực thể, mối liên kết, thuộc tính, xử lý mối quan hệ tam phân; mô hình ER mở rộng (EER) với cấu trúc lớp cha (superclass) và lớp con (subclass). Quy tắc ánh xạ lược đồ ER sang lược đồ quan hệ đối với các mối quan hệ 1:1, 1:n, n:m, quan hệ song song và liên kết lồng. Minh họa thông qua trường hợp thiết kế hệ thống Quản lý công ty vận tải xe bus.
  • Chương 10: Đại số quan hệ: Trình bày hệ thống toán tử đại số quan hệ hình thức: toán tử ghi (write), toán tử trích rút gồm phép chọn ($\sigma$ - SELECT), phép chiếu ($\pi$ - PROJECT); các toán tử tập hợp (hợp, giao, trừ, tích Descartes); toán tử kết nối (JOIN), toán tử đổi tên và toán tử dẫn xuất. Đối chiếu trực tiếp giữa biểu thức đại số quan hệ và câu lệnh SQL tương đương.
  • Chương 11 & 12: Quản lý giao dịch, Tranh chấp và Lý thuyết cài đặt DBMS: Nghiên cứu lịch biểu giao dịch, các hiện tượng cập nhật mất mát (lost update), phụ thuộc không xác nhận (uncommitted dependency), tính không nhất quán (inconsistency), tính tuần tự (serialisability) và đồ thị mức ưu tiên. Cơ chế khóa dữ liệu, hiện tượng khóa chết (deadlock) và phương pháp xử lý; cơ chế khôi phục từ tệp sao lưu thô (dump) và tệp nhật ký (log file) qua kỹ thuật trì hoãn hoặc cập nhật tức thời. Khái quát cấu trúc vật lý lưu trữ đĩa, tổ chức chỉ mục dạng cây nhị phân (Binary Tree) và chi phí truy cập chỉ mục.
Tiến trình logic của nội dung:
[Khái niệm CSDL & Bảng] 
       ↓
[Phụ thuộc hàm & Chuẩn hóa 1NF - 4NF] 
       ↓
[Ngôn ngữ truy vấn SQL (DDL / DML)] 
       ↓
[Phân tích mô hình ER / EER & Ánh xạ quan hệ] 
       ↓
[Đại số quan hệ hình thức] 
       ↓
[Quản lý giao dịch, Bảo mật & Cài đặt vật lý DBMS]

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

  • Lý thuyết mô hình dữ liệu quan hệ: Nắm vững cấu trúc quan hệ, khái niệm miền giá trị, bộ dữ liệu (tuple), thuộc tính, cùng các quy tắc ràng buộc toàn vẹn thực thể (khóa chính) và toàn vẹn tham chiếu (khóa ngoại).
  • Lý thuyết chuẩn hóa và phụ thuộc hàm: Cơ sở toán học của phụ thuộc hàm $A \to B$, phụ thuộc bộ phận, phụ thuộc bắc cầu và phụ thuộc đa trị, hỗ trợ chuẩn hóa cấu trúc dữ liệu đạt chuẩn 1NF, 2NF, 3NF và 4NF nhằm triệt tiêu dị thường khi chèn (insert), sửa (update) và xóa (delete).
  • Nền tảng toán học đại số quan hệ: Tập hợp các phép toán thao tác dữ liệu cơ sở ($\sigma, \pi, \cup, \cap, -, \times, \bowtie$), tạo nền móng lý thuyết để hiểu cách thức tối ưu hóa câu truy vấn trong các hệ DBMS hiện đại.
  • Nguyên lý kiểm soát đồng thời và phục hồi hệ thống: Khái niệm giao dịch, các tính chất ACID, mô hình tuần tự hóa lịch biểu giao dịch, giải thuật phát hiện/ngăn ngừa deadlock và chiến lược phục hồi dữ liệu khi xảy ra sự cố.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Viết và thực thi thành thạo các câu truy vấn DDL để khởi tạo bảng, chỉ mục (CREATE TABLE, CREATE INDEX, ALTER TABLE) và các câu lệnh DML (SELECT, INSERT INTO, UPDATE, DELETE, JOIN, UNION, GROUP BY) theo chuẩn SQL ANSI; cấu hình kết nối ứng dụng thông qua ODBC, ADO và PHP/MySQL.
  • Kỹ năng phân tích (Analytical skills): Khảo sát yêu cầu thực tế, nhận diện thực thể, thuộc tính và mối quan hệ; phân tích các phụ thuộc hàm ẩn; phát hiện các điểm lỗi thiết kế dẫn đến dư thừa hoặc sai lệch dữ liệu.
  • Kỹ năng thực hành thiết kế (Practical competencies): Xây dựng hoàn chỉnh lược đồ ER/EER cho các bài toán quản lý quy mô vừa và nhỏ; thực hiện chuyển đổi chính xác từ lược đồ khái niệm sang mô hình bảng quan hệ; phân chia các trường dữ liệu phức tạp và thiết lập các quy tắc hợp lệ (Validation Rules).

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

Giáo trình triển khai phương pháp sư phạm kết hợp giữa quy nạp thực tiễn và diễn dịch lý thuyết:

  • Từ trực quan đến quy tắc chuẩn hóa: Thay vì đưa ra định nghĩa trừu tượng ngay từ đầu, giáo trình khởi đầu bằng các bài toán thực tế quen thuộc như tổ chức danh bạ điện thoại hay quản lý bộ sưu tập đĩa CD. Qua việc minh họa các hạn chế của cấu trúc tệp phẳng đơn bảng (Flat database) khi phát sinh trùng lặp thông tin tác giả/ca sĩ, tài liệu dẫn dắt người học đến nhu cầu tách bảng, tạo khóa ngoại và thiết lập các dạng chuẩn hóa 1NF, 2NF, 3NF, 4NF.
  • Hệ thống ví dụ và ca nghiên cứu cụ thể (Case studies): Các ví dụ được xây dựng xuyên suốt qua các bảng dữ liệu minh họa cụ thể:
    • Bảng Persons và bảng Orders dùng để minh họa cú pháp SQL (SELECT DISTINCT, WHERE, ORDER BY).
    • Bảng users, companies, urls, và url_relations dùng để minh họa từng bước chuẩn hóa từ dạng Zero Form đến 4NF.
    • Bài toán quản lý công ty vận tải xe bus được dùng làm ca nghiên cứu cho toàn bộ quy trình thiết kế mô hình thực thể ER, xác định thuộc tính và ánh xạ sang lược đồ cơ sở dữ liệu.
  • Bài tập và đánh giá: Sau các chương lý thuyết trọng tâm (Chương 1, Chương 3) đều có phần câu hỏi và bài tập kiểm tra nhanh kỹ năng viết lệnh SQL, xác định khóa và đánh giá tính đúng đắn của cấu trúc dữ liệu.
  • Hướng dẫn tự học: Giáo trình khuyến nghị người học thực hành thiết kế dữ liệu bằng phương pháp tư duy và ghi chép cấu trúc logic trên giấy trước khi cài đặt trực tiếp trên phần mềm máy tính; sau đó kiểm tra tính hợp lệ bằng các tập dữ liệu mẫu và chạy thử câu lệnh trên các hệ quản trị phổ thông như MS Access, MySQL hoặc SQL Server.

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

  • Tuân thủ chuẩn ANSI SQL: Nội dung giảng dạy ngôn ngữ SQL tập trung vào các cú pháp và từ khóa cốt lõi theo tiêu chuẩn ANSI, đảm bảo người học có thể áp dụng đồng thời trên nhiều hệ quản trị cơ sở dữ liệu khác nhau như Oracle, Microsoft SQL Server, MySQL, Sybase, DB2 và Microsoft Access mà không bị phụ thuộc vào các cú pháp mở rộng riêng biệt.
  • Bao quát đầy đủ từ mô hình logic đến kiến trúc vật lý: Bên cạnh việc phân tích thiết kế mô hình dữ liệu (ER, EER) và lý thuyết chuẩn hóa, tài liệu còn mở rộng phân tích các cơ chế hoạt động bên trong của hệ DBMS như cấu trúc chỉ mục cây nhị phân (Binary Tree Index), chi phí truy cập đĩa cứng, cùng quy trình quản lý giao dịch và xử lý xung đột đồng thời.
  • Tích hợp kiến thức kết nối lập trình ứng dụng: Giáo trình cung cấp kiến thức nền tảng về việc tích hợp cơ sở dữ liệu vào các ứng dụng thực tế thông qua các chuẩn giao tiếp thế hệ 4, thư viện kết nối cơ sở dữ liệu mở (ODBC), mô hình đối tượng dữ liệu ActiveX (ADO trong ASP) và ngôn ngữ kịch bản PHP kết hợp cơ sở dữ liệu mã nguồn mở MySQL.
  • Trình bày rõ ràng các dạng chuẩn hóa mở rộng: Tài liệu không dừng lại ở mức chuẩn hóa 3NF thông thường mà mở rộng giải thích cặn kẽ dạng chuẩn hóa 4NF (4th Normal Form) nhằm xử lý triệt để các quan hệ nhiều-nhiều phức tạp bằng cách tạo bảng trung gian kết hợp.

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

  • Sinh viên chuyên ngành: Sinh viên năm nhất hoặc năm hai theo học các ngành Công nghệ Thông tin, Khoa học Máy tính, Kỹ thuật Phần mềm, Hệ thống Thông tin Quản lý tại các trường Đại học, Cao đẳng hoặc các trung tâm đào tạo nghề tin học.
  • Yêu cầu kiến thức tiên quyết (Prerequisites): Người học chỉ cần có kiến thức tin học đại cương cơ bản và tư duy logic; không đòi hỏi phải có kỹ năng lập trình chuyên sâu trước khi đọc tài liệu này.
  • Giảng viên và cơ sở đào tạo: Giảng viên có thể sử dụng cuốn sách làm giáo trình chính cho môn học "Cơ sở dữ liệu", "Nhập môn Hệ thống Thông tin" hoặc làm tài liệu tham khảo để biên soạn đề cương bài giảng, bài tập thực hành truy vấn SQL và bài tập lớn phân tích thiết kế lược đồ ER.
  • Người tự học và kỹ sư phát triển phần mềm: Các lập trình viên mới bắt đầu, kỹ sư phát triển web hoặc chuyên viên phân tích nghiệp vụ cần nắm vững cách thiết kế cấu trúc bảng hợp lý, cách tối ưu hóa câu truy vấn SQL và nguyên lý vận hành an toàn của các hệ thống quản trị dữ liệu.

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

1. Giáo trình này phù hợp với ai?

Giáo trình được thiết kế dành cho sinh viên ngành Công nghệ Thông tin, học viên các trường dạy nghề kỹ thuật và những người bắt đầu tự học về cơ sở dữ liệu cần nắm vững cả nền tảng lý thuyết lẫn kỹ năng thao tác thực hành.

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

Người học chỉ cần nắm vững các kỹ năng sử dụng máy tính cơ bản và tư duy logic. Giáo trình giải thích các khái niệm từ mức vỡ lòng (bảng, hàng, cột, kiểu dữ liệu) nên người học không bắt buộc phải biết trước một ngôn ngữ lập trình cụ thể.

3. Điểm khác biệt của giáo trình so với các tài liệu khác là gì?

Tài liệu cân đối giữa lý thuyết trừu tượng (đại số quan hệ, phụ thuộc hàm, chuẩn hóa 1NF-4NF) và các khía cạnh kỹ thuật vận hành thực tế (lập trình kết nối ODBC/ADO/PHP, quản lý giao dịch, giải quyết deadlock và cơ chế lưu trữ chỉ mục dạng cây nhị phân).

4. Làm sao để tự học giáo trình này hiệu quả?

Người học nên kết hợp học lý thuyết và giải quyết các bài toán thiết kế trên giấy (xác định thực thể, thuộc tính, khóa, quan hệ), sau đó cài đặt một hệ quản trị cụ thể (như MS Access hoặc MySQL) để thực hành trực tiếp các câu lệnh SQL DDL và DML được hướng dẫn trong sách.

5. Giáo trình có đề cập đến việc kết nối CSDL với các ngôn ngữ lập trình không?

Có. Chương 5 của giáo trình giới thiệu các hệ ngôn ngữ quản trị thế hệ 4, các hàm API giao tiếp dữ liệu, chuẩn kết nối mở ODBC, công nghệ ADO/ASP và phương thức kết hợp ngôn ngữ lập trình web PHP với cơ sở dữ liệu MySQL.


Kết luận

Giáo trình nhập môn Cơ sở dữ liệu của nhóm tác giả Phương Lan và Hoàng Đức Hải cung cấp hệ thống tri thức hoàn chỉnh, có phương pháp luận rõ ràng về lý thuyết và thực hành cơ sở dữ liệu quan hệ. Nội dung sách thiết lập một lộ trình tiếp cận khoa học: bắt đầu từ các khái niệm tổ chức dữ liệu cơ bản, nâng cao dần qua các bước chuẩn hóa cấu trúc (1NF đến 4NF), cú pháp thao tác SQL ANSI, phân tích thiết kế mô hình thực thể kết hợp (ER/EER), và kết thúc ở các chuyên đề nâng cao về đại số quan hệ, quản lý giao dịch và kiến trúc vật lý của hệ DBMS. Tài liệu đóng vai trò là nền tảng học thuật giúp người học định hình tư duy thiết kế hệ thống phần mềm và chuẩn bị cho các học phần nâng cao về quản trị, xử lý dữ liệu quy mô lớn.