Mô hình quan hệ là gì?
Mô hình quan hệ (RM) đại diện cho cơ sở dữ liệu như một tập hợp các quan hệ. Một quan hệ không là gì ngoài một bảng các giá trị. Mỗi hàng trong bảng đại diện cho một tập hợp các giá trị dữ liệu có liên quan. Các hàng này trong bảng biểu thị một thực thể hoặc mối quan hệ trong thế giới thực.
Tên bảng và tên cột rất hữu ích để giải thích ý nghĩa của các giá trị trong mỗi hàng. Dữ liệu được biểu diễn dưới dạng một tập hợp các quan hệ. Trong mô hình quan hệ, dữ liệu được lưu trữ dưới dạng bảng. Tuy nhiên, việc lưu trữ vật lý của dữ liệu độc lập với cách dữ liệu được tổ chức hợp lý.
Một số hệ quản trị Cơ sở dữ liệu quan hệ phổ biến là:
- Máy chủ động DB2 và Informix - IBM
- Oracle và RDB - Oracle
- SQL Server và Access - Microsoft
Trong hướng dẫn này, bạn sẽ học
- Các khái niệm mô hình quan hệ
- Ràng buộc về tính toàn vẹn quan hệ
- Hoạt động trong mô hình quan hệ
- Các phương pháp hay nhất để tạo Mô hình quan hệ
- Ưu điểm của việc sử dụng Mô hình quan hệ
- Nhược điểm của việc sử dụng Mô hình quan hệ
Các khái niệm mô hình quan hệ
- Thuộc tính: Mỗi cột trong một Bảng. Thuộc tính là các thuộc tính xác định một quan hệ. ví dụ: Student_Rollno, NAME, v.v.
- Bảng - Trong mô hình quan hệ, các quan hệ được lưu ở định dạng bảng. Nó được lưu trữ cùng với các thực thể của nó. Một bảng có hai thuộc tính hàng và cột. Hàng đại diện cho bản ghi và cột đại diện cho các thuộc tính.
- Tuple - Nó không là gì khác ngoài một hàng của bảng, chứa một bản ghi duy nhất.
- Lược đồ quan hệ: Lược đồ quan hệ đại diện cho tên của quan hệ với các thuộc tính của nó.
- Mức độ: Tổng số thuộc tính trong mối quan hệ được gọi là mức độ của mối quan hệ.
- Cardinality: Tổng số hàng có trong Bảng.
- Cột: Cột đại diện cho tập hợp các giá trị cho một thuộc tính cụ thể.
- Thể hiện quan hệ - Thể hiện quan hệ là một tập hợp hữu hạn các bộ giá trị trong hệ thống RDBMS. Các cá thể quan hệ không bao giờ có các bộ giá trị trùng lặp.
- Khóa quan hệ - Mỗi hàng có một, hai hoặc nhiều thuộc tính, được gọi là khóa quan hệ.
- Miền thuộc tính - Mọi thuộc tính đều có một số giá trị và phạm vi được xác định trước, được gọi là miền thuộc tính
Ràng buộc về tính toàn vẹn quan hệ
Các ràng buộc toàn vẹn quan hệ trong DBMS được đề cập đến các điều kiện phải có cho một quan hệ hợp lệ. Các ràng buộc quan hệ này trong DBMS có nguồn gốc từ các quy tắc trong thế giới nhỏ mà cơ sở dữ liệu đại diện.
Có nhiều loại Ràng buộc về tính toàn vẹn trong DBMS. Các hạn chế trên hệ quản trị cơ sở dữ liệu quan hệ chủ yếu được chia thành ba loại chính là:
- Ràng buộc tên miền
- Những ràng buộc chính
- Các ràng buộc về tính toàn vẹn tham chiếu
Ràng buộc tên miền
Các ràng buộc miền có thể bị vi phạm nếu một giá trị thuộc tính không xuất hiện trong miền tương ứng hoặc nó không thuộc kiểu dữ liệu thích hợp.
Các ràng buộc miền chỉ định rằng trong mỗi bộ giá trị và giá trị của mỗi thuộc tính phải là duy nhất. Điều này được chỉ định là các kiểu dữ liệu bao gồm kiểu dữ liệu chuẩn là số nguyên, số thực, ký tự, Boolean, chuỗi độ dài thay đổi, v.v.
Thí dụ:
Create DOMAIN CustomerNameCHECK (value not NULL)
Ví dụ minh họa cho thấy việc tạo một ràng buộc miền sao cho CustomerName không phải là NULL
Những ràng buộc chính
Một thuộc tính có thể xác định duy nhất một bộ trong một quan hệ được gọi là khóa của bảng. Giá trị của thuộc tính cho các bộ giá trị khác nhau trong mối quan hệ phải là duy nhất.
Thí dụ:
Trong bảng đã cho, CustomerID là một thuộc tính chính của Bảng khách hàng. Rất có thể chỉ có một khóa duy nhất cho một khách hàng, CustomerID = 1 chỉ dành cho CustomerName = "Google".
ID khách hàng | Tên khách hàng | Trạng thái |
1 | Hoạt động | |
2 | Amazon | Hoạt động |
3 | táo | Không hoạt động |
Các ràng buộc về tính toàn vẹn tham chiếu
Các ràng buộc về tính toàn vẹn tham chiếu trong DBMS dựa trên khái niệm về khóa ngoại. Khoá ngoại là một thuộc tính quan trọng của một mối quan hệ cần được tham chiếu đến trong các mối quan hệ khác. Trạng thái ràng buộc toàn vẹn tham chiếu xảy ra khi quan hệ tham chiếu đến một thuộc tính khóa của một quan hệ khác hoặc giống nhau. Tuy nhiên, yếu tố chính đó phải tồn tại trong bảng.
Thí dụ:
Trong ví dụ trên, chúng ta có 2 quan hệ là Khách hàng và Thanh toán.
Tuple cho CustomerID = 1 được tham chiếu hai lần trong quan hệ Thanh toán. Vì vậy, chúng tôi biết CustomerName = Google có số tiền thanh toán là $ 300
Hoạt động trong mô hình quan hệ
Bốn hoạt động cập nhật cơ bản được thực hiện trên mô hình cơ sở dữ liệu quan hệ là
Chèn, cập nhật, xóa và chọn.
- Chèn được sử dụng để chèn dữ liệu vào quan hệ
- Delete được sử dụng để xóa các bộ giá trị khỏi bảng.
- Sửa đổi cho phép bạn thay đổi giá trị của một số thuộc tính trong các bộ giá trị hiện có.
- Lựa chọn cho phép bạn chọn một phạm vi dữ liệu cụ thể.
Bất cứ khi nào một trong các hoạt động này được áp dụng, các ràng buộc toàn vẹn được chỉ định trên lược đồ cơ sở dữ liệu quan hệ không bao giờ được vi phạm.
Chèn hoạt động
Thao tác chèn cung cấp các giá trị của thuộc tính cho một bộ giá trị mới sẽ được chèn vào một quan hệ.
Cập nhật hoạt động
Bạn có thể thấy rằng trong bảng quan hệ dưới đây, CustomerName = 'Apple' được cập nhật từ Không hoạt động thành Hoạt động.
Xóa hoạt động
Để chỉ định việc xóa, một điều kiện trên các thuộc tính của mối quan hệ chọn bộ giá trị cần xóa.
Trong ví dụ đã cho ở trên, CustomerName = "Apple" bị xóa khỏi bảng.
Thao tác Xóa có thể vi phạm tính toàn vẹn tham chiếu nếu bộ mã bị xóa được tham chiếu bởi các khóa ngoại từ các bộ dữ liệu khác trong cùng một cơ sở dữ liệu.
Chọn hoạt động
Trong ví dụ đã cho ở trên, CustomerName = "Amazon" được chọn
Các phương pháp hay nhất để tạo Mô hình quan hệ
- Dữ liệu cần được biểu diễn dưới dạng tập hợp các quan hệ
- Mỗi mối quan hệ nên được mô tả rõ ràng trong bảng
- Hàng phải chứa dữ liệu về các bản sao của một thực thể
- Các cột phải chứa dữ liệu về các thuộc tính của thực thể
- Các ô của bảng phải chứa một giá trị duy nhất
- Mỗi cột phải được đặt một tên duy nhất
- Không có hai hàng nào có thể giống hệt nhau
- Các giá trị của một thuộc tính phải từ cùng một miền
Ưu điểm của việc sử dụng Mô hình quan hệ
- Tính đơn giản : Mô hình dữ liệu quan hệ trong DBMS đơn giản hơn mô hình mạng và phân cấp.
- Độc lập về cấu trúc : Cơ sở dữ liệu quan hệ chỉ quan tâm đến dữ liệu chứ không quan tâm đến cấu trúc. Điều này có thể cải thiện hiệu suất của mô hình.
- Dễ sử dụng : Mô hình quan hệ trong DBMS rất dễ dàng vì các bảng bao gồm các hàng và cột khá tự nhiên và dễ hiểu
- Khả năng truy vấn : Nó giúp ngôn ngữ truy vấn cấp cao như SQL có thể tránh điều hướng cơ sở dữ liệu phức tạp.
- Độc lập dữ liệu : Cấu trúc của cơ sở dữ liệu quan hệ có thể được thay đổi mà không cần phải thay đổi bất kỳ ứng dụng nào.
- Có thể mở rộng : Liên quan đến một số bản ghi, hoặc hàng và số trường, cơ sở dữ liệu nên được mở rộng để nâng cao khả năng sử dụng của nó.
Nhược điểm của việc sử dụng Mô hình quan hệ
- Một số cơ sở dữ liệu quan hệ có giới hạn về độ dài trường không thể vượt quá.
- Cơ sở dữ liệu quan hệ đôi khi có thể trở nên phức tạp khi lượng dữ liệu ngày càng lớn và mối quan hệ giữa các phần dữ liệu trở nên phức tạp hơn.
- Hệ thống cơ sở dữ liệu quan hệ phức tạp có thể dẫn đến cơ sở dữ liệu bị cô lập, nơi thông tin không thể được chia sẻ từ hệ thống này sang hệ thống khác.
Tóm lược
- Mô hình cơ sở dữ liệu quan hệ đại diện cho cơ sở dữ liệu như một tập hợp các quan hệ (bảng)
- Thuộc tính, Bảng, Tuple, Lược đồ quan hệ, Mức độ, Số lượng, Cột, Phiên bản quan hệ, là một số thành phần quan trọng của Mô hình quan hệ
- Các ràng buộc về tính toàn vẹn quan hệ được đề cập đến các điều kiện cần phải có đối với cách tiếp cận quan hệ hợp lệ trong DBMS
- Các ràng buộc miền có thể bị vi phạm nếu một giá trị thuộc tính không xuất hiện trong miền tương ứng hoặc nó không thuộc kiểu dữ liệu thích hợp
- Chèn, Chọn, Sửa đổi và Xóa là các thao tác được thực hiện trong các ràng buộc Mô hình quan hệ
- Cơ sở dữ liệu quan hệ chỉ quan tâm đến dữ liệu chứ không quan tâm đến cấu trúc có thể cải thiện hiệu suất của mô hình
- Ưu điểm của mô hình quan hệ trong DBMS là tính đơn giản, độc lập về cấu trúc, dễ sử dụng, khả năng truy vấn, độc lập dữ liệu, khả năng mở rộng, v.v.
- Một số cơ sở dữ liệu quan hệ có giới hạn về độ dài trường không thể vượt quá.