Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.2 THIẾT KẾ
3.2.1.4 Ràng buộc toàn vẹn
R1: Mỗi User (người dùng) trong bảng Nhà trọ phải có giá trị trong bảng User
∀t∈NhaTro:∃t'∈User ,t . ID=t'. ID
ạ Bối cảnh: NhaTro (Nhà trọ), User (Người dùng) b. Bảng tầm ảnh hưởng
R1 Thêm Xóa Sửa
Nhà trọ + - + (ID)
Người dùng - + + (ID)
R2: Mỗi Loại tài khoản trong bảng User phải có giá trị trong bảng Loại tài
khoản
∀t∈User:∃t'∈LoaiTK , t . MaLTK=t'. MaLTK
ạ Bối cảnh: User (Người dùng), LoaiTK (Loại tài khoản) b. Bảng tầm ảnh hưởng
R2 Thêm Xóa Sửa
Người dùng + - + (MaLTK)
Loại tài khoản + (TenLTK) + + (MaLTK, TenLTK)
R3: Mỗi Tiện nghi trong bảng Nhà trọ phải có giá trị trong bảng Tiện nghi
∀t∈NhaTro:∃t'∈TienNghi ,t . MaTN=t'. MaTN
ạ Bối cảnh: NhaTro (Nhà trọ), TienNghi (Tiện nghi) b. Bảng tầm ảnh hưởng
Nhà trọ + - + (MaTN)
Tiện nghi - + + (MaTN)
R4: Mỗi Loại nhà trọ trong bảng Nhà trọ phải có giá trị trong bảng Loại nhà trọ
∀t∈NhaTro:∃t'∈LoaiNhaTro ,t . MaLNT=t'. MaLNT
ạ Bối cảnh: NhaTro (Nhà trọ), LoaiNhaTro (Loại nhà trọ) b. Bảng tầm ảnh hưởng
R4 Thêm Xóa Sửa
Nhà trọ + - + (MaLNT)
Loại nhà trọ - + + (MaLNT)
R5: Mỗi Đường trong bảng Nhà trọ phải có giá trị trong bảng Đường
∀t∈NhaTro:∃t'∈Duong ,t . MaDuong=t'. MaDuong
ạ Bối cảnh: NhaTro (Nhà trọ), Duong (Đường) b. Bảng tầm ảnh hưởng
R5 Thêm Xóa Sửa
Nhà trọ + - + (MaDuong)
Đường - + + (MaDuong)
R6: Mỗi Phường xã trong bảng Nhà trọ phải có giá trị trong bảng Phường xã
∀t∈NhaTro:∃t'∈PhuongXa, t . MaPX=t'. MaPX
ạ Bối cảnh: NhaTro (Nhà trọ), PhuongXa (Phường xã) b. Bảng tầm ảnh hưởng
R6 Thêm Xóa Sửa
Nhà trọ + - + (MaPX)
R7: Mỗi Nhà trọ chỉ có Nhà vệ sinh là ‘Riêng’ hoặc ‘Chung’
∀t∈NhaTro(t . NhaVeSinh∈{' Riên g','Chun g'
})
ạ Bối cảnh: NhaTro (Nhà trọ) b. Bảng tầm ảnh hưởng
R7 Thêm Xóa Sửa
Nhà trọ + - + (NhaVeSinh)
R8: Mỗi Loại đường trong bảng Đường phải có giá trị trong bảng Loại đường
∀t∈Duong:∃t'∈LoaiDuong , t . MaLD=t'. MaLD
ạ Bối cảnh: Duong (Đường), LoaiDuong (Loại đường) b. Bảng tầm ảnh hưởng
R8 Thêm Xóa Sửa
Đường + - + (MaLD)
Loại đường - + + (MaLD)
R9: Mỗi Phường xã trong bảng Trường phải có giá trị trong bảng Phường xã
∀t∈Truong:∃t'∈PhuongXa, t . MaPX=t'. MaPX
ạ Bối cảnh: Truong (Trường), PhuongXa (Phường xã) b. Bảng tầm ảnh hưởng
R9 Thêm Xóa Sửa
Trường + - + (MaPX)
∀t∈Truong:∃t'∈Duong ,t . MaDuong=t'. MaDuong
ạ Bối cảnh: Truong (Trường), Duong (Đường) b. Bảng tầm ảnh hưởng
R10 Thêm Xóa Sửa
Trường + - + (MaDuong)
Đường - + + (MaDuong)
R11: Mỗi Phường xã trong bảng Trạm bus phải có giá trị trong bảng Phường xã
∀t∈TramBus:∃t'∈PhuongXa ,t . MaPX=t'. MaPX
ạ Bối cảnh: TramBus (Trạm bus), PhuongXa (Phường xã) b. Bảng tầm ảnh hưởng
R11 Thêm Xóa Sửa
Trạm bus + - + (MaPX)
Phường xã - + + (MaPX)
R12: Mỗi Đường trong bảng Trạm bus phải có giá trị trong bảng Đường
∀t∈TramBus:∃t'∈Duong , t . MaDuong=t'. MaDuong
ạ Bối cảnh: TramBus (Trạm bus), Duong (Đường) b. Bảng tầm ảnh hưởng
R12 Thêm Xóa Sửa
Trạm bus + - + (MaDuong)
Đường - + + (MaDuong)
R13: Mỗi Phường xã trong bảng Tiện ích phải có giá trị trong bảng Phường xã
∀t∈TienIch:∃t'∈PhuongXa , t . MaPX=t'. MaPX
ạ Bối cảnh: TienIch (Tiện ích), PhuongXa (Phường xã) b. Bảng tầm ảnh hưởng
R13 Thêm Xóa Sửa
Tiện ích + - + (MaPX)
Phường xã - + + (MaPX)
R14: Mỗi Đường trong bảng Tiện ích phải có giá trị trong bảng Đường
∀t∈TienIch:∃t'∈Duong, t . MaDuong=t'. MaDuong
ạ Bối cảnh: TienIch (Tiện ích), Duong (Đường) b. Bảng tầm ảnh hưởng
R14 Thêm Xóa Sửa
Tiện ích + - + (MaDuong)
Đường - + + (MaDuong)
R15: Mỗi Loại tiện ích trong bảng Tiện ích phải có giá trị trong bảng Loại tiện
ích
∀t∈TienIch:∃t'∈LoaiTienIch ,t . MaLTI=t'. MaLTI
ạ Bối cảnh: LoaiTienIch (Loại tiện ích), TienIch (Tiện ích) b. Bảng tầm ảnh hưởng
R15 Thêm Xóa Sửa
Loại tiện ích - + + (MaLTI)
Tiện ích + - + (MaLTI)
R16: Mỗi User (người dùng) chỉ có Giới tính là ‘Nam’ hoặc ‘Nữ’
∀t∈User¿
ạ Bối cảnh: User (Người dùng) b. Bảng tầm ảnh hưởng
R17: Mỗi User (người dùng) chỉ có Quyền tài khoản là ‘0’ hoặc ‘1’
∀t∈User(t .QuyenTK∈[0,1])
ạ Bối cảnh: User (Người dùng) b. Bảng tầm ảnh hưởng
R17 Thêm Xóa Sửa
Người dùng + - + (QuyenTK)
R18: Mỗi User (người dùng) là chủ trọ chỉ được hiệu chỉnh thơng tin Nhà trọ
do chủ trọ đó đăng ký
USTK ← User⋈MaLTK=MaLTKLoaiTK ∀t∈NhaTro¿))
ạ Bối cảnh: User (Người dùng), NhaTro (Nhà trọ), LoaiTK (Loại tài khoản)
b. Bảng tầm ảnh hưởng
R18 Thêm Xóa Sửa
Người dùng - + + (ID, MaLTK)
Nhà trọ + - + (ID)
Loại tài khoản + (TenLTK) + + (MaLTK, TenLTK)
R19: Loại tài khoản chỉ có thể là ‘User’ hoặc ‘Admin’
∀t∈LoaiTK(t . TenLTK∈{' User ' ,' Admin'})
ạ Bối cảnh: LoaiTK (Loại tài khoản) b. Bảng tầm ảnh hưởng
R19 Thêm Xóa Sửa
Loại tài khoản + (TenLTK) + + (TenLTK)
∀t1,t2∈LoaiTK(t1≠ t2∧t1.TenLTK ≠ t2.TenLTK)
ạ Bối cảnh: LoaiTK (Loại tài khoản) b. Bảng tầm ảnh hưởng
R20 Thêm Xóa Sửa
Loại tài khoản + (TenLTK) + + (TenLTK)
R21: Mỗi User (người dùng) là chủ trọ chỉ được hiệu chỉnh thông tin Hồ sơ do
chủ trọ đó đăng ký
USLTK ←User⋈MaLTK=MaLTKLoaiTK ∀t∈User¿))
ạ Bối cảnh: User (Người dùng), LoaiTK (Loại tài khoản) b. Bảng tầm ảnh hưởng
R21 Thêm Xóa Sửa
Người dùng + - + (ID)