HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CNTT 1
BÀI TẬP LỚN
CƠ SỞ DỮ LIỆU PHÂN TÁN
Chủ Đề: Xây dựng hệ thống cơ sở dữ liệu phân tán cho
Trang 3LỜI CẢM ƠN
Đầu tiên, chúng em xin gửi lời cảm ơn sâu sắc đến Học viện nghệ Bưu chính Viễn thông và khoa CNTT1 đã đưa môn học Cơ sở dữ liệu phân tán vào trong chương trình giảng dạy Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn Phan Thị Hà đã dạy dỗ, rèn luyện và truyền đạt những kiến thức quý báu cho chúng em trong suốt thời gian học tập vừa qua.
Trong thời gian được tham dự lớp học của cô, chúng em đã được tiếp thu thêm nhiều kiến thức bổ ích, học tập được tinh thần làm việc hiệu quả, nghiêm túc Đây thực là những điều rất cần thiết cho quá trình học tập và công tác sau này của em Thêm vào đó, nhờ sự dẫn dắt và chỉ bảo của cô, chúng em đã thực hiện được một đề tài bài tập lớn hoàn chỉnh cho môn học này, chúng em rất biết ơn điều đó.
Em xin chân thành cám ơn, chúc cô luôn khỏe mạnh và tiếp tục đạt được nhiều thành công trong cuộc sống ạ
Trang 4Máy chủ 1. Hiển thị toàn bộ nhân viên 2 Thêm, xem, sửa, xóa nhân
1 Hiển thị thông tin nhân viên của trụ sở Quảng Ninh và số lượng giao dịch mà nhân viên đó thực hiện. 2 Thêm, sửa, xóa, tìm kiếm nhân viên tại trụ sở Quảng
1 Hiển thị thông tin nhân viên của trụ sở Hà Nội và số lượng giao dịch mà nhân viên đó thực hiện.
2 Thêm, sửa, xóa, tìm kiếm nhân viên tại trụ sở Hà Nội
1 Hiển thị thông tin nhân viên của trụ sở Huế và số lượng giao dịch mà nhân viên đó thực hiện.
2 Thêm, sửa, xóa, tìm kiếm nhân viên tại trụ sở Huế
1 Hiển thị thông tin nhân viên của trụ sở Nha Trang và số
1 Viết 3 trigger riêng cho máy
Trang 62.Thêm, sửa, xóa, tìm kiếm nhân viên tại trụ sở Nha
1 Hiển thị thông tin nhân viên của trụ sở Đà Nẵng và số lượng giao dịch mà nhân viên đó thực hiện. 2 Thêm, sửa, xóa, tìm kiếm nhân viên tại trụ sở
1 Hiển thị thông tin nhân viên của trụ sở Thái Bình và số lượng giao dịch mà nhân viên đó thực hiện 2 Thêm, sửa, xóa, tìm kiếm
nhân viên tại trụ sở Thái
1 Hiển thị thông tin nhân viên của trụ sở Ninh Bình và số lượng giao dịch mà nhân viên đó thực hiện 2 Thêm, sửa, xóa, tìm kiếm
nhân viên tại trụ sở Ninh
Trang 7CHƯƠNG 1: ĐẶT VẤN ĐỀ
I Giới Thiệu.
1.Nhu c u và t m quan tr ng c a d ánầu và tầm quan trọng của dự ánầu và tầm quan trọng của dự ánọng của dự ánủa dự ánự án
Thế giới ngày càng hội nhập, tạo ra cho doanh nghiệp thêm rất nhiều cơ hội Một trong những cơ hội đó là mở rộng thị trường kinh doanh thành các chi nhánh đặt tại nhiều địa điểm khác nhau, nhằm xây dựng hệ thống làm việc chuyên nghiệp, phục vụ và đáp ứng tốt nhất yêu cầu của người dùng nhằm tối đa hoá lợi nhuận, mang lại hiệu quả kinh tế cao nhất.
Tuy nhiên, việc mở rộng thành các chuỗi chi nhánh gây khó khăn cho việc quản lý khi số lượng các giao dịch và mặt hàng tăng lên, khi đó khối lượng công việc theo từng ngày sẽ rất lớn lên rất nhanh Việc đặt cơ sở dữ liệu nội bộ tại các chi nhánh lại rất tốn kém và đem lại nhiều bất hợp lý Trong những năm gần đây, thuật ngữ CSDL phân tán
đã trở nên gần gũi với những người làm công tác tin học Việc ứng dụng CSDL phân tán vào các lĩnh vực đời sống xã hội, vào các ngành kinh doanh, hàng không, đường sắt, thương mại, … làm giảm thiểu tối đa chi phí quản lý dữ liệu cũng như giúp người sử dụng có thể mua nhanh chóng và thuận tiện hơn.
Việc xây dựng CSDL phân tán cho chuỗi cửa hàng bán sách làm đơn giản hóa việc lập các hóa đơn thống kê doanh thu cũng như việc lưu trữ chúng, cung cấp thông tin nhan chóng và chính xác, phục vụ hữu hiệu cho việc quản lý và phát triển của chuỗi cửa hàng.
Hệ thống quản lý cơ sở dữ liệu các chi nhánh bán sách phục vụ cho việc quản lý thông tin nhân viên, thông tin các loại sách và quản lý các giao dịch, quản lý doanh thu cũng như số lượng sách được bán tại từng chi nhánh.
Các chi nhánh có thể sử dụng toàn bộ dữ liệu của cả hệ thống và chuỗi cửa hàng để quản lý được dữ liệu của mình Khách hàng có thể thực hiện giao dịch đặt mua sách tại tất cả các chi nhánh trên cả nước.
2.S lơ lược về dự án ược về dự ánc v d ánề dự án ự án
- Nhà xuất bản là dữ liệu chung của hệ thống - sẽ được cập nhật tại máy chủ.
- Chi nhánh, nhân viên, sản phẩm, khách hàng và giao dịch là dữ liệu riêng của từng trạm và có thể cập nhật tại máy trạm và máy chủ.
Trang 8- Dự án được triển khai với 1 vùng quản lý và 7 vùng xử lý a) Trụ sở chính Hồ Chí Minh: nơi đặt máy chủ:
- Chức năng: quản lý dữ liệu toàn hệ thống - Dữ liệu: tất cả dữ liệu.
- Nguồn dữ liệu: được nhân viên nhập cũng như các máy trạm trả về - Dữ liệu vận chuyển đến: các máy trạm.
- Đối tượng sử dụng: nhân viên quản lý hệ thống, được phép quản lý( thêm, sửa,
- Dữ liệu: chi nhánh, nhân viên, giao dịch, sản phẩm và khách hàng và thông tin dữ liệu chung: nhà xuất bản.
- Nguồn dữ liệu: được nhân viên nhập cũng như máy chủ gửi đến - Dữ liệu vận chuyển đến: máy chủ.
- Đối tượng sử dụng: nhân viên tại chi nhánh, quản lý tại chi nhánh, tổng giám đốc.
II Vị trí và nhiệm vụ, dữ liệu khi triển khai dự án
Dự án được triển khai với 1 máy chủ tại 7 trụ sở trong đó:
+ Vị trí 1: Server tổng đặt tại Thành phố Hồ Chí Minh, dùng để quản lý CSDL
Trang 9+ Vị trí 7: máy trạm đặt tại Thái Bình chứa thông tin của trụ sở đó: ChiNhanh, NhanVien, GiaoDich.
+ Vị trí 8: máy trạm đặt tại Ninh Bình chứa thông tin của trụ sở đó: ChiNhanh, NhanVien, GiaoDich.
III Các đối tượng tham gia sử dụng dự án.
a) Nhân viên bán hàng tại chi nhánh
- Xem thông tin giao dịch, khách hàng, sản phẩm - Quản lý thông tin giao dịch, khách hàng.
b) Nhân viên quản lý chi nhánh
- Xem thông tin giao dịch, khách hàng, sản phẩm, nhân viên - Quản lý thông tin giao dịch, khách hàng, nhân viên.
- Xem thông tin sản phẩm, nhà xuất bản - Tạo báo cáo thống kê của chi nhánh c) Tổng giám đốc
- Truy cập các dữ liệu có trong hệ thống, cũng như có tất cả các quyền của các đối tượng trên.
- Quản lý thông tin của tất cả dữ liệu - Xem báo cáo chung của các chi nhánh.
Trang 10CHƯƠNG 2: PHÂN TÍCH
I Các chức năng chính của hệ thống trong dự án
- Quản lý thông tin nhân viên - Quản lý thông tin khách hàng - Quản lý thông tin nhà xuất bản - Quản lý thông tin sản phẩm( sách) - Thống kê doanh thu
II Phân quyền cho các nhóm đối tượng thực hiện dự án
a) Nhân viên bán hàng tại chi nhánh - Thêm, sửa thông tin giao dịch
- Xem thông tin sản phẩm, nhà xuất bản b) Nhân viên quản lý chi nhánh
- Thêm, sửa, xóa thông tin giao dịch
- Thêm, sửa, xóa thông tin nhân viên bán hàng - Xem thông tin sản phẩm, nhà xuất bản - Tạo báo cáo thống kê của chi nhánh c) Tổng giám đốc
- Truy cập các dữ liệu có trong hệ thống, cũng như có tất cả các quyền của các đối tượng trên.
- Thêm, sửa, xóa thông tin của tất cả dữ liệu - Xem báo cáo chung của các chi nhánh
III.Phân tích chức năng của từng vị trí thực hiện dự án
Trang 113 Thêm thông tin về sản phẩm rồi tự động cập nhật về cho các chi nhánh: Hà Nội, Huế, Đà Nẵng, Nha Trang, Quảng Ninh, Thái Bình, Ninh Bình.
2.Các chi nhánh
1 Các chi nhánh có quyền đọc, thêm, sửa, xóa thông tin nhân viên 2 Các chi nhánh có quyền xem thêm, sửa, xóa thông tin giao dịch 3 Các thông tin này sẽ được cập nhật lên máy chủ hệ thống.
IV.Chức năng của máy trạm, máy chủ.
1.Ch c năng máy tr mức năng ở máy trạmở chínhạm
a Chức năng quản lý thông tin nhân viên.
Giúp cửa hàng quản lý nhân viên làm việc tại chi nhánh, thêm, sửa ,xóa thông tin của nhân viên Các thông tin sẽ lưu trữ trong cơ sở dữ liệu.
Các thông tin nhân viên bao gồm:
b Chức năng quản lý thông tin giao dịch.
Giúp cửa hàng quán lý giao dịch tạo cửa hàng chi nhánh, thêm, sửa, xóa giao dịch Các thông tin sẽ lưu trữ trong cơ sở dữ liệu.
Các thông tin giao dịch gồm:
2.Ch c năng máy ch ức năng ở máy trạmở chínhủa dự án
a Có toàn bộ chức năng của máy trạm.b Chức năng quản lý chi nhánh.
Quản lý thông tin chi nhánh thêm, sửa, xóa chi nhánh Các thông tin sẽ lưu trữ trong cơ sở dữ liệu.
Các thông tin chi nhánh gồm:
Trang 12+ Nhập mã chi nhánh + Nhập tên chi nhánh, + Nhập số điện thoại.
c Chức năng quản lý nhà xuất bản.
Quản lý thông tin nhà xuất bản thêm, sửa, xóa nhà xuất bản Các thông tin sẽ lưu trữ trong cơ sở dữ liệu.
Các thông tin nhà xuất bản gồm:
Quản lý thông tin khách hàng thêm, sửa, xóa khách hàng Các thông tin sẽ lưu trữ trong cơ sở dữ liệu.
Các thông tin nhà xuất bản gồm:
Phân tích lược đồ E-R
- ChiNhanh và NhanVien là mối quan hệ một – nhiều vì một chi nhánh có nhiều nhân viên làm việc.
Trang 13- NhanVien và GiaoDich là mối quan hệ một – nhiều vì một nhân viên có thể tham gia nhiều giao dịch.
- KhachHang và GiaoDich là mối quan hệ một – nhiều vì một khách hàng có thể tham gia nhiều giao dịch.
- GiaoDich và SanPham là mối quan hệ một – nhiều vì một giao dịch có thể có nhiều sản phẩm.
- SanPham và NhaXuatBan là mối quan hệ nhiều – một vì một nhà xuất bản có nhiều sản phẩm.
Trang 152.Lược đồ quan hệ
Trang 16Diagram
Trang 17Thiết kế CSDL toàn hệ thống
NhanVien
Trang 18MaNV NVARCHAR Mã của nhân viên
KhachHang
Trang 19xuất bản
phẩm
Trang 21Lược đồ phân mảnh ngang
II Thiết kế định vị:
Phân mảnh ngang dẫn xuất chia quan hệ tổng thể thành 7 mảnh đặt tại 7 vị trí như sau:
- Mảnh ngang Hà Nội: Máy trạm đặt tại Hà Nội, chứa thông tin tại trụ sở đó: ChiNhanh, NhanVien, GiaoDich.
- Mảnh ngang Thái Bình: Máy trạm đặt tại Thái Bình, chứa thông tin tại trụ sở đó: ChiNhanh, NhanVien, GiaoDich.
- Mảnh ngang Quảng Ninh: Máy trạm đặt tại Quảng Ninh, chứa thông tin tại trụ sở đó: ChiNhanh, NhanVien, GiaoDich.
- Mảnh ngang Đà Nẵng: Máy trạm đặt tại Đà Nẵng, chứa thông tin tại trụ sở đó: ChiNhanh, NhanVien, GiaoDich.
- Mảnh ngang Huế: Máy trạm đặt tại Huế, chứa thông tin tại trụ sở đó: ChiNhanh, NhanVien, GiaoDich.
- Mảnh ngang Nha Trang: Máy trạm đặt tại Nha Trang, chứa thông tin tại trụ sở đó: ChiNhanh, NhanVien, GiaoDich.
- Mảnh ngang Ninh Bình: Máy trạm đặt tại Ninh Bình, chứa thông tin tại trụ sở đó: ChiNhanh, NhanVien, GiaoDich.
● Sơ đồ định vị:
Trang 23CHƯƠNG 4: LINK SERVER
Trang 24CHƯƠNG 5: CÀI ĐẶT
I.Cài đặt SQL Server 2019
1.Cài đặt SQL Server 2019 bản developer
Bước: Truy cập vào đường link để tải (tải bản developer):
Bước: Mở tệp exe vừa tải
Bước: Chọn Download Media sau đó chọn dạng tải về là ISO và chọn đường dẫn rồi ấn download
Trang 26Bước: Sau khi tải xong, nhấn close
Trang 27Bước: Mở tệp iso và chạy setup.exe
Trang 28Bước: Giao diện cài đặt hiện lên, chọn Installation sau đó chọn tiếp New SQL server
Trang 29Bước: Cài đặt
Trang 30Bước: Chọn Next
Bước: Chọn Perform a new installation of SQL Server 2019
Trang 31Bước: Giao diện sau khi tích vào cài mới, mặc định là Developer, ta cần chuyển sang Evaluation và ấn Next
Bước: Chọn Next
Trang 32Bước: Chọn chức năng phù hợp với môn học ở mục Features sau đó ấn nút Next
Trang 33Bước: Ta có thể đặt tên cho Instance (tên có thể đặt tùy ý, không dấu, không
khoảng trắng) sau đó nhấn next
Trang 34Bước: Nhấn next
Bước: Ở mục này, ta bấm chọn chức năng Mix Mode Đây là chức năng bảo mật
cho cơ sở dữ liệu.
Trang 35Bước: Tiếp theo các ta nhập mật khẩu cho tài khoản supper admin(sa) là 1234567.
Bước: Và cuối cùng nhấn nút Add current User để thêm tài khoản.
Trang 36Bước: Cuối cùng nhấn next cho đến mục Ready to Install.
Bước: Chọn next
Trang 37Bước: Chọn next
Bước: Ấn Install
Trang 38Bước: Đang trong quá trình cài đặt
Trang 39Bước: Giao diện cài đặt thành công -> ấn Close
2.Cài đặt SQL Server Management Studio Tools (SSMS).
Trang 40* Giới thiệu : SSMS là một ứng dụng phần mềm thiết kế bởi Microsoft, ra mắt lần đầu năm 2005.Ứng dụng này cho phép lập trình viên cấu hình, quản lý và quản trị bộ máy cơ sở dữ liệu (databaseengine) SQL Server SSMS phổ biến và được sử dụng rộng rãi trong cộng đồng lập trình viên vàquản trị viên cơ sở dữ liệu bởi những ưu điểm
-Miễn phí
-Trải nghiệm người dùng tốt-Nhiều lựa chọn add-in-Dễ cài đặt
Bước: Click vào Install SQL Server Management Tools
Hoặc ấn vào đường link để cài đặt:
https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio- ssms?redirectedfrom=MSDN&view=sql-server-ver15
Trang 42Bước: Sau khi download ta chạy file “SSMS-Setup-ENU.exe” để cài đặt.
Bước: Chọn Install để cài đặt, quá trình cài đặt diễn ra hoàn toàn tự động
Trang 43Bước: Chờ cho đến khi quá trình cài đặt hoàn tất và khởi động lại server
II,Cài đặt tường lửa (firewall) để mở cổng cho SQL
Giới thiệu : Tường lửa hay firewall là một hệ thống bảo mật mạng giám sát và kiểm soát lưu lượngmạng đến và đi dựa trên các quy tắc bảo mật được xác định trước Một tường lửa thường thiết lập một rào cản giữa một mạng nội bộ đáng tin cậy và mạng bên ngoài không tin cậy, chẳng hạn như Internet.
1.Tắt tường lửa
Bước: Tìm kiếm Firewall trong thanh công cụ
Trang 44Bước: Chọn Turn Windows Defender Firewall on or off
Bước: Thực hiện tắt tường lửa > chọn Turn off Windows Defender Firewall ở cả 2 mục -> nhấn OK
Trang 45Bước: Tường lửa đã được tắt thành công
Chú ý : Nếu như không tắt được tường lửa thì có thể là bạn đang chạy trình duyệt diệt virus Hãyxóa / tắt trình duyệt diệt virus đi thì mới tắt được tường lửa
2. Mở port 1433
Mục đích : Theo mặc định, SQL Server sử dụng Cổng TCP 1433 để giao tiếp với các ứng dụng Nếu ta đang chạy một ứng dụng yêu cầu kết nối với SQL Server, ta phải bật cổng 1433 cho SQL Server để kết nối.Sau đây là các bước để mở port 1433
Bước: Trong thanh tìm kiếm, tìm SQL Server 2019 Configuration Manager
Trang 46Bước: Chọn SQL Server Network Configuration + Protocols for CSDLPTNHOM6
Trang 47Bước: Trong TCP/IP, nhấn enabled.
Bước: Chọn Properties
Bước: Nhấn IP Addresses, lướt xuống dòng cuối cùng IPAll và chọn TCP Port là 1433
Trang 48Bước: Chọn SQL Server Sevices và Restart lại Server đã config và restart lại.
Trang 493.Thêm New Rule: tcp1433
Mục đích: Để mở một cổng 1433 trong tường lửa Windows để truy cập TCP Bước: Chọn Advanced Settings
Bước: Chọn Inbound Rules -> New Rule
Trang 50Bước: Rule Type chuyển sang Port => Chọn Next
Bước: Chọn specific local ports + cổng 1433 -> ấn Next
Trang 51Bước: Tiếp đến ta Chọn Allow the connection (theo mặc định) rồi ấn Next
Trang 52Bước: Chọn tất cả và bấm next
Bước: Thực hiện đặt tên (tcp1433) -> ấn Finish
Trang 53Đã hoàn thành bước thức hiện cài đặt = > Cài đặt thành công
4.Thêm New Rule sqlserver_csdlptnhom6
Mục đích: Để mở quyền truy cập vào SQL Server khi sử dụng cổng động (dynamic ports)
Bước: Trong mục Rule Type, chọn Program -> ấn Next
Bước: Chọn mục This program path và ấn Browse để chọn file thích hợp
Trang 54C:\Program Files\Microsoft SQL Server\MSSQL15.CSDLPTNHOM6\MSSQL\Binn
Trang 55Bước: Tiếp tục ấn Next
Bước: Đặt tên cho Rule mới là sqlserver_csdlptnhom6
Trang 565.Thêm New Rule port Udp1434:
Mục đích: Để mở một cổng 1434 trong tường lửa Windows để truy cập UDP
Bước: Tương tự Chọn mục Protocol and Ports -> chọn UDP và local ports : 1434 -> ấn Next
Bước: Đặt tên udp1434 -> Finish
Trang 57Bước: Hoàn thành tạo mới các Rule
III Chuẩn bị folder để chứa các dữ liệu trao đổi trong quá trình update dữ liệu từ các phân mảnh về cơ sở dữ liệu gốc, và từ cơ sở dữ liệu gốc đến các phân mảnh.
Bước: Tạo 1 folder C:\REPLDATA để chứa các dữ liệu trao đổi trong quá trình update dữ liệu từ các phân mảnh về cơ sở dữ liệu gốc, và từ cơ sở dữ liệu gốc đến các phân mảnh.
Bước: Click chuột phải vào folder REPLDATA > Properties
Trang 58Bước: Chọn tab Sharing > Share.
Bước: Chọn Everyone > click Add
Trang 59Bước: chọn quyền Read/Write như trong hình.
Trang 60Bước: click nút lệnh Share.
\\Dell\repldata : Dell là tên của máyBước: nhấn Done
IV,Kết nối máy trạm và các chi nhánh bằng cách sử dụngphần mềm cài đặt VPN Radmin VPN
1.Tải phần mềm Radmin VPN
Giới thiệu: phần mềm Radmin VPN là phần mềm dùng để tạo mạng riêng ảo (VPN) Cho phépthiết lập kết nối bảo mật giữa các máy tính qua internet như thể các máy tính này kết nối với nhautrên mạng LAN.
Bước: Cài đặt phần mềm Radmin VPN, theo link dưới:https://www.radmin-vpn.com/