.10 Mơ hình ca sử dụng (Use case) của hệ thống quản lý vật tư và nhà kho

Một phần của tài liệu LUẬN văn tốt NGHIỆP PHÂN TÍCH và THIẾT kế hệ THỐNG THÔNG TIN QUẢN lý vật tư và NHÀ KHO (Trang 50 - 57)

38

CHƯƠNG 6 : THIẾT KẾ CHI TIẾT

Trong chương này, sử dụng thông tin thu thập và thông qua quá trình thiết kế ở chương 4 và chương 5, sinh viên bắt đầu thiết kế cơ sỡ dữ liệu. Đầu tiên, sinh viên thiết kế mơ hình thực thể - liên kết ERD, sau đó sẽ chuẩn hóa các quan hệ từ ERD thành các bảng. Từ các bảng có được, sinh viên sử dụng phần mềm Microsoft SQL Server 2016 để tạo cơ sỡ dữ liệu cho hệ thống và tiến hành tạo dữ liệu mẫu để chạy thử phần mềm. Phần mềm mà sinh viên dùng để thiết kế giao diện cũng như chương trình là Windows Form Apps thuộc ứng dụng Microsoft Visual Studio 2017.

6.1 Thiết kế cơ sở dữ liệu

6.1.1 Xác định kiểu thực thể và kiểu thuộc tính

Sinh viên tổng hợp các kiểu thực thể và thuộc tính thuộc từng thực thể thành bảng như sau:

Bảng 6.1 Danh sách các kiểu thực thể và thuộc tính của thực thể

STT Kiểu thực thể Thuộc tính của thực thể

1 Kho Mã kho

Tên kho

2 Phân xưởng Mã phân xưởng

Tên phân xưởng

3 NCC Mã NCC Tên NCC Số điện thoại Địa chỉ 4 Vật tư Mã vật tư Tên vật tư Đơn vị tính Đơn giá Số lượng tồn kho

Số lượng tồn kho an toàn

5 Thành phẩm Mã thành phẩm

Tên thành phẩm

6 Nhân viên Mã nhân viên

Tên nhân viên Phân quyền Tên tài khoản Mật khẩu

39

Các thuộc tính được gạch dưới trong bảng trên thể hiện thuộc tính đó là thuộc tính khóa của kiểu thực thể

6.1.2 Xác định mối liên kết giữa các thực tể và thuộc tính liên kết.

Các động từ quan trọng thể hiện các chức năng chính của hệ thống gồm có: nhập, xuất, đặt hàng, báo giá. Ứng với từng động từ là các thực thể và thuộc tính liên kết như các bảng dưới đây:

Bảng 6.2 Mối quan hệ của các thực thể với liên kết “Nhập” Câu hỏi cho động từ

“NHẬP”

Trả lời

Thực thể Thuộc tính liên kết

Nhập cái gì Vật tư

Nơi nhập vật tư? Kho

Ai gửi vật tư đến để nhập? NCC

Ai nhận và nhập vật tư? Nhân viên

Mã phiếu nhập? Số phiếu nhập

Ngày nhập? Ngày nhập

Số lượng nhập? Số lượng nhập

Bảng 6.3 Mối quan hệ của các thực thể với liên kết “Xuất” Câu hỏi cho động từ

“Xuất”

Trả lời

Thực thể Thuộc tính liên kết

Xuất cái gì Vật tư

Nơi xuất vật tư? Kho

Xuất vật tư cho ai? Phân xưởng

Ai xuất vật tư? Nhân viên

Mã phiếu xuất? Số phiếu xuất

Ngày xuất? Ngày xuất

Số lượng xuất? Số lượng xuất

Lý do xuất Ghi chú

Bảng 6.4 Mối quan hệ của các thực thể với liên kết “ĐẶT HÀNG”

Câu hỏi cho động từ “ĐẶT HÀNG”

Trả lời

Thực thể Thuộc tính liên kết

40 Ai đặt hàng? Nhân viên Đặt hàng cái gì Vật tư Mã phiếu đặt hàng? Số phiếu đặt hàng Ngày đặt hàng? Ngày đặt hàng Số lượng đặt hàng Số lượng đặt

Bảng 6.5 Mối quan hệ của các thực thể với liên kết “BÁO GIÁ”

Câu hỏi cho động từ “BÁO GIÁ”

Trả lời

Thực thể Thuộc tính liên kết

Ai gửi báo giá? NCC

Báo giá cái gì Vật tư

Mã phiếu báo giá Số phiếu báo giá

Ngày báo giá? Ngày báo giá

Giá được báo?? Giá vật tư

Bảng 6.6 Mối quan hệ của các thực thể với liên kết “GỒM”

Câu hỏi cho động từ “GỒM”

Trả lời

Thực thể Thuộc tính liên kết

Cái gì bao gồm? Thành phẩm

Cái gì được bao gồm? Vật tư

Tham số tương ứng Định mức vật tư

6.1.3 Sơ đồ thực thể - liên kết ERD

Sau khi liệt kê các thực thể và các quan hệ tương ứng, sinh viên sẽ thiết kế mơ hình ERD bằng công cụ Microsoft Visio 2016, kết quả thiết kế như hình dưới đây:

41 Nhân viên Kho NCC Phân xưởng Vật tư NHẬP XUẤT ĐẶT HÀNG BÁO GIÁ Ngày đặt SL mua SP mua Mã PX Tên PX Mã NV Tên NV SĐT NV Mã VT Tên VT Đơn vị tính Đơn giá VT SLVT tồn SP báo giá Mã NCC Tên NCC SĐT NCC Địa chỉ SL nhập Ngày nhập SP nhập SL xuất Ngày xuất SP xuất Mã kho Tên kho Ngày báo giá Giá VT SLAT Mã TP Thành phẩm Tên TP Gồm Định mức VT Ghi chú Tiến độ

Hình 6.1 Mơ hình thực thể - liên kết (Entity Relationship Model)

6.1.4 Chuyển từ mơ hình ERD sang mơ hình quan hệ. 6.1.4.1 Chuyển các thực thể thành quan hệ 6.1.4.1 Chuyển các thực thể thành quan hệ

Sau khi xây dựng mơ hình ERD, sinh viên sẽ chuyển thực thể thành các quan hệ (bảng), trong đó các thuộc tính sẽ được ghi vắng tắt để tiện cho việc thiết kế cơ sở dữ liệu trong SQL Server.

KHO (Makho, Tenkho)

NCC (MaNCC, TenNCC, SĐT_NCC, Diachi)

VATTU (MaVT, TenVT, SLVT_Ton, DVT, Dongia, SLAT) THANHPHAM (MaTP, TenTP)

PHANXUONG (MaPX, TenPX)

NHANVIEN (MaNV, TenNV, SĐT_NV, Taikhoan, Matkhau, Quyen)

6.1.4.2 Chuyển các liên kết thành quan hệ

Vì các liên kết đều là loại liên kết nhiều – nhiều, nên để hình thành 1 quan hệ từ 1 liên kết, ta sẽ chuyển thuộc tính khóa của các thực thể liên quan vào liên kết kèm theo đó là các thuộc tính sẵn có của liên kết. Kết quả thu được:

PHIEUDATMUA (SPmua, Ngaymua, SLmua, MaNV, MaNCC, MaVT) BANGBAOGIA (SPbaogia, Ngaybaogia, GiaVT, MaNCC, MaNV, MaVT)

42

PHIEUNHAP (SPnhap, Ngaynhap, SLnhap, MaNCC, MaNV, MaVT, Makho) PHIEUXUAT (SPxuat, Ngayxuat, Ghichu, SLxuat, MaPX, MaNV, MaVT, Makho) BOM (MaTP, MaVT, Định mức VT).

Các thuộc tính được gạch chân nét đứt là thuộc tính khóa ngoại tham chiếu đến các thuộc tính khóa của quan hệ khác.

6.1.4.3 Chuẩn hóa các quan hệ tới chuẩn 3NF.

Các quan hệ được chuyển hóa từ thực thể đã đạt chuẩn 3NF nên sinh viên sẽ khơng thực hiện chuẩn hóa với các quan hệ này. Mặt khác, các quan hệ được chuyển từ các liên kết không đạt chuẩn 3NF nên sinh viên sẽ tiến hành chuẩn hóa các quan hệ này: PHIEUDATMUA, BANGBAOGIA, PHIEUNHAP, PHIEUXUAT.

Đối với quan hệ PHIEUDATMUA (SPmua, Ngaymua, SLmua, MaNV, MaNCC, MaVT), khơng có các thuộc tính đa trị nên quan hệ này đạt chuẩn 1NF. Ta lại có các phụ thuộc hàm:

SPmua, Mã VT → SLmua (1)

SPmua → Ngaymua, MaNV, MaNCC (2)

Quan hệ PHIEUDATMUA chưa đạt chuẩn 2NF vì có phụ thuộc hàm (2).Các thuộc tính (MaNV, MaNCC) là khóa ngoại để tham chiếu đến 2 quan hệ là NHANVIEN và NCC. Vậy ta sẽ chuẩn hóa quan hệ PHIEUDATMUA thành 2 quan hệ mới là: PHIEUDATMUA (SPmua, ngaymua, MaNV, MaNCC) và VTMUA (SPmua, MaVT, SLmua). Tới đây, ta đã được 2 quan hệ đạt chuẩn 2NF và thậm chí đạt chuẩn 3NF vì khơng có thuộc tính khơng khóa phụ thuộc vào thuộc tính khơng khóa khác.

Đối với quan hệ BANGBAOGIA (SPbaogia, Ngaybaogia, GiaVT, MaNCC, MaNV, MaVT), khơng có thuộc tính đa trị nên quan hệ này đã đạt chuẩn 1NF. Ta lại có các phụ thuộc hàm:

SPbaogia, MaVT → GiaVT (3)

SPbaogia→ Ngaybaogia, MaNV, MaNCC (4)

Quan hệ BANGBAOGIA chưa đạt chuẩn 2NF vì có phụ thuộc hàm (4).Các thuộc tính (MaNV, MaNCC) là khóa ngoại để tham chiếu đến 2 quan hệ là NHANVIEN và NCC. Vậy ta sẽ chuẩn hóa quan hệ BANGBAOGIA thành 2 quan hệ mới là: BANGBAOGIA (SPbaogia, ngaybaogia, MaNV, MaNCC) và VTBAOGIA (SPbaogia, MaVT, GiaVT). Tới đây, ta đã được 2 quan hệ đạt chuẩn 2NF và thậm chí đạt chuẩn 3NF vì khơng có thuộc tính khơng khóa phụ thuộc vào thuộc tính khơng khóa khác.

Đối với quan hệ PHIEUNHAP (SPnhap, Ngaynhap, SLnhap, MaNCC, MaNV, MaVT, Makho), khơng có thuộc tính đa trị nên quan hệ này đã đạt chuẩn 1NF. Ta lại có các phụ thuộc hàm:

SPnhap, MaVT → SLnhap (5)

SPnhap→ Ngaynhap, MaNV, MaNCC, Makho (6)

Quan hệ PHIEUNHAP chưa đạt chuẩn 2NF vì có phụ thuộc hàm (4).Các thuộc tính (MaNV, MaNCC, Makho) là khóa ngoại để tham chiếu đến 3 quan hệ là NHANVIEN, NCC, KHO. Vậy ta sẽ chuẩn hóa quan hệ PHIEUNHAP thành 2 quan hệ mới là: PHIEUNHAP (SPnhap, ngaynhap, MaNV, MaNCC, Makho) và VTNHAP (SPnhap, MaVT, SLnhap). Tới đây, ta đã được 2 quan hệ đạt chuẩn 2NF và thậm chí

43

đạt chuẩn 3NF vì khơng có thuộc tính khơng khóa phụ thuộc vào thuộc tính khơng khóa khác.

Đối với quan hệ PHIEUXUAT (SPxuat, Ngaynhap, Ghichu, SLxuat, MaPX, MaNV, MaVT, Makho), khơng có thuộc tính đa trị nên quan hệ này đã đạt chuẩn 1NF. Ta lại có các phụ thuộc hàm:

SPxuat, MaVT → SLxuat(7)

SPxuat→ Ngayxuat, Ghichu, MaNV, MaPX, Makho (8)

Quan hệ PHIEUNHAP chưa đạt chuẩn 2NF vì có phụ thuộc hàm (8).Các thuộc tính (MaNV, MaPX, Makho) là khóa ngoại để tham chiếu đến 3 quan hệ là NHANVIEN, PHANXUONG, KHO. Vậy ta sẽ chuẩn hóa quan hệ PHIEUNHAP thành 2 quan hệ mới là: PHIEUXUAT (SPxuat, ngaynhap, MaNV, MaPX, Makho) và VTXUAT (SPxuat, MaVT, SLxuat). Tới đây, ta đã được 2 quan hệ đạt chuẩn 2NF và thậm chí đạt chuẩn 3NF vì khơng có thuộc tính khơng khóa phụ thuộc vào thuộc tính khơng khóa khác.

Tóm lại, ta thu được các quan hệ sau bước chuẩn hóa cuối cùng gồm có: 1. KHO (Makho, Tenkho).

2. NCC (MaNCC, TenNCC, SĐT_NCC, Diachi)..

3. VATTU (MaVT, TenVT, SLVT_Ton, DVT, Dongia, SLAT).

4. THANHPHAM (MaTP, TenTP).

5. PHANXUONG (MaPX, TenPX).

6. NHANVIEN (MaNV, TenNV, SĐT_NV, Taikhoan, Matkhau, Quyen).

7. PHIEUDATMUA (SPmua, ngaymua, MaNV, MaNCC).

8. VTMUA (SPmua, MaVT, SLmua).

9. BANGBAOGIA (SPbaogia, ngaybaogia, MaNV, MaNCC). 10. VTBAOGIA (SPbaogia, MaVT, GiaVT).

11. PHIEUNHAP (SPnhap, ngaynhap, MaNV, MaNCC, Makho). 12. VTNHAP (SPnhap, MaVT, SLnhap).

13. PHIEUXUAT (SPxuat, ngaynhap, MaNV, MaPX, Makho). 14. VTXUAT (SPxuat, MaVT, SLxuat).

15. BOM (MaTP, MaVT, Định mức VT).

6.1.4.4 Mơ hình quan hệ (Relational model – RD)

Sau khi tổng kết các quan hệ thu được ở cuối phần 6.1.4.3, sinh viên sẽ tiến hành thiết kế mơ hình quan hệ trong SQL server:

44

Một phần của tài liệu LUẬN văn tốt NGHIỆP PHÂN TÍCH và THIẾT kế hệ THỐNG THÔNG TIN QUẢN lý vật tư và NHÀ KHO (Trang 50 - 57)

Tải bản đầy đủ (PDF)

(70 trang)