Đ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
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT
KHOA CÔNG NGHỆ THÔNG TIN
GIÁO VIÊN HƯỚNG DẪN: ĐẶNG KIM ANH
NHÓM SINH VIÊN THỰC HIÊN: NGÔ ANH TUẤN
ĐÀO HUY NHẬT MINH HOÀNG MINH CÔNG THÂN VĂN HOÀNG NGUYỄN ĐÌNH NGHĨA TỐNG ĐĂNG VƯƠNG LỚP: 71DCTT22 – Nhóm 1
HÀ NỘI 10-2022
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Giáo viên hướng dẫn Đặng Kim Anh
Trang 3* Nhiệm vụ phân công của thành viên:
STT Họ tên thành
Sự đóng góp(100%) Ghi chú
Trang 4MỤC LỤC
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2
* Nhiệm vụ phân công của thành viên: 3
MỤC LỤC 4
DANH MỤC HÌNH ẢNH 6
LỜI MỞ ĐẦU 7
MỤC TIÊU, PHƯƠNG PHÁP, NHIỆM VỤ VÀ Ý NGHĨA ĐỀ TÀI 8
CHƯƠNG 1 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN CHO HỆ THỐNG 9
1.1 Cơ cấu,hoạt động của vật tư: 9
1.2 Bài toán: 11
1.3 Thiết kế cơ sở dữ liệu tập trung cho hệ thống 11
1.4 Thiết kế mô hình cơ sở dữ liệu phân tán cho hệ thống: 15
1.5 Phân mảnh dữ liệu 16
1.6 Mô tả về sử dụng dữ liệu cho mỗi trạm 17
CHƯƠNG 2 XÂY DỰNG CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL 20
2.1 Cấu trúc các bảng dữ liệu 20
Field Name 20
Constraint 20
Field Name 20
Constraint 20
2.2 Mô hình cơ sở dữ liệu phân tán 23
2.3 Một số truy vấn phân tán trong hệ quản trị cơ sở dữ liệu phân tán 26
KẾT LUẬN 33
TÀI LIỆU THAM KHẢO 34
DANH MỤC HÌNH ẢNH
No table of figures entries found.
Trang 6LỜI MỞ ĐẦU
Cùng với sự phát triển chung của công nghệ thông tin trong thời kì công nghệ 4.0ngày nay, ta đã có thể cập nhật và sáng tạo ra các ứng dụng, phần mềm để có thể hỗ trợ nhucầu của người dùng, đáp ứng đủ mọi mặt cung cấp các sản phẩm để giao dịch Điều đó nhằm
hỗ trợ các người sử dụng hay cụ thể đó là khách hàng (customer), thấy rõ được sự trao đổi,
có thể đánh giá , hỗ trợ trong ngành CNTT và cũng như là có được nhu cầu người dùng.CNTT trở thành một nhân tố quan trọng trong sản xuất và phát triển kinh tế toàn xã hộivới phạm vi toàn cầu Cùng với đó mạng máy tính trở thành công cụ đắc lực không thể thiếucho bất kỳ một tổ chức xã hội nào Đ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ông tin và sự lan truyền mạnh mẽ của mạngInternet, cùng với xu thế toàn cầu hóa trong mọi lĩnh vực, CSDLPT đã trở thành một lĩnhvực thu hút nhiều sự quan tâm của các nhà nghiên cứu trong lĩnh vực CNTT Và trong bàitập lớn này em xin tìm hiểu cách xử lý tổng quát nhất của truy vấn trong CSDLPT Và điều
đó đã làm nhóm em bắt tay và quyết tâm làm bài và giải đáp được những câu hỏi mà mọingười có thể đề ra Tuy bài làm của nhóm còn thiếu hay sai sót, sự sắp xếp bố cục nội dung
và các lỗi cú pháp, nhưng nhóm em sẽ cố gắng hoàn chỉnh và làm hết sức có thể Đề 30 –quản lí vật tư
Trang 7MỤC TIÊU, PHƯƠNG PHÁP, NHIỆM VỤ VÀ Ý NGHĨA ĐỀ TÀI
Mục tiêu:
+ Tìm hiểu xử lý truy vấn
+ Đưa ra được
Phương pháp nghiên cứu:
- Đối tượng cần nghiên cứu là thông tin về tất cả các khách hàng và một số các thông tinkhác của các bộ phận, phòng ban thuộc vật tư gồm:
+ Quản lý thông tin khách hàng
+ Quản lý thông tin nhân viên,quản lý
+ Quản lý giao dịch : thuê phòng, đặt phòng
+ Quản lý thông tin loại phòng
+ Quản lý dịch vụ
+ Quản lý thanh toán : thanh toán trả phòng và thanh toán định kỳ
Nhiệm vụ của đề tài:
+ Qua khảo sát thực tế ta thấy công việc quản lý ở rất nhiều các vật tư còn thực hiện khá thủ công Do vậy mục đích của đề tài này là giảm tới mức tối thiểu các công việc thủ công để đảm bảo tính chính xác, tin cậy của công việc Tuy nhiên để làm tốt việc đó cần tìm hiểu kỹ những vấn đề cụ thể mà bài toán đặt ra và cách giải quyết các vấn đề đó
Ý nghĩa của đề tài:
+ Quản lý được các trạm và dữ liệu, làm tối ưu hóa các dữ liệu để thống kê một cách cụ thể
và hoàn chỉnh của vật tư
Trang 8CHƯƠNG 1 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN CHO HỆ THỐNG
1.1 Cơ cấu,hoạt động của vật tư:
- Tổng Giám đốc : Là người đứng đầu trong quản lý vật tư, chịu trách nhiệm thực hiệncông tác đối nội và đối ngoại trong mọi hoạt động kinh doanh của vật tư Là người có chứcnăng cao nhất về quản lý vật tư, có chức năng bao quát chung toàn bộ hoạt động của vật tư,phối hợp với sự hoạt động với phó Giám đốc kiểm tra đôn đốc vạch kế hoạch công tác vàcác quy tắc điều lệ tương ứng xoay quanh mục tiêu quản lý kinh doanh của vật tư
- Phó Giám đốc: Thường xuyên kiểm tra đôn đốc và chỉ đạo các bộ phận thực hiệnhoàn thành công việc được giao Phối hợp sự hoạt động trong các đồ dùng vật tư, được giámsát chặt chẽ và là người phân công cho các chức dưới để bảo quản vật tư một cách cẩn thận
Bộ phận kinh doanh: có chức năng thực hiện việc tìm hiểu thị trường, tuyên truyềnquảng bá và giới thiệu sản phẩm của vật tư trong và ngoài nướccùng với sự nghiên cứuphù hợp với nhu cầu cá nhân Thực hiện Hợp đồng, hoạt động kinh doanh và đề ra phươnghướng, chiến lược kinh doanh, đề ra biện pháp khôi phục những nhược điểm và phát huylợi thế trong kinh doanh
Trang 9- Bộ phận phục vụ, nhân viên: có chức năng đại diện cho vật tư trong mở rộng các mốiquan hệ, tiếp xúc với khách Có vai trò quan trọng trong việc thu hút khách, làm cầu nối liên
hệ giữa khách với các bộ phận khác trong vật tư Bộ phận lễ tân đóng vai trò là trung tâmphối hợp mọi hoạt động của các bộ phận trong vật tư Bán dịch vụ phòng nghỉ và các dịch vụcho khách, tham gia vào các hoạt động kinh doanh phòng ngủ của vật tư như: đón tiếpkhách, bố trí phòng ngủ, giữ đồ cho khách, thanh toán, Nắm vững thị hiếu của khách, tạonên cảm nhận ban đầu tốt đẹp và để lại ấn tuợng cho khách
- Bộ phận tài chính: chuyên thực hiện về các công việc như tiền lương, chứng từ, sổsách kế toán Có chức năng là ghi chép các giao dịch về tài chính và các diễn giải các báocáo tài chính cung cấp cho ban quản lý của các bộ phận khác Ngoài ra, còn các chứcnăng liên quan đến các lĩnh vực khác của vật tư như kế toán giá thành, kiểm soát toàn bộchi phí
- Bộ phận kiểm tra vật tư: Tổ chức,lo liệu các hoạt động kiểm tra chất lượng vật tư cũng là yếu tố quan trọng trong quy trình quản lý vật tư trong doanh nghiệp Nguyên liệu chất lượng tốt sẽ dẫn đến các sản phẩm đạt chất lượng tốt Các yếu tố như độ bền, độ chính xác, kích thước, hiệu suất hay giá trị thẩm mỹ đều có thể là yếu tố đánh giá chất lượng quantrọng để quản lý nguồn vật liệu ứng dụng trong sản xuất Bộ phận bảo vệ: có nhiệm vụ bảo đảm an toàn trong vật tư Đảm bảo an ninh luôn ổn định bên ngoài và 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
Trang 101.2 Bài toán:
Qua khảo sát thực tế ta thấy công việc quản lý ở rất nhiều các nơi quản ly vật tư cònthực hiện khá thủ công Do vậy mục đích của đề tài này là giảm tới mức tối thiểu các côngviệc thủ công để đảm bảo tính chính xác, tin cậy của công việc Tuy nhiên để làm tốt việc
đó cần tìm hiểu kỹ những vấn đề cụ thể mà bài toán đặt ra và cách giải quyết các vấn đề đó.Đối tượng cần quản lý là thông tin về tất cả các khách hàng và một số các thông tinkhác của các bộ phận, phòng ban thuộc vật tư gồm:
- Quản lý thông tin nhân viên
- Quản lý kho
- Quản lý vật tư
- Quản lý chi nhánh
- 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
1.3 Thiết kế cơ sở dữ liệu tập trung cho hệ thống
1.3.1 Phân tích thực thể
Sau khi phân tích thông tin về hệ thống của vật tư ta tổ chức xây dựng các thực thể
và chuẩn hóa chúng được các thực thể như sau:
Trang 11TENVT Tên vật tư
Thực thể đặt hàng:
Thuộc tính Mô tảMasoDDH Mã số đơn đặt hàng
NGAYSINH Ngày sinh nhân viên
Trang 131.3.2 Mô hình cơ sở dữ liệu tập trung
Trang 141.4 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ư, ở đây phân mảnh ngang nguyên thủy để chia hệ CSDLthành 3 mảnh đặt ở 3 trạm dựa vào loại phòng và 1 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
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ý
+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ànhtừng mảnh như sau:
+ Server chứa thông tin nhà cung cấp và các kho
+ Kho chi nhánh đặt trên 3 máy trạm (kho Hà Nội, kho Đà Nẵng, kho Hồ Chí Minh):chứa toàn bộ thông tin vật tư, phiếu nhập, phiếu xuất , nhà cung cấp , nhân viên
Để phân mảnh cơ sở dữ liệu từ máy chủ xuống 3 máy trạm, chọn quan hệ tổng thể Kholàm tiêu chí để phân mảnh, phân thành 3 mảnh đặt tại 3 vị trí để quản lý các loại vật liệu tạikho, sau đó dựa vào các mảnh của kho sẽ dẫn xuất đến sự phân mảnh của các quan hệtổng thể còn lại
Trang 15+ 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=
’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 (Tram trung tam) thành 3 mảnh ngang như sau LOAIKHO (Tram1), LOAIKHO (Tram2), LOAIKHO (Tram3):
o LOAIKHO (tram1) = σ tenkho =’kho hn’(LOAIKHO)
o LOAIKHO (tram2) = σ tenkho =’kho dn’(LOAIKHO)
o LOAIKHO (tram3) = σ tenkho =’kho hcm’(LOAIKHO)
Trang 17- 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)
1.6 Mô tả về sử dụng dữ liệu cho mỗi trạm
- Ở đây ta thực hiện phân mảnh ngang để chia hệ CSDL thành 3 mảnh đặt ở 3 trạmdựa vào loại kho và 1 trạm trung tâm dữ liệu Do đó cấu trúc CSDL tại các trạm sẽ giốngtrạm trung tâm Tuy nhiên dữ liệu được lưu trữ và sử dụng tại các trạm lại khác nhau VớiTrạm 1 chỉ lưu và sử dụng thông tin về loại kho là “kho HN”, Trạm 2 chỉ lưu và sử dụngthông tin về loại kho là “kho DN” và Trạm 3 chỉ lưu và sử dụng các thông tin về loại kho
“kho HCM”
- Server
+Phân quyền người dùng: tại server chỉ có một tên đăng nhập duy nhất dành cho ngườiquản lý server Người quản lý thông qua phần mềm ứng dụng có thể quản lí thông tin tàikhoản của từng cơ sở; cấp thêm tài khoản cho nhân viên hoặc các chi nhánh
Trang 18+ Quản lý thông tin tài khoản của từng cơ sở; cấp thêm tài khoản người dùng cho mỗikhu, cập nhật thông tin tài khoản và có quyền xóa thông tin tài khoản.
+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, các 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
+ 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”
+ 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”
Trang 19- 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”
Trang 20CHƯƠNG 2 XÂY DỰNG CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG HỆ QUẢN TRỊ CƠ
SỞ DỮ LIỆU SQL 2.1 Cấu trúc các bảng dữ liệu
1 Table ChiNhanh:
ChiNhanh nvarchar(100) Unique
DIACHI nvarchar(100)
2 Table Nhanvien
TENKHO nvarchar(30) Unique
DIACHI nvarchar(100)
Trang 214 Table Vattu:
5 Table DatHang:
GetDate()NhaCC Nvarchar(100) Ten cong ty, nha cung cap
6-Table CTDDH: chi tiet don dat hang
Khóa chính: MasoDDH +MAVT
7 Table PhieuNhap:
MasoDDH nchar (8) Foreign key, Unique
Trang 228 Table CTPN: chi tiết phiếu nhập hàng
Khóa chính: MAPN +MAVT
9 Table PhieuXuat:
HOTENKH nvarchar (100) Ho ten khach hang
10 Table CTPX: chi tiết phiếu xuất hàng
Khóa chính: MAPX +MAVT
Trang 232.2 Mô hình cơ sở dữ liệu phân tán
Trang 24Vậ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ánh1
- QLVT được đặt trên server2: chứa thông tin của các phiếu phát sinh thuộc chi nhánh2
- 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.Server này dùng để tra cứu thông tin của nhân viên, kho của cả 2 chi nhánh, quản lý được
dễ dàng và chính xác thông tin nhóm xây dựng phần mềm dựa trên mô hình cơ sở dữ liệu phântán để quản lý dữ liệu của từng loại phòng:
+Mỗi loại phòng sẽ có một phần mềm ứng dụng, một hệ quản trị cơ sở dữ liệu và một
cơ sở dữ liệu độc lập của riêng loại phòng đó, cơ sở dữ liệu của từng loại phòng không đượctạo liên kết với nhau mà chỉ tạo liên kết đến Server
+Phần mềm ứng dụng ở mỗi loại phòng được kết nối đến cơ sở dữ liệu của khu đóthông qua hệ quản trị cơ sở dữ liệu Phần mềm ứng dụng 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 tại phòng đó và thực hiện một số tác vụ khác
+Ở mỗi loại kho: Khi người dùng thực hiện một yêu cầu truy xuất cơ sở dữ liệu thôngqua giao diện phần mềm ứng dụng; yêu cầu này sẽ được phần mềm ứng dụng gửi đến hệquản trị cơ sở dữ liệu phân tán thông qua kết nối chương trình ứng dụng và hệ quản trịCSDL; sau đó hệ quản trị CSDL phân tán yêu cầu đến vị trí chứa dữ liệu của cơ sở đó Thựchiện xong yêu cầu, kết quả sẽ được gửi về và đưa lên giao diện phần mềm ứng dụng đểngười dùng có thể xem chi tiết hoặc xuất thông tin
+Server cũng có mô hình tương tự như ở các loại phòng gồm có: một phần mềm ứngdụng chạy riêng tại server, một hệ quản trị cơ sở dữ liệu để quản trị cơ sở dữ liệu tại server
Cơ sở dữ liệu tại server được tạo liên kết đến 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
+Phần mềm ứng dụng tại server được kết nối đến cơ sở dữ liệu tại server với chức năngxem dữ liệu của các loại phòng của vật tư, cập nhật, thêm, xóa dữ liệu ở các loại phòng.Phần mềm tại server cũng giúp người quản lý tìm kiếm thông tin tại mỗi loại phòng, thống
kê dữ liệu cho từng loại phòng hoặc cho cả 3 loại phòng để có thể so sánh và làm công tácquản lý được chính xác hơn
+CSDL tại server được tạo liên kết đến 3 cơ sở bằng database link thông qua hệ quảntrị cơ sở dữ liệu phân tán và môi trường mạng máy tính