Danh mục

Chapter 7: Ràng buộc toàn vẹn

Số trang: 73      Loại file: ppt      Dung lượng: 1.33 MB      Lượt xem: 12      Lượt tải: 0    
Thu Hiền

Xem trước 8 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Các RBTV là những điều kiện bất biến mà mọi thểhiện của quan hệ đều phải thỏa ở bất kỳ thời điểmnào...
Nội dung trích xuất từ tài liệu:
Chapter 7: Ràng buộc toàn vẹn Chương7 ChRàngbuộctoànvẹnNộidungchitiết Khái niệm Các đặc trưng của RBTV Phân loại ̀ ̣ Cai đătCơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 2Kháiniệm RBTV (Integrety Constraints) xuất phát từ những qui định hay điều kiện - Trong thực tế - Trong mô hình dữ liệu • Các thao tác làm thay đổi dữ liệu không nên được thực hiện một cách tùy tiện vì có thể đưa CSDL đến một tình trạng ‘xấu’ RBTV là một điều kiện được định nghĩa trên một hay nhiều quan hệ khác nhau Các RBTV là những điều kiện bất biến mà mọi thể hiện của quan hệ đều phải thỏa ở bất kỳ thời điểm nàoCơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 3Kháiniệm(tt) Tại sao cần phải có RBTV? - Bảo đảm tính kết dính của các thành phần cấu tạo nên CSDL - Bảo đảm tính nhất quán của dữ liệu - Bảo đảm CSDL luôn biểu diễn đúng ngữ nghĩa thực tế Ví dụ - Mức lương của một người nhân viên không được vượt quá trưởng phòng (R1) - Người quản lý trực tiếp (của một nhân viên) phải là một nhân viên trong công ty (R2)Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 4Nộidungchitiết Khái niệm Các đặc trưng của RBTV - Bối cảnh - Nội dung - Bảng tầm ảnh hưởng Phân loại Cài đặtCơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 5Bốicảnh Bối cảnh của một RBTV - Là những quan hệ có khả năng bị vi phạm RBTV khi thực hiện các phép cập nhật Ví dụ (R1) - Mức lương của một người nhân viên không được vượt quá trưởng phòng • Các phép cập nhật ∗ Cập nhật lương cho nhân viên ∗ Thêm mới một nhân viên vào một phòng ban ∗ Bổ nhiệm trưởng phòng cho một phòng ban • Bối cảnh: NHANVIEN, PHONGBANCơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 6Bốicảnh(tt) Ví dụ (R2) - Người quản lý trực tiếp phải là một nhân viên trong công ty • Các phép cập nhật ∗ Cập nhật người quản lý trực tiếp của một nhân viên ∗ Thêm mới một nhân viên • Bối cảnh: NHANVIENCơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 7Nộidung Nội dung của một RBTV được phát biểu bằng - Ngôn ngữ tự nhiên • Dễ hiểu nhưng thiếu tính chặt chẽ - Ngôn ngữ hình thức • Cô đọng, chặt chẽ nhưng đôi lúc khó hiểu • Biểu diễn thông qua ∗ Đại số quan hệ ∗ Phép tính quan hệ ∗ Mã giả (pseudo code)Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 8Nộidung(tt) Ví dụ (R1) - Ngôn ngữ tự nhiên • Mức lương của một người nhân viên không được vượt quá trưởng phòng - Ngôn ngữ hình thức • ∀ t ∈ NHANVIEN ( ∃ u ∈ PHONGBAN ( ∃ v ∈ NHANVIEN ( u.TRPHG = v.MANV ∧ u.MAPHG = t.PHG ∧ t.LUONG ≤ v.LUONG )))Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 9 NHANVIEN PHONGBANMANV HOTEN PHG LUONG MAPHG TENPHG TRPHG 1 Tùng 1 45000 Điều Hành 1 1 Tiến 2 3 50000 Nghiên cứu 3 2 3 Trang 4 15000 4 Kinh Doanh 7 4 Trung 3 60000 Thủy 5 1 20000 Tuấn 6 4 35000 Trường 7 4 45000 Viphạmràngbuộctoànvẹn?Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 10Nộidung(tt) Ví dụ (R2) - Ngôn ngữ tự nhiên • Người quản lý trực tiếp phải là một nhân viên trong công ty - Ngôn ngữ hình thức • ∀ t ∈ NHANVIEN ( t.MA_NQL ≠ null ∧ ∃ s ∈ NHANVIEN (t.MA_NQL = s.MANV )) ∀ t ∈ NHANVIEN ( t.MA_NQL = null ∨ ∃ s ∈ NHANVIEN (s.MANV = t.MA_NQL))Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 11Nộidung(tt) Ví dụ (R2) - Ngôn ngữ tự nhiên • Người quản lý trực tiếp phải là một nhân viên trong công ty - Ngôn ngữ hình thức ∀ t ∈ NHANVIEN ( t.MA_NQL = null ∨ ∃ s ∈ NHANVIEN (s.MANV = t.MA_NQL)) ∀ t ∈ NHANVIEN ( t.MA_NQL != null  ∃ s ∈ NHANVIEN (s.MANV = t.MA_NQL))Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 12 NHANVIENMANV HOTEN PHG LUONG MA_NQL 1 Tùng 1 45000 null Tiến 2 3 50000 1 3 Trang 4 15000 null 4 Trung 3 60000 3 Thủy 5 1 20000 4 Tuấn 6 4 35000 null Trường 7 4 45000 6 ...

Tài liệu được xem nhiều: