Tin học 11 • Bài 12

Hệ quản trị CSDL & Hệ CSDL

Khám phá kiến trúc, chức năng và phân biệt CSDL tập trung – phân tán

Khởi động & Tình huống

Hoạt động 1 – SGK Tr.58

Tình huống: Để tạo, lưu trữ và sửa văn bản cần phần mềm soạn thảo. Để tạo bảng tính cần phần mềm bảng tính. Vậy một phần mềm hỗ trợ làm việc với CSDL cần đáp ứng những yêu cầu nào?

Văn bản → Phần mềm soạn thảo Bảng tính → Phần mềm bảng tính ? Dữ liệu CSDL → Hệ QTCSDL cần gì?

Văn bản có phần mềm soạn thảo, bảng tính có phần mềm bảng tính riêng — vậy để làm việc với dữ liệu trong CSDL, cần một phần mềm đáp ứng những yêu cầu nào?

Mô phỏng: Ghép đúng phần mềm cho từng loại dữ liệu

📄 Văn bản
📊 Bảng tính
🗄️ Dữ liệu CSDL

⟳ Định hướng: Bài học sẽ giúp em hiểu rõ vai trò của Hệ QTCSDL, cấu trúc Hệ CSDL và sự khác biệt giữa mô hình tập trung – phân tán.

Mục tiêu bài học

1. Hệ quản trị CSDL (Hệ QTCSDL)

Định nghĩa: Hệ quản trị cơ sở dữ liệu (Database Management System – hệ QTCSDL) là phần mềm cung cấp phương thức để lưu trữ, cập nhật và truy xuất dữ liệu của CSDL, bảo mật và an toàn dữ liệu, đồng thời cung cấp giao diện lập trình ứng dụng cho nhà phát triển.

Điều quan trọng là các chức năng này được xây dựng một cách tổng quát, theo mô hình CSDL, không phụ thuộc vào một CSDL hay một ứng dụng cụ thể nào. Một hệ QTCSDL có thể quản trị nhiều CSDL khác nhau.

Hình 12.0 – Hệ QTCSDL đứng giữa con người và dữ liệu
Người dùng Nhà phát triển HỆ QTCSDL a) Định nghĩa b) Cập nhật c) Bảo mật d) Lập trình Oracle · MySQL · SQL Server PostgreSQL · SQLite · Access CSDL Dữ liệu lưu trên đĩa

Người dùng và nhà phát triển không thao tác thẳng vào tệp dữ liệu, mà đi qua hệ QTCSDL — nơi tập trung bốn nhóm chức năng của bài học.

Bốn nhóm chức năng của hệ QTCSDL

a) Định nghĩa dữ liệu

  • Khai báo CSDL với tên gọi xác định (một hệ QTCSDL quản trị được nhiều CSDL).
  • Tạo lập, sửa đổi cấu trúc bên trong mỗi CSDL.
  • Cài đặt các ràng buộc toàn vẹn để kiểm soát tính đúng đắn của dữ liệu.

b) Cập nhật & truy xuất dữ liệu

  • Cập nhật: thêm, xoá, sửa dữ liệu để dữ liệu luôn phản ánh đúng thực tế.
  • Truy xuất: lấy ra dữ liệu theo những tiêu chí khác nhau do người dùng đặt.
  • Đây còn được gọi chung là nhóm chức năng thao tác dữ liệu.

c) Bảo mật & an toàn CSDL

  • Kiểm soát quyền truy cập: chỉ người có thẩm quyền mới đọc/sửa được dữ liệu.
  • Kiểm soát giao dịch khi nhiều người cùng sửa một bản ghi, bảo đảm tính nhất quán.
  • Sao lưu (backup) và khôi phục dữ liệu khi có sự cố.

d) Giao diện lập trình ứng dụng

  • Cung cấp công cụ để nhà phát triển gửi truy vấn tới CSDL từ ứng dụng của mình.
  • Nhờ đó mỗi tổ chức viết được phần mềm riêng phù hợp công việc cụ thể.
Hoạt động nhóm – Xếp chức năng vào đúng nhóm

Mỗi nhóm đọc một việc mà hệ QTCSDL làm, rồi bấm chọn nhóm chức năng tương ứng. Nhóm nào xếp đúng cả 8 việc trước là thắng.

Đã xếp đúng 0 / 8
Ghi nhớ
  • Hệ QTCSDL là phần mềm cung cấp phương thức để lưu trữ, cập nhật và truy xuất dữ liệu của CSDL, bảo mật và an toàn dữ liệu.
  • Hệ QTCSDL cũng cung cấp giao diện lập trình ứng dụng cho các nhà phát triển ứng dụng và người dùng.

Câu hỏi củng cố (SGK tr.60)

1. Nêu những khó khăn trong việc khai thác CSDL nếu không có hệ QTCSDL.

  • Người dùng phải tự biết cấu trúc các tệp lưu dữ liệu và tự viết chương trình để đọc, ghi — rất khó với người dùng phổ thông.
  • Không có cơ chế kiểm tra tự động nên dữ liệu dễ sai sót, trùng lặp, mâu thuẫn.
  • Không có phân quyền, không có sao lưu — dữ liệu dễ bị lộ hoặc mất khi có sự cố.
  • Nhiều người cùng sửa một dữ liệu sẽ tranh chấp, ghi đè lên nhau.
  • Mỗi ứng dụng mới lại phải viết lại phần đọc/ghi dữ liệu từ đầu, rất tốn công.

2. Tóm tắt các nhóm chức năng của hệ QTCSDL.

Bốn nhóm: (a) định nghĩa dữ liệu — khai báo CSDL, tạo/sửa cấu trúc, đặt ràng buộc toàn vẹn; (b) cập nhật và truy xuất dữ liệu; (c) bảo mật, an toàn CSDL — phân quyền, kiểm soát giao dịch, sao lưu và khôi phục; (d) giao diện lập trình ứng dụng cho nhà phát triển.

Ví dụ hệ QTCSDL phổ biến: Oracle, MySQL, SQL Server, DB2, PostgreSQL, SQLite… Microsoft Access cũng là một hệ QTCSDL nhưng có nhiều hạn chế về hiệu suất nên ít dùng cho các ứng dụng phức tạp, nhất là ứng dụng trực tuyến.

2. Hệ CSDL và mô hình khách – chủ

Hoạt động 2 – SGK Tr.60 · Thảo luận về tra cứu điểm thi trực tuyến

Tình huống: Khi lên mạng tra cứu điểm thi vào lớp 10, màn hình chỉ yêu cầu em nhập vài dữ liệu tối thiểu (thường là số báo danh). Vậy mà gần như ngay lập tức em nhận được đầy đủ họ tên, trường lớp, điểm từng môn, kết quả xét tuyển.

Câu hỏi: Ngoài CSDL điểm thi, hệ thống đó còn cần có gì để cung cấp cho em thông tin nhanh và đúng như vậy?

Cần thêm một phần mềm tổ chức giao tiếp với người dùng (phần mềm tra cứu điểm thi) làm cầu nối giữa người dùng với CSDL điểm thi, và một hệ QTCSDL đứng phía sau để nhận yêu cầu, tìm kiếm rồi trả kết quả về. Ba thành phần đó hợp lại thành một hệ CSDL.

Hình 12.1 – Phần mềm khách và hệ QTCSDL cài trên cùng một máy tính
Người dùng MỘT MÁY TÍNH Phần mềm khách Hệ QTCSDL CSDL

Trường hợp đơn giản nhất: cả ba thành phần cùng nằm trên một máy tính — ví dụ một CSDL Microsoft Access của cửa hàng nhỏ.

Hình 12.2 – Hệ QTCSDL và phần mềm khách trên các máy tính khác nhau
MÁY CỦA NGƯỜI DÙNG Phần mềm khách Mạng máy tính gửi yêu cầu / nhận kết quả MÁY CHỦ CSDL Hệ QTCSDL CSDL Thành phần “khách” lo giao diện · thành phần “chủ” lo tính toán, xử lí dữ liệu

Các hệ QTCSDL nhiều người dùng thường được xây dựng theo mô hình hai thành phần: phần mềm khách (client) và phần chủ (server) — hai phần có thể ở cùng một máy hoặc ở hai máy khác nhau.

Hình 12.3 – Hệ cơ sở dữ liệu
Người dùng HỆ CSDL Phần mềm ứng dụng CSDL 1 Phần mềm ứng dụng CSDL N Hệ QTCSDL CSDL

Nhiều phần mềm ứng dụng khác nhau (tra cứu điểm, xét tuyển, thống kê…) cùng khai thác một CSDL thông qua một hệ QTCSDL. Cả ba hợp lại được gọi là hệ CSDL.

🏛️ Ba thành phần của hệ CSDL

Phần mềm ứng dụng CSDL

Giao diện cho người dùng cuối

Hệ QTCSDL

Nhận yêu cầu, xử lí dữ liệu

CSDL

Nơi dữ liệu được lưu trữ

Ghi nhớ
  • Phần mềm ứng dụng CSDL là phần mềm được xây dựng để tương tác với hệ QTCSDL, nhằm hỗ trợ người dùng khai thác thông tin từ CSDL một cách thuận tiện theo yêu cầu xác định.
  • Một hệ thống gồm ba thành phần: CSDL, hệ QTCSDL và các phần mềm ứng dụng CSDL được gọi là một hệ CSDL.

🧩 Liên hệ thực tế: Các ứng dụng mua bán trực tuyến, đặt xe công nghệ, thanh toán điện tử… mà em vẫn dùng hằng ngày đều là phần mềm ứng dụng CSDL của một hệ CSDL cụ thể phía sau.

Câu hỏi củng cố

Hệ QTCSDL và hệ CSDL khác nhau như thế nào?

Hệ QTCSDL chỉ là một phần mềm — công cụ tổng quát để lưu trữ, cập nhật, truy xuất, bảo mật dữ liệu, không gắn với CSDL hay ứng dụng cụ thể nào. Hệ CSDLcả một hệ thống gồm ba thành phần: CSDL cụ thể + hệ QTCSDL + các phần mềm ứng dụng CSDL phục vụ một bài toán quản lí xác định. Nói ngắn gọn: hệ QTCSDL là một thành phần bên trong hệ CSDL.

3. Hệ CSDL tập trung và phân tán

Hệ CSDL tập trung

Hệ CSDL mà CSDL được lưu trữ tập trung trên một máy tính. Bao gồm cả những CSDL một người dùng trên máy tính cá nhân — khi đó một người vừa thiết kế, vừa bảo trì, vừa viết ứng dụng, vừa là người dùng cuối.

Hệ CSDL phân tán

Dữ liệu được lưu trữ ở nhiều máy tính khác nhau của một mạng máy tính. Dữ liệu lưu tại mỗi trạm hình thành một CSDL cục bộ của trạm đó.

Hình 12.4 – Hệ CSDL tập trung
MỘT MÁY TÍNH DUY NHẤT Phần mềm ứng dụng CSDL Hệ QTCSDL CSDL

Toàn bộ dữ liệu nằm gọn trên một máy — dễ quản lí, dễ bảo đảm nhất quán, nhưng khó mở rộng và cả hệ thống dừng nếu máy đó hỏng.

Hình 12.5 – Hệ cơ sở dữ liệu phân tán
Mạng máy tính Hà Nội (trụ sở) Ứng dụng Hệ QTCSDL CSDL cục bộ Cần Thơ Ứng dụng Hệ QTCSDL CSDL cục bộ Đà Nẵng Ứng dụng Hệ QTCSDL CSDL cục bộ TP. Hồ Chí Minh Ứng dụng Hệ QTCSDL CSDL cục bộ

Mỗi trạm có CSDL cục bộ và hệ QTCSDL riêng, chạy được ứng dụng cục bộ. Khi một ứng dụng cần dữ liệu của ít nhất hai trạm để cho ra kết quả thì gọi là ứng dụng toàn cục (ứng dụng phân tán).

Ưu điểm của hệ CSDL phân tán

  • Dễ mở rộng: thêm trạm dữ liệu mới mà không làm ảnh hưởng hoạt động của các trạm đang chạy.
  • Tính sẵn sàng và độ tin cậy cao: một trạm gặp sự cố, các trạm khác vẫn hoạt động; dữ liệu có thể được lưu bản sao ở nhiều nơi.
  • Tối ưu tốc độ: dữ liệu đặt gần nơi sử dụng nên giảm tải đường truyền khi truy xuất, cập nhật.

Hạn chế so với tập trung

  • Thiết kế và triển khai phức tạp hơn nhiều.
  • Khó bảo đảm tính nhất quán và bảo mật dữ liệu giữa các trạm.
  • Chi phí duy trì cao hơn.

⚠️ Lưu ý phân biệt: có hệ CSDL tập trung nhưng xử lí phân tán — điển hình là mô hình máy chủ tệp. Toàn bộ CSDL và phần mềm đặt trên máy chủ tệp; khi một máy trạm cần thao tác, toàn bộ dữ liệu và phần mềm được chuyển qua đường truyền vào RAM của máy trạm, việc xử lí thực hiện tại máy trạm rồi mới ghi lại về máy chủ. Đó không phải là hệ CSDL phân tán.

Hoạt động nhóm – Tập trung hay phân tán?

Đọc từng tình huống và chọn mô hình phù hợp. Thảo luận nhanh trong nhóm trước khi bấm chọn.

Đã trả lời đúng 0 / 6

Mô phỏng: Hệ CSDL phân tán toàn quốc

Bản đồ bốn trạm chi nhánh (Hà Nội, Đà Nẵng, TP. Hồ Chí Minh, Cần Thơ) nối với nhau qua mạng máy tính. Bấm nút bên dưới để giả lập sự cố mất kết nối ở một trạm và quan sát điều gì xảy ra với các trạm còn lại.

⚠️ Không tải được bản đồ nền (có thể do mạng của trường chặn). Em vẫn xem được sơ đồ bốn trạm ở Hình 12.5 phía trên nhé.
Trạm hoạt động bình thường Trạm mất kết nối mạng Đường truyền giữa các trạm
🟢 4 trạm hoạt động ổn định

💡 Rút ra: khi trạm Đà Nẵng mất kết nối, CSDL cục bộ của trạm đó vẫn chạy cho các ứng dụng cục bộ tại chỗ, ba trạm còn lại cũng vẫn làm việc bình thường. Chỉ những ứng dụng toàn cục cần dữ liệu của Đà Nẵng mới bị ảnh hưởng — đó chính là ưu điểm về tính sẵn sàng của hệ CSDL phân tán.

Ghi nhớ
  • Hệ CSDL mà CSDL được lưu trữ tập trung trên một máy tính được gọi là hệ cơ sở dữ liệu tập trung.
  • Hệ CSDL phân tán cho phép người dùng truy cập dữ liệu được lưu trữ ở nhiều máy tính khác nhau trên mạng máy tính.

Câu hỏi củng cố

Hệ CSDL tập trung và hệ CSDL phân tán khác nhau như thế nào?

Khác nhau ở nơi lưu trữ dữ liệu: hệ tập trung lưu toàn bộ CSDL trên một máy tính; hệ phân tán chia dữ liệu ra nhiều trạm của một mạng máy tính, mỗi trạm có CSDL cục bộ và hệ QTCSDL riêng. Kéo theo đó: hệ phân tán dễ mở rộng, tính sẵn sàng cao hơn, nhưng thiết kế phức tạp, khó bảo đảm nhất quán và chi phí duy trì cao hơn.

4. Thực hành MySQL – Truy vấn CSDL nhân viên

Dùng câu lệnh SQL (ngôn ngữ chuẩn của các hệ QTCSDL như MySQL) để tạo bảng, nạp dữ liệu và truy xuất thông tin nhân viên – đúng với cách một Hệ QTCSDL thực xử lý yêu cầu.

Mã lệnh MySQL ⏳ Đang tải...
Sẵn sàng
Kết quả thực thi:
▶ Nhấn "Chạy truy vấn" để xem kết quả...

5. Luyện tập (10 câu SGK)

Câu 1 / 10
Đang tải...

Luyện tập (SGK Tr.63)

1. Hãy lập danh sách các chức năng của hệ QTCSDL trong từng nhóm chức năng.

  • a) Định nghĩa dữ liệu: khai báo CSDL với tên xác định; tạo lập và sửa đổi cấu trúc bên trong CSDL; cài đặt các ràng buộc toàn vẹn.
  • b) Cập nhật và truy xuất dữ liệu: thêm, xoá, sửa dữ liệu; truy xuất dữ liệu theo các tiêu chí khác nhau.
  • c) Bảo mật, an toàn CSDL: kiểm soát quyền truy cập; kiểm soát giao dịch khi nhiều người dùng đồng thời; sao lưu dự phòng và khôi phục dữ liệu.
  • d) Giao diện lập trình ứng dụng: cung cấp công cụ để nhà phát triển gửi truy vấn tới CSDL từ ứng dụng của họ.

2. Hãy phân tích điểm mạnh và điểm yếu của CSDL phân tán so với CSDL tập trung.

Điểm mạnh: dễ mở rộng (thêm trạm mà không làm gián đoạn các trạm đang chạy); tính sẵn sàng và độ tin cậy cao (một trạm hỏng, hệ thống vẫn chạy; dữ liệu có bản sao ở trạm khác); tối ưu tốc độ vì dữ liệu đặt gần nơi sử dụng, giảm tải đường truyền.

Điểm yếu: thiết kế và triển khai phức tạp; khó bảo đảm tính nhất quán của dữ liệu giữa các trạm; khó bảo mật hơn vì dữ liệu nằm ở nhiều nơi; chi phí duy trì cao.

Vận dụng (SGK Tr.63)

1. Cho ví dụ về một hệ CSDL trên thực tế, chỉ rõ những thành phần của nó.

Ví dụ hệ CSDL quản lí thư viện trường: CSDL gồm các bảng Sách, Học sinh, Phiếu mượn…; hệ QTCSDL là MySQL (hoặc SQL Server) cài trên máy chủ của trường; phần mềm ứng dụng CSDL gồm phần mềm thủ thư dùng để nhập sách, ghi mượn – trả và trang tra cứu sách dành cho học sinh. Ba thành phần ấy hợp thành một hệ CSDL. Em có thể nêu ví dụ khác: hệ CSDL bán vé tàu, hệ CSDL tra cứu điểm thi, ứng dụng đặt xe công nghệ…

2. Hãy tìm hiểu qua Internet tên một số hệ quản trị CSDL thông dụng.

MySQLPostgreSQL (mã nguồn mở, rất phổ biến cho ứng dụng web), Oracle DatabaseIBM DB2 (dùng trong ngân hàng, doanh nghiệp lớn), Microsoft SQL Server, SQLite (nhỏ gọn, nhúng trong điện thoại và trình duyệt), Microsoft Access (đơn giản, dùng cho CSDL nhỏ), MongoDB (CSDL phi quan hệ). Khi tìm hiểu, em hãy ghi lại: hệ đó miễn phí hay trả phí, thường dùng cho loại ứng dụng nào.