Cơ sở dữ liệu - chuong 08

  • 59 trang
  • file .pdf
CHƯƠNG 7
Ràng buộc toàn vẹn
NỘI DUNG CHI TIẾT
 Khái niệm
 Các đặc trưng của RBTV
 Phân loại
 Cài đặt
2
KHÁI NIỆ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ào
3
KHÁI NIỆ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)
4
NỘI DUNG CHI TIẾ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 đặt
5
BỐI CẢ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, PHONGBAN
6
BỐI CẢ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: NHANVIEN
7
NỘI DUNG
 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)
8
NỘI DUNG (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 )))
9
NỘI DUNG (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 ))
10
BẢNG TẦM ẢNH HƯỞNG
 Bảng tầm ảnh hưởng
 Xác định thao tác cập nhật nào cần phải kiểm tra RBTV khi
được thực hiện trên quan hệ bối cảnh
 Có 2 loại
 Bảng tầm ảnh hưởng cho một RBTV
 Bảng tầm ảnh hưởng tổng hợp
11
BẢNG TẦM ẢNH HƯỞNG MỘT RBTV
Tên_RB Thêm Xóa Sửa
Quan hệ 1    (Thuộc tính)
Quan hệ 2   

Quan hệ n   
() Vi phạm RBTV
() Không vi phạm RBTV
12
BẢNG TẦM ẢNH HƯỞNG TỔNG HỢP
Ràng buộc 1 Ràng buộc 2 Ràng buộc m
T X S T X S … … … T X S
Quan hệ 1 + - + + - + + - +
Quan hệ 2 - + -
Quan hệ 3 - - + - + -

Quan hệ n - + - - - +
13
NỘI DUNG CHI TIẾT
 Khái niệm
 Các đặc trưng của RBTV
 Phân loại
 Một quan hệ
 Miền giá trị
 Liên bộ
 Liên thuộc tính
 Nhiều quan hệ
 Tham chiếu
 Liên bộ, liên quan hệ
 Liên thuộc tính, liên quan hệ
 Thuộc tính tổng hợp
 Chu trình
 Cài đặt
14
RBTV - MIỀN GIÁ TRỊ
 Ràng buộc qui định các giá trị cho một thuộc tính
R A B C D
  1 1
  5 7  9  ,
{, }
{1..10}
  12 3
  23 9
 Miền giá trị
 Liên tục
 Rời rạc
15
VÍ DỤ 3
 Thời gian tham gia đề án của một nhân viên không quá
60 giờ
 Bối cảnh: PHANCONG
 Biểu diễn:
t  PHANCONG ( t.THOIGIAN  60 )
 Bảng tầm ảnh hưởng:
R3 Thêm Xóa Sửa
PHANCONG    16
(THOIGIAN)
VÍ DỤ 4
 Giới tính của nhân viên là ‘Nam’ hoặc ‘Nu’
 Bối cảnh: NHANVIEN
 Biểu diễn:
t  NHANVIEN ( t.PHAI  {‘Nam’, ‘Nu’} )
hay
DOM(PHAI)  {‘Nam’, ‘Nu’}
 Bảng tầm ảnh hưởng:
R4 Thêm Xóa Sửa
NHANVIEN    (PHAI) 17
RBTV - LIÊN BỘ
 Sự tồn tại của một hay nhiều bộ phụ thuộc vào sự tồn tại
của một hay nhiều bộ khác trong cùng quan hệ
 Trường hợp đặc biệt
 RB khóa chính
 RB duy nhất (unique)
18
VÍ DỤ 5
 Tên phòng là duy nhất
 Bối cảnh: PHONGBAN
 Biểu diễn:
t1, t2  PHONGBAN (
t1 t2  t1.TENPHG  T2.TENPHG )
 Bảng tầm ảnh hưởng:
R5 Thêm Xóa Sửa
PHONGBAN    (TENPHG) 19
VÍ DỤ 6
 Một nhân viên được tham gia tối đa 5 đề án
 Bối cảnh: PHANCONG
 Biểu diễn:
t  PHANCONG (
card({ s  PHANCONG | s.MA_NVIEN  t.MA_NVIEN})  5 )
 Bảng tầm ảnh hưởng:
R6 Thêm Xóa Sửa
PHANCONG    (MA_VIEN, SODA) 20