Hình 3.15 Liên kết giữa HangHoa và PhieuYeuCau

Một phần của tài liệu Phân tích và thiết kế hệ thống quản lý kho hàng tại Công ty TNHH TM-DV Á Châu (Trang 47)

(Xem phụ lục 1)

Mô hình quan hệ

• Từ mô hình thực thể liên kết ER ta có các quan hệ:

 NhaCC (MaNCC, TenNCC, Phuong/xa, Quan/huyen, Tinh/TP, DTNCC, Fax).

 KhachHang (MaKH, HodemKH, TenKH, GioiTinh,Phuong/xa, Quan/huyen, Tinh/TP, DTKH, EmailKH).

 HangHoa (MaHH, MaNH, TenHH, DonViTinh).

 NhanVien (MaNV, MaBP, HodemNV, TenNV, GioiTinh, Luong, Phuong/xa, Quan/huyen, Tinh/TP, DTNV, EmailNV, ChucVu).

 NhomHang (MaNH, TenNH).

 BoPhan (MaBP, TenBP, MaNV, TruongBP, NgayNC).

 PhieuNhap (MaPN, MaNCC, MaNV, MaHH, STT, TenNCC, TenHH, SoLuongN, NgayPN, DonGiaN, HodemNV, TenNV, TenGiaoHang)

 PhieuXuat (MaPX, MaKH, MaNV, MaHH, HodemKH, TenKH, STT, TenHH, SoLuongX, NgayPX, DonGiaX, HodemNV, TenNV)

 PhieuYeuCau (MaPYC, MaNV, MaKH, MaHH, HodemKH, TenKH, STT, TenHH, SoLuongYC, NgayYC, DonGiaX, HodemNV, TenNV)

NhaCC (MaNCC, TenNCC, Phuong/xa, Quan/huyen, Tinh/TP, DTNCC, Fax). Lúc nàylược đồ quan hệ trên đạt 3NF (không có thuộc tính lặp, không có thuộc tính đa trị, không có thuộc tính không khóa không phụ thuộc hàm đầy đủ vào khóa chính, không có thuộc tính phụ thuộc bắc cầu vào khóa chính).

 KhachHang (MaKH, HoDemKH, TenKH, GioiTinh, Phuong/xa, Quan/huyen, Tinh/TP, DTKH, EmailKH, DTKH).

Tương tự, lược đồ quan hệ KhachHang cũng đạt 3NF.

 HangHoa (MaHH, MaNH, TenHH, DonViTinh)

Lược đồ quan hệ trên không có thuộc tính lặp, không có thuộc tính đa trị, không có thuộc tính không khóa không phụ thuộc hàm đầy đủ vào khóa chính, không có thuộc tính phụ thuộc bắc cầu vào khóa chính, vậy lược đồ quan hệ HangHoa đạt 3NF.

 NhanVien (MaNV, MaBP, HodemNV, TenNV, GioiTinh, Luong, Phuong/xa, Quan/huyen, Tinh/TP, DTNV, EmailNV, ChucVu, DTNV).

Tương tự ta thấy lược đồ quan hệ trên lúc này đạt 3NF.

 NhomHang (MaNH, TenNH)

Ta thấy lược đồ quan hệ trên lúc này đạt 3NF.

 BoPhan (MaBP, TenBP, MaNV, TruongBP, NgayNC).

Lược đồ quan hệ trên có thuộc tính lặp là MaNV nên chưa đạt 1NF, để chuẩn hóa ta có thể tách thành 2 lược đồ quan hệ như sau:

QuanLyBP (MaBP, TenBP, TruongBP, NgayNC). BP_NV (MaBP, MaNV)

Ta thấy 2 lược đồ quan hệ trên đều đạt 3NF.

 PhieuNhap (MaPN, MaNCC, MaNV, MaHH, TenNCC, STT, TenHH, SoLuongN, NgayPN, DonGiaN, HodemNV, TenNV, TenGiaoHang)

Lược đồ quan hệ trên có các thuộc tính lặp là MaHH, STT, TenHH, SoLuongN, DonGiaN nên lược đồ quan hệ trên chưa đạt 1NF, để chuẩn hóa ta có thể tách lược đồ quan hệ trên thành các quan hệ sau:

TenNVTenGiaoHang, NgayPN)

PhieuNhap2 (MaPN, MaHH, STT, TenHH, SoLuongN, DonGiaN) + Xét lược đồ quan hệ PhieuNhap1 ta có phụ thuộc hàm:

MaPN→ MaNV

MaNV→ HodemNV, TenNV MaPN→ MaNCC (adsbygoogle = window.adsbygoogle || []).push({});

MaNCC → TenNCC

Vậy PhieuNhap1 còn tồn tại thuộc tính phụ thuộc bắc cầu vào khóa chính nên PhieuNhap1 chưa đạt 3NF. Để chuẩn hóa ta tách thành 3 lược đồ quan hệ:

PhieuNK (MaPN, MaNCC, MaNV, TenGiaoHang, NgayPN) NV (MaNV, HodemNV, TenNV)

NCC (MaNCC, TenNCC)

Lúc này PhieuNK, NV và NCC đều đạt 3NF.

+ Trong đó khi đó, lược đồ quan hệ PhieuNhap2 lại có các phụ thuộc hàm: MaPN, MaHH → TenHH

MaHH → TenHH

Thuộc tính không khóa TenHH không phụ thuộc đầy đủ vào khóa chính, vậy lược đồ quan hệ PhieuNhap2 chưa đạt 2NF. Để chuẩn hóa lược đồ quan hệ PhieuNhap2 về chuẩn 2NF, ta có thể tách lược đồ quan hệ này thành các lược đồ sau:

PN_HH (MaPN, MaHH, STT, SoLuongN, DonGiaN) HH (MaHH, TenHH)

Đến đây ta có thể thấy được lược đồ quan hệ PN_HH và HH đều đạt chuẩn 3NF.

 PhieuXuat (MaPX, MaKH, MaNV, MaHH, HodemKH, TenKH, STT, TenHH, SoLuongX, NgayPX, DonGiaX, HodemNV, TenNV)

Ta thấy lược đồ quan hệ trên có các thuộc tính lặp là STT, MaHH, TenHH, SoLuongX, DonGiaX, như vậy lược đồ quan hệ trên chưa đạt 1NF, để chuẩn hóa ta có thể tách lược đồ quan hệ này thành các lược đồ quan hệ sau:

PhieuXuat1(MaPX, MaKH, MaNV, HodemKH, TenKH, NgayPX, HodemNV,TenNV)

+ Xét lược đồ quan hệ PhieuXuat1 ta có phụ thuộc hàm: MaPX→ MaNV

MaNV→ HodemNV, TenNV MaPX→ HodemKH, MaKH MaKH→ HodemKH, TenKH

Vậy PhieuXuat1 còn tồn tại thuộc tính phụ thuộc bắc cầu vào khóa chính vậy PhieuXuat1 chưa đạt 3NF. Để chuẩn hóa ta tách thành 3 lược đồ quan hệ:

PhieuXK (MaPX, MaKH, MaNV, NgayPX, TenNV) NV1 (MaNV, HodemNV, TenNV)

KH1 (MaKH, HodemKH, TenKH) Cả 3 lược đồ quan hệ trên đều đạt 3NF.

+ Xét lược đồ quan hệ PhieuXuat2 lại có phụ thuộc hàm: MaPX, MaHH→ TenHH

MaHH → TenHH

Lược đồ quan hệ PhieuXuat2 có thuộc tính không khóa TenHH không phụ thuộc đầy đủ vào khóa chính vậy nó chưa đạt 2NF, để chuẩn hóa ta có thể tách lược đồ quan hệ PhieuXuat2 thành các quan hệ:

PX_HH (MaPX, MaHH, STT, SoLuongX, DonGiaX) HH1 (MaHH, TenHH)

Lúc này ta có thể thấy được các lược đồ quan hệ PX_HH và HH1 đều đạt 3NF.

 PhieuYeuCau (MaPYC, MaNV, MaKH, MaHH, HodemKH, TenKH, STT, TenHH, SoLuongYC, NgayYC, DonGiaX, HodemNV, TenNV)

Tương tự, lược đồ quan hệ PhieuYeuCau có các thuộc tính lặp là STT, MaHH, TenHH, SoLuongYC, DonGiaX như vậy PhieuYeuCau chưa đạt 1NF, để chuẩn hóa ta tách PhieuYeuCau thành các quan hệ:

PhieuYeuCau1 (MaPYC, MaNV, MaKH, HodemKH, TenKH, HodemNV, TenNV, NgayYC)

PhieuYeuCau2 (MaPYC, MaHH, STT, TenHH, SoLuongYC, DonGiaX) + Xét lược đồ quan hệ PhieuYeuCau1 ta có phụ thuộc hàm:

MaKH→ HodemKH, TenKH

Vậy PhieuYeuCau1 còn tồn tại thuộc tính phụ thuộc bắc cầu vào khóa chính vậy PhieuYeuCau1 chưa đạt 3NF. Để chuẩn hóa ta tách thành 3 lược đồ quan hệ:

PhieuYC (MaPYC, MaNV, MaKH, NgayYC) NV2 (MaNV, HodemNV, TenNV) (adsbygoogle = window.adsbygoogle || []).push({});

KH2 (MaKH, HodemKH, TenKH) Cả 3 lược đồ quan hệ trên đều đạt 3NF.

+ Xét lược đồ quan hệ PhieuYeuCau2 lại có phụ thuộc hàm: MaPYC, MaHH → TenHH

MaHH → TenHH

Lược đồ quan hệ PhieuYeuCau2 có thuộc tính không khóa TenHH không phụ thuộc đầy đủ vào khóa chính vậy nó chưa đạt 2NF, để chuẩn hóa ta có thể tách lược đồ quan hệ PhieuYeuCau2 thành các lược đồ quan hệ:

YC_HH (MaPYC, MaHH, STT, SoLuongYC, DonGiaX) HH2 (MaHH, TenHH)

Lúc này ta có thể thấy được YC_HH và HH2 đều đạt 3NF.

 QuanLyNH (MaNH, MaHH)

Ta thấy lược đồ quan hệ QuanLyNH đã đạt chuẩn 3NF.

Sau khi chuẩn hóa các lược đồ quan hệ về chuẩn 3NF ta thấy các lược đồquan hệ NhanVien,NV, NV1, NV2 có cùng khóa là MaNV nên ta gộp chúng lại thành một lược đồ quan hệ duy nhất là NhanVien:

NhanVien (MaNV, MaBP, HodemNV, TenNV, GioiTinh, Luong, Phuong/xa, Quan/huyen, Tinh/TP, EmailNV, ChucVu, DTNV).

Các lược đồ quan hệ KhachHang, KH1, KH2 có cùng khóa là MaKH, ta gộp chúng lại thành lược đồ quan hệ KhachHang:

KhachHang (MaKH, HodemKH, TenKH, GioiTinh, Phuong/xa, Quan/huyen, Tinh/TP, EmailKH, DTKH)

Các lược đồ quan hệ HangHoa, HH,HH1, HH2 đều có cùng khóa là MaHH, ta gộp chúng lại thành một lược đồ quan hệ duy nhất là HangHoa:

Các lược đồ quan hệ NhaCC và NCC có cùng khóa MaNCC nên ta gộp chúng lại thành một lược đồ quan hệ duy nhất là NhaCC:

NhaCC (MaNCC, TenNCC, Phuong/xa, Quan/huyen, Tinh/TP, Fax, DTNCC) Cuối cùng ta có các lược đồ quan hệ sau chuẩn hóa như sau:

NhanVien (MaNV, MaBP, HodemNV, TenNV, GioiTinh, Luong, Phuong/xa, Quan/huyen, Tinh/TP, EmailNV, ChucVu, DTNV)

KhachHang (MaKH, HodemKH, TenKH, GioiTinh,Phuong/xa, Quan/huyen, Tinh/TP, EmailKH, DTKH)

NhaCC (MaNCC, TenNCC,Phuong/xa, Quan/huyen, Tinh/TP, Fax) HangHoa (MaHH, MaNH, TenHH, DonViTinh)

QuanLyBP (MaBP, TenBP, TruongBP, NgayNC). BP_NV (MaBP, MaNV)

PhieuNK (MaPN, MaNCC, MaNV, TenGiaoHang, NgayPN) PN_HH (MaPN, MaHH, STT, SoLuongN, DonGiaN)

PhieuXK (MaPX, MaKH, MaNV, NgayPX)

PX_HH (MaPX, MaHH, STT, SoLuongX, DonGiaX) PhieuYC (MaPYC, MaNV, MaKH, NgayYC)

YC_HH (MaPYC, MaHH, STT, SoLuongYC, DonGiaX) QuanLyNH (MaNH, MaHH)

NhomHang (MaNH, TenNH) Mô hình quan hệ

Hình 3.16 Mô hình quan hệ

Một phần của tài liệu Phân tích và thiết kế hệ thống quản lý kho hàng tại Công ty TNHH TM-DV Á Châu (Trang 47)