Professional Documents
Culture Documents
Báo Cáo BTL Cuối Kỳ 2
Báo Cáo BTL Cuối Kỳ 2
KHOA CNTT 1
Đầ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 ạ
ST Họ và Máy Ứng dụng hệ thống Công việc
T tên thực hiện
1 Lê Đức Máy chủ 1. Hiển thị toàn bộ nhân viên 1. Viết 2 trigger
Thắng 2. Thêm, xem, sửa, xóa nhân riêng cho máy
viên chủ
2. Viết 3
transaction tập
trung và phân tán
2 Phạm Máy 1. Hiển thị thông tin nhân 1. Viết 2 trigger
Hải trạm viên của trụ sở Quảng Ninh riêng tại chi
Đăng phân và số lượng giao dịch mà nhánh QN
mảnh nhân viên đó thực hiện. 2. Viết 2 transaction
Quảng 2. Thêm, sửa, xóa, tìm kiếm
Ninh nhân viên tại trụ sở Quảng
Ninh
3 Nguyễ Máy trạm 1. Hiển thị thông tin nhân 1. Thiết kế cơ
n phân viên của trụ sở Hà Nội và số sở dữ liệu
Quang mảnh Hà lượng giao dịch mà nhân viên 2. Viết trigger
Minh Nội đó thực hiện. chung cho các
2. Thêm, sửa, xóa, tìm kiếm bảng trong
nhân viên tại trụ sở Hà Nội CSDL
3. Viết 2 trigger
riêng cho máy
trạm HN
4. Viết 1 transaction
4 Nguyễ Máy trạm1. Hiển thị thông tin nhân viên 1. Viết 2 trigger
n phân của trụ sở Huế và số lượng riêng tại chi
Thanh mảnh giao dịch mà nhân viên đó nhánh Huế
Tùng Huế thực hiện. 2. Viết 2 transaction
2. Thêm, sửa, xóa, tìm kiếm
nhân viên tại trụ sở Huế
5 Doanh Máy trạm 1. Hiển thị thông tin nhân viên1. Viết 3 trigger
Văn phân của trụ sở Nha Trang và số riêng cho máy
Vũ mảnh lượng giao dịch mà nhân viên trạm NT
Nha đó thực hiện.
Trang
2.Thêm, sửa, xóa, tìm kiếm 2.Viết 2 transaction
nhân viên tại trụ sở Nha
Trang
6 Nguyễ Máy trạm 1. Hiển thị thông tin nhân 1. Viết 3 trigger
n phân mảnh viên của trụ sở Đà Nẵng cho máy trạm DN
Trọng Đà Nẵng và số lượng giao dịch mà 2. Viết 2 transaction
Trườn nhân viên đó thực hiện.
g 2. Thêm, sửa, xóa, tìm
kiếm nhân viên tại trụ sở
Đà Nẵng
7 Đinh Máy trạm 1. Hiển thị thông tin nhân 1. Viết 3 trigger
Văn phân mảnh viên của trụ sở Thái Bình riêng cho máy trạm
Toàn Thái Bình và số lượng giao dịch mà TB
nhân viên đó thực hiện. 2. Viết 2 transaction
2. Thêm, sửa, xóa, tìm kiếm
nhân viên tại trụ sở Thái
Bình
8 Đặng Máy trạm 1. Hiển thị thông tin nhân 1. Viết 3 trigger riêng
Minh phân mảnh viên của trụ sở Ninh Bình cho máy trạm NB
Đức Ninh Bình và số lượng giao dịch mà 2. Viết 2 transaction
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
Bình
9 Bùi Xuân Viết báo cáo
Đang
CHƯƠNG 1: ĐẶT VẤN ĐỀ
I. Giới Thiệu.
1. Nhu cầu và tầm quan trọng của dự á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ược về dự á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ủ.
- 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,
xóa) tất cả các dữ liệu.
b) Hà Nội, Huế, Đà Nẵng, Nha Trang, Quảng Ninh, Thái Bình, Ninh Bình: nơi
đặt máy trạm nhận mảnh ngang
- Chức năng: quản lý dữ liệu của tất cả các đối tượng của trụ sở đó(trừ nhà xuất
bản).
- 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. 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
1. Trụ sở chính
1. Quản lý tất cả các thông tin(đọc, thêm, sửa, xóa) về chi nhánh, nhà xuất bản và
sản phẩm của tất cả các chi nhánh.
2. Có thể xem được tất cả các thông tin về nhân viên, khách hàng và giao dịch
của tất cả các chi nhánh.
3. 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.
- 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.
- 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.
2. Lược đồ quan hệ
3. Diagram
VI.Thiết kế CSDL toàn hệ thống
ChiNhanh
NhanVien
KhachHang
SanPham
GiaoDich
I. Phân mảnh:
- Phân mảnh ngang nguyên thuỷ bảng ChiNhanh thành 6 mảnh ứng dụng
với 6 chi nhánh:
CN1 = σMaCN=’HN’(ChiNhanh)
CN2 = σMaCN=’DN’(ChiNhanh)
CN3 = σMaCN=’HUE’(ChiNhanh)
CN4 = σMaCN=’QN’(ChiNhanh)
CN5 = σMaCN=’NT’(ChiNhanh)
CN6 = σMaCN=’TB’(ChiNhanh)
CN7= σMaCN=’NB’(ChiNhanh)
- Phân mảnh dẫn xuất bảng NhanVien theo các mảnh CN1, CN2, CN3, CN4, CN5, CN6,
CN7 như sau:
NV1 = NhanVien >< CN1
NV2 = NhanVien >< CN2
NV3 = NhanVien >< CN3
NV4 = NhanVien >< CN4
NV5 = NhanVien >< CN5
NV6 = NhanVien >< CN6
NV7 = NhanVien >< CN7
- Phân mảnh dẫn xuất bảng GiaoDich theo các mảnh NV1, NV2, NV3, NV4, NV5, NV6,
NV7 như sau:
GD1 = GiaoDich >< NV1
GD2 = GiaoDich >< NV2
GD3 = GiaoDich >< NV3
GD4 = GiaoDich >< NV4
GD5 = GiaoDich >< NV5
PHAMHAIDANG\CSDLPTNHOM6
QN HTKN2 1234567 QN
DESKTOP-2AIKRKL\
CSDLPTNHOM6 TB HTKN 1234567 TB
DESKTOP-KSJS5KE\
CSDLPTNHOM6 HUE HTKN 1234567 HUE
MSI\CSDLPTNHOM6
DN HTKN2 1234567 DN
NB HTKN 1234567 NB
DESKTOP-O7TCKKS\CSDLPT
DESKTOP-T6N4FNF\
CSDLPTNHOM6 NT HTKN 1234567 NT
CHƯƠ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):
https://go.microsoft.com/fwlink/?linkid=866662
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
Bước: Sau khi tải xong, nhấn close
Bước: Mở tệp .iso và chạy setup.exe
Bước: Giao diện cài đặt hiện lên, chọn Installation sau đó chọn tiếp New SQL server ...
Bước: Cài đặt
Bước: Chọn Next
Bướ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: Ở 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.
Bướ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.
Bước: Cuối cùng nhấn next cho đến mục Ready to Install.
Bước: Ấn Install
Bước: Đang trong quá trình cài đặt
Bước: Giao diện cài đặt thành công -> ấn Close
-Miễn phí
https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio- ssms?
redirectedfrom=MSDN&view=sql-server-ver15
Bướ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
Bước: Chờ cho đến khi quá trình cài đặt hoàn tất và khởi động lại server
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
Bướ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ãy
xó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
Bước: Chọn SQL Server Network Configuration + Protocols for CSDLPTNHOM6
Bước: Trong TCP/IP, nhấn enabled.
Bước: Nhấn IP Addresses, lướt xuống dòng cuối cùng IPAll và chọn TCP Port là 1433
Bước: Chọn SQL Server Sevices và Restart lại Server đã config và restart lại.
3. 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 mục This program path và ấn Browse để chọn file thích hợp
C:\Program Files\Microsoft SQL Server\MSSQL15.CSDLPTNHOM6\MSSQL\Binn
Bước: Tiếp tục ấn Next
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.
REPLDATA
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.
IV,Kết nối máy trạm và các chi nhánh bằng cách sử dụng
phần mềm cài đặt VPN Radmin VPN
Bước: Cài đặt phần mềm Radmin VPN, theo link dưới:
https://www.radmin-vpn.com/
Bước: Chọn folder để lưu Radmin > save để lưu file .exe tải về
Bước: Điền các thông tin như tên network và mật khẩu.
Nhấn vào Create Network
Ví Dụ:
+password:1234567
Các máy trạm sẽ kết nối với nhau và kết nối với máy chủ bằng VPN này. Sau khi đã kết nối ta có
giao diện như sau:
Bước: Kiểm tra kết nối bằng cách chuột phải vào thành viên và click ping
Và kết quả ra như hình sau nghĩa là các máy đã kết nối với nhau thành công.
2. Bật TCP IP và thêm IP các máy trạm.
Bước: mở Sql Server Configuration Manager để cấu hình IP cho từng máy.
+ TCP/IP : Enable
+ Named Pipes: Disabled
+ Active: Yes
+ Enable: Yes
b) Chạy thử:
- Cập nhật thành công:
end
go print(N'Cập nhật khách hàng thành công')
b) Chạy thử:
- Cập nhật thành công và không thành công:
II. Trigger riêng các máy
2.1. Trigger bổ sung cho máy chủ
2.1.1. Trigger kiểm tra số lượng nhân viên toàn hệ thống không vượt
quá 160 nhân viên
2.3.2 Trigger kiểm tra khi thêm sửa có đúng định dạng GioiTinh không
Chạy thử