Cơ sở dữ liệu - Ràng buộc toàn vẹn trên CSDL quan hệ

NỘI DUNG

I. Định nghĩa – Tầm quan trọng của

RBTV

II. Các yếu tố của RBTV

III. Phân lọai RBTV

pdf9 trang | Chuyên mục: SQL Server | Chia sẻ: dkS00TYs | Lượt xem: 10414 | Lượt tải: 2download
Tóm tắt nội dung Cơ sở dữ liệu - Ràng buộc toàn vẹn trên CSDL quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
RÀNG BUỘC TOÀN VẸN TRÊN 
CSDL QUAN HỆ
Chương 7
NỘI DUNG 
I. Định nghĩa – Tầm quan trọng của
RBTV
II. Các yếu tố của RBTV
III. Phân lọai RBTV
ĐỊNH NGHĨA
z RBTV (Integrity Constraints) là các
nguyên tắc mà mọi tình trạng CSDL đều
phải thỏa.
z VD: KQ (MASV, MAMH, DIEM)
Điểm là số thực thuộc [0,10] và chính
xác đến 0.5
TẦM QUAN TRỌNG CỦA RBTV
zGiúp CSDL thể hiện trung thực thế giới
thực mà CSDL đang mô tả.
zNgăn chặn những thao tác gây sai trên
CSDL.
) Giúp CSDL luôn đúng đắn.
CÁC YẾU TỐ CỦA RBTV
Có 4 yếu tố:
z Phát biểu: ngôn ngữ tự nhiên thể hiện ngữ
nghĩa của RBTV
z Biểu diễn: ngôn ngữ hình thức, dùng thuật
tóan (mã giả), tóan học, đại số quan hệ, phép
tính quan hệ,...để thể hiện
z Bối cảnh: Các quan hệ mà ràng buộc có liên
quan
z Tầm ảnh hưởng: Các thao tác Thêm, Xóa, 
Sửa trên các quan hệ (là bối cảnh) có khả
năng gây vi phạm ràng buộc hay không (+ có, 
- không)
PHÂN LỌAI RBTV
z Bối cảnh
RB có bối cảnh 1 quan hệ
RB có bối cảnh nhiều quan hệ
zNguồn gốc
RB là nguyên tắc làm việc: thực tế
RB sinh ra do giải pháp tổ chức dữ liệu
z Sự hỗ trợ khai báo RBTV
Tùy HQT CSDL mà 1 RB có được hỗ trợ
kiểm tra hay không.
PHÂN LỌAI RBTV
1. RB có bối cảnh 1 quan hệ
a. RB miền giá trị
b. RB liên thuộc tính
c. RB liên bộ
d. RB giá trị thuộc tính theo thời gian
2. RB có bối cảnh nhiều quan hệ
a. RB khóa ngoại (Tồn tại/ Tham chiếu)
b. RB liên thuộc tính (liên quan hệ)
c. RB liên bộ (liên quan hệ)
d. RB về thuộc tính tổng hợp
e. RB chu trình
RB miền giá trị
z Cho biết các giá trị mà một thuộc tính
có thể nhận lấy.
VD: KQ (MASV, MAMH, DIEM)
z Pb: Điểm ∈ [0,10] và chính xác đến 0.5
z Bd: ∀k∈KQ, k.DIEM ∈ R and 0<= k.DIEM
<=10 and (k.DIEM*2 – floor(k.DIEM*2))= 0
z Bc: quan hệ KQ
z Tah:
T X S
KQ + - + (DIEM)
RB liên thuộc tính
z Cho biết mối liên hệ giữa các thuộc
tính trong 1 quan hệ
z VD: MH (MAMH, TENMH, STLT, STTH)
z Pb: Số tiết thực hành không lớn hơn số
tiết lý thuyết
z Bd: ∀m∈MH, m.STLT >= m.STTH
z Tah:
T X S
MH + - + (STLT, STTH)
RB liên bộ (1 quan hệ)
z Cho biết mối liên hệ giữa các bộ dữ
liệu trong 1 quan hệ
z VD1 : MH (MAMH, TENMH, STLT, STTH)
z Pb: Tên môn học là duy nhất.
z Bd: ∀m1∈MH, ¬∃m2 ∈MH: m1≠ m2 and 
m1.TENMH = m2.TENMH
z Bc: MH
z TAH: T X S
MH + - + (TENMH)
RB liên bộ (1 quan hệ)
z VD2: CĐ_MO(MACĐ, NAM, HK)
z Pb: Không được mở quá 3 chuyên đề
trong 1 học kỳ.
z Bd: ∀m∈CĐ_MO:
ℑcount(*) (σNAM=m.NAM and HK = m.HK(CĐ_MO))<=3
z Bc: CĐ_MO
z Tah:
T X S
CĐ_MO + - + (NAM, HK)
RB giá trị thuộc tính theo thời gian
zDo thao tác cập nhật gây ra.
z Cho biết mối quan hệ giữa giá trị cũ và
giá trị mới của 1 thuộc tính.
z VD: NV(MANV, TENNV, LUONG,MAPB)
z Pb: Lương của nhân viên chỉ tăng chứ không
giảm.
z Bd: ∀m∈NV, m.LUONG (cũ) <= m.LUONG(mới)
z Bc: NV
z Tah:
T X S
NV - - + (LUONG)
RB khóa ngoại (Tồn tại/ Tham chiếu)
z VD: NV(MANV, TENNV, PHAI, MAPB)
PB (MAPB, TENPB)
z Pb: Nhân viên phải thuộc phòng ban hợp lệ
z Bd: ∀n∈NV, (n.MAPB = NULL) or (∃p ∈PB: p.MAPB
= n.MAPB)
z Bc: NV, PB
z Tah:
T X S
NV + - + (MAPB)
PB - + +(MAPB)
RB liên thuộc tính (liên quan hệ)
z Cho biết mối liên hệ giữa các thuộc tính trên các
quan hệ khác nhau.
z VD: ĐĐH (SOĐĐH, NGAYĐAT, SLĐ, ĐGĐ)
PGH(SOPG, NGAYGIAO, SOĐĐH)
Pb: Không đựơc giao hàng trễ hơn 7 ngày so với ngày
đặt.
Bd: ∀d∈ĐĐH, 
∀p∈PGH: p.SOĐĐH = d.SOĐĐH thì
d.NGAYĐAT <= p.NGAYGIAO <= d.NGAYĐAT + 7
Bc: ĐĐH, PGH
Tah: T X S
ĐĐH - - + (NGAYĐAT)
PGH + - +(NGAYGIAO, SOĐĐH)
RB liên bộ (liên quan hệ)
z Cho biết mối liên hệ giữa các bộ dữ liệu trên
các quan hệ khác nhau.
z VD: HĐ (SOHĐ, NGAYHĐ, TENKH)
CTHĐ (SOHĐ, MAHH, SL, ĐG)
Pb: Trong 1 hóa đơn phải có ít nhất 1 mặt
hàng.
Bd: ∀h∈HĐ, ∃ c∈CTHĐ : c.SOHĐ = h.SOHĐ
Bc: HĐ, CTHĐ
Tah:
T X S
HĐ + - + (SOHĐ)
CTHĐ - + +(SOHĐ)
RB về thuộc tính tổng hợp
z Cho biết mối liên hệ giữa giá trị 1 thuộc tính của QH 
này và số dòng dữ liệu của 1 QH khác.
z Vd: LOP(MALOP, TENLOP, SISO)
SV (MASV, TENSV, MALOP)
Pb: Sĩ số của 1 lớp = tổng số sinh viên của lớp đó
Bd: ∀l∈LOP,
∀s∈SV: s.MALOP = l.MALOP thì
l.SISO = ℑcount(*) (σMALOP = l.MALOPSV)
Bc: LOP, SV
Tah:
T X S
LOP + - + (SISO, MALOP)
SV + + +(MALOP)
RB chu trình
z SV (MASV, TENSV, MANGANH)
z CĐ_NG(MANGANH, MACĐ)
z ĐKY(MASV, MACĐ, ĐIEM)
z Pb: Sinh viên chỉ được đăng ký các chuyên đề bắt
buộc cho chuyên ngành mà sv đang theo học.
z Bd: ΠMASV,MACĐ (ĐKY) ⊆ ΠMASV,MACĐ (SV⋈CĐ_NG)
z Tah:
SV
CĐ_NG ĐKY
MANGANH
MASV
MACĐ
T X S
CĐ_NG - + + 
ĐKY + - +(MASV,MACĐ)
SV - - +(MANGANH)
HẾT.

File đính kèm:

  • pdfChuong_7_Rang_buoc_toan_ven.pdf
Tài liệu liên quan