Chương 3 Phân tích thiết kế
3.1. Phân tích dữ liệu
3.1.5. Ràng Buộc Toàn Vẹn
3.1.5.1. Ràng buộc toàn vẹn trên cùng 1 quan hệ
1 Ràng buộc toàn vẹn về miền giá trị của thuộc tính
HangHoa ( MaHH, MaLoai,TenH, DonGia, SoLuong, MauSac, TrongLuong, ChucNang, KichThuoc, Hinh, NgaySX, GiamGia, SoLanXem, MoTa, MaNCC , TinhTrang, NhaCungCap)
¥ qi € T ( HangHoa ) qi.Dongia>0
ChiTietHD (MaCT, MaHD, MaHH, DonGia, SoLuong, GiamGia )
¥ qi € T ( ChiTietHD ) qi.SoLuong>=0
ChiTietHD (MaCT, MaHD, MaHH, DonGia, SoLuong, GiamGia )
¥ qi € T ( ChiTietHD ) qi.DonGia>0
2 Ràng buộc tòan vẹn liên bộ trên 1 quan hệ:
Loai (MaLoai, TenLoai, TenCL)
¥ qi, qj € T ( Loai )
qi.MaLoai ≠ qj.MaLoai i≠j + Bảng tầm ảnh hưởng
Page 82
Quan hệ Thêm Xóa Sửa
Loai + - +[MaLoai]
Bảng 3.16: Tầm ảnh hưởng bảng Loại
HangHoa (MaHH, MaLoai,TenH, DonGia, SoLuong, MauSac, TrongLuong, ChucNang, KichThuoc, Hinh, NgaySX, GiamGia, SoLanXem, MoTa, MaNCC , TinhTrang, NhaCungCap)
¥ qi, qj € T( HangHoa )
qi.MaHH ≠ qj.MaHH i≠j + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
HangHoa + - +[MaHH]
Bảng 3.17: Tầm ảnh hưởng của bảng Hàng hóa
ChiTietHD ( MaCT, MaHD, MaHH, DonGia, SoLuong, GiamGia )
¥ qi, qj € T( ChiTietHD )
qi.MaCT ≠ qj.MaCT i≠j
Page 83 + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
ChiTietHD + - +[MaCT]
Bảng 3.18: Tầm ảnh hưởng của bảng Chi tiết hóa đơn
HoaDon ( MaHD, MaKH, NgayDat, NgayGiao, HoTen, DiaChi, CachThanhToan, CachVanChuyen, PhiVanChuyen, TrangThai, MaVN, GhiChu )
¥ qi, qj € T( HoaDon )
qi.MaHD ≠ qj.MaHD i≠j + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
HoaDon + - +[MaHD]
Bảng 3.19: Tầm ảnh hưởng của bảng hóa đơn
YeuThich ( MaYT, MaHH, MaKH)
¥ qi, qj € T( YeuThich )
qi.MaYT ≠ qj.MaYT i≠j + Bảng tầm ảnh hưởng
Page 84
Quan hệ Thêm Xóa Sửa
YeuThich + - +[MaYT]
Bảng 3.20: Tầm ảnh hưởng của bảng Yêu thích
NhaCungCap (MaNCC, TenCongTy, Logo, NguoiLienLac, Email, DienThoai, DiaChi, MoTa)
¥ qi, qj € T( NhaCungCap )
qi.MaNCC ≠ qj.MaNCC i≠j + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
NhaCungCap + - +[MaNCC]
Bảng 3.21: Tầm ảnh hưởng của bảng nhà cung cấp
KhachHang (MaKH, MatKhau, HoTen, GioiTinh, NgaySinh, DiaChi, DienThoai, Email, Hinh, HieuLuc, VaiTro )
¥ qi, qj € T(KhachHang )
qi.MaKH ≠ qj.MaKH i≠j + Bảng tầm ảnh hưởng
Page 85
Quan hệ Thêm Xóa Sửa
KhachHang + - +[MaKH]
Bảng 3.22: Tầm ảnh hưởng của bảng khách hàng
User (MaUser, HoTen, Email, MatKhau, TenUser, NgaySinh, GioiTinh, VaiTro, DiaChi, DienThoai )
¥ qi, qj € T(User)
qi.MaUser ≠ qj.MaUser i≠j + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
User + - +[MaUser]
Bảng 3.23: Tầm ảnh hưởng của bảng User
KhuyenMai (MaKM, MaUser, TenKm, MoTa, UrlHinh, NgayBatDau, NgayKetThuc, ThuTu, AnHien)
¥ qi, qj € T(KhuyenMai)
qi.MaKM ≠ qj.MaKM i≠j
Page 86 + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
KhuyenMai + - +[IdKM]
Bảng 3.24: Tầm ảnh hưởng của bảng khuyến mãi
HoiDap (MaHDap, CauHoi, TraLoi, NgayTL, Ten, Email, AnHien, MaUser )
¥ qi, qj € T(HoiDap)
qi.MaHDap ≠ qj.MaHDap i≠j + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
HoiDap + - +[MaHDap]
Bảng 3.25: Tầm ảnh hưởng của bảng hỏi đáp
TinTuc (MaTT, MaUser, TenTT, Ngay, NoiDung, UrlHinh, TomTat )
¥ qi, qj € T( TinTuc )
qi.MaTT ≠ qj.MaTT i≠j
Page 87 + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
TinTuc + - +[MaTT]
Bảng 3.26: Tầm ảnh hưởng của bảng tin tức
Quảng cáo(MaQC, UrlQC, ThuTu, UrlHinh, AnHien, MoTa)
¥ qi, qj € T(Quảng cáo)
qi.MaQC ≠ qj.MaQC i≠j + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
Quảng cáo + - +[MaQC]
Bảng 3.27: Tầm ảnh hưởng của bảng quảng cáo
3.1.5.2. Ràng buộc toàn vẹn xảy ra trên nhiều quan hệ 1 Ràng buộc toàn vẹn tồn tại (khóa ngoại):
a. Ràng buộc toàn vẹn giữa bảng hàng hóa và chi tiết hóa đơn
HangHoa(MaHH, MaLoai,TenH, DonGia, SoLuong, MauSac, TrongLuong, ChucNang, KichThuoc, Hinh, NgaySX, GiamGia, SoLanXem, MoTa, MaNCC , TinhTrang, NhaCungCap)
Page 88
ChiTietHD(MaCT, MaHD, MaHH, DonGia, SoLuong, GiamGia )
¥ qi € T(HangHoa),
T(ChiTietHD):qi.MaHH= qj.MaHH
+ Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
HangHoa - + +[MaHH]
ChiTietHD + - +[MaHH]
Bảng 3.28: Tầm ảnh hưởng của bảng hàng hóa và chi tiết hóa đơn
b. Ràng buộc toàn vẹn giữa bảng hóa đơn và chi tiết hóa đơn
HoaDon (MaHD, MaKH, NgayDat, NgayGiao, HoTen, DiaChi, CachThanhToan, CachVanChuyen, PhiVanChuyen, TrangThai, MaUser, GhiChu )
ChiTietHD(MaCT, MaHD, MaHH, DonGia, SoLuong, GiamGia)
¥ qi € T(HoaDon ),
T(ChiTietHD):qi.MaHD= qj.MaHD
Page 89 + Bảng tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
HoaDon - + +[MaHD]
ChiTietHD + - +[MaHD]
Bảng 3.29: Tầm ảnh hưởng của bảng hóa đơn và chi tiết hóa đơn 3.1.5.3. Ràng buộc liên thuộc tính liên quan hệ
HoaDon(MaHD, MaKH, NgayDat, NgayGiao, HoTen, DiaChi, CachThanhToan, CachVanChuyen, PhiVanChuyen, TrangThai, MaUser, GhiChu)
¥ qi € T(HoaDon): qi.NgayDat <= qi.NgayGiao
KhuyenMai(TenKM, MoTa, UrlHinh, NgayBatDau, NgayKetThuc, ThuTu, AnHien )
¥qi€T(KhuyenMai): qi.NgayBatDau=qi.NgayKetThuc