1. Phụ thuộc hàm Khái niệm
3.2.2.1. RBTV tham chiếu
Quy định giá trị xuất hiện của một tập thuộc tính trong một quan hệ phải xuất hiện trong một tập thuộc tính trong một quan hệ khác. RBTV này cịn được gọi là RBTV tham chiếu, RBTV phụ thuộc tồn tại hay RBTV khĩa ngoại.
Ví dụ RBTV trên 2 quan hệ
Một nhân viên phải thuộc về một phịng trong cơng ty, nghĩa là trong quan hệ NHANVIEN, nếu một mã phịng (Phong) mà nhân viên trực thuộc xuất hiện, thì mã phịng này phải xuất hiện trong quan hệ PHONGBAN, cụ thể là thuộc tính (MaPhong). Như vậy:
• Bối cảnh: NHANVIEN, PHONGBAN
• Biểu diễn:
( ) ( ( ))
(nvPhong NULL pb PHONGBAN nvPhong pbMaPhong )
NHANVIENnv∈ . = ∨ ∃ ∈ . = . nv∈ . = ∨ ∃ ∈ . = . ∀ • Bảng tầm ảnh hưởng: RB5 Thêm Xĩa Sửa NHANVIEN + - +(Phong) PHONGBAN - + +(MaPhong ) Ví dụ RBTV trên 1 quan hệ
Người quản lý (MaNQL) của một nhân viên cũng phải là một nhân viên trong cơng ty
• Bối cảnh: NHANVIEN
• Điều kiện:
( ) ( ( ))
(nvMaNQL NULL nv NHANVIEN nvMaNQL nv MaNV )
NHANVIEN
nv∈ . = ∨ ∃ 1∈ . = 1.
∀
• Bảng tầm ảnh hưởng:
RB6 Thêm Xĩa Sửa
NHANVIEN + - +(MaNV, MaNQL)
Ảnh hưởng của RBTV đối với các thao tác thêm, xĩa, sửa dữ liệu
Thêm
Khi thêm một bộ t2 vào r2 thì phải bảo đảm tồn tại t1 trong r1 sao cho t1[K]=t2[α]
Xĩa
Giả sử xĩa t1 khỏi r1. Khi đĩ cần xử lý các bộ trong r2 tham chiếu tới t1, nghĩa là
)( 2 ( 2 ] [ 1 r s =σα=t K . Nếu s ≠∅ thì • Khơng thực hiện hành động xĩa dữ liệu, hoặc
• Xĩa dây chuyền, nghĩa là xĩa tất cả các bộ trong s
Sửa
Trường hợp cập nhật t2 trong r2
• Cập nhật t2 trong r2, sửa khĩa ngoại α • Tương tự như trường hợp thêm dữ liệu
• Kiểm tra '[ ] (1)
2 r
t α ∈πK
Trường hợp cập nhật t1 trong r1
• Cập nhật t1 trong r1
• Tương tự như trường hợp xĩa dữ liệu
• Kiểm tra σα=t1[K](r2) =∅