b. Phộp tỏch lược đồ quan hệ thành 3NF
5.2.3 Phõn loại cỏc ràng buộc toàn vẹn
a. Rằng buộc toàn vẹn tĩnh:
Là một điều kiện mà CSDL phải thỏa món vào bất cứ lỳc nào để cú thể ở trong trạng thỏi đỳng đắn. Bao gồm:
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP
- Cỏc rằng buộc trờn thuộc tớnh - Cỏc rằng buộc trờn bộ
- Rằng buộc trờn quan hệ
- Rằng buộc trờn nhiều quan hệ
*Cỏc rằng buộc trờn thuộc tớnh
- Rằng buộc tồn tại: thuộc tớnh đú phải xỏc định trong mọi bộ của quan hệ (≠ null)
VD: thuộc tớnh khúa
- Rằng buộc về miền: giỏ trị của mỗi thuộc tớnh A phải là giỏ trị nguyờn tử và thuộc 1miền giỏ trị Dom(A)
VD: Thuộc tớnh điểm cú giỏ trị từ 0..10
Thuộc tớnh BAOHIEM luụn bắt đầu bằng số 1 hoặc 2
- Rằng buộc về giỏ trị mặc định: chỉ rừ giỏ trị phải gỏn cho 1 thuộc tớnh khi tạo lập
VD: NGAY_HĐ lấy giỏ trị mặc định là ngày hiện tại.
* Cỏc rằng buộc trờn bộ: thể hiện bằng 1 tõn từ hay 1 cụng thức được đề cập đến cỏc giỏ trị của nhiều thuộc tớnh
VD:Thuộc tớnh BAOHIEM nếu bắt đầu bởi sụ 1 thỡ GIOITINH phải lấy giỏ trị là nam ngược lại là nữ
Hoặc ThanhTien=SoLuong*ĐơnGia
*Rằng buộc trờn quan hệ:
- Rằng buộc về khúa: Ràng buộc khoỏ và ràng buộc trờn cỏc giỏ trị khụng xỏc định (null): Một quan hệ được định nghĩa như một tập hợp cỏc bộ. Theo định nghĩa, cỏc
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP
phần tử của một tập hợp là khỏc nhau, vỡ vậy, mọi bộ trong quan hệ phải khỏc nhau.
Điều đú cú nghĩa là khụng cú hai bộ cú cựng một tổ hợp giỏ trị cho tất cả cỏc thuộc tớnh của chỳng.
Thụng thường, cú tồn tại cỏc tập con của cỏc thuộc tớnh của một lược đồ quan hệ cú tớnh chất là khụng cú hai bộ nào ở trong mọi trạng thỏi quan hệ r của R cú cựng một tổ hợp giỏ trị cho cỏc thuộc tớnh của nú.
Giả sử chỳng ta ký hiệu một tập con như vậy là SK, khi đú với hai bộ khỏc nhau bất kỳ t1 và t2 trong một trạng thỏi quan hệ r của R chỳng ta cú ràng buộc là t1[SK] ≠ t2[SK].
Tập hợp thuộc tớnh SK như vậy được gọi là một siờu khoỏ của lược đồ quan hệ R. Một siờu khoỏ SK xỏc định rừ một ràng buộc về tớnh duy nhất, phỏt biểu rằng khụng cú hai bộ khỏc nhau trong một trạng thỏi r của R cú cựng một giỏ trị cho SK. Mỗi quan hệ cú ớt nhất là một siờu khoỏ mặc định, đú là tập hợp tất cả cỏc thuộc tớnh của nú.
Một khoỏ K của một lược đồ quan hệ R là một siờu khoỏ của R với tớnh chất là nếu bỏ đi bất kỳ thuộc tớnh A nào ra khỏi K thỡ sẽ cũn lại một tập K khụng phải là siờu khoỏ của R. Như vậy, một khoỏ là một siờu khoỏ tối thiểu, nghĩa là đú là một siờu khoỏ mà ta khụng thể vứt bỏ thuộc tớnh nào ra khỏi nú mà vẫn giữ được ràng buộc về tớnh duy nhất.
Vớ dụ, xột quan hệ SINHVIấN với cỏc thuộc tớnh Mósố, Họtờn, Ngàysinh, Giớitớnh, Địachỉ. Thuộc tớnh {Mósố} là một khoỏ của SINHVIấN bởi vỡ khụng cú hai bộ sinh viờn cú cựng một giỏ trị cho Mósố. Mọi tập hợp thuộc tớnh cú chứa Mósố, vớdụ {Mósố, Họtờn, Ngàysinh}, đều là một siờu khoỏ. Tuy nhiờn, siờu khoỏ {Mósố, Họtờn, Ngàysinh} khụng phải là khoỏ bởi vỡ nếu bỏ đi thuộc tớnh Họtờn hoặc Ngàysinh hoặc cả hai thỡ nú vẫn cũn là một siờu khoỏ. Giỏ trị của một thuộc tớnh khoỏ cú thể được sử dụng để xỏc định một cỏch duy nhất mỗi bộ trong một quan hệ. Vớ dụ,
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP
giỏ trị 4515202 của Mósố xỏc định một cỏch duy nhất bộ giỏ trị tương ứng với sinh viờn Lờ Võn trong quan hệ SINHVIấN.
Chỳ ý rằng một tập hợp thuộc tớnh tạo nờn một khoỏ là một tớnh chất của lược đồ quan hệ. Điều ràng buộc là tớnh chất đú phải thỏa món trờn mọi trạng thỏi của lược đồ.
Một khoỏ được xỏc định từ ý nghĩa của cỏc thuộc tớnh và tớnh chất là bất biến, tớnh chất đú phải thỏa món khi chỳng ta chốn thờm cỏc bộ mới vào quan hệ. Vớ dụ, ta khụng thể và khụng được chỉ định thuục tớnh Họtờn của quan hệ SINHVIấN là khoỏ bởi vỡ khụng cú gỡ đảm bảo rằng khụng tồn tại hai sinh viờn cú cựng họ tờn. Núi chung, một lược đồ quan hệ cú thể cú nhiều hơn một khoỏ. Trong trường hợp đú, mỗi một khoỏ được gọi là một khoỏ dự tuyển.
Thụng thường ta phải chỉ định một trong cỏc khoỏ dự tuyển làm khoỏ chớnh của quan hệ. Khoỏ chớnh là một khoỏ dự tuyển mà cỏc giỏ trị của chỳng được dựng để xỏc định cỏc bộ trong quan hệ. Ta quy ước rằng, cỏc thuộc tớnh tạo nờn khoỏ chớnh của một lược đồ quan hệ được gạch dưới.
Vớ dụ: SINHVIấN( Mósố, Họtờn, Ngàysinh, Giớitớnh, Địachỉ ). Chỳ ý rằng khi một lược đồ quan hệ cú nhiều khoỏ dự tuyển, việc lựa chọn một khoỏ dự tuyển để làm khoỏ chớnh là tuỳ ý, tuy nhiờn tốt nhất là chọn khoỏ chớnh gồm một thuộc tớnh hoặc cú số cỏc thuộc tớnh ớt nhất. Một ràng buộc khỏc trờn cỏc thuộc tớnh chỉ rừ khi nào thỡ cho phộp cỏc giỏ trị null. Những thuộc tớnh luụn luụn phải cú một giỏ trị xỏc định và hợp lệ thỡ bị ràng buộc là NOT NULL.
- Rằng buộc phụ thuộc hàm - Rằng buộc về dạng chuẩn - Rằng buộc về bản số
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CễNG NGHIỆP *Rằng buộc trờn nhiều quan hệ:
-Rằng buộc về khúa ngoài
-Rằng buộc toàn vẹn tham chiếu
b. Rằng buộc toàn vẹn động
Là cỏc rằng buộc nhằm đặc tả 1 thay đổi trạng thỏi đỳng đắn của CSDL. Bao gồm: - Rằng buộc định nghĩa bởi luật ứng xử
- Rằng buộc định nghĩa bởi cỏc tiền đề, hậu đề
*Rằng buộc định nghĩa bởi luật ứng xử:
Cỏc rằng buộc này chỉ ra cỏc hành động phải thực hiện đỏp lại 1 thay đổi trạng thỏi chợt đến trong CSDL.
*Rằng buộc định nghĩa bởi cỏc tiền đề, hậu đề
- Rằng buộc loại tiền đề - Rằng buộc loại hậu đề - Rằng buộc tiền và hậu đề
VD: khụng được loại bỏ1khỏch hàng cũn cú cỏc đơn hàng chưa thanh toỏn