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. Bối cảnh: NhaTro (Nhà trọ), User (Người dùng)
c. Bảng tầm ảnh hưởng R1
Nhà trọ Người dùng
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. Bối cảnh: User (Người dùng), LoaiTK (Loại tài khoản)
c. Bảng tầm ảnh hưởng R2
Người dùng Loại tài khoản
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. Bối cảnh: NhaTro (Nhà trọ), TienNghi (Tiện nghi)
c. Bảng tầm ảnh hưởng R3
Nhà trọ Tiện nghi
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. Bối cảnh: NhaTro (Nhà trọ), LoaiNhaTro (Loại nhà trọ)
c. Bảng tầm ảnh hưởng R4
Nhà trọ Loại nhà trọ
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. Bối cảnh: NhaTro (Nhà trọ), Duong (Đường)
c. Bảng tầm ảnh hưởng R5
Nhà trọ Đường
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. Bối cảnh: NhaTro (Nhà trọ), PhuongXa (Phường xã)
c. Bảng tầm ảnh hưởng R6
Nhà trọ Phường xã
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
Nhà trọ
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. Bối cảnh: Duong (Đường), LoaiDuong (Loại đường)
c. Bảng tầm ảnh hưởng R8
Đường Loại đường
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. Bối cảnh: Truong (Trường), PhuongXa (Phường xã)
c. Bảng tầm ảnh hưởng R9
Trường Phường xã
∀ t ∈Truong : ∃ t' ∈ Duong ,t . MaDuong=t' . MaDuong
b. Bối cảnh: Truong (Trường), Duong (Đường)
c. Bảng tầm ảnh hưởng R10
Trường Đường
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. Bối cảnh: TramBus (Trạm bus), PhuongXa (Phường xã)
c. Bảng tầm ảnh hưởng R11
Trạm bus Phường xã
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. Bối cảnh: TramBus (Trạm bus), Duong (Đường)
c. Bảng tầm ảnh hưởng R12
Trạm bus Đường
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. Bối cảnh: TienIch (Tiện ích), PhuongXa (Phường xã)
R13 Tiện ích Phường xã
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. Bối cảnh: TienIch (Tiện ích), Duong (Đường)
c. Bảng tầm ảnh hưởng R14
Tiện ích Đường
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. Bối cảnh: LoaiTienIch (Loại tiện ích), TienIch (Tiện ích)
c. Bảng tầm ảnh hưởng R15
Loại tiện ích Tiện ích
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 R16
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
Người dùng
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 = MaLTK LoaiTK ∀ t ∈ NhaTro ¿))
b. Bối cảnh: User (Người dùng), NhaTro (Nhà trọ), LoaiTK (Loại tài khoản)
c. Bảng tầm ảnh hưởng R18
Người dùng Nhà trọ
Loại tài khoản
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
Loại tài khoản
∀ t 1 ,t 2∈ LoaiTK (t 1 ≠ t 2∧ t 1. TenLTK ≠ t 2. TenLTK)
ạ Bối cảnh: LoaiTK (Loại tài khoản)
b. Bảng tầm ảnh hưởng R20
Loại tài khoản
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 =MaLTK LoaiTK ∀ t ∈User ¿))
b. Bối cảnh: User (Người dùng), LoaiTK (Loại tài khoản)
c. Bảng tầm ảnh hưởng R21
Người dùng Loại tài khoản