Chủ đề: Làm quen với cơ sở dữ liệu
Mỗi ngày chúng ta lướt Facebook, xem TikTok, mua hàng trên Shopee hay
đơn giản là tra cứu điểm thi trên web của trường. Bạn có bao giờ thắc mắc:
- Làm sao
Facebook nhớ hết danh sách bạn bè của hàng tỉ người?
- Làm sao
Shopee quản lý hàng triệu sản phẩm và đơn hàng mỗi giây?
- Ai là người
"đứng sau" sắp xếp, quản lý và đưa ra đúng thông tin điểm số khi
bạn nhập số báo danh?
Tất cả những tính năng đó đều nhờ vào một thứ gọi là Hệ Cơ sở dữ liệu.
PHẦN 1: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Để dễ hiểu, hãy cùng tưởng tượng một thư viện khổng lồ.
Dữ liệu (CSDL) chính là
hàng triệu cuốn sách trong thư viện.
Hệ Quản trị CSDL (HQTCSDL) chính là người quản lý sách (thủ thư) của thư viện đó.
Người thủ thư này không trực tiếp đọc sách, nhưng lại là người quyền lực
nhất, quản lý mọi thứ. Cụ thể, "người thủ thư" này là một phần mềm
máy tính chuyên làm các nhiệm vụ sau:
a) Chức năng 1: Thiết kế và xây dựng "ngôi nhà" cho dữ liệu
"Người thủ thư" sẽ quyết định xem thư viện cần những kệ sách
nào, mỗi kệ có bao nhiêu ngăn, dán nhãn gì.
Ví dụ trong đời thực:
Khi tạo CSDL QUAN_LY_HOC_SINH, "người
thủ thư" sẽ tạo ra các "kệ" (gọi là bảng), ví dụ bảng HocSinh. Trong bảng HocSinh, "người thủ thư" sẽ tạo các "ngăn" (gọi là cột)
như MaSoHocSinh, HoTen, NgaySinh, DiemTrungBinhMon.
|
Tóm lại: Hệ quản trị cơ sở dữ liệu cung cấp công cụ để
mình khai báo cấu trúc cho cơ sở dữ liệu (tạo bảng, tạo các cột dữ liệu...). |
b) Chức năng 2: Cập nhật và Truy xuất
Khi có sách mới, ai là người xếp vào kệ? Khi có người mượn sách, ai là
người tìm và đưa cho họ? Chính là "người thủ thư"!
THÊM (INSERT): Một học
sinh mới nhập học. "Người thủ thư" sẽ thêm một bộ hồ sơ mới vào kệ HocSinh.
SỬA (UPDATE): Bạn Dũng vừa thi lại và điểm Tin học tăng từ 9,5 lên 10.
"Người thủ thư" sẽ tìm đúng hồ sơ của Dũng và sửa lại điểm.
XOÁ (DELETE): Một học
sinh chuyển trường. "Người thủ thư" sẽ lấy hồ sơ của bạn đó ra khỏi kệ.
TÌM KIẾM (SELECT/TRUY VẤN): Cô giáo muốn tìm "tất cả học sinh có điểm Toán trên 8". Người
thủ thư sẽ chạy đi tìm và lập một danh sách đưa cho cô.
|
Tóm lại: Hệ quản trị cơ sở dữ liệu có vai trò giống
như người thủ thư, cho phép chúng ta thao tác với dữ liệu: thêm, sửa,
xoá và đặc biệt là truy vấn (lấy) dữ liệu theo những điều kiện phức tạp. |
c) Chức năng 3: Bảo mật & An toàn
Thư viện không phải ai vào cũng được. Người thủ thư cũng đồng thời đóng
vai trò bảo vệ, chỉ cho phép những người có thẩm quyền làm đúng việc của mình.
Phân quyền: Học sinh chỉ
được xem điểm của mình. Giáo viên được xem điểm của cả lớp. Ban giám hiệu được
xem điểm của cả trường. "Người thủ thư" sẽ kiểm tra "thẻ"
(quyền) của từng người để cấp quyền tương ứng.
An toàn: Lỡ thư viện bị
cháy thì sao? "Người thủ thư" đã khôn ngoan tạo ra một bản sao
(backup) của tất cả sách và cất ở một nơi an toàn khác. Nếu có sự cố, chỉ cần lấy
bản sao ra là xong.
|
Tóm lại: Hệ quản trị cơ sở dữ liệu đảm bảo an
ninh, an toàn và toàn vẹn cho dữ liệu. Một vài "người thủ
thư" (HQTCSDL) nổi tiếng:
MySQL, SQL Server, Oracle, PostgreSQL, SQLite... |
PHẦN 2: HỆ CƠ SỞ DỮ LIỆU
Vậy nếu hệ quản trị cơ sở dữ liệu là người thủ thư, thì Hệ cơ sở dữ
liệu đóng vai trò gì?
Rất đơn giản, Hệ CSDL là nguyên một thư viện hoàn chỉnh, bao gồm
3 thành phần không thể tách rời:
|
Cơ sở dữ liệu (CSDL): Toàn bộ sách, tài liệu... (Dữ liệu của bạn). Hệ Quản trị CSDL (HQTCSDL): "Người thủ thư" siêu cấp (Phần mềm
quản lý). Phần mềm ứng dụng: Là cái giao diện để bạn tương tác với
thủ thư. Ví dụ: trang web tra cứu sách của thư viện, cái máy tính để bạn gõ
tên sách vào tìm kiếm. Trong ví dụ tra điểm, nó chính là trang web của trường
nơi bạn nhập Số Báo Danh. Bạn (Người dùng) ➡️
Website tra điểm (Ứng dụng) ➡️ "Người thủ
thư" (HQTCSDL) ➡️ Kho điểm (CSDL) |
PHẦN 3: CÁC HỆ CƠ SỞ DỮ LIỆU
a) Hệ CSDL Tập trung: "Thư viện duy nhất của trường"
Ý tưởng: Tất cả sách (dữ
liệu) được đặt trong một tòa nhà thư viện duy nhất (một máy chủ siêu mạnh).
Ưu điểm: Dễ quản lý, vì
mọi thứ ở cùng một chỗ.
Nhược điểm: Nếu thư viện
này bị đóng cửa (máy chủ sập), không ai có thể mượn sách được nữa.
b) Hệ CSDL Phân tán: "Chuỗi cửa hàng tiện lợi Circle K"
Ý tưởng: Thay vì có 1
siêu thị khổng lồ, Circle K có hàng trăm cửa hàng nhỏ ở khắp nơi. Dữ liệu được phân
tán ra nhiều máy chủ ở nhiều vị trí địa lý khác nhau.
Ví dụ: Facebook,
Google. Dữ liệu của bạn được lưu ở nhiều nơi trên thế giới. Khi bạn ở Việt Nam,
bạn sẽ truy cập vào máy chủ gần nhất (chẳng hạn như PoP Singapore) để tốc độ
nhanh hơn.
Ưu điểm:
+ Tốc độ nhanh: Truy cập
vào "cửa hàng" gần nhất.
+ An toàn: Nếu một
"cửa hàng" ở Quận 1 bị mất điện, các cửa hàng ở Quận 3, Quận 5 vẫn hoạt
động bình thường. Dữ liệu không bị mất.
Nhược điểm:
+ Tốn kém: Khó quản lý
và tốn kém tiền hơn để xây dựng.
+ Khó triển khai: Tốn
nhiều công sức và thời gian hơn để triển khai.
PHẦN 4: BÀI TẬP VẬN DỤNG
Câu 1: Phân tích "Hệ cơ sở dữ liệu Shopee"
Khi bạn dùng app Shopee để mua một chiếc Galaxy S25 Ultra, hãy chỉ ra 3
thành phần của Hệ cơ sở dữ liệu trong tình huống này:
- CSDL là gì?
- HQTCSDL làm
những nhiệm vụ gì?
- Phần mềm ứng
dụng là gì?
Gợi ý trả lời
- CSDL: Là kho dữ liệu khổng lồ chứa thông tin về:
người dùng (tên, địa chỉ...), sản phẩm (tên giày, giá, số lượng còn lại...),
đơn hàng...
- HQTCSDL
(ví dụ MySQL):
- Khi bạn tìm
"điện thoại S25 Ultra ", nó sẽ truy vấn dữ liệu.
- Khi bạn đặt
hàng, nó sẽ cập nhật (trừ 1 sản phẩm trong kho, thêm 1 vào giỏ
hàng).
- Khi shop
thêm sản phẩm mới, nó sẽ thêm dữ liệu vào tìm kiếm.
- Nó bảo mật
tài khoản và thông tin thanh toán của bạn.
- Phần mềm ứng
dụng: Chính là App Shopee
trên điện thoại của bạn, hoặc trang web Shopee trên máy tính.
Câu 2: Lựa chọn mô hình
Một công ty đa quốc gia có văn phòng ở Việt Nam, Mỹ, Nhật Bản và Anh. Họ
muốn xây dựng một hệ thống quản lý nhân sự chung cho toàn công ty. Theo bạn, họ
nên chọn Hệ CSDL tập trung hay phân tán? Tại sao?
Gợi ý trả lời
Họ nên chọn Hệ CSDL phân tán.
Lý do:
Nhân viên ở Nhật có thể truy cập vào máy chủ đặt tại Nhật để có tốc độ
nhanh nhất.
Nếu máy chủ ở Mỹ gặp sự cố, hệ thống ở các nước khác vẫn hoạt động,
không làm gián đoạn công việc toàn cầu.