Cơ sở dữ liệu - Chương 4: Ràng buộc toàn vẹn

ppt 15 trang vanle 2240
Bạn đang xem tài liệu "Cơ sở dữ liệu - Chương 4: 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:

  • pptco_so_du_lieu_chuong_4_rang_buoc_toan_ven.ppt

Nội dung text: Cơ sở dữ liệu - Chương 4: Ràng buộc toàn vẹn

  1. Môn CƠ SỞ DỮ LIỆU Chương 4: Ràng buộc toàn vẹn
  2. Nội dung 1. RÀNG BUỘC TOÀN VẸN 2. CÁC YẾU TỐ CỦA RÀNG BUỘC TOÀN VẸN 3. PHÂN LOẠI RÀNG BUỘC TOÀN VẸN u Ràng buộc toàn vẹn liên bộ u Ràng buộc toàn vẹn về phụ thuộc tồn tại u Ràng buộc toàn vẹn về miền giá trị u Ràng buộc toàn vẹn liên thuộc tính u Ràng buộc toàn vẹn liên thuộc tính liên quan hệ u Ràng buộc toàn vẹn về thuộc tính tổng hợp 2
  3. 1. RÀNG BUỘC TOÀN VẸN ◼ 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 quan hệ hoặc trong các lược đồ quan hệ của một CSDL. ◼ 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 quan 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à RBTV. (RBTV là các quy tắc quản lý được áp đặt trên các đối tượng 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 đầy đủ và chính xác các ràng buộc toà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ế ◼ Trong một cơ sở dữ liệu, ràng buộc toàn vẹn được xem như là một công cụ để diễn đạt ngữ nghĩa của CSDL đó ◼ Công việc kiểm tra ràng buộc toà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) 3
  4. 2. CÁC YẾU TỐ CỦA RBTV ◼ Mỗi ràng buộc toàn vẹn có 3 yếu tố: điều kiện, bối cảnh và tầm ảnh hưởng. Điều kiện của một ràng buộc toàn vẹn R có thể được biểu diễn bằng ngôn ngữ tự nhiên, thuật giải, ngôn ngữ đại số tập hợp, đại số quan hệ, ngoài ra điều kiện của ràng buộc toàn vẹn cũng có thể được biểu diễn bằng phụ thuộc hàm. Bối cảnh của một ràng buộc toàn vẹn là những quan hệ mà ràng buộc đó có hiệu lực hay 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 toàn vẹn. Bối cảnh của một ràng buộc toàn vẹn có thể là một hoặc nhiều quan hệ. 4
  5. 2. CÁC YẾU TỐ CỦA RBTV Bảng tầm ảnh hưởng: 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 toà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 buộc toà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) Một bảng tầm ảnh hưởng của một RBTV có dạng: 5
  6. 3. PHÂN LOẠI RÀNG BUỘC TOÀN VẸN ◼ Trong quá trình phân tích thiết kế cơ sở dữ liệu, phải phát hiện tất cả các ràng buộc toàn vẹn tiềm ẩn trong CSDL đó. ◼ Phân loại các ràng buộc toàn vẹn giúp cho người phân tích có được một định hướng, tránh bỏ sót những RBTV ◼ Các ràng buộc toàn vẹn có thể được chia làm hai loại chính như sau: Ràng buộc toàn vẹn trên phạm vi là một quan hệ bao gồm: Ràng buộc toàn vẹn miền giá trị, Ràng buộc toàn vẹn liên thuộc tính, Ràng buộc toàn vẹn liên bộ. Ràng buộc toàn vẹn trên phạm vi là nhiều quan hệ bao gồm: Ràng buộc toàn vẹn phụ thuộc tồn tại, Ràng buộc toàn vẹn liên bộ - liên quan hệ, Ràng buộc toàn vẹn liên thuộc tính - liên quan hệ. 6
  7. 3. PHÂN LOẠI RBTV (tt) VD: 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 định một tên hàng (TENHANG), quy cách hàng (QUYCACH), đơn vị tính (DVTINH). 7
  8. 3. PHÂN LOẠI RBTV (tt) Q3: Dathang(SODH,MAHANG, SLDAT, NGAYDH, MAKH); Tân từ: Mỗi mã số đặt hàng (SODH) xác định một ngày đặt hàng (NGAYDH) 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 Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT); Tân từ: Mỗi hóa đơn tổng hợp 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 ngoà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 giao hàng cho khách (NGAYXUAT) 8
  9. 3. PHÂN LOẠI RBTV (tt) ◼ Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN); 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à SOTIEN. Mỗi khách hàng trong một ngày có thể có nhiều số phiếu thu. 9
  10. 3.1. Ràng buộc toàn vẹn liên bộ ◼ Là sự ràng buộc toàn vẹn giữa các bộ trong cùng một quan hệ . ◼ Ràng buộc toàn vẹn liên bộ còn gọi là ràng buộc toàn vẹn về khóa nội. ◼ Đây là loại ràng buộc toà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. 10
  11. 3.2. RBTV về phụ thuộc tồn tại ◼ Ràng buộc toàn vẹn về phụ thuộc tồn tại còn được gọi là ràng buộc toàn vẹn về khóa ngoại. ◼ Cũng giống như ràng buộc toàn vẹn về khóa nội, ràng buộc toàn vẹn về phụ thuộc tồn tại rất phổ biến trong CSDL 11
  12. 3.3. RBTV về miền giá trị ◼ Ràng buộc toàn vẹn có liên quan đến miền giá trị của các thuộc tính trong một quan hệ. ◼ Ràng buộc toàn vẹn về miền giá trịthường gặp. Một số hệ quản trị CSDL đã tự động kiểm tra một số ràng buộc loại này. 12
  13. 3.4. RBTV liên thuộc tính ◼ Ràng buộc toàn vẹn liên thuộc tính là mối liên hệ giữa các thuộc tính trong một lược đồ quan hệ. 13
  14. 3.5. RBTV liên thuộc tính liên quan hệ ◼ Ràng buộc loại này là mối liên hệ giữa các thuộc tính trong nhiều lược đồ quan hệ. 14
  15. 3.6. RBTV về thuộc tính tổng hợp ◼ Ràng buộc toàn vẹn về thuộc tính tổng hợp được xác định trong trường hợp mỗi thuộc tính A của một lược đồ quan hệ Q được tính toán giá trị từ các thuộc tính của các lược đồ quan hệ khác. 15