Cơ sở dữ liệu quan hệ (relational database) là một mô hình lưu trữ dữ liệu trong đó thông tin được biểu diễn dưới dạng các bảng hai chiều, còn gọi là quan hệ. Mỗi bảng bao gồm nhiều hàng (bản ghi) và cột (thuộc tính), đại diện cho các thực thể và thông tin liên quan. Mô hình này được giới thiệu bởi Edgar F. Codd năm 1970 như một giải pháp mang tính hình thức và có cấu trúc chặt chẽ cho việc quản lý dữ liệu.
Các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) như Oracle, Microsoft SQL Server, PostgreSQL và MySQL sử dụng ngôn ngữ truy vấn có cấu trúc SQL để thao tác dữ liệu. SQL cho phép người dùng thực hiện các thao tác như truy vấn, thêm, sửa, xóa dữ liệu, định nghĩa cấu trúc bảng và điều khiển truy cập.
Điểm mạnh cốt lõi của cơ sở dữ liệu quan hệ là tính logic, tính nhất quán và khả năng mở rộng, làm cho nó trở thành lựa chọn hàng đầu trong các hệ thống nghiệp vụ, tài chính và quản lý dữ liệu lớn.
Các thành phần cơ bản trong cơ sở dữ liệu quan hệ
Một hệ thống cơ sở dữ liệu quan hệ được tổ chức xung quanh khái niệm bảng (table), trong đó mỗi bảng đại diện cho một thực thể như “Nhân viên”, “Khách hàng” hoặc “Sản phẩm”. Mỗi cột trong bảng là một thuộc tính (attribute), chẳng hạn như tên, quê quán hoặc mã sản phẩm. Mỗi hàng (row) chứa một bản ghi (record), biểu thị thông tin về một cá thể cụ thể.
Ngoài ra, hệ thống còn sử dụng các khóa để xác định mối quan hệ giữa các bảng và đảm bảo tính duy nhất của bản ghi. Khóa chính (primary key) là thuộc tính hoặc tập thuộc tính có giá trị duy nhất trong mỗi bản ghi. Khóa ngoại (foreign key) là thuộc tính tham chiếu đến khóa chính của một bảng khác, từ đó tạo ra mối liên kết giữa các bảng.
| Thành phần | Vai trò | Ví dụ minh họa |
|---|---|---|
| Thuộc tính | Thông tin mô tả một đặc trưng của thực thể | Họ tên, Email, Quê quán |
| Bản ghi | Dòng dữ liệu cụ thể cho một thực thể | Nguyễn Văn A, [email protected], Hà Nội |
| Khóa chính | Xác định duy nhất mỗi bản ghi | Mã nhân viên (EmployeeID) |
| Khóa ngoại | Tham chiếu đến khóa chính ở bảng khác | Mã phòng ban (DepartmentID) |
Cách tổ chức này giúp dữ liệu trở nên có cấu trúc, dễ hiểu và dễ mở rộng. Nó cũng giúp giảm thiểu dư thừa dữ liệu thông qua việc chuẩn hóa.
Mô hình quan hệ và lý thuyết tập hợp
Cơ sở dữ liệu quan hệ dựa trên lý thuyết tập hợp và logic đại số quan hệ. Mỗi bảng được xem là một tập hợp các bộ (tuple), trong đó thứ tự các dòng và cột không ảnh hưởng đến định nghĩa của bảng. Toàn bộ hệ thống vận hành dựa trên các phép toán trong đại số quan hệ như chọn lọc, chiếu, kết nối, hợp, giao và hiệu.
Các phép toán cơ bản trong đại số quan hệ gồm:
- Selection (): Lọc các hàng theo điều kiện logic xác định
- Projection (): Chọn các cột cần thiết trong một quan hệ
- Join: Kết hợp dữ liệu từ nhiều bảng dựa trên điều kiện liên kết
- Union / Intersection / Difference: Các phép toán tập hợp kinh điển
Ví dụ, biểu thức đại số quan hệ:
sẽ thực hiện chiếu lấy các cột tên và lương của bảng nhân viên, sau đó chọn lọc các bản ghi có giá trị lương vượt quá một ngưỡng quy định (threshold).
Sự chính xác và hình thức toán học của mô hình quan hệ cho phép thiết kế các hệ thống truy vấn mạnh mẽ, có thể tối ưu hóa hiệu năng mà vẫn đảm bảo tính đúng đắn về mặt logic.
Khóa và tính toàn vẹn dữ liệu
Cơ sở dữ liệu quan hệ sử dụng hệ thống khóa và ràng buộc toàn vẹn để duy trì độ chính xác và nhất quán của dữ liệu trong suốt vòng đời hệ thống. Mỗi bảng cần ít nhất một khóa chính để phân biệt các bản ghi, và các ràng buộc bổ sung để kiểm soát giá trị của dữ liệu.
Các loại ràng buộc phổ biến bao gồm:
- Khóa chính (PRIMARY KEY): Không được trùng lặp hoặc mang giá trị null
- Khóa ngoại (FOREIGN KEY): Bắt buộc giá trị phải tồn tại ở bảng tham chiếu
- NOT NULL: Cột không được phép để trống
- UNIQUE: Mỗi giá trị trong cột phải là duy nhất trên toàn bảng
- CHECK: Đảm bảo dữ liệu thỏa mãn điều kiện logic cụ thể
Ví dụ, ràng buộc CHECK (salary > 0) đảm bảo giá trị trường lương luôn là số dương hợp lệ trong bảng nhân viên.
Tính toàn vẹn dữ liệu là yếu tố cốt lõi làm nên sức mạnh và độ tin cậy của mô hình quan hệ, giúp hạn chế sai sót khi nhập liệu và đảm bảo dữ liệu phản ánh chính xác trạng thái thực tế.
Ngôn ngữ SQL và truy vấn dữ liệu
Structured Query Language (SQL) là ngôn ngữ tiêu chuẩn được sử dụng để thao tác và truy vấn dữ liệu trong cơ sở dữ liệu quan hệ. SQL được thiết kế để dễ đọc, gần với ngôn ngữ tự nhiên nhưng có cấu trúc chặt chẽ, bao gồm nhiều nhóm lệnh phục vụ các mục tiêu khác nhau.
SQL được chia thành bốn nhóm lệnh chính:
- DDL – Data Definition Language: Tạo, sửa đổi hoặc xóa bảng và cấu trúc dữ liệu (
CREATE,ALTER,DROP) - DML – Data Manipulation Language: Thao tác dữ liệu trong bảng (
SELECT,INSERT,UPDATE,DELETE) - DCL – Data Control Language: Cấp quyền và thu hồi quyền truy cập dữ liệu (
GRANT,REVOKE) - TCL – Transaction Control Language: Kiểm soát giao dịch dữ liệu (
COMMIT,ROLLBACK,SAVEPOINT)
Ví dụ, câu truy vấn sau sẽ trả về tên và mức lương của tất cả nhân viên có lương vượt quá ngưỡng lọc điều kiện:
SELECT name, salary FROM Employee WHERE salary > threshold;
Chuẩn hóa và thiết kế lược đồ
Chuẩn hóa (normalization) là quá trình tổ chức các bảng dữ liệu nhằm giảm thiểu trùng lặp và tránh mâu thuẫn khi cập nhật. Quá trình này chia nhỏ các bảng lớn thành các bảng nhỏ hơn, liên kết với nhau bằng khóa ngoại, và tuân theo các dạng chuẩn (normal forms).
Các dạng chuẩn cơ bản bao gồm:
- 1NF (First Normal Form): Không có thuộc tính đa trị, mỗi ô chỉ chứa một giá trị nguyên tử duy nhất
- 2NF (Second Normal Form): Đạt 1NF và đảm bảo mỗi thuộc tính không khóa phụ thuộc hoàn toàn vào khóa chính
- 3NF (Third Normal Form): Đạt 2NF và loại bỏ hoàn toàn phụ thuộc bắc cầu giữa các thuộc tính không khóa
- BCNF (Boyce-Codd Normal Form): Dạng chuẩn hóa mạnh hơn của 3NF, yêu cầu mọi phụ thuộc hàm đều phải dựa trên siêu khóa
Chuẩn hóa giúp giảm dữ liệu dư thừa, tăng tính toàn vẹn và hiệu quả truy vấn. Tuy nhiên, trong một số hệ thống phân tích đòi hỏi tốc độ đọc cực cao, người thiết kế có thể chủ động áp dụng phi chuẩn hóa (denormalization) để tối ưu hiệu năng.
Giao dịch và tính chất ACID
Giao dịch (transaction) là một tập hợp các thao tác SQL được thực hiện như một đơn vị logic nguyên tử. Được Haerder và Reuter định hình năm 1983, giao dịch phải tuân thủ bốn tính chất ACID để đảm bảo tính toàn vẹn của dữ liệu, đặc biệt trong các hệ thống tài chính và ngân hàng.
- Atomicity (Tính nguyên tử): Giao dịch được thực hiện trọn vẹn hoặc bị hủy bỏ hoàn toàn mà không để lại trạng thái dở dang
- Consistency (Tính nhất quán): Giao dịch đưa cơ sở dữ liệu từ một trạng thái hợp lệ sang một trạng thái hợp lệ tiếp theo
- Isolation (Tính cô lập): Các giao dịch thực thi đồng thời không can thiệp hay ảnh hưởng lẫn nhau
- Durability (Tính bền vững): Khi giao dịch đã hoàn tất và xác nhận, các thay đổi dữ liệu được lưu vĩnh viễn ngay cả khi xảy ra sự cố hệ thống
Ví dụ: trong nghiệp vụ chuyển khoản ngân hàng, nếu hệ thống đã trừ tiền ở tài khoản nguồn nhưng xảy ra sự cố đường truyền trước khi cộng tiền vào tài khoản đích, tính nguyên tử sẽ tự động khôi phục hoàn tác toàn bộ giao dịch về trạng thái ban đầu.
So sánh cơ sở dữ liệu quan hệ với mô hình NoSQL
Mô hình quan hệ và NoSQL có những ưu thế khác biệt, phù hợp với từng ngữ cảnh ứng dụng cụ thể. Trong khi cơ sở dữ liệu quan hệ là giải pháp tối ưu cho dữ liệu có cấu trúc chặt chẽ và yêu cầu bảo toàn giao dịch ACID, NoSQL lại mang lại tính linh hoạt cao cho dữ liệu phi cấu trúc, thông lượng ghi lớn và mở rộng phân tán quy mô lớn.
| Tiêu chí | Cơ sở dữ liệu quan hệ (SQL) | Cơ sở dữ liệu NoSQL |
|---|---|---|
| Lược đồ dữ liệu | Cố định, xác định trước qua DDL | Linh hoạt, động (schema-less) |
| Khả năng mở rộng | Chủ yếu mở rộng theo chiều dọc (Scale-up) | Mở rộng theo chiều ngang (Scale-out) |
| Tính nhất quán | Nhất quán mạnh, tuân thủ ACID | Nhất quán sau cùng (Eventual consistency) |
| Mô hình ứng dụng | Hệ thống ngân hàng, ERP, CRM, kế toán | Mạng xã hội, phân tích dữ liệu lớn, IoT |
Ứng dụng thực tế của cơ sở dữ liệu quan hệ
Cơ sở dữ liệu quan hệ giữ vai trò nền tảng trong hạ tầng công nghệ thông tin toàn cầu nhờ độ tin cậy vượt trội và năng lực quản lý giao dịch an toàn.
- Tài chính - Ngân hàng: Quản lý tài khoản khách hàng, hạch toán giao dịch và sổ cái điện tử
- Quản lý nhà nước: Cơ sở dữ liệu dân cư quốc gia, quản lý hộ tịch, đất đai và bảo hiểm y tế
- Doanh nghiệp: Vận hành các hệ sinh thái phần mềm quản trị nguồn lực (ERP), quan hệ khách hàng (CRM) và chuỗi cung ứng
- Thương mại điện tử: Kiểm soát trạng thái đơn hàng, giỏ hàng, thông tin thanh toán và quản lý tồn kho thời gian thực
Các hệ quản trị cơ sở dữ liệu quan hệ tiêu biểu (tính đến năm 2026) bao gồm MySQL, PostgreSQL, Oracle Database và Microsoft SQL Server, tiếp tục đóng vai trò trọng tâm trong việc xử lý và bảo vệ dữ liệu doanh nghiệp.