THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN CHO HỆ THỐNG
Cơ cấu,hoạt động của vật tư
Tổng Giám đốc là người đứng đầu quản lý vật tư, chịu trách nhiệm cho các hoạt động đối nội và đối ngoại trong kinh doanh vật tư Với chức năng cao nhất trong quản lý, Tổng Giám đốc giám sát toàn bộ hoạt động vật tư và phối hợp với phó Giám đốc để kiểm tra, đôn đốc thực hiện kế hoạch công tác cùng các quy tắc điều lệ nhằm đạt được mục tiêu quản lý kinh doanh hiệu quả.
Phó Giám đốc có trách nhiệm kiểm tra, đôn đốc và chỉ đạo các bộ phận hoàn thành công việc được giao Họ phối hợp hoạt động liên quan đến đồ dùng vật tư, giám sát chặt chẽ và phân công nhiệm vụ cho các cấp dưới để bảo quản vật tư một cách cẩn thận và kỹ lưỡng.
Thư ký là người đảm nhận trách nhiệm ghi chép sổ sách và quản lý giấy tờ, đồng thời thực hiện phiên dịch cho giám đốc và phó giám đốc trong các cuộc họp với đối tác nước ngoài.
Bộ phận nhân sự đóng vai trò quan trọng trong việc đảm bảo nguồn lực lao động cho vật tư luôn sẵn sàng Họ tìm kiếm và phân bổ các nguồn lao động một cách hợp lý để đạt hiệu quả tối ưu Đồng thời, bộ phận này cũng chịu trách nhiệm đào tạo và quản lý phúc lợi cho toàn thể nhân viên trong lĩnh vực vật tư.
Bộ phận kinh doanh có nhiệm vụ nghiên cứu thị trường, quảng bá và giới thiệu sản phẩm vật tư cả trong và ngoài nước, đồng thời nghiên cứu để đáp ứng nhu cầu cá nhân Họ thực hiện các hợp đồng, hoạt động kinh doanh, xác định phương hướng và chiến lược kinh doanh, cũng như đề xuất các biện pháp khắc phục nhược điểm và phát huy lợi thế trong hoạt động kinh doanh.
Bộ phận phục vụ và nhân viên giữ vai trò quan trọng trong việc đại diện cho vật tư, mở rộng mối quan hệ và tiếp xúc với khách hàng Họ không chỉ thu hút khách mà còn là cầu nối giữa khách với các bộ phận khác Lễ tân đóng vai trò trung tâm trong việc phối hợp mọi hoạt động của vật tư, bao gồm bán dịch vụ phòng nghỉ và các dịch vụ liên quan Nhân viên tham gia vào các hoạt động kinh doanh phòng ngủ như đón tiếp, bố trí phòng, giữ đồ và thanh toán Việc nắm vững thị hiếu của khách sẽ giúp tạo ấn tượng tốt đẹp và cảm nhận ban đầu tích cực cho khách hàng.
Bộ phận tài chính đảm nhiệm các công việc liên quan đến tiền lương, chứng từ và sổ sách kế toán, với chức năng ghi chép các giao dịch tài chính và giải thích báo cáo tài chính cho ban quản lý các bộ phận khác Ngoài ra, bộ phận này còn đảm nhận các nhiệm vụ liên quan đến kế toán giá thành và kiểm soát toàn bộ chi phí, góp phần vào việc quản lý tài chính hiệu quả trong tổ chức.
Bộ phận kiểm tra vật tư đóng vai trò quan trọng trong quy trình quản lý vật tư của doanh nghiệp, tổ chức và kiểm soát các hoạt động kiểm tra chất lượng Nguyên liệu chất lượng tốt là yếu tố quyết định đến sản phẩm đạt chất lượng cao, với các tiêu chí đánh giá như độ bền, độ chính xác, kích thước, hiệu suất và giá trị thẩm mỹ Đồng thời, bộ phận bảo vệ có nhiệm vụ đảm bảo an toàn cho vật tư, duy trì an ninh ổn định cả bên ngoài lẫn bên trong nguồn vật liệu.
- Bộ phận kỹ thuật: đảm bảo hệ thống kỹ thuật như máy móc, thiết bị được hoạt động tốt.
Bài toán
Qua khảo sát thực tế, nhiều nơi quản lý vật tư vẫn thực hiện công việc một cách thủ công, dẫn đến sự cần thiết phải giảm thiểu các công việc này nhằm nâng cao tính chính xác và tin cậy Để đạt được điều này, cần phải tìm hiểu kỹ các vấn đề cụ thể mà bài toán quản lý đặt ra và xác định các giải pháp hiệu quả Đối tượng cần quản lý bao gồm thông tin về tất cả khách hàng cùng với một số thông tin khác từ các bộ phận, phòng ban liên quan đến vật tư.
- Quản lý thông tin nhân viên
- Quản lý đơn đặt hàng
- Quản lý phiếu nhập xuất: kiểm tra định kỳ xem kho còn loại vật tư đó không
Thiết kế cơ sở dữ liệu tập trung cho hệ thống
Sau khi phân tích thông tin về hệ thống vật tư, chúng tôi tiến hành xây dựng và chuẩn hóa các thực thể liên quan.
Thuộc tính Mô tả MasoDDH Mã số đơn đặt hàng
NGAYSINH Ngày sinh nhân viên
Thực thể chi tiết đơn đặt hàng:
MasoDDH Mã số đơn đặt hàng
Thuộc tính chi tiết phiếu nhập:
HOTENKH Họ tên khách hàng
Thuộc tính chi tiết phiếu xuất:
1.3.2 Mô hình cơ sở dữ liệu tập trung
Thiết kế mô hình cơ sở dữ liệu phân tán cho hệ thống
Trong hệ thống quản lý vật tư, cơ sở dữ liệu được phân mảnh ngang để tạo thành ba mảnh dữ liệu đặt tại ba trạm khác nhau, dựa trên loại phòng, cùng với một trạm trung tâm dữ liệu.
+ Trạm 1: Loại kho HN (Hà Nội).
+ Trạm 2: Loại kho DN (Đà Nẵng).
+ Trạm 3: Loại kho HCM (Hồ Chí Minh).
+ Trạm 4: Trung tâm dữ liệu.
Trạm trung tâm (trạm 4) có khả năng truy cập dữ liệu từ tất cả các trạm, trong khi Trạm 1 chuyên quản lý và truy cập thông tin của các kho HN Đồng thời, Trạm 2 cũng đảm nhận việc quản lý và truy cập thông tin của các kho khác.
DN Trạm 3 quản lý và truy cập tới thông tin của các kho HCM.
Trạm trung tâm có quyền thêm, sửa, xóa thông tin cho tất cả các trạm Trong khi đó, trạm 1, trạm 2 và trạm 3 chỉ được phép quản lý và chỉnh sửa thông tin liên quan đến trạm của mình.
Phân mảnh dữ liệu
- Phân mảnh ngang quan hệ phòng có tập các vị từ cơ cấp K={K1,K2,K3}:
+ K1 : tenloaiphong là phòng đôi + K2 : tenloaiphong là phòng đơn + K3 : tenloaiphong là phòng VIP +Xét vị từ sơ cấp nhận thấy K1 phân hoạch quan hệ loại phòng: Kr’={K1}
+Xét vị từ sơ cấp nhận thấy K1 phân hoạch quan hệ loại phòng: Kr’={K1,K2}
+ Xét vị từ sơ cấp nhận thấy K1 phân hoạch quan hệ loại phòng: Kr’={K1,K2,K3}
+ Tập các vị từ sơ cấp : F=Kr’={K1,K2,K3}
Dựa vào tần suất sử dụng, khoảng cách địa lý và hoạt động của các hệ thống, sau đây là phương án đề xuất phân mảnh dữ liệu.
Trong hệ thống quản lý kho, phân mảnh cơ sở dữ liệu Quản lý vật tư (QLVT) thành từng mảnh như sau:
Máy chủ lưu trữ thông tin về nhà cung cấp và các kho, trong khi các kho chi nhánh được đặt tại ba máy trạm ở Hà Nội, Đà Nẵng và Hồ Chí Minh Những kho này chứa toàn bộ dữ liệu về vật tư, phiếu nhập, phiếu xuất, nhà cung cấp và nhân viên Để phân mảnh cơ sở dữ liệu từ máy chủ xuống ba máy trạm, cần chọn quan hệ tổng thể Kho làm tiêu chí phân mảnh, chia thành ba phần tương ứng với ba vị trí để quản lý các loại vật liệu tại kho Từ đó, sự phân mảnh của các quan hệ tổng thể còn lại sẽ được dẫn xuất dựa trên các mảnh của kho.
+ Phân rã quan hệ Kho thành các mảnh ngang VattuHN, VatLieuDN, VatLieuHCM… được định nghĩa như sau:
VatLieuDN= σKhoid= ’1’(VatLieu) VatLieuHN = σKhoid= ’2’(VatLieu) VatLieuHCM= σKhoid= ’3’(VatLieu)
Tương tự các kho chi nhánh ứng với các mã
+ Phân rã quan hệ NhanVien thành các mảnh ngang NhanVienHN, NhanVienTPHCM, … được định nghĩa như sau:
NhanVienHN = σKhoid = ’1’(NhanVien) NhanVienTPHCM = σKhoid=
- Phân rã quan hệ ChiNhanh thành các mảnh ngang:
+ ChiNhanhHN, ChiNhanh HCM, … được định nghĩa như sau:
ChiNhanhHN= σKhoid= ’1’(Vattu) ChiNhanhHCM = σKhoid= ’2(Vattu)
=> Tương tự đối với Phiếu nhập, xuất, đặt hàng
Phân mảnh ngang nguyên thủy trên quan hệ LOAIPHONG (Tram trung tâm) được chia thành ba mảnh ngang: LOAIKHO (Tram1), LOAIKHO (Tram2) và LOAIKHO (Tram3) Cụ thể, LOAIKHO (Tram1) được xác định bằng điều kiện σ tenkho = 'kho hn', LOAIKHO (Tram2) với σ tenkho = 'kho dn', và LOAIKHO (Tram3) với σ tenkho = 'kho hcm'.
Vị từ hội sơ cấp bao gồm nhiều loại cấu trúc như: k1˄ k2, k1˄ ┐k2, k1˄ k3, ┐k1˄ k3, k2˄ k3, k2˄ ┐k3, ┐k2˄ k3, ┐k1˄ k3, ┐k1˄ k2 Ngoài ra, còn có các dạng k1 ˄ ┐(k2 ˄ k3) tương đương với k1, k2 ˄ ┐(k1 ˄ k3) tương đương với k2, và k3 ˄ ┐(k1 ˄ k2) tương đương với k3 Những cấu trúc này cho thấy sự kết hợp và loại trừ giữa các vị từ thuộc cùng thuộc tính.
- Phân mảnh ngang dẫn xuất trên quan hệ DSKHO(Tram trung tam) thành 3 mảnh ngang như DSKHO (Tram 1), DSKHO (Tram 2), DSKHO (Tram 3) như sau:
DSKHO (tram1) = DSKHO LOAIKHO (tram1) DSKHO (tram2) = DSKHO LOAIKHO (tram2) DSKHO (tram3)= DSKHO LOAIKHO (tram3)
- Phân mảnh ngang dẫn xuất trên quan hệ CHITIETPHIEUNHAP(Tram trung tam) thành 3 mảnh ngang CHITIETPHIEUNHAP (Tram 1), CHITIETPHIEUNHAP (Tram 2), CHITIETPHIEUNHAP (Tram 3) như sau:
CHITIETPHIEUNHAP (tram1)= CHITIETPHIEUNHAP DSKHO (tram1)CHITIETPHIEUNHAP (tram2) = CHITIETPHIEUNHAP DSKHO (tram2)CHITIETPHIEUNHAP (tram3)= CHITIETPHIEUNHAP DSKHO (tram3)
Mô tả về sử dụng dữ liệu cho mỗi trạm
Chúng ta thực hiện phân mảnh ngang để chia hệ CSDL thành 3 mảnh tại 3 trạm khác nhau dựa vào loại kho, cùng với 1 trạm trung tâm dữ liệu Cấu trúc CSDL tại các trạm sẽ tương tự như trạm trung tâm, nhưng dữ liệu lưu trữ và sử dụng tại mỗi trạm là khác nhau Cụ thể, Trạm 1 chỉ lưu và sử dụng thông tin về "kho HN", Trạm 2 chỉ lưu và sử dụng thông tin về "kho DN", và Trạm 3 chỉ lưu và sử dụng thông tin về loại kho khác.
Tại máy chủ, chỉ có một tên đăng nhập duy nhất dành cho người quản lý, cho phép quản lý toàn bộ thông tin tài khoản của từng cơ sở Người quản lý có thể sử dụng phần mềm ứng dụng để cấp thêm tài khoản cho nhân viên hoặc các chi nhánh, đảm bảo tính linh hoạt và hiệu quả trong việc phân quyền người dùng.
Quản lý thông tin tài khoản cho từng cơ sở là rất quan trọng; việc cấp thêm tài khoản người dùng cho mỗi khu vực giúp tăng cường khả năng truy cập và quản lý Ngoài ra, việc cập nhật thông tin tài khoản thường xuyên và quyền xóa thông tin tài khoản khi cần thiết cũng góp phần nâng cao tính bảo mật và hiệu quả trong quản lý.
+Server có quyền thêm, cập nhật, xóa dữ liệu của từng cơ sở : Thông tin nhân viên, đơn hàng, chi nhánh, vật tư… ở các trạm.
+Tìm kiếm thông tin trên cơ sở dữ liệu của từng cơ sở hoặc tìm kiếm dữ liệu của cả 3 cơ sở để có thể so sánh.
Thống kê doanh thu, danh sách nhân viên, vật tư và các loại phiếu là những yếu tố quan trọng trong quản lý doanh nghiệp Cơ sở dữ liệu (CSDL) tại server được thiết lập để kết nối đến từng cơ sở thông qua hệ quản trị cơ sở dữ liệu phân tán SQL SERVER, giúp tối ưu hóa việc truy xuất và quản lý thông tin.
CSDL trên server bao gồm các thủ tục và hàm để thực hiện các thao tác truy xuất dữ liệu theo yêu cầu của người quản lý cho từng khu hoặc cả ba khu Kết quả sẽ được trả về qua hệ quản trị cơ sở dữ liệu và phần mềm ứng dụng, hiển thị trên màn hình.
- Trạm 1: kho Hà Nội + Phân quyền người dùng: cho phép hoặc hạn chế quyền sử dụng phần mềm ứng dụng tại loại kho “kho Hà Nội”.
+ Cho phép thêm, cập nhật, xóa dữ liệu : Thông tin nhân viên, đơn hàng, chi nhánh, vật tư… tại loại kho “kho Hà Nội”.
+ Tìm kiếm thông tin trên cơ sở dữ liệu của loại kho “kho Hà Nội”.
+ Thống kê tình hình doanh thu, vật tư của loại kho “kho Hà Nội”.
- Trạm 2: kho Đà Nẵng + Phân quyền người dùng: cho phép hoặc hạn chế quyền sử dụng phần mềm ứng dụng tại loại kho “kho Đà Nẵng”.
+ Cho phép thêm, cập nhật, xóa dữ liệu : Thông tin nhân viên, đơn hàng, chi nhánh, vật tư… tại loại kho “kho Đà Nẵng”.
+ Tìm kiếm thông tin trên cơ sở dữ liệu của loại kho “kho Đà Nẵng”.
+ Thống kê tình hình doanh thu, vật tư của loại kho “kho Đà Nẵng”.
- Trạm 3: kho Hồ Chí Minh +Phân quyền người dùng: cho phép hoặc hạn chế quyền sử dụng phần mềm ứng dụng tại loại kho “kho Hồ Chí Minh”.
- Cho phép thêm, cập nhật, xóa dữ liệu : Thông tin nhân viên, đơn hàng, chi nhánh, vật tư… tại loại kho “kho Hồ Chí Minh”.
- Tìm kiếm thông tin trên cơ sở dữ liệu của loại kho “kho Hồ Chí Minh”.
- Thống kê tình hình doanh thu, vật tư của loại kho “kho Hồ Chí Minh”.
XÂY DỰNG CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL
Cấu trúc các bảng dữ liệu
ChiNhanh nvarchar(100) Unique DIACHI nvarchar(100)
TENKHO nvarchar(30) Unique DIACHI nvarchar(100)
NGAY Date Default : ngay hien tai
GetDate() NhaCC Nvarchar(100) Ten cong ty, nha cung cap
6-Table CTDDH: chi tiet don dat hang
MasoDDH nchar (8) Foreign key, Unique
8 Table CTPN: chi tiết phiếu nhập hàng
HOTENKH nvarchar (100) Ho ten khach hang
10 Table CTPX: chi tiết phiếu xuất hàng
Mô hình cơ sở dữ liệu phân tán
Vật tư công ty có 3 chi nhánh: chi nhánh 1 (CN1), chi nhánh 2 (CN2), chi nhánh 3 (CN3).
Phân tán cơ sở dữ liệu QLVT ra làm 3 mảnh với điều kiện sau:
- QLVT được đặt trên server1: chứa thông tin của các phiếu phát sinh thuộc chi nhánh
1 - QLVT được đặt trên server2: chứa thông tin của các phiếu phát sinh thuộc chi nhánh
QLVT được lưu trữ trên server3, nơi chứa thông tin các phiếu phát sinh của chi nhánh 3 Server này hỗ trợ tra cứu thông tin nhân viên và kho hàng của cả hai chi nhánh, giúp quản lý dữ liệu một cách dễ dàng và chính xác Nhóm phát triển phần mềm sử dụng mô hình cơ sở dữ liệu phân tán để quản lý dữ liệu cho từng loại phòng.
Mỗi loại phòng sẽ sử dụng một phần mềm ứng dụng riêng, kèm theo một hệ quản trị cơ sở dữ liệu và cơ sở dữ liệu độc lập Các cơ sở dữ liệu này không liên kết với nhau mà chỉ kết nối đến Server.
Phần mềm ứng dụng trong mỗi phòng được liên kết với cơ sở dữ liệu của khu vực thông qua hệ quản trị cơ sở dữ liệu, cho phép người dùng cập nhật, thêm, xóa dữ liệu, tìm kiếm thông tin và xuất báo cáo Ngoài ra, phần mềm còn hỗ trợ thực hiện nhiều tác vụ khác, nâng cao hiệu quả quản lý và xử lý thông tin tại từng phòng.
Khi người dùng gửi yêu cầu truy xuất cơ sở dữ liệu qua phần mềm ứng dụng, yêu cầu này được chuyển đến hệ quản trị cơ sở dữ liệu phân tán thông qua kết nối giữa ứng dụng và hệ quản trị Hệ quản trị sau đó xác định vị trí chứa dữ liệu và thực hiện yêu cầu Sau khi hoàn tất, kết quả sẽ được gửi về và hiển thị trên giao diện phần mềm để người dùng có thể xem chi tiết hoặc xuất thông tin.
Máy chủ hoạt động theo mô hình tương tự như các loại phòng, bao gồm một phần mềm ứng dụng hoạt động độc lập trên máy chủ và một hệ quản trị cơ sở dữ liệu để quản lý dữ liệu tại máy chủ.
Cơ sở dữ liệu trên máy chủ được kết nối với từng loại phòng thông qua hệ quản trị cơ sở dữ liệu phân tán SQL SERVER.
Phần mềm ứng dụng trên server kết nối với cơ sở dữ liệu, cho phép người dùng xem, cập nhật, thêm và xóa dữ liệu liên quan đến các loại phòng vật tư Ngoài ra, phần mềm hỗ trợ quản lý tìm kiếm thông tin và thống kê dữ liệu cho từng loại phòng hoặc cả ba loại phòng, từ đó nâng cao độ chính xác trong công tác quản lý.
CSDL tại server được kết nối với ba cơ sở thông qua database link, sử dụng hệ quản trị cơ sở dữ liệu phân tán và môi trường mạng máy tính.
Khi người quản lý gửi yêu cầu truy xuất cơ sở dữ liệu (CSDL) thông qua giao diện phần mềm ứng dụng, yêu cầu này sẽ được chuyển đến CSDL server qua hệ quản trị CSDL Tại CSDL server, yêu cầu được thực hiện qua database link, kết nối đến CSDL của các cơ sở Kết quả từ cơ sở dữ liệu sẽ được trả về server và hiển thị trên giao diện phần mềm.
Một số truy vấn phân tán trong hệ quản trị cơ sở dữ liệu phân tán
+Tram1 là chứa loại kho có tên loại kho là “kho HN”
+Tram2 là chứa loại kho có tên loại kho là “kho DN”
+Tram3 là chứa loại kho có tên loại kho là “kho HCM”
+kHN01: Kho HN +kDN01: Kho DN +kHCM01: Kho HCM
+Truy vấn thông tin về tên kho “kho HN”
SELECT * FROM Kho WHERE tenkho = ‘kho HN’
+ Truy vấn thông tin về các nhân viên quản lý kho phân phối:
SELECT NhanVien.MANV, TEN, TrangThai FROM NHANVIEN, Kho
WHERE NhanVIen.MACN = Kho.MACN AND NhanVIen.MANV='5'
+ Truy vấn thông tin nhân viên có MANV= ‘6’ quản lý kho phân phối:
SELECT MANV, HO + ' ' + TEN AS HOTEN, NGAYSINH, DIACHI, LUONG, MACN
FROM dbo.NhanVien WHERE MANV = '6'