Mô hình dữ liệu quan hệ được giới thiệu bởi C. F. Codd năm 1970. Hiện nay, đây là mô hình dữ liệu được sử dụng rộng rãi nhất. Mô hình dữ liệu quan hệ mô tả thế giới như "một tập hợp các quan hệ (hoặc bảng) tương quan lẫn nhau". Mô hình dữ liệu quan hệ liên quan đến việc sử dụng các bảng dữ liệu thu thập nhóm các phần tử vào các quan hệ. Các mô hình này hoạt động dựa trên ý tưởng rằng mỗi thiết lập bảng sẽ bao gồm một khóa chính hoặc định danh. Các bảng khác sử dụng định danh đó để cung cấp các liên kết dữ liệu "quan hệ" và kết quả.
Ngày nay, có nhiều Hệ quản trị cơ sở dữ liệu quan hệ thương mại (RDBMS) như Oracle, IBM DB2, Microsoft SQL Server. Cũng có nhiều RDBMS miễn phí và mã nguồn mở như MySQL, mSQL (mini-SQL) và Java DB nhúng (Apache Derby). Quản trị viên cơ sở dữ liệu sử dụng Ngôn ngữ Truy vấn Cấu trúc (SQL) để truy xuất các phần tử dữ liệu từ cơ sở dữ liệu quan hệ.

Như đã đề cập, khóa chính là công cụ cơ bản trong tạo và sử dụng mô hình dữ liệu quan hệ. Nó phải duy nhất cho mỗi thành viên của tập dữ liệu. Nó phải được điền cho tất cả các thành viên. Những sự không nhất quán có thể gây vấn đề khi nhà phát triển truy xuất dữ liệu. Các vấn đề khác với thiết kế cơ sở dữ liệu quan hệ bao gồm: sự trùng lặp dữ liệu quá mức, dữ liệu lỗi hoặc thiếu, hoặc liên kết/liên kết không đúng giữa các bảng. Phần lớn công việc quản trị cơ sở dữ liệu thông thường liên quan đến việc đánh giá tất cả các tập dữ liệu trong cơ sở dữ liệu để đảm bảo chúng được điền nhất quán và phản hồi tốt với SQL hoặc bất kỳ phương pháp truy xuất dữ liệu nào khác.
Ví dụ, một hàng cơ sở dữ liệu thông thường đại diện cho một tuple (bộ), là tập hợp dữ liệu xoay quanh một thể hiện hoặc đối tượng ảo sao cho khóa chính là định danh duy nhất của nó. Tên cột trong bảng dữ liệu liên quan đến một thuộc tính, một định danh hoặc đặc điểm mà tất cả các phần của tập dữ liệu đều có. Những quy ước nghiêm ngặt này giúp cung cấp tiêu chuẩn cho quản trị viên và nhà thiết kế cơ sở dữ liệu khi xây dựng các thiết lập cơ sở dữ liệu quan hệ.
Mục tiêu thiết kế cơ sở dữ liệu
- Loại bỏ dư thừa dữ liệu (Eliminate Data Redundancy): cùng một phần dữ liệu không được lưu trữ ở nhiều hơn một nơi. Vì dữ liệu trùng lặp không chỉ lãng phí bộ nhớ mà còn dễ dẫn đến sự không nhất quán.
- Đảm bảo toàn vẹn và chính xác dữ liệu (Ensure Data Integrity and Accuracy): là việc duy trì và đảm bảo độ chính xác và nhất quán của dữ liệu suốt vòng đời của nó, là khía cạnh quan trọng đối với thiết kế, triển khai và sử dụng bất kỳ hệ thống nào lưu trữ, xử lý hoặc truy xuất dữ liệu.
Mô hình quan hệ cung cấp cơ sở cho:
- Nghiên cứu lý thuyết dữ liệu/quan hệ/ràng buộc
- Nhiều phương pháp thiết kế cơ sở dữ liệu
- Ngôn ngữ truy cập cơ sở dữ liệu tiêu chuẩn gọi là SQL (Structured Query Language)
- Gần như tất cả các hệ thống quản trị cơ sở dữ liệu thương mại hiện đại
Cơ sở dữ liệu quan hệ đi kèm với sự phát triển của SQL. Sự đơn giản của SQL - ngay cả người mới cũng có thể học thực hiện truy vấn cơ bản trong thời gian ngắn - là phần lớn lý do cho sự phổ biến của mô hình quan hệ.
Hai bảng dưới đây liên quan đến nhau qua trường mã sản phẩm (product code). Bất kỳ hai bảng nào cũng có thể liên quan nhau đơn giản bằng cách tạo một trường chung.
Bảng 1
| Mã sản phẩm (Product_code) | Mô tả (Description) | Giá (Price) |
|---|---|---|
| A416 | Bút màu (Colour Pen) | ₹ 25.00 |
| C923 | Hộp bút (Pencil box) | ₹ 45.00 |
Bảng 2
| Mã hóa đơn (Invoice_code) | Dòng hóa đơn (Invoice_line) | Mã sản phẩm (Product_code) | Số lượng (Quantity) |
|---|---|---|---|
| 3804 | 1 | A416 | 15 |
| 3804 | 2 | C923 | 24 |
Có bốn giai đoạn của mô hình quan hệ (RDM) như sau:
- Quan hệ và thuộc tính (Relations and attributes): Các bảng khác nhau và thuộc tính liên quan đến mỗi bảng được xác định. Bảng đại diện cho thực thể, thuộc tính đại diện cho đặc tính của thực thể tương ứng.
- Khóa chính (Primary keys): Thuộc tính hoặc tập thuộc tính giúp xác định duy nhất bản ghi được xác định và gán làm khóa chính.
- Quan hệ (Relationships): Các quan hệ giữa các bảng được thiết lập nhờ khóa ngoại. Khóa ngoại là thuộc tính xuất hiện trong một bảng là khóa chính của bảng khác. Các loại quan hệ có thể tồn tại giữa các quan hệ (bảng): Một-một, Một-nhiều, Nhiều-nhiều.
- Chuẩn hóa (Normalization): Quy trình tối ưu hóa cấu trúc cơ sở dữ liệu. Chuẩn hóa đơn giản hóa thiết kế để tránh dư thừa và nhầm lẫn. Các dạng chuẩn khác nhau:
1. Dạng chuẩn thứ nhất (First normal form)
2. Dạng chuẩn thứ hai (Second normal form)
3. Dạng chuẩn thứ ba (Third normal form)
4. Dạng chuẩn Boyce-Codd (Boyce-Codd normal form)
5. Dạng chuẩn thứ năm (Fifth normal form)
Bằng cách áp dụng một tập quy tắc, một bảng được chuẩn hóa thành các dạng chuẩn trên theo cách tiến triển tuyến tính. Hiệu quả thiết kế tốt hơn với mỗi bậc chuẩn hóa cao hơn.
Ưu điểm của cơ sở dữ liệu quan hệ
Ưu điểm chính của cơ sở dữ liệu quan hệ là cho phép người dùng dễ dàng phân loại và lưu trữ dữ liệu sau đó có thể truy vấn và lọc để trích xuất thông tin cụ thể cho báo cáo. Cơ sở dữ liệu quan hệ cũng dễ mở rộng và không phụ thuộc vào tổ chức vật lý. Sau khi tạo cơ sở dữ liệu ban đầu, danh mục dữ liệu mới có thể thêm vào mà không cần sửa đổi tất cả ứng dụng hiện có.
Các ưu điểm khác
- Chính xác (Accurate): Dữ liệu chỉ lưu một lần, loại bỏ trùng lặp dữ liệu.
- Linh hoạt (Flexible): Truy vấn phức tạp dễ dàng cho người dùng.
- Hợp tác (Collaborative): Nhiều người dùng có thể truy cập cùng một cơ sở dữ liệu.
- Đáng tin cậy (Trusted): Mô hình cơ sở dữ liệu quan hệ thành熟 và được hiểu rõ.
- An toàn (Secure): Dữ liệu trong bảng trong RDBMS có thể giới hạn để chỉ cho phép truy cập bởi người dùng cụ thể.