IV. GIỚI THIỆU SƠ LƯỢC VỀ SQL SERVER
2. DIỄN GIẢI MÔ HÌNH THỰC THỂ KẾT HỢP a.Th ực thể GIFT và GIFCATEGOTIES
IV-XÁC ĐỊNH CÁC RÀNG BUỘC TOÀN VẸN
1. RÀNG BUỘC TOÀN VẸN ĐỊNH NGHĨA TRÊN MỘT QUAN HỆ
a. Ràng buộc về miền giá trị của thuộc tính
R1: “Giá trị của mỗi đơn giá trong bảng GIFT phải lớn hơn hoặc bằng 0”
o PRICE GIFT sao cho PRICE ≥ 0
o Bối cảnh của ràng buộc R1 là quan hệ GIFT
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
GIFT +(price) - +(price)
R2:”Số lượng quà tặng trong một ORDER_DETAIL phải lớn hơn hoặc bằng 0”
o QUANTITY ORDER_DETAIL sao cho QUANTITY ≥ 0
o Bối cảnh của ràng buộc R2 là quan hệ ORDER_DETAIL
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_DETAIL + - +(quantity)
R3:”Giá trị của phí dịch vụ trong một khu vực phải lớn hơn hoặc bằng 0”
o FEE_SERVICE AREA sao cho FEE_SERVICE ≥ 0
o Bối cảnh của ràng buộc R3 là quan hệ AREA
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
AREA +(fee_service) - +(fee_service)
b. Ràng buộc toàn vẹn liên thuộc tính
R1:”Quy định ngày giao hàng phải sau ngày đặt hàng 24 giờ thì đơn đặt hàng mới có thể thực hiện được”
o ORDER_DATE ORDER_FORM ta có ORDER_DATE = NOW();
o DELI_DATE ORDER_FORM sao cho COMPARE(
NOW.ADDHOURS(24),DELI_DATE) >0
o Bối cảnh của ràng buộc R1 là quan hệ ORDER_FORM
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_FORM +(deli_date) - -
2. RÀNG BUỘC TOÀN VẸN ĐỊNH NGHĨA TRÊN NHIỀU QUAN HỆ
R1:”Mỗi bộ của ORDER_DETAIL có một ORDER_FORM với ID_ORDER tương ứng”
o order_detail ORDER_DETAIL , tồn tại ID_ORDER ORDER_FORM sao cho order_detail.ID_ORDER= ORDER_FORM.ID_ORDER
o Bối cảnh của ràng buộc R1 là 2 quan hệ ORDER_FORM và ORDER_DETAIL
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_FORM - +(id_order) -
ORDER_DETAIL +(id_order) - +(id_order)
R2:”Mỗi bộ của ORDER_DEATAIL có một GIFT với ID_GIF tương ứng”
o order_detail ORDER_DETAIL , tồn tại ID_GIF GIFT sao cho order_detail.ID_GIF= GIFT.ID_GIF
o Bối cảnh của ràng buộc R1 là 2 quan hệ ORDER_FORM và GIFT
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_DETAIL +(id_gif) - +(id_gif)
GIFT - +(id_gif) -
R3:”Mỗi nhà cung cấp trong ORDER_DETAIL đều phải có tên trong danh sách các nhà cung cấp”
o order_detail ORDER_DETAIL , tồn tại supplier
SUPPLIER sao cho order_detail.ID_SUP= supplier.ID_SUP
o Bối cảnh của ràng buộc R3 là 2 quan hệ ORDER_DETAIL và SUPPLIER
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_DETAIL +(id_sup) - +(id_sup)
SUPPLIER - +(id_sup) -
R4:”Mỗi khu vực nằm trong SUPPLIER phải nằm trong danh sách khu vực”
o supplier SUPPLIER , tồn tại area AREA sao cho supplier.ID_ARE = area.ID_ARE
o Bối cảnh của ràng buộc R4 là 2 quan hệ SUPPLIER và AREA
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
SUPPLIER + - +(id_are)
AREA - +(id_are) +(id_are)
R5:”Mỗi khu vực nằm trong CUSTOMER phải nằm trong danh sách khu vực”
o customer CUSTOMER , tồn tại area AREA sao cho customer.ID_ARE = area.ID_ARE
oBối cảnh của ràng buộc R5là 2 quan hệ CUSTOMERvà AREA
oBảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
CUSTOMER + - +(id_are)
AREA - +(id_are) +(id_are)
R6:”Mỗi khu vực nằm trong EMPLOYEE phải nằm trong danh sách khu vực”
o employee EMPLOYEE , tồn tại area AREA sao cho employee.ID_ARE = area.ID_ARE
oBối cảnh của ràng buộc R6 là 2 quan hệ EMPLOYEE và AREA
oBảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
EMPLOYEE + - +(id_are)
AREA - +(id_are) +(id_are)
R7:”Mỗi món quà thuộc về một loại quà nằm trong danh sách loại quà”
o gift GIFT , tồn tại giftcategories GIFCATEGORIES sao cho gift.ID_CAT = categories.ID_CAT
oBối cảnh của ràng buộc R7 là 2 quan hệ GIFT và GIFCATEGORIES
oBảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
GIFT +(id_cat) - +
GIFCATEGORIES - +(id_cat) -
R8:”Mỗi món quà thuộc có một chế độ nằm trong danh sách chế độ”
o gift GIFT , tồn tại regime REGIME sao cho gift.ID_REGI = regime.ID_REGI
o Bối cảnh của ràng buộc R8 là 2 quan hệ GIFT và REGIME
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
GIFT +(id_regi) - +(id_regi)
REGIME - +(id_regime) -
R9:”Mỗi một đơn đặt hàng có về một trạng thái nằm trong danh sách trạng thái”
o order_form ORDER_FORM , tồn tại state STATE sao cho order_form.ID_STATE = state.ID_STATE
o Bối cảnh của ràng buộc R9 là 2 quan hệ ORDER_FORM và STATE
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_FORM +(id_state) - +
STATE - +(id_state) -
R10:”Mỗi đơn đặt hàng có khách gửi nằm trong danh sách khách hàng”
o order_form ORDER_FORM , tồn tại customer CUSTOMER sao cho order_form.SEND_CUS = customer.ID_CUS
o Bối cảnh của ràng buộc R10 là 2 quan hệ ORDER_FORM và CUSTOMER
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_FORM +(send_cus) - +(send_cus)
CUSTOMER - +(id_cus) -
R11:”Mỗi đơn đặt hàng có khách nhận nằm trong danh sách khách hàng”
o order_form ORDER_FORM , tồn tại customer CUSTOMER sao cho order_form.RECI_CUS = customer.ID_CUS
o Bối cảnh của ràng buộc R11là 2 quan hệ ORDER_FORM và CUSTOMER
o Bảng tầmảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_FORM +(reci_cus) - +(reci_cus)
CUSTOMER - +(id_cus) -
R12:”Mỗi đơn đặt hàng có nhân viên quản lý nằm trong danh sách nhân viên”
o order_form ORDER_FORM , tồn tại employee EMPLOYEE sao cho order_form.MANA_EMP = employee.ID_EMP
o Bối cảnh của ràng buộc R12 là 2 quan hệ ORDER_FORM và EMPLOYEE
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_FORM +(mana_emp) - +(mana_emp)
EMPLOYEE - +(id_emp) -
R13:”Mỗi đơn đặt hàng có nhân viên giao quà nằm trong danh sách nhân viên”
o order_form ORDER_FORM , tồn tại employee EMPLOYEE sao cho order_form.DELI_EMP = employee.ID_EMP
o Bối cảnh của ràng buộc R13 là 2 quan hệ ORDER_FORM và EMPLOYEE
o Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ORDER_FORM +(deli_emp) - +(deli_emp)
EMPLOYEE - +(id_emp) -