1. Các loại ràng buộc
Ràng buộc ngầm định: Là các ràng buộc liên quan đến tính chất của một quan hệ như:
- Giá trị những thuộc tính phải là nguyên tố
-
Không được phép có hai bộ giống nhau trong cùng một quan hệ
Bạn đang đọc: RÀNG BUỘC TRÊN CSDL QUAN HỆ
- Thứ tự những bộ trong một quan hệ là không quan trọng, …
Ràng buộc dựa trên ứng dụng: Là ràng buộc liên quan đến ngữ nghĩa và hành vi (behavior) của các thuộc tính. Loại ràng buộc này khó mô tả trong mô hình dữ liệu và chỉ được kiểm tra trong quá trình cập nhật dữ liệu dựa trên nền tảng ứng dụng đã được lập trình.
Ràng buộc dựa trên lược đồ: Là ràng buộc có thể mô tả trực tiếp trong lược đồ của mô hình dữ liệu. Loại ràng buộc này được mô tả bằng ngôn ngữ DDL bao gồm các ràng buộc về:
- Miền giá trị ( domain constraint )
- Khóa ( key constraint )
- Các giá trị NULL
- Toàn vẹn thực thể ( entity integrity constraint )
- Toàn vẹn tham chiếu ( referential integrity constraint )
Ràng buộc dựa trên lược đồ hoàn toàn có thể tương quan đến nhiều quan hệ hoặc trong khoanh vùng phạm vi chỉ một quan hệ. Nếu khoanh vùng phạm vi chỉ là một quan hệ :
-
Miền giá trị (domain constraint)
- Khóa ( key constraint )
- Các giá trị NULL
- Toàn vẹn thực thể ( entity integrity constraint )
Phạm vi tương quan đến nhiều quan hệ :
- Toàn vẹn tham chiếu ( referential integrity constraint )
- Các ràng buộc khác
Ràng buộc miền giá trị: Là loại ràng buộc về giá trị của một thuộc tính xác định nào đó trong một quan hệ cụ thể. Ràng buộc này có thể áp dụng lên một thuộc tính hoặc một nhóm các thuộc tính tự ràng buộc lẫn nhau về giá trị.
Ví dụ: 0 <= điểm <= 10 hoặc 1 <= tháng <= 12
Hay một quan hệ TRASACH
có thuộc tính ngayMuon
và ngayTra
: ngayMuon
<=
ngayTra
Ràng buộc về khoá: Thường được biểu diễn bằng các phụ thuộc hàm, là một loại ràng buộc liên bộ phổ biến xác lập sự tồn tại duy nhất của các bộ trong một quan hệ.
Ví dụ: Hai bộ phân biệt của cùng quan hệ không thể có thuộc tính khoá trùng nhau. Mỗi sinh viên có mã số duy nhất, …
Ràng buộc về giá trị NULL: Ràng buộc này cho biết một thuộc tính có thể nhận giá trị NULL hay không.
Ví dụ:
- Nếu mỗi bộ của quan hệ SINH VIÊN
bắt buộc phải hợp lệ thì thuộc tính tên sinh viên không được phép NULL
. Vì vậy tên sinh viên được ràng buộc là NOT NULL
.
- Nhưng nếu xét quan hệ KHÁCH HÀNG(id, hoten, dienthoai, tuoi, diachi, luong)
thì thuộc tính tuổi và luong
có thể ràng buộc là NULL
.
Ràng buộc toàn vẹn thực thể: Kiểm tra rằng khoá chính không thể mang giá trị NULL
hay nói cách khác – các khoá chính được sử dụng để xác định các bộ trong một quan hệ. Nếu có bất cứ khoá chính nào mang giá trị NULL
thì các bộ tương ứng đó sẽ không thể xác định được.
Ví dụ: Nếu có hai hoặc nhiều bộ có khoá chính mang giá trị NULL
=> thể không thể phân biệt chúng nếu tham khảo chúng từ các quan hệ khác.
Ràng buộc toàn vẹn tham chiếu: Được quy định giữa hai quan hệ và dựa trên ràng buộc thực thể, được sử dụng để duy trì sự thống nhất / nhất quán giữa các bộ trong hai quan hệ. Ràng buộc này được thể hiện qua khái niệm khoá ngoại hay còn gọi là ràng buộc toàn vẹn về khoá ngoại.
Ví dụ: Xét 2 quan hệ bên dưới
Một số ràng buộc khác :
-
RBTV liên thuộc tính giữa nhiều quan hệ
- RBTV liên bộ giữa những bộ trong những quan hệ
- RBTV về thuộc tính tổng hợp
LẬP TRÌNH WEB VỚI JAVALẬP TRÌNH WEB VỚI PHP> Trong những khóa họccũng như những khóa học khác tại NIIT - ICT TP. Hà Nội, bạn sẽ được hướng dẫn rõ hơn về những ràng buộc này khi làm đồ án ( Thường là làm 2 đồ án lớn ) .
Source: https://final-blade.com
Category : Kiến thức Internet