Một cơ sở dữ liệu quan hệ (RDB) là một hệ thống lưu trữ dữ liệu có cấu trúc tổ chức thông tin thành các bảng (hàng và cột).
Cơ sở dữ liệu RDB
Cơ sở dữ liệu quan hệ (RDB) là một hệ thống lưu trữ dữ liệu có cấu trúc, tổ chức thông tin thành các bảng (dòng và cột). Các bảng này được liên kết thông qua các trường chung (khóa), đảm bảo tính nhất quán và toàn vẹn dữ liệu trong một ứng dụng. Hầu hết các cơ sở dữ liệu quan hệ sử dụng SQL (Ngôn ngữ truy vấn có cấu trúc) để định nghĩa và thao tác dữ liệu, giúp cho việc truy vấn, chèn, cập nhật hoặc xóa dữ liệu trở nên đơn giản. Thường được sử dụng trong thương mại điện tử, dịch vụ tài chính và hệ thống quản lý nội dung, các cơ sở dữ liệu quan hệ xuất sắc trong việc xử lý giao dịch (thuộc tính ACID) và duy trì các mối quan hệ dữ liệu đáng tin cậy.
Còn được gọi là : cơ sở dữ liệu SQL, hệ quản trị cơ sở dữ liệu quan hệ
So sánh
-
Cơ sở dữ liệu quan hệ vs. NoSQL : Trong khi RDB tuân theo các sơ đồ được xác định trước và các bảng có cấu trúc, các cơ sở dữ liệu NoSQL lưu trữ dữ liệu phi cấu trúc hoặc bán cấu trúc với các sơ đồ linh hoạt.
-
Cơ sở dữ liệu quan hệ vs. Cơ sở dữ liệu phân cấp : Các cơ sở dữ liệu phân cấp tổ chức dữ liệu theo cấu trúc tương tự như cây, trong khi RDB sử dụng các mối quan hệ dạng bảng và các phép nối.
Ưu điểm
-
Toàn vẹn dữ liệu : Tuân thủ ACID đảm bảo các giao dịch đáng tin cậy và tính nhất quán.
-
Truy vấn mạnh mẽ : SQL cung cấp các phép nối nâng cao, tổng hợp và lọc.
-
Hệ sinh thái trưởng thành : Nhiều thập kỷ sử dụng, công cụ phong phú, và hỗ trợ cộng đồng mạnh mẽ.
Nhược điểm
-
Sơ đồ cứng nhắc: Thay đổi cấu trúc có thể tốn thời gian khi các yêu cầu thay đổi.
-
Thách thức về khả năng mở rộng: Mở rộng theo chiều ngang (sharding) có thể phức tạp hơn so với một số tùy chọn NoSQL.
Ví dụ
Một cửa hàng trực tuyến có thể duy trì các bảng cho Khách hàng, Sản phẩm, Đơn hàng, và Mục đơn hàng, liên kết chúng bằng các khóa (ví dụ: customer_id và product_id). Cài đặt này đảm bảo dữ liệu nhất quán, ngăn chặn các đầu vào không hợp lệ, và cho phép các truy vấn mạnh mẽ—như tính tổng doanh thu cho một ngày nhất định hoặc lấy danh sách các đơn hàng cho một khách hàng cụ thể.
