a) Ràng buộc liên bộ
R1: MaNhom là khóa chính của table Nhom
∀x,y ∈ Nhom : x <> y
R1: x[MaNhom] <> y[MaNhom] Bảng tầm hưởng
R1 Thêm Xóa Sửa
Nhom + - +
BẢNG III.8: Ràng buộc liên bộ MaNhom
R2: MaVT là khóa chính của table VatTu
∀x,y ∈ VatTu : x <> y R2: x[MaVT] <> y[MaVT] Bảng tầm hưởng
R2 Thêm Xóa Sửa
VatTu + - +
BẢNG III.9: Ràng buộc liên bộ MaVT
R3: MaTinhHuong là khóa chính của table TinhHuong
∀x,y ∈TinhHuong: x <> y
Trang 59
Bảng tầm hưởng
R3 Thêm Xóa Sửa
TinhHuong + - +
BẢNG III.10: Ràng buộc liên bộ MaTinhHuong
R4: MaNCC là khóa chính của table NCC
∀x,y ∈TinhHuong: x <> y R4: x[MaNCC] <> y[MaNCC] Bảng tầm hưởng
R4 Thêm Xóa Sửa
NCC + - +
BẢNG III.11: Ràng buộc liên bộ MaNCC
R5: MaTinhHuong,MaVT là khóa chính của table CT_TH
∀x,y ∈TinhHuong: x <> y
R5: x[MaTinhHuong,MaVT] <> y[MaTinhHuong,MaVT] Bảng tầm hưởng
R5 Thêm Xóa Sửa
CT_TH + - +
Trang 60
b) Ràng buộc liên quan hệ
R6: MaNhom trong table VatTu phải tồn tại trong table Nhom R6: VatTu[MaNhom] ⊆ Nhom[MaNhom]
Bảng tầm hưởng
R6 Thêm Xóa Sửa
Nhom - + -(*)
VatTu + - +
BẢNG III.13: Ràng buộc liên quan hệ MaNhom
R7: MaTinhHuong,MaVT trong table CT_TH phải tồn tại trong table TinhHuong,VatTu
R7: CT_TH[MaTinhHuong] ⊆ TinhHuong[MaTinhHuong], CT_TH[MaVT] ⊆ VatTu[MaVT]
Bảng tầm hưởng
R7 Thêm Xóa Sửa
TinhHuong - + -(*)
VatTu - + -(*)
CT_TH + - +
Trang 61
c) Ràng buộc miền giá trị
R8: Gia trong table VatTu R8: ∀x ⊂ VatTu: x.Gia > 0 Bảng tầm hưởng
R8 Thêm Xóa Sửa
VatTu + - +
BẢNG III.15: Ràng buộc miền giá trị Gia
R9: SLuong trong table CT_TH R9: ∀x ⊂ CT_TH: x.SLuong > 0 Bảng tầm hưởng
R8 Thêm Xóa Sửa
CT_TH + - +
Trang 62