Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ biểu diễn tất cả dữ liệu dưới dạng các quan hệ — tập hợp các bộ giá trị (tuples) trên các thuộc tính được đặt tên — và dựa trên các thao tác từ lý thuyết tập hợp và logic bậc nhất để thao tác dữ liệu, đạt được sự độc lập giữa góc nhìn logic của dữ liệu và lưu trữ vật lý của nó.
Definition
Trong mô hình quan hệ, một quan hệ là một tập hợp các bộ giá trị, mỗi bộ giá trị là một ánh xạ từ một tập hợp cố định các thuộc tính đến các giá trị được lấy từ miền giá trị của các thuộc tính đó; một cơ sở dữ liệu quan hệ là một tập hợp các quan hệ như vậy được quản lý bởi các ràng buộc toàn vẹn.
Scope
Chủ đề này bao gồm phần cấu trúc của mô hình quan hệ: các quan hệ, bộ giá trị, thuộc tính và miền giá trị; lược đồ và thể hiện; khóa ứng viên, khóa chính và khóa ngoại; và các ràng buộc toàn vẹn thực thể và toàn vẹn tham chiếu. Nó coi các quan hệ có ngữ nghĩa tập hợp và bậc cố định, đồng thời giải thích cách tính độc lập dữ liệu giúp các ứng dụng không bị phụ thuộc vào chi tiết lưu trữ. Nó không bao gồm các ngôn ngữ truy vấn được xây dựng trên mô hình (được đề cập trong SQL và đại số quan hệ) và nguyên tắc thiết kế chuẩn hóa.
Core questions
- Các thành phần cấu trúc của một quan hệ là gì: thuộc tính, miền giá trị, bộ giá trị và bậc?
- Khóa ứng viên, khóa chính và khóa ngoại xác định và liên kết các bộ giá trị như thế nào?
- Toàn vẹn thực thể và toàn vẹn tham chiếu đảm bảo điều gì?
- Mô hình đạt được tính độc lập dữ liệu logic và vật lý như thế nào?
- Tại sao các quan hệ được định nghĩa là tập hợp chứ không phải là danh sách các bộ giá trị có thứ tự?
Key concepts
- quan hệ, bộ giá trị, thuộc tính, miền giá trị
- lược đồ và thể hiện quan hệ
- khóa ứng viên và khóa chính
- khóa ngoại
- toàn vẹn thực thể
- toàn vẹn tham chiếu
- tính độc lập dữ liệu logic và vật lý
- giá trị null
Key theories
- Các quan hệ như tập hợp các bộ giá trị
- Một quan hệ là một tập con của tích Descartes của các miền thuộc tính của nó; vì nó là một tập hợp, các bộ giá trị không có thứ tự và không trùng lặp, và mô hình kế thừa đại số của các phép toán tập hợp.
- Tính độc lập dữ liệu
- Bằng cách mô tả dữ liệu thuần túy theo các quan hệ và ràng buộc, mô hình tách biệt lược đồ logic khỏi lưu trữ vật lý và các đường dẫn truy cập, do đó biểu diễn vật lý có thể thay đổi mà không cần viết lại các ứng dụng.
- Các ràng buộc toàn vẹn
- Toàn vẹn thực thể cấm các giá trị khóa chính null và toàn vẹn tham chiếu yêu cầu mọi giá trị khóa ngoại phải khớp với một khóa chính hiện có, đảm bảo rằng các mối quan hệ giữa các quan hệ luôn nhất quán.
Clinical relevance
Mô hình quan hệ là nền tảng của loại hệ thống cơ sở dữ liệu chiếm ưu thế được sử dụng trong kinh doanh, tài chính, chính phủ và web; sự tách biệt rõ ràng giữa cấu trúc logic và lưu trữ vật lý là lý do tại sao cơ sở dữ liệu quan hệ vẫn là lựa chọn mặc định cho dữ liệu có cấu trúc, giao dịch trong nửa thế kỷ qua.
History
E. F. Codd đã đề xuất mô hình quan hệ vào năm 1970 tại IBM, phản đối các mô hình phân cấp và mạng lưới đang thịnh hành mà các truy vấn của chúng bị ràng buộc với điều hướng vật lý. Các hệ thống nguyên mẫu System R (IBM) và Ingres (Berkeley) đã chứng minh tính khả thi của nó vào giữa những năm 1970, và Codd sau đó đã nhận Giải thưởng Turing cho công trình này.
Key figures
- Edgar F. Codd
- Jeffrey D. Ullman
Related topics
Seminal works
- codd1970
- silberschatz2019
Frequently asked questions
- Tại sao các quan hệ được định nghĩa là tập hợp, không có các bộ giá trị trùng lặp?
- Việc định nghĩa một quan hệ là một tập hợp mang lại cho mô hình một nền tảng toán học rõ ràng và có nghĩa là danh tính của một bộ giá trị được xác định hoàn toàn bởi các giá trị thuộc tính của nó cộng với các ràng buộc khóa. Trong thực tế, SQL nới lỏng điều này thành ngữ nghĩa đa tập hợp (bag), cho phép các hàng trùng lặp trừ khi một khóa hoặc từ khóa DISTINCT thực thi tính duy nhất.
- Toàn vẹn tham chiếu thực sự ngăn chặn điều gì?
- Nó ngăn chặn các tham chiếu lơ lửng (dangling references): một khóa ngoại trong một quan hệ phải là null hoặc khớp với một giá trị khóa chính hiện có trong quan hệ được tham chiếu, vì vậy bạn không thể, ví dụ, ghi lại một đơn hàng cho một khách hàng không tồn tại.