Ràng buộc tồn vẹn liên bộ

Một phần của tài liệu giáo trình cơ sở dữ liệu toàn tập (Trang 50 - 54)

II PHÂN LOẠI RAØNG BUỘC TOAØN VẸN

1 Ràng buộc tồn vẹn liên bộ

Trong mỗi CSDL luơn tồn tại nhiều mối liên hệ giữa các thuộc tính, giữa các bộ. Sự liên hệ này cĩ

thể xảy ra trong một lược đồ quan hệ hoặc trong các lược đồ quan hệ của một cơ sở dữ liệu. Các

mối liên hệ này là những điều kiện bất biến mà tất cả các bộ của những quan hệ cĩ liên q uan trong

CSDL đều phải thỏa mãn ở mọi thời điểm. Những điều kiện bất biến đĩ được gọi là ràng buộc tồn

vẹn. Trong thực tế ràng buộc tồn vẹn là các quy tắc quản lý được áp đặt trên các đối tượn g của thế

giới thực.

Nhiệm vụ của người phân tích thiết kế là phải phát hiện càng đầy đủ và chính xác các r àng buộc

tồn vẹn càng tốt và mơ tả chúng một cách chính xác trong hồ sơ phân tích thiết kế - đĩ là một việc

làm rất quan trọng và rất cần thiết.

Trong một cơ sở dữ liệu, ràng buộc tồn vẹn được xem như là một cơng cụ để diễn đạt n gữ nghĩa

của CSDL. Một CSDL được thiết kế cồng kềnh nhưng nĩ thể hiện được đầy đủ ngữ nghĩa của thực

tế vẫn cĩ giá trị cao hơn rất nhiều so với một cách thiết kế gọn nhẹ nhưng nghèo nàn về ngữ nghĩa

vì thiếu các ràng buộc tồn vẹn của cơ sở dữ liệu.

Cơng việc kiểm tra ràng buộc tồn vẹn thường được tiến hành vào thời điểm cập nhật dữ liệu (

thêm, sửa, xĩa). Những ràng buộc tồn vẹn phát sinh cần phải được ghi nhận và xử lý một cách

2 CácYếuTốCủaRàngBuộcTồnVẹn

Mỗi ràng buộc tồn vẹn cĩ 3 yếu tố: điều kiện, bối cảnh và tầm ảnh hưởng.

i Điềukiện

Điều kiện của một ràng buộc tồn vẹn R cĩ thể được biểu diễn bằng ngơn ngữ tự nhiên, t huật giải,

ngơn ngữ đại số tập hợp, đại số quan hệ,… ngồi ra điều kiện của ràng buộc tồn vẹn cũng cĩ thể

được biểu diễn bằng phụ thuộc hàm. Chẳng hạn, với lược đồ quan hệ SV thì cĩ một ràng buộc tồn

vẹn như sau:

Với r là một quan hệ của Sv ta cĩ ràng buộc tồn vẹn sau

t1,t2r

t1.MASVt2.MASV cuối

ii Bốicảnh

Bối cảnh của một ràng buộc tồn vẹn là những quan hệ mà ràng buộc đĩ cĩ hiệu lực ha y nĩi một

cách khác, đĩ là những quan hệ cần phải được kiểm tra ràng buộc tồn vẹn. Bối cảnh của một ràng

buộc tồn vẹn cĩ thể là một hoặc nhiều quan hệ. Chẳng hạn với ràng buộc tồn vẹn tre ân thì bối

cảnh là một quan hệ Sv

BộmơnCSDLTrườngCĐCN4

(Tên RBTV) Thêm(T) Sửa(S) Xĩa(X)

r1 + - -

r2

... ... .. .. ... ... ... ... rn

Giáo trình CƠ SỞ DỮ LIỆU

Trang 33

Trong quá trình phân tích thiết kế một CSDL, người phân tích cần lập bảng tầm ảnh hư ởng cho

một ràng buộc tồn vẹn nhằm xác định thời điểm cần phải tiến hành kiểm tra các ràng b uộc tồn

vẹn đĩ. Các thời điểm cần phải kiểm tra RBTV chính là những thời điểm cập nhật dữ li ệu (thêm

/sửa/ xĩa)

Bảng này chứa tồn các ký hiệu + hoặc –

Chẳng hạn + tại ơ tương ứng với dịng r1, cột thêm thì cĩ nghĩa là khi thêm một bộ vào q uan hệ r1

thì cần phải kiểm tra RBTV

Dấu - Tại ơ tương ứng với dịng r1, cột sửa thì cĩ nghĩa là khi sửa một bộ trên quan hệ r1 thì khơng

cần phải kiểm tra RBTV này,…

II PHÂN LOẠI RAØNG BUỘC TOAØN VẸN

Trong quá trình phân tích thiết kế cơ sở dữ liệu, người phân tích phải phát hiện tất cả các r àng buộc

tồn vẹn tiềm ẩn trong CSDL đĩ. Việc phân loại các ràng buộc tồn vẹn là rất cĩ ích, nĩ n hằm gíúp

cho người phân tích cĩ được một định hướng, tránh bỏ sĩt những ràng buộc tồn vẹn. Các r àng buộc

tồn vẹn cĩ thể được chia làm hai loại chính như sau:

+ Ràng buộc tồn vẹn trên phạm vi là một quan hệ bao gồm :Ràng buộc tồn vẹn miền giá

trị, ràng buộc tồn vẹn liên thuộc tính, ràng buộc tồn vẹn liên bộ.

+ Ràng buộc tồn vẹn trên phạm vi nhiều quan hệ bao gồm :Ràng buộc tồn vẹn phụ thuộc

tồn tại, ràng buộc tồn vẹn liên bộ - liên quan hệ, ràng buộc tồn vẹn liên thuộc t ính - liên

quan hệ.

Để minh họa cho phần lý thuyết của chương này, ta nêu ví dụ sau đây Ví

dụ

Cho một CSDL C dùng để quản lý việc đặt hàng và giao hàng của một cơng ty. Lược đồ CSDL

C gồm các lược đồ quan hệ như sau:

Q1: Khach (MAKH,TENKH,DCKH,DT)

Tân

từ : Mỗi khách hàng cĩ một mã khách hàng (MAKH) duy nhất, mỗi MAKH xác định một

tên khách hàng (TENKH), một địa chỉ (DCKH), một số điện thoại (DT).

Q2: Hang(MAHANG,TENHANG,QUYCACH,DVTINH)

Tân

từ : Mỗi mặt hàng cĩ một mã hàng (MAHANG) duy nhất, mỗi MAHANG xác địn h một tên

hàng (TENHANG), quy cách hàng (QUYCACH), đơn vị tính (DVTINH).

Q3: Dathang(SODH,MAHANG,SLDAT,NGAYDH,MAKH)

Tân

từ : Mỗi lần đặt hàng cĩ số đặt hàng (SODH) xác định một ngày đặt hàng (NGA YDH) và

mã khách hàng tương ứng (MAKH). Biết mã số đặt hàng và mã mặt hàng thì biết được số lượng

đặt hàng(SLDAT). Mõi khách hàng trong một ngày cĩ thể cĩ nhiều lần đặt hàng

BộmơnCSDLTrườngCĐCN4

Giáo trình CƠ SỞ DỮ LIỆU

Trang 34

Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT)

Tân

từ : Mỗi hĩa đơn cĩ một mã số duy nhất là SOHD, mỗi hĩa đơn bán hàng cĩ thể g ồm nhiều

mặt hàng. Mỗi hĩa đơn xác định ngày lập hĩa đơn (NGAYLAP), ứng với số đặt hàng nào

(SODH). Giả sử rằng hĩa đơn bán hàng theo yêu cầu của chỉ một đơn đặt hàng cĩ mã số là

SODH và ngược lại, mỗi đơn đặt hàng chỉ được giải quyết chỉ trong một hĩa đơn. Do điều kiện

khách quan cĩ thể cơng ty khơng giao đầy đủ các mặt hàng cũng như số lượng từng mặt

hàng

như yêu cầu trong đơn đặt hàng nhưng khơng bao giờ giao vượt ngồi yêu cầu. Mỗi hĩa đơ

n xác

định một trị giá của các mặt hàng trong hĩa đơn (TRIGIAHD) và một ngày xuất kho g iao hàng

cho khách (NGAYXUAT)

Tân

từ : Mỗi SOHD, MAHANG xác định giá bán (GIABAN) và số lượng bán (SLBAN ) của một

mặt hàng trong một hĩa đơn.

Q6: Phieuthu(SOPT, NGAYTHU, MAKH, SOTIEN)

Tân từ: Mỗi phiếu thu cĩ một số phiếu thu (SOPT) duy nhất, mỗi SOPT xác định một ngày thu

(NGAYTHU) của một khách hàng cĩ mã khách hàng là MAKH và số tiền thu là SOT IEN. Mỗi

khách hàng trong một ngày cĩ thể cĩ nhiều số phiếu thu.

1 Ràngbuộctồnvẹnliênbộ

Ràng buộc tồn vẹn liên bộ là sự ràng buộc tồn vẹn giữa các bộ trong cùng một quan hệ . Ràng buộc tồn vẹn liên bộ hay cịn gọi là ràng buộc tồn vẹn về khĩa. Đây là loại ràng buộc tồn

vẹn rất phổ biến, nĩ cĩ mặt trong mọi lược đồ quan hệ của CSDL và thường được các h ệ quản trị

CSDL tự động kiểm tra.

Ví dụ: Với r là một quan hệ của Khach ta cĩ ràng buộc tồn vẹn sau R1: ∀ t1, t2 ∈ r

t1. MAKH ≠ t2. MAKH Cuối ∀ R1 Thêm Sửa Xĩa

r + + -

Một phần của tài liệu giáo trình cơ sở dữ liệu toàn tập (Trang 50 - 54)