Điều đó bao gồm cơ sở dữ liệu phân tán CSDLPT nóiriêng và các hệ phân tán nói chung là một lĩnh vực được tìm hiểu từ lâu, tuy nhiên với sựphát triển nhanh chóng của công nghệ truyền thôn
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 thực hiện công tác đối nội và đối ngoại trong mọi hoạt động kinh doanh của vật tư Với chức năng cao nhất về quản lý vật tư, Tổng Giám đốc có khả năng bao quát toàn bộ hoạt động vật tư và phối hợp chặt chẽ với phó Giám đốc để kiểm tra, đôn đốc, vạch kế hoạch công tác cũng như thiết lập và thực thi các quy tắc điều lệ liên quan nhằm đạt được mục tiêu quản lý kinh doanh của vật tư.
Phó Giám đốc chịu trách nhiệm thường xuyên kiểm tra, đôn đốc và chỉ đạo các bộ phận thực hiện hoàn thành đúng tiến độ các công việc được giao Người đảm nhiệm vai trò này phối hợp hoạt động của các đồ dùng, vật tư, đồng thời chịu sự giám sát chặt chẽ và phân công nhiệm vụ cho cấp dưới nhằm bảo quản vật tư một cách cẩn thận và kĩ lưỡng, bảo đảm an toàn, tiết kiệm và hiệu quả trong quản lý tài sản của đơn vị.
Thư ký là người đảm nhận nhiệm vụ ghi chép sổ sách, ghi chú tài liệu và xử lý các giấy tờ quan trọng của công ty, đồng thời đảm nhận vai trò 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, nhằm đảm bảo thông tin được truyền đạt chính xác và sự phối hợp giữa các bên diễn ra suôn sẻ.
Bộ phận nhân sự chịu trách nhiệm đảm bảo nguồn nhân lực cho vật tư ở mọi thời điểm bằng cách tìm kiếm nguồn lao động cần thiết, phân bổ nguồn lực một cách hợp lý và hiệu quả, đồng thời đào tạo và quản lý phúc lợi cho toàn bộ nhân viên làm việc trong lĩnh vực vật tư Trong khuôn khổ quản trị nhân sự vật tư, bộ phận này thường xuyên dự báo nhu cầu nhân sự, tuyển dụng phù hợp, đánh giá hiệu suất và duy trì môi trường làm việc tích cực để tối ưu hóa hoạt động cung ứng và vận hành vật tư.
Bộ phận kinh doanh có chức năng tìm hiểu thị trường, tuyên truyền quảng bá và giới thiệu sản phẩm vật tư trong và ngoài nước, đồng thời nghiên cứu nhu cầu của khách hàng để phù hợp với từng đối tượng Thực hiện hợp đồng và điều hành hoạt động kinh doanh, đề ra phương hướng và chiến lược kinh doanh nhằm tối ưu hiệu quả thị trường, đồng thời đề xuất biện pháp khôi phục nhược điểm và phát huy lợi thế cạnh tranh Bộ phận này duy trì mối quan hệ với khách hàng và đối tác, đảm bảo sự phù hợp của sản phẩm với nhu cầu cá nhân và mở rộng thị trường.
Bộ phận phục vụ và nhân viên đại diện cho vật tư, mở rộng các mối quan hệ và tiếp xúc với khách hàng; họ đóng vai trò then chốt trong việc thu hút khách và là cầu nối giữa khách với các bộ phận khác trong vật tư Bộ phận lễ tân là trung tâm phối hợp mọi hoạt động của các bộ phận trong vật tư, đồng thời tham gia bán dịch vụ phòng nghỉ và các dịch vụ cho khách, và còn tham gia vào các hoạt động kinh doanh phòng ngủ như đón tiếp khách, bố trí phòng ngủ, giữ đồ cho khách và thanh toán Họ nắm vững thị hiếu của khách, tạo nên ấn tượng ban đầu tốt đẹp và để lại ấn tượng tích cực lâu dài.
Bộ phận tài chính chịu trách nhiệm thực hiện các công việc về tiền lương, chứng từ và sổ sách kế toán, đồng thời ghi chép các giao dịch tài chính và diễn giải báo cáo tài chính để cung cấp cho ban quản lý của các bộ phận khác Thông qua các báo cáo tài chính được diễn giải đúng đắn, bộ phận này hỗ trợ quá trình ra quyết định và giám sát tài chính cho toàn tổ chức Ngoài ra, bộ phận còn đảm nhận các chức năng liên quan đến vật tư như kế toán giá thành và kiểm soát toàn bộ chi phí nhằm tối ưu hóa chi phí và tăng hiệu quả vận hành.
Trong quy trình quản lý vật tư, bộ phận kiểm tra vật tư tổ chức và thực hiện các hoạt động kiểm tra chất lượng vật tư để đảm bảo nguyên liệu đạt chuẩn và ảnh hưởng đến chất lượng sản phẩm Các yếu tố đánh giá chất lượng như độ bền, độ chính xác, kích thước, hiệu suất và giá trị thẩm mỹ là những tiêu chí quan trọng giúp quản lý nguồn vật liệu phục vụ sản xuất Bộ phận bảo vệ có nhiệm vụ bảo đảm an toàn và an ninh cho vật tư, bằng cách duy trì ổn định an ninh bên ngoài và bên trong vật tư.
- 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ế cho thấy ở nhiều nơi việc quản lý vật tư vẫn còn phụ thuộc vào các quy trình thủ công, dẫn tới sai sót và giảm độ tin cậy Mục tiêu của đề tài này là giảm tối đa các công việc thủ công để nâng cao tính chính xác và tin cậy của quá trình quản lý vật tư, đồng thời đẩy mạnh tự động hóa và cải thiện năng suất Để làm được điều này, cần phân tích kỹ lưỡng các vấn đề cụ thể mà bài toán đặt ra và đề xuất các cách giải quyết phù hợp với từng bước thực thi Đối tượng quản lý bao gồm thông tin về tất cả khách hàng và một số dữ liệu khác của các bộ phận, phòng ban thuộc vật tư, nhằm xây dựng một hệ thống dữ liệu đồng nhất và dễ truy cập để phục vụ cho các quyết định và vận hành hiệu quả.
- 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
Phân tích thông tin về hệ thống vật tư cho phép chúng ta xây dựng và chuẩn hóa các thực thể liên quan, nhằm đảm bảo tính nhất quán của dữ liệu, dễ quản lý và tối ưu hóa quy trình vận hành Các thực thể được định nghĩa rõ ràng, phân loại trực quan và liên kết chặt chẽ với nhau trong hệ thống vật tư, giúp cải thiện chất lượng dữ liệu, tăng khả năng ra quyết định và tối ưu hóa chu trình cung ứng.
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ư, phân mảnh ngang nguyên thủy được áp dụng để phân tách hệ CSDL thành 3 mảnh riêng biệt, đặt tại 3 trạm dựa trên loại phòng, và có một trạm trung tâm dữ liệu đảm nhận lưu trữ và quản lý dữ liệu ở mức toàn cục.
+ 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.
Trong đó Trạm trung tâm (trạm 4) truy cập tới dữ liệu trên tất cả các trạm Trạm 1 quản lí và truy cập tới thông tin của các kho HN Trạm 2 quản lý và truy cập tới thông tin của các kho
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 thêm, sửa, xóa thông tin tại tất cả các trạm Còn trạm 1, trạm 2,trạm 3 chỉ được phép thêm, sửa, xóa thông tin thuộc trạm đấy quản lý.
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}:
+ 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:
+ Server chứa thông tin nhà cung cấp và các kho
Trong kiến trúc hệ thống phân tán, kho chi nhánh được đặt trên 3 máy trạm tại Hà Nội, Đà Nẵng và Hồ Chí Minh, lưu trữ toàn bộ thông tin 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, ta chọn quan hệ Kho làm tiêu chí phân mảnh và chia thành 3 mảnh đặt tại từng vị trí nhằm quản lý hiệu quả các loại vật liệu ở mỗi kho, sau đó sự phân mảnh của các quan hệ tổng thể còn lại sẽ được suy ra từ các mảnh Kho này.
+ 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)
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’2’(NhanVien)
- 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 (Trạm trung tâm) được chia thành ba mảnh LOAIKHO tại các tram1, tram2 và tram3 Cụ thể, LOAIKHO(tram1) là kết quả của phép chọn tenkho = 'kho hn' từ LOAIKHO; LOAIKHO(tram2) là kết quả của phép chọn tenkho = 'kho dn' từ LOAIKHO; LOAIKHO(tram3) là kết quả của phép chọn tenkho = 'kho hcm' từ LOAIKHO.
Vị từ hội sơ cấp mô tả các tổ hợp của ba vị từ k1, k2 và k3 dựa trên thuộc tính chung, và được phân loại thành các loại như k1 ∧ k2, k1 ∧ ¬k2, k1 ∧ k3, ¬k1 ∧ k3, k2 ∧ k3, và ¬k2 ∧ ¬k3, cùng với các trường hợp phủ định liên quan đến các cặp vị từ Các tổ hợp này cho thấy các vị từ thuộc cùng thuộc tính có thể ghép với nhau ở nhiều trạng thái khác nhau, trong khi các cấu trúc phức tạp hơn được mô tả bằng các biểu thức có phủ định để làm rõ mối quan hệ giữa k1, k2 và k3 trong hệ thống vị từ sơ cấp Những quy tắc này tạo nên khung lý thuyết nhất quán cho cách vị từ nhóm và liên kết với nhau dựa trên thuộc tính chung, phục vụ cho việc phân tích và tối ưu hoá nội dung theo chuẩn SEO.
- 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
Trong thiết kế này, phân mảnh ngang được thực hiện để chia hệ CSDL thành ba mảnh đặt ở ba trạm và một trạm trung tâm dữ liệu Cấu trúc CSDL tại các trạm tương đồng với trạm trung tâm, tuy nhiên dữ liệu được lưu trữ và khai thác tại mỗi trạm lại khác nhau Trạm 1 chỉ lưu trữ và khai thác thông tin về loại kho là kho HN; Trạm 2 chỉ lưu trữ và khai thác thông tin về loại kho là kho DN; Trạm 3 chỉ lưu trữ và khai thác thông tin về loại kho còn lại.
Phân quyền người dùng là giải pháp quản trị hệ thống hiệu quả: trên server chỉ có một tên đăng nhập dành cho người quản trị, đảm bảo kiểm soát tối đa Người quản trị có thể thao tác qua phần mềm ứng dụng để quản lý thông tin tài khoản của từng cơ sở, và cấp thêm tài khoản cho nhân viên hoặc cho các chi nhánh, từ đó thiết lập quyền truy cập phù hợp và tăng cường an toàn dữ liệu.
Quản lý thông tin tài khoản của từng cơ sở là nền tảng của hệ thống, cho phép cấp thêm tài khoản người dùng cho mỗi khu vực, cập nhật đầy đủ thông tin tài khoản khi có thay đổi và thực thi quyền xóa thông tin tài khoản khi cần thiết.
+ 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,thống kê danh sách nhân viên ,vật tư, các loại phiếu, …
+ CSDL tại server chứa database link kết nối đến CSDL của từng cơ sở thông qua hệ quản trị cơ sở dữ liệu phân tán SQL SERVER.
CSDL tại server chứa các thủ tục và hàm để thực hiện thao tác trên từng khu hoặc cả 3 khu khi có lệnh yêu cầu truy xuất dữ liệu từ người quản lý Kết quả trả về sẽ thông qua hệ quản trị cơ sở dữ liệu và phần mềm ứng dụng để hiển thị lên màn hình.
+ 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”.
+ 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
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 2.
QLVT được đặt trên server3, chứa thông tin của các phiếu phát sinh thuộc chi nhánh 3 Máy chủ này dùng để tra cứu thông tin của nhân viên và kho của cả hai chi nhánh, giúp quản lý dữ liệu dễ dàng và chính xác Nhóm xây dựng phần mềm dựa trên mô hình cơ sở dữ liệu phân tán nhằm quản lý dữ liệu của từng loại phòng, tăng cường hiệu quả và tính mở rộng của hệ thống.
Mỗi loại phòng có một ứng dụng riêng, một hệ quản trị cơ sở dữ liệu (DBMS) riêng và một cơ sở dữ liệu độc lập cho loại phòng đó Các cơ sở dữ liệu của từng loại phòng được thiết kế tách biệt và không liên kết với nhau, chỉ liên kết với Server để quản trị tập trung, nhằm tăng tính bảo mật và tối ưu hóa hiệu suất quản lý dữ liệu cho từng loại phòng.
Mỗi loại phòng có phần mềm ứng dụng được kết nối tới cơ sở dữ liệu của khu thông qua hệ quản trị cơ sở dữ liệu, cho phép cập nhật, thêm, xóa dữ liệu, tìm kiếm thông tin, xuất báo cáo và thực hiện các tác vụ quản trị dữ liệu khác ngay tại phòng.
Ở mỗi kho dữ liệu, khi người dùng gửi một yêu cầu truy xuất thông qua giao diện phần mềm, yêu cầu này được chuyển tới hệ quản trị cơ sở dữ liệu phân tán qua kết nối giữa ứng dụng và CSDL Hệ quản trị CSDL phân tán sẽ định vị dữ liệu và thực thi truy vấn tại các vị trí chứa thông tin trên nguồn dữ liệu phân tán Kết quả sau khi hoàn tất được trả về cho giao diện ứng dụng để người dùng xem chi tiết hoặc xuất thông tin theo nhu cầu.
Server có một mô hình tương tự như các loại hệ thống khác, gồm hai thành phần chính: phần mềm ứng dụng chạy riêng trên máy chủ và hệ quản trị cơ sở dữ liệu để quản trị cơ sở dữ liệu trên server Việc tách biệt hai thành phần này cho phép quản trị ứng dụng và dữ liệu trên server một cách riêng biệt.
Trên server, các cơ sở dữ liệu được liên kết với cơ sở dữ liệu của từng loại phòng thông qua hệ quản trị cơ sở dữ liệu phân tán SQL Server Quá trình liên kết này cho phép đồng bộ dữ liệu giữa các loại phòng và quản lý dữ liệu tập trung, giúp đảm bảo tính nhất quán và hiệu suất tra cứu Việc dùng hệ quản trị cơ sở dữ liệu phân tán SQL Server còn tối ưu hóa khả năng mở rộng, dễ tích hợp dữ liệu từ nhiều nguồn và hỗ trợ các báo cáo, phân tích liên quan đến quản lý phòng một cách nhanh chóng và đáng tin cậy.
Phần mềm ứng dụng chạy trên server kết nối tới cơ sở dữ liệu nội bộ, cho phép xem dữ liệu của các loại phòng chứa vật tư và thực hiện cập nhật, thêm mới và xóa dữ liệu ở từng loại phòng Nó cũng hỗ trợ quản trị viên trong việc tìm kiếm thông tin theo từng loại phòng, thực hiện thống kê dữ liệu cho từng loại hoặc cho cả ba loại để so sánh và nâng cao tính chính xác của công tác quản lý.
CSDL trên server được liên kết với ba cơ sở dữ liệu khác thông qua database link, nhờ hệ quản trị cơ sở dữ liệu phân tán và môi trường mạng máy tính Quá trình liên kết này tối ưu hóa trao đổi dữ liệu, đồng bộ thông tin và tăng độ sẵn sàng của hệ thống.
Trên máy chủ, khi quản trị viên gửi yêu cầu truy xuất CSDL từ giao diện phần mềm ứng dụng, yêu cầu này được chuyển đến hệ quản trị CSDL (DBMS) để thực thi Tại máy chủ CSDL, yêu cầu được thực hiện thông qua database link (đường dẫn kết nối các CSDL) kết nối tới CSDL của cơ sở đích Nhờ database link, truy vấn được thực hiện tại cơ sở dữ liệu cần truy vấn và kết quả sẽ được trả về cho máy chủ rồi hiển thị trên giao diện của 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”
+ 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
WHERE NhanVIen.MACN = Kho.MACN
+ 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