Bài giảng Kỹ thuật lập trình - Chương 7, Phần 2: Ràng buộc toàn vẹn
Bạn đang xem tài liệu "Bài giảng Kỹ thuật lập trình - Chương 7, Phần 2: Ràng buộc toàn vẹn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_ky_thuat_lap_trinh_chuong_7_phan_2_rang_buoc_toan.pdf
Nội dung text: Bài giảng Kỹ thuật lập trình - Chương 7, Phần 2: Ràng buộc toàn vẹn
- 01/03/2011 TRUNG TÂM DÀO TẠO CÁC VẤN ĐỀ KINH TẾ HIỆN ĐẠI TRƯỜNG ĐẠI HỌC CHU VĂN AN DATABASE CƠ SỞ DỮ LIỆU GV: Đỗ Thị Kim Thành Email: kimthanh.do@gmail.com Web: Chương VII RÀNG BUỘC TOÀN VẸN GV: ĐỖ THỊKIM THÀNH 2 1
- 01/03/2011 GiỚI THIỆU RBTV có bối cảnh trên một quan hệ . Ràng buộc miền giá trị . Ràng buộc liên bộ . Ràng buộc liên thuộc tính RBTV có bối cảnh trên nhiều quan hệ . Ràng buộc liên thuộc tính liên quan hệ . Ràng buộc khóa ngoại (tham chiếu) . Ràng buộc liên bộ liên quan hệ . Ràng buộc do thuộc tính tổng hợp (Count, Sum) GV: ĐỖ THỊKIM THÀNH 3 CÁC ĐẶC TRƯNG Các đặc trưng của 1 RBTV: Nội dung : phát biểu bằng ngôn ngữ hình thức (phép tính quan hệ, đại số quan hệ, mã giả, ) Bối cảnh: là những quan hệ có khả năng làm cho RBTV bị vi phạm. Tầm ảnh hưởng: là bảng 2 chiều, xác định các thao tác ảnh hưởng (+) và thao tác không ảnh hưởng (-) lên các quan hệ nằm trong bối cảnh. GV: ĐỖ THỊKIM THÀNH 4 2
- 01/03/2011 BẢNG TẦM ẢNH HƯỞNG Bảng tầm ảnh hưởng của RBTV có dạng như sau: Thêm Xóa Sửa Quan hệ 1 + + - (*) Quan hệ n - - + (A) Ký hiệu + : Có thể gây ra vi phạm RBTV Ký hiệu - : Không thể gây ra vi phạm RBTV Ký hiệu +(A) : Có thể gây ra vi phạm RBTV khi thao tác trên thuộc tính A Ký hiệu –(*) : Không thể gây ra vi phạm RBTV do thao tác không thực hiện được GV: ĐỖ THỊKIM THÀNH 5 RBTV – TRÊN BỐI CẢNH LÀ 1 QUAN HỆ 1. Ràng buộc toàn vẹn miền giá trị Xét lược đồ quan hệ NHANVIEN (MANV, HONV, TENLOT, TENNV, NGSINH, PHAI, DCHI, MA_NQL, PHONG, MLUONG) Câu hỏi 27: Phái của nhân viên chỉ có thể là ‘Nam’ hoặc ‘Nữ’ . Nội dung: • n NHANVIEN: n.PHAI IN {‘Nam’,’Nữ’} . Bối cảnh: quan hệ NHANVIEN . Bảng tầm ảnh hưởng (TAH): Thêm Xóa Sửa NHANVIEN +(PHAI) - +(PHAI) GV: ĐỖ THỊKIM THÀNH 6 3
- 01/03/2011 TRÊN BỐI CẢNH LÀ 1 QUAN HỆ 2. Ràng buộc toàn vẹn liên thuộc tính: ràng buộc giữa các thuộc tính trong cùng một quan hệ. Xét lược đồ quan hệ DEAN (MADA, TENDA, DDIEM_DA, PHONG, NGBD_DK, NGKT_DK) Câu hỏi 41: Với mọi đề án, ngày bắt đầu dự kiến (NGBD_DK) phải nhỏ hơn ngày kết thúc dự kiến (NGKT_DK) Nội dung: d DEAN, d.NGBD_DK <= d.NGKT_DK GV: ĐỖ THỊKIM THÀNH 7 RBTV – TRÊN BỐI CẢNH LÀ 1 QUAN HỆ . Bối cảnh: quan hệ DEAN . Bảng tầm ảnh hưởng: Thêm Xóa Sửa DEAN + (NGBD_DK, - +(NGBD_DK, NGKT_DK) NGKT_DK) GV: ĐỖ THỊKIM THÀNH 8 4
- 01/03/2011 RBTV – TRÊN BỐI CẢNH LÀ 1 QUAN HỆ 3. Ràng buộc toàn vẹn liên bộ: ràng buộc giữa các bộ giá trị trong cùng một quan hệ. Cho lược đồ quan hệ: NHANVIEN(MaNV, HoTen, HESO, MucLuong) Câu hỏi 28: các nhân viên có cùng hệ số lương thì có cùng mức lương. GV: ĐỖ THỊKIM THÀNH 9 3. RBTV – TRÊN BỐI CẢNH LÀ 1 QUAN HỆ . Nội dung: • n1,n2 NHANVIEN: n1.HESO=n2.HESO thì (n1.MUCLUONG = n2.MUCLUONG) . Bối cảnh: quan hệ NHANVIEN . Bảng tầm ảnh hưởng: Thêm Xóa Sửa NHANVIEN + (HESO, - +(HESO, MucLuong) MucLuong) GV: ĐỖ THỊKIM THÀNH 10 5
- 01/03/2011 RBTV – BỐI CẢNH NHIỀU QUAN HỆ 4. Ràng buộc toàn vẹn tham chiếu RBTV tham chiếu còn gọi là ràng buộc phụ thuộc tồn tại hay ràng buộc khóa ngoại. Xét lược đồ quan hệ PHONGBAN (MAPH, TENPH, TRPH, NGNC) NHANVIEN (MANV, HOTEN, NTNS, PHAI, MA_NQL, MAPH, LUONG) Câu hỏi 29: Mỗi trưởng phòng phải là một nhân viên trong công ty. GV: ĐỖ THỊKIM THÀNH 11 RBTV – BỐI CẢNH NHIỀU QUAN HỆ . Nội dung: – p PHONGBAN, n NHANVIEN: p.TRPH= n.MANV Hay: PHONGBAN[TRPH] NHANVIEN[MANV]) . Bối cảnh: NHANVIEN, PHONGBAN . Bảng tầm ảnh hưởng: Thêm Xóa Sửa PHONGBAN +(TRPH) - +(TRPH) NHANVIEN - + - (*) GV: ĐỖ THỊKIM THÀNH 12 6
- 01/03/2011 RBTV – BỐI CẢNH NHIỀU QUAN HỆ 5. Ràng buộc toàn vẹn liên thuộc tính liên quan hệ Xét các lược đồ quan hệ: DATHANG(MADH, MAKH, NGAYDH) GIAOHANG(MAGH, MADH, NGAYGH) GV: ĐỖ THỊKIM THÀNH 13 RBTV – BỐI CẢNH NHIỀU QUAN HỆ Câu hỏi 30: Ngày giao hàng không được trước ngày đặt hàng - Nội dung: g GIAOHANG, d DATHANG:d.MADH g.MADH d.NGAYDH >= g.NGAYGH . Bối cảnh: DATHANG, GIAOHANG . Bảng tầm ảnh hưởng: Thêm Xóa Sửa DATHANG - - + (ngaydh) GIAOHANG +(ngaygh) - + (ngaygh) GV: ĐỖ THỊKIM THÀNH 14 7
- 01/03/2011 RBTV – BỐI CẢNH NHIỀU QUAN HỆ 6. Ràng buộc toàn vẹn liên bộ, liên quan hệ RBTV liên bộ, liên quan hệ là điều kiện giữa các bộ trên nhiều quan hệ khác nhau. Xét các lược đồ quan hệ . PHONGBAN (MAPH, TENPH, TRPH, NGNC) . DIADIEM_PHG (MAPH, DIADIEM) Câu hỏi 31: Mỗi phòng ban phải có ít nhất một địa điểm phòng - Nội dung • Mỗi phòng ban phải có ít nhất một địa điểm phòng • p PHONGBAN, d DIADIEM_PHG: p.MAPH = d.MAPH GV: ĐỖ THỊKIM THÀNH 15 RBTV – BỐI CẢNH NHIỀU QUAN HỆ . Bối cảnh: PHONGBAN, DIADIEM_PHG . Bảng tầm ảnh hưởng: Thêm Xóa Sửa PHONGBAN + - - DIADIEM_PHG - + + (MAPH) GV: ĐỖ THỊKIM THÀNH 16 8
- 01/03/2011 RBTV – BỐI CẢNH NHIỀU QUAN HỆ 7. Ràng buộc toàn vẹn do thuộc tính tổng hợp PXUAT(SOPHIEU, NGAY, TONGTRIGIA) CTIET_PX(SOPHIEU, MAHANG, SL, DG) Câu hỏi 32: Tổng trị giá của 1 phiếu xuất phải bằng tổng trị giá các chi tiết xuất. GV: ĐỖ THỊKIM THÀNH 17 RBTV – BỐI CẢNH NHIỀU QUAN HỆ . Nội dung: px PXUAT, px.TONGTRIGIA = (ct CTIET_PX ct.SOPHIEU = px.SOPHIEU) (ct.SL*ct.DG) . Bối cảnh: PXUAT,CTIET_PX . Bảng tầm ảnh hưởng: Thêm Xóa Sửa PXUAT -(*) - + (tongtrigia) CTIET_PX +(sl,dg) + + (sl,dg) -(*) Ở thời điểm thêm một bộ vào PXUAT, giá trị bộ đó tại TONGTRIGIA là trống. GV: ĐỖ THỊKIM THÀNH 18 9