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

pdf 9 trang cucquyet12 3030
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:

  • pdfbai_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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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