1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn cơ sở dữ liệu phân tán Đề tài quản lý chuỗi cửa hàng tiện lợi cf

98 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản Lý Chuỗi Cửa Hàng Tiện Lợi
Tác giả Nguyễn Nhật Minh, Lương Đức Mạnh, Hà Gia Minh, Trần Thế Minh, Nguyễn Thành Nam
Người hướng dẫn Nguyễn Thị Thanh Thuỷ
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 98
Dung lượng 12,59 MB

Cấu trúc

  • PHẦN 1: ĐẶT VẤN ĐỀ (6)
    • 1.1. Giới thiệu (6)
      • 1.1.1. Nhu cầu và tầm quan trọng của dự án (6)
      • 1.1.2. Sơ lược về dự án (6)
    • 1.2. Vị trí và nhiệm vc, dữ liệu khi triển khai dự án (0)
    • 1.3. Các đối tượng tham gia sử dcng dự án (0)
  • PHẦN 2: PHÂN TÍCH (8)
    • 2.1. Các chức năng chính của hệ thống trong dự án (8)
    • 2.2. Phân quyền cho các nhóm đối tượng thực hiện dự án (8)
    • 2.3. Phân tích chức năng của từng vị trí thực hiện dự án (9)
      • 2.3.1. Trc sở chính tại Ba Đình (0)
      • 2.3.2. Chi nhánh Cầu Giấy,Thanh Xuân,Hà Đông, Long Biên, Hoà Lạc (9)
      • 2.3.3. Chi nhánh tại Ba Đình 2 (0)
    • 2.4. Chức năng của máy trạm, máy chủ (9)
      • 2.4.1. Chức năng ở máy trạm ở các cửa hàng (9)
      • 2.4.2. Chức năng của máy chủ (9)
      • 2.4.3. Chức năng ở máy trạm tại kho quản lý (9)
    • 2.5. Phân Tích Cơ sở Dữ Liệu (10)
      • 2.5.1. Lược đồ thực thể E-R (10)
      • 2.5.2. Quan hệ giữa các bảng (12)
  • PHẦN 3: THIẾT KẾ (13)
    • 3.1. Thiết kế hệ thống mạng tổng quan (13)
    • 3.2. Thiết kế cơ sở dữ liệu (13)
      • 3.2.1. Cấu trúc các bảng dữ liệu của hệ thống (13)
    • 3.3. Thiết kế cơ sở dữ liệu phân tán (16)
      • 3.3.1. Lược đồ phcc vc cho phân mảng ngang dẫn xuất (0)
      • 3.3.2. Thiết kết phân mảng ngang , nhân bản (16)
      • 3.3.3. Thiết kế định vị (24)
    • 3.4. Thiết kế vật lý các trạm (26)
  • PHẦN 4: CÀI ĐẶT (27)
    • 4.1. Cài đặt SQL Server 2022 (27)
      • 4.1.1. Cài đặt SQL Server 2020 bản developer (27)
      • 4.1.2. Cài đặt SQL Server Management Studio Tools (SSMS) (35)
    • 4.2. Cài đặt tưởng lửa (firewall) để mở cổng cho SQL (39)
      • 4.2.1. Tắt tưởng lửa (39)
      • 4.2.2. Mở port 1433 (40)
      • 4.2.3. Thêm New Rule tcp_1433 (43)
      • 4.2.4. Thêm New Rule sqlserver (48)
      • 4.2.5. Thêm New Rule port udp_1434 (49)
    • 4.3. 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 (50)
    • 4.4. Kết nối máy trạm và các chi nhánh bằng cách sử dcng phần mềm cài đặt VPN (51)
      • 4.4.1. Tải phần mềm Radmin VPN (51)
      • 4.4.2. Bật TCP IP và thêm IP các máy trạm (55)
    • 4.5. Tạo database QLCH (57)
    • 4.6. Configure distribution (61)
    • 4.7. Tạo Publication Database (63)
    • 4.8. Tạo Subcriptions (77)
      • 4.8.1. Cần có thông tin nick các máy trạm để tạo sub (77)
      • 4.8.2. Tạo Subcriptions (77)
    • 4.9. Đồng bộ hoá dữ liệu từ trạm sang máy chủ (82)
    • 4.10. Tạo Link Server (83)
  • PHẦN 5: TRIGGRERS (86)
    • 5.1. Trigger thêm nhân viên mới khi update bảng Person tự động update bảng Empoyee........................................................................................................................ 80 5.2. Trigger xoá nhân viên khi delete ở bảng Employee sẽ tự động xoá ở bảng Person 81 (0)
    • 6.1. Tổng số nhân viên của từng cơ sở (94)
    • 6.2. Tổng số đơn hàng của từng cơ sở (95)
    • 6.3. Tổng doanh thu của từng cơ sở (95)
    • 6.4. In ra doanh thu cũng như đơn hàng giá trị cao nhất và thấp nhất của từng cơ sở.90 6.5. Nhân viên làm việc năng xuất nhất của từng cơ sở (96)

Nội dung

- Tối ưu hóa hoạt động marketing và quảng cáo: Quản lý chuỗi cửa hàng giúp thu thập dữ liệu và phân tích thông tin khách hàng để tạo ra chiến lược marketing và quảngcáo hiệu quả, từ đó t

PHÂN TÍCH

Các chức năng chính của hệ thống trong dự án

- Quản lý thông tin khách hàng (Thêm, sửa, thống kê tùy chọn)

- Quản lý thông tin hóa đơn (Thêm, sửa, xóa, thống kê tùy chọn)

Phân quyền cho các nhóm đối tượng thực hiện dự án

Nhân viên tại các chi nhánh

- Nhân viên thu ngân cần có quyền truy cập vào chức năng tạo hóa đơn trong hệ thống.

- Họ được cho phép tạo hóa đơn mới cho các giao dịch bán hàng với khách hàng.

- Họ cũng có thể cập nhật thông tin trên hóa đơn, như thêm hoặc xóa sản phẩm, điều chỉnh số lượng hoặc giá cả nếu cần thiết.

- Nhân viên thu ngân cần có quyền truy cập vào thông tin khách hàng để xem và chỉnh sửa.

- Họ được cho phép tạo mới khách hàng trong trường hợp khách hàng mới đến cửa hàng.

- Họ có thể cập nhật thông tin khách hàng, như địa chỉ, số điện thoại, và thông tin liên lạc khác nếu cần thiết.

Tạo bill cho khách hàng

- Nhân viên thu ngân cần có khả năng tạo và quản lý các bill cho khách hàng đã mua hàng.

- Họ được cho phép tạo mới các bill dựa trên thông tin giao dịch và hóa đơn.

- Họ có thể cập nhật thông tin trên bill, như số tiền thanh toán, phương thức thanh toán và trạng thái thanh toán của bill.

Nhân viên tại trc sở chính

- Có toàn bộ quyền của nhân viên tại các chi nhánh.

- Quản lý các sản phẩm tại từng chi nhánh (thêm, sửa, xóa các mặt hàng).

Truy cập và tạo báo cáo chi tiết về hoạt động kinh doanh, bao gồm doanh số bán hàng, doanh thu, lợi nhuận và các chỉ số hiệu suất khác của từng chi nhánh và cửa hàng để phân tích hiệu quả kinh doanh.

Nhân viên quản lý kho

- Họ không có các quyền như nhân viên tại các cửa hàng và nhân viên tại các trc sở Họ sẽ có một cơ sở dữ liệu riêng

Họ theo dõi số lượng sản phẩm tại mỗi cửa hàng và khi số lượng giảm xuống dưới mức tối thiểu, họ sẽ điều xe phân phối để cung cấp thêm hàng hóa cho cửa hàng đó.

Phân tích chức năng của từng vị trí thực hiện dự án

2.3.1 Trụ sở chính tại Ba Đình

Nhân viên quản lý tại trc sở chính có quyền quản lý tổng thể các thông tin của các chi nhánh: sản phẩm, nhân viên, khách hàng, bill.

2.3.2 Chi nhánh Cầu Giấy, Thanh Xuân, Hà Đông, Long Biên, Hoà Lạc

- Dữ liệu về hóa đơn, khách hàng được cập nhật máy trạm sẽ được chuyển về máy chủ định kỳ hàng tuần

Nhân viên chỉ có trách nhiệm tạo và chỉnh sửa hóa đơn trong quá trình làm việc với khách hàng, và không được phép xóa hóa đơn sau khi đã hoàn tất thanh toán.

2.3.3 Chi nhánh tại Cầu Giấy 2

- Dữ liệu của số lượng của các sản phẩm trong các cửa hàng được cập nhập liên tcc

Chức năng của máy trạm, máy chủ

2.4.1 Chức năng ở máy trạm ở các cửa hàng

- Thêm mới, chỉnh sửa và xóa thông tin khách hàng.

- Theo dõi lịch sử giao dịch của khách hàng.

- Quản lý các chương trình khuyến mãi hoặc ưu đãi dành cho khách hàng.

- Phát triển hồ sơ khách hàng và tạo các báo cáo về khách hàng.

Quản lý hóa đơn của khách hàng:

- Tạo mới và lưu trữ thông tin hóa đơn của khách hàng.

- Xem và cập nhật trạng thái thanh toán của hóa đơn.

- Tạo các báo cáo và thống kê về doanh số bán hàng, doanh thu và nợ đối với khách hàng. 2.4.2 Chức năng của máy chủ

- Có toàn bộ chức năng của máy trạm

- Quản lý sản phẩm: Thêm, sửa, xóa các sản phẩm.

+ Xử lý dữ liệu: Máy chủ có khả năng truy xuất dữ liệu từ cơ sở dữ liệu và xử lý nó để tạo ra các báo cáo.

Máy chủ có khả năng thực hiện phân tích và tính toán dữ liệu để tạo ra thông tin giá trị trong các báo cáo, bao gồm doanh số bán hàng, doanh thu, lợi nhuận, xu hướng sản phẩm và nhu cầu của khách hàng.

2.4.3 Chức năng ở máy trạm tại kho quản lý

- Quản lý số lượng sản phẩm của từng chi nhánh

- Khi một kho có số lượng của sản phẩm quá ít, họ sẽ điều xe phân phối để cung cấp sản phẩm đến các chi nhánh.

Phân Tích Cơ sở Dữ Liệu

Mối quan hệ giữa Customer và Bill là 1-N, cho phép một khách hàng có thể sở hữu nhiều hóa đơn Tương tự, mối quan hệ giữa Employee và Bill cũng là 1-N, vì một nhân viên có khả năng xuất nhiều hóa đơn Cuối cùng, mối quan hệ giữa Bill và Bill_detail là 1-N, do một đơn hàng có thể bao gồm nhiều chi tiết hóa đơn.

+ Product – Categories là mối quan hệ N-1 vì nhiều sản phẩm thuộc cùng một loại mặt hàng.

Mối quan hệ giữa nhân viên và cửa hàng là N-1, vì nhiều nhân viên làm việc tại một cửa hàng Trong khi đó, mối quan hệ giữa cửa hàng và loại mặt hàng là N-N, do một loại mặt hàng có thể xuất hiện trong nhiều cửa hàng, và một cửa hàng có thể cung cấp nhiều loại mặt hàng khác nhau.

Thực thể Person - Id: mã định danh của 1 người

Customer - Level: mức độ khách hàng thân thiết

- Total-payment: số tiền mà họ đã mua sản phẩm ở cửa hàng

Employee - Hours-Working: ca mà họ làm việc

- Emp-position: vị trí làm việc trong cửa hàng Ví dc: nhân viên, quản lý, bảo vệ,

Store - Store-id: mã định danh của cửa hàng

- Store-area: diện tích của cửa hàng

- Store-address: địa chỉ của cửa hàng

- Store-phone: sdt cửa hàng

Category - CS_id: mã định danh của một loại sản phẩm ở đâu

(mã của nước giải khát+mã cửa hàng)

- Cat-name: tên loại (giải khát, đồ ăn nhanh, )

Product - Product-id: mã sản phẩm

- Product-name: Tên sản phẩm

- Product-quantity: Số lượng sản phẩm

- Expiration-date: ngày hết hạn

- Price: Giá của sản phẩm

Bill - Bill-id: mã bill

- Total-price: giá của bill

- Date: ngày giờ thanh toán

- Payment-method: hình thức thanh toán

Bill-detail - Pb-quantity: số lượng của 1 sản phẩm trong 1 bill

2.5.2 Quan hệ giữa các bảng

THIẾT KẾ

Thiết kế hệ thống mạng tổng quan

Trụ sở chính Đặt máy Server chính Ba Đình thực hiện các chức năng và lưu CSDL của toàn hệ thống.

Cầu Giấy Đặt máy Server trạm 1 và các client tương ứng thực hiện chức năng và lưu toàn bộ CSDL thuộc Cầu Giấy.

Thanh Xuân Đặt máy Server trạm 2 và các client tương ứng thực hiện chức năng và lưu toàn bộ CSDL thuộc Thanh Xuân.

Hà Đông Đặt máy Server trạm 3 và các client tương ứng thực hiện chức năng và lưu toàn bộ CSDL thuộc Hà Đông.

Biên Đặt máy Server trạm 4 và các client tương ứng thực hiện chức năng và lưu toàn bộ CSDL thuộc Long Biên.

Hoà Lạc Đặt máy Server trạm 5 và các client tương ứng thực hiện chức năng và lưu toàn bộ CSDL thuộc Hoà Lạc.

Cầu Giấy 2 Đặt máy Sever trạm 6, có chức năng quản lý số lượng sản phẩm của từng cửa hàng.

Thiết kế cơ sở dữ liệu

3.2.1 Cấu trúc các bảng dữ liệu của hệ thống

Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả

Store_id nvarchar(255) not null PK ID cửa hàng

Store_Adress nvarchar(255) Địa chỉ cửa hàng

Store_Phone nvarchar(255) SĐT cửa hàng

Store_Area nvarchar(255) Diện tích cửa hàng

Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả

CS_id nvarchar(255) not null PK Mã định danh mặt hàng

Cate_Name nvarchar(255) Tên mặt hàng

Store_id nvarchar(255) not null FK ID cửa hàng

Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả

Person_id nvarchar(255) not null PK Mã định danh

Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả

Cus_id nvarchar(255) not null PK,FK Mã khách hang

Total_payment int Tổng chi tiêu

Cus_level int Mức độ thân thiết

/*Tổ ng payment cứ 1trVND thì lvlup tổ i đa là lv4 */

Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả

Emp_id nvarchar(255) not null PK,FK Mã nhân viên

Emp_position nvarchar(255) Vị trí

Store_id nvarchar(255) not null FK Mã cửa hàng

Hoursworking int Giờ làm việc

/*Lương cơ ba n 20k, trên 2160h lương 22k, trên 4320h lương 24k, trên 6480h lương 26k*/

/*Hoursworking random min = 30 ngày = 720h, max = 365 ngày = 8760h */ /*Lương qua n lý fixed 30k/h */

Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả

Product_id nvarchar(255) not null PK,FK Mã sản phẩm

Product_position nvarchar(255) Vị trí

CS_id nvarchar(255) not null FK Mã cửa hàng

Product_quantity int Số lượng sản phẩm

Expiration_date Date Hạn sử dcng

Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả

Bill_id nvarchar(255) not null PK Mã đơn

Cus_id nvarchar(255) not null FK Mã khách hàng

Emp_id nvarchar(255) not null FK Mã nhân viên

Date_ Date Ngày mua hang

Sale_percent int Phần tram giảm giá

Total_price int Tổng giá trị đơn

Payment_method nvarchar(255) Phương thức thanh toán

Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả

Bill_id nvarchar(255) not null PK,FK Mã đơn

Product_id nvarchar(255) not null PK,FK Mã sản phẩm

PB_quantity int Số lượng

/*Khi thanh toán nê u sổ lượng cu a Bill_detail vượt quá sổ lượng còn lại trong kho thì khổng thê thanh toán */

Thiết kế cơ sở dữ liệu phân tán

3.3.1 Lược đồ phục vụ cho phân mảng ngang dẫn xuất

3.3.2 Thiết kết phân mảng ngang , nhân bản

Vị trí 1 Sever chi nhánh, nơi đặt máy trạm tại Cầu Giấy

Vị trí 2 Sever chi nhánh, nơi đặt máy trạm tại Thanh Xuân

Vị trí 3 Sever chi nhánh, nơi đặt máy trạm tại Hà Đông

Vị trí 4 Sever chi nhánh, nơi đặt máy trạm tại Long Biên

Vị trí 5 Sever chi nhánh, nơi đặt máy trạm tại Hoà Lạc

Tại vị trí 6 Sever tổng, chúng tôi đã đặt máy trạm tại Ba Đình để thực hiện phân mảnh Chúng tôi chọn quan hệ tổng thể làm tiêu chí chính, chia thành 5 mảnh tại 5 vị trí khác nhau nhằm quản lý các chi nhánh trong khu vực lân cận Dựa vào các mảnh của chi nhánh, chúng tôi sẽ tiếp tục dẫn xuất sự phân mảnh của các quan hệ tổng thể còn lại.

Mảnh Trụ sở Cơ sở dữ liệu

Phân mảnh ngang nguyên thủy

Phân mảnh ngang dẫn xuất

- Điều kiện dẫn xuất: Categorie1Categories

- Điều kiện dẫn xuất: Employee1Employee

- Điều kiện dẫn xuất:Product1Product

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất:Bill1= Bill

- Điều kiện dẫn xuất: Person1 Person

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất: Bill_detail1

- Điều kiện dẫn xuất: Customer 1Customer

- Điều kiện dẫn xuất: Person1Person

- Điều kiện dẫn xuất: Categorie2Categories

- Điều kiện dẫn xuất: Employee2Employee

- Điều kiện dẫn xuất:Product2Product

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất:Bill2= Bill

- Điều kiện dẫn xuất: Person2 Person

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất: Bill_detail2

- Điều kiện dẫn xuất: Customer2Customer

- Điều kiện dẫn xuất: Person2Person

- Điều kiện dẫn xuất: Categorie3Categories

- Điều kiện dẫn xuất: Employee3Employee

- Điều kiện dẫn xuất:Product3Product

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất:Bill3= Bill

- Điều kiện dẫn xuất: Person3 Person

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất: Bill_detail3

- Điều kiện dẫn xuất: Customer3Customer

- Điều kiện dẫn xuất: Person3Person

- Điều kiện dẫn xuất: Categorie4Categories

- Điều kiện dẫn xuất: Employee4Employee

- Điều kiện dẫn xuất:Product4Product

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất:Bill4= Bill

- Điều kiện dẫn xuất: Person4 Person

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất: Bill_detail4

- Điều kiện dẫn xuất: Customer4Customer

- Điều kiện dẫn xuất: Person4Person

- Điều kiện dẫn xuất: Categorie5Categories

- Điều kiện dẫn xuất: Employee5Employee

- Điều kiện dẫn xuất:Product5Product

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất:Bill5= Bill

- Điều kiện dẫn xuất: Person5 Person

- Bảng phân mảnh: Bill_detail

- Điều kiện dẫn xuất: Customer5Customer

- Điều kiện dẫn xuất: Person5Person

Phân mảnh ngang nguyên thủy và phân mảnh ngang dẫn xuất để chia quan hệ tổng thể thành 5 mảnh đặt tại 5 chi nhánh sau:

Server chính đặt tại Ba Đình

(chứa thông tin của toàn bộ hệ thống)

- Categories (Các loại mặt hàng),

- Bill_detail (Hoá đơn chi tiết) của tất cả các cửa hàng.

Máy trạm 1 đặt tại Cầu Giấy chứa thông tin:

- Categories (Các loại mặt hàng),

- Bill_detail (Hoá đơn chi tiết) của chi nhánh đó

Máy trạm 2 đặt tại Thanh Xuân chứa thông tin:

- Categories (Các loại mặt hàng),

- Bill_detail (Hoá đơn chi tiết) của chi nhánh đó

Máy trạm 3 đặt tại Hà Đông chứa thông tin:

- Categories (Các loại mặt hàng),

- Bill_detail (Hoá đơn chi tiết) của chi nhánh đó

Máy trạm 4 đặt tại Long Biên chứa thông tin:

- Categories (Các loại mặt hàng),

- Bill_detail (Hoá đơn chi tiết) của chi nhánh đó

Máy trạm 5 đặt tại Hoà Lạc chứa thông tin:

- Categories (Các loại mặt hàng),

- Bill_detail (Hoá đơn chi tiết) của chi nhánh đó

Cơ sở 6 (Cầu Giấy 2) sẽ thành lập một ban quản lý để theo dõi các sản phẩm sắp hết hàng tại các cửa hàng Ban quản lý này sẽ có khả năng xem danh sách các sản phẩm có số lượng từ 60 trở lên, đồng thời cấp thêm hàng hóa cho các server và cập nhật thông tin lên server tổng để phân phối đến các server con.

Hình 3.1 Sơ đồ định vị

Thiết kế vật lý các trạm

1 dbo.Store Thông tin cửa hàng, chứa thông tin về các cửa hàng cũng như nơi đặt máy trạm

2 dbo.Categories Các loại mặt hàng, chứa thông tin về các loại mặt hàng của các cửa hàng

3 dbo.Product Sản phẩm, chứa thông tin về loại mặt hàng, giá,số lượng,hạn sử dcng của sản phẩm

4 dbo.Person Chứa thông tin về người dùng

5 dbo.Employee Chứa thông tin về nhân viên như vị trí, lương, giờ làm việc

6 dbo.Customer Chứa thông tin về khách hàng và mức ưu đãi

Bảng dbo.Bill lưu trữ thông tin chi tiết về các đơn hàng, bao gồm dữ liệu của nhân viên tạo đơn, thông tin khách hàng, số tiền thanh toán và phương thức thanh toán.

8 dbo.Bill_detail Chứa thông tin chi tiết về các mặt hàng trong đơn

Chứa thông tin về các sản phẩm sắp hết hàng trong tất cả các cửa hàng

CÀI ĐẶT

Cài đặt SQL Server 2022

4.1.1 Cài đặt SQL Server 2020 bản developer

Truy cập vào đường link để tải (tải bản developer): https://www.microsoft.com/en- us/sql-server/sql-server-downloads

Mở tệp exe đã tải

Chọn Download Media sau đó chọn dạng tải về là ISO và chọn đường dẫn rồi ấn download

Sau khi tải xong, nhấn close

Mở tệp iso và chạy setup.exe

Giao diện cài đặt hiện lên, chọn

Installation sau đó chọn tiếp New SQL server

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

Chọn chức năng phù hợp với môn học ở mcc Features sau đó ấn nút Next

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

Bước 11: Ở mcc 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.

Tiếp theo các ta nhập mật khẩu cho tài khoản supper admin(sa) là minh.

Và cuối cùng nhấn nút Add current User để thêm tài khoản.

Cuối cùng nhấn next cho đến mcc

Giao diện cài đặt thành công => ấn Close

4.1.2 Cài đặt SQL Server Management Studio Tools (SSMS).

SSMS, hay SQL Server Management Studio, là phần mềm do Microsoft phát triển, ra mắt lần đầu vào năm 2005 Ứng dụng này cho phép lập trình viên dễ dàng cấu hình, quản lý và quản trị bộ máy cơ sở dữ liệu SQL Server SSMS được ưa chuộng và 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 nhờ vào những ưu điểm nổi bật của nó.

- Trải nghiệm người dùng tốt

- Nhiều lựa chọn add-in

Bước 1: Click vào Install SQL Server Management Tools

Bước 3 : Chọn Install để cài đặt, quá trình cài đặt diễn ra hoàn toàn tự động

Bước 4 : Chờ cho đến khi quá trình cài đặt hoàn tất và khởi động lại server

Cài đặt tưởng lửa (firewall) để mở cổng cho SQL

Tường lửa, hay còn gọi là firewall, là một hệ thống bảo mật mạng có chức năng giám sát và kiểm soát lưu lượng mạng dựa trên các quy tắc bảo mật được thiết lập trước Nó tạo ra một rào cản bảo vệ giữa mạng nội bộ đáng tin cậy và mạng bên ngoài không đáng tin cậy như Internet, giúp ngăn chặn các mối đe dọa từ bên ngoài.

Firewall trong thanh công cc

Turn Windows Defender Firewall on or off

Bước 3 : Thực hiện tắt tường lửa -> chọn Turn off Windows Defender Firewall ở cả 2 mcc

Bước 4 : Tường lửa đã được tắt thành công

Nếu bạn không thể tắt tường lửa, có thể do trình duyệt diệt virus đang hoạt động Để tắt tường lửa, hãy xóa hoặc vô hiệu hóa trình duyệt diệt virus trước.

Mục đích: SQL Server sử dụng cổng TCP 1433 để giao tiếp với các ứng dụng Để kết nối với SQL Server, cổng 1433 cần được mở Dưới đây là các bước để mở cổng 1433 cho SQL Server.

Bước 1 : Trong thanh tìm kiếm, tìm SQL Server 2019 Configuration Manager

Bước 2 : Chọn SQL Server Network Configuration + Protocols for CSDLPTNHOM5

Bước 4 : Nhấn IP Addresses, lướt xuống dòng cuối cùng IPAll và chọn TCP Port là 1433

Bước 5 : Chọn SQL Server Sevices và Restart lại Server đã config và restart lại.

M/c đích: Để mở một cổng

Windows để truy cập TCP

Bước 2 : Chọn Inbound Rules -> New Rule

Bước 3 : Rule Type chuyển sang Port => Chọn Next

Bước 4 : Chọn specific local ports + cổng 1433 -> ấn Next

Bước 5 : Tiếp đến ta Chọn Allow the connection (theo mặc định) rồi ấn Next

Bước 6 : Chọn tất cả và bấm next

Bước 7 : Thực hiện đặt tên rule (tcp_1433) -> ấn Finish

Sau khi finish ta cài đặt thành công.

M/c đích: Để mở quyền truy cập vào SQL Server khi sử dcng cổng động

Bước 1 : Trong mcc Rule Type, chọn Program -> ấn Next C:\Program Files\Microsoft

SQL Server\MSSQL16.CSDLPTNHOM5\MSSQL\Binn

Bước 2 : Thực hiện các bước như cài đặt tcp_1433 và đặt tên là sqlserver_csdlptnhom5

4.2.5 Thêm New Rule port udp_1434

Cài đặt tương tự tcp_1433 chỉ khác bước chọn UDP thay vì TCP

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 đầu tiên là tạo một thư mục tại D:\REPLDATA để lưu trữ các dữ liệu trao đổi trong quá trình cập nhật dữ liệu từ các phân mảnh về cơ sở dữ liệu gốc, cũng như từ cơ sở dữ liệu gốc đến các phân mảnh.

Bước 2 : Click chuột phải vào folder

Bước 3 : Chọn Sharing sau đó click vào Share

Bước 4 : Add Everyone sau đó bấm Share

\\Minh2\repldata (Minh2 là tên của máy)

Kết nối máy trạm và các chi nhánh bằng cách sử dcng phần mềm cài đặt VPN

4.4.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ép thiế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 nhau trên mạng LAN.

Bước 1 : Cài đặt phần mềm Radmin VPN, theo link: https://www.radmin-vpn.com/

Sau khi tải về và cài đặt , ta khởi động phần mềm lên

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 3 : 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.

4.4.2 Bật TCP IP và thêm IP các máy trạm

Bước 1 : mở Sql Server Configuration Manager để cấu hình IP cho từng máy.

Cài đặt các IP như sau:+ Active: Yes+ Enable: Yes+ Tất cả các TCP Port: 1433

IP1: 26.229.245.132-> là IP máy chủ Các IP còn lại đều là máy trạm.

Sau khi Apply và OK, Restart lại server

Tạo database QLCH

7 Bảng Bill 8.Bảng Bill_detail

Configure distribution

A Distributor is a server that hosts a distributed database, managing metadata, historical data, and transactions In SQL Server, the distributed database is utilized to store and transfer replicated data from the Publisher to the Subscribers There are two types of Distributors: Local Distributor and Remote Distributor.

Bước 1 : Mở SQL và thực hiện việc đăng nhập

Agent,tiếp theo chọn mcc Replication -

>Click chuột phải chọnConfigure Distribution

Bước 3 : Tiếp tcc thực hiện đến bước Snapshot Folder thì chọn link dẫn file REPLDATA đã chuẩn bị từ trước rồi tiếp tcc next đến khi finish

Tạo Publication Database

Replication là công nghệ sao chép và phân phối dữ liệu, đóng vai trò quan trọng trong việc khôi phục dữ liệu sau thảm họa Tính năng này có sẵn trong SSMS, giúp duy trì bản sao thứ hai hoặc bản sao dự phòng cho các đối tượng như bảng, view, stored procedure và cơ sở dữ liệu.

Replication trong Microsoft SQL Server có 4 loại sau:

Merge replication cho phép nhiều máy chủ hoạt động độc lập, cả trực tuyến và ngoại tuyến, sau đó hợp nhất dữ liệu đã thay đổi dựa trên độ ưu tiên, thời điểm chỉnh sửa hoặc theo quy định của người dùng Khi được kết nối vào mạng, subscriber sẽ đồng bộ với publisher và chuyển giao tất cả các hàng đã thay đổi giữa publisher và subscriber kể từ lần đồng bộ cuối cùng.

- Merge replication thường được dùng trong các trường hợp sau:

+ Nhiều subscriber cập nhật cùng một dữ liệu nhiều lần và muốn phân phối những thay đổi đó tới publisher và các subscriber khác

+ Subscriber có nhu cầu nhận dữ liệu, thay đổi dữ liệu offline, sau đó đồng bộ hóa những thay đổi tới publisher và các subscriber khác

+ Mỗi subscriber yêu cầu một phân vùng dữ liệu khác nhau

Bước 1 : Click chuột phải vào Local Publication

Bước 3 : Chọn database muốn phân mảnh Click Next

Bước 4 : Chọn Merge publication để thực hiện phân mảnh -> Click Next

Bước 5 : Tích “SQL Server 2008 or later” Click Next

Bước 6 : Dựa theo quan hệ, lựa chọn các bảng muốn phân mảnh Ở đây là tất cả

Bước 8 : Click Add Chọn Add Filter.

Bước 9 : Tạo phân mảnh ngang nguyên thủy

To filter data from the Store table, select the Store option and double-click on Store_id In the query, add “=’CN1’” to the “WHERE [Store_id]” clause, and then click OK to execute the filter.

Bước: Sau Store ta sẽ phân mảnh các bảng liên quan Chọn “Add join to Extend…”

Sau đó chúng ta sẽ tiến hành add hết các table có liên quan đến nhau và được kết quả cuối cùng như sau , sau đó click Next.

Bước 10 : Tích “Create a snapshot immediately” -> Click Next

Step 12: Select "Run under the SQL Server Agent service account" and "Using the following SQL Server login:" Then, enter the password for the previously created 'sa' account.

Bước 14 : Tích chọn “Create the publication” và “Generate a script …” -> Click Next

Bước 15 : Tích chọn “Overwrite the existing file” và “International text” -> Click Next

Bước 16 : Đặt tên phân mảnh tại ô Publication name -> Click Finish

Bước 17 : Thông báo phân mảnh thành công

Bước 18 : Refresh lại Local Publications để check xem đã có phân mảnh vừa tạo chưa.

Làm tương tự với các cơ sở khác ta sẽ được kết quả như sau:

Sau khi được thì chú ý phải view snapshot cho publication đó:

Nếu như này thì sẽ thành công

Thực hiện phân mảnh dọc

Tạo Subcriptions

4.8.1 Cần có thông tin nick các máy trạm để tạo sub

MINHLAP MINH2\CSDLPTNHOM5 MÁY CHỦ

MẠNH LAPTOP-PF07THTM \CSDLPTNHOM5 QLCH_CN1

MINHPC MINH\CSDLPTNHOM5 QLCH_CN2

TMINH MINKAMII\CSDLPTNHOM5 QLCH_CN3

HMINH DESKTOP-C9V4UNU\CSDLPTNHOM5 QLCH_CN4

NAM Namdeptraihehe\CSDLPTNHOM5 QLCH_CN5

MẠNH LAPTOP-PF07THTM \CSDLPTCHILD4 Product_Is_Out

Bước 1 : Chuột phải vào mảnh và chọn New Subscriptions -> bảng New Subscription

Wizard hiện ra chọn next.

Bước 2 : chọn database và publication

Bước 3 : Tại bảng Merge Agent Location chọn “Run all agents the Distributor, ”

Bước 4 : đăng nhập tài khoản để kết nối Server

Bước 5 : Tại subscribers cài đặt Subscription Database chọn “New database” tương ứng

Agent Security tích chọn các nút như hình và đăng nhập tài khoản vào connect to the subscriber -> click

“Agent Schedule” là Run continuously

Lúc này, cơ sở dữ liệu trên máy trạm đã nhận thông tin và dữ liệu của bảng Giống như các sở khác, chúng ta đã phân tán hoàn toàn dữ liệu đến các máy chủ, mỗi máy chủ đều đã nhận được cơ sở dữ liệu tương ứng.

Với server MINH2/CSCDLPTNHOM5 sẽ có thêm 1 database Product_Is_Out phc trách việc quản lý các sản phẩm sắp hết hàng của các cửa hàng

Đồng bộ hoá dữ liệu từ trạm sang máy chủ

Ví dc đồng bộ dữ liệu bảng Categories lên máy chủ khi các máy trạm phân tán có dữ liệu khớp với máy chủ

Tạo Link Server

Mục tiêu của việc kết nối hai máy tính là để truyền dữ liệu qua lại trực tiếp giữa chúng mà không cần thông qua máy chủ Ví dụ, có thể thực hiện kết nối server từ máy tính MINH sang các máy tính khác để chia sẻ thông tin một cách nhanh chóng và hiệu quả.

Bước: Chọn Server Objects , Linked Server bấm chuột phải chọn New Link Server

Link lần lượt với các mạng trong radmin VPN

Chọn security và điền tài khoản mật khẩu. Được kết quả như sau :

Thử Query từ máy MINH sang máy LAPTOP-PF07THTM\CSDLPTNHOM5(Mạnh)

TRIGGRERS

Tổng số nhân viên của từng cơ sở

CREATE PROCEDURE [dbo].SUMOFEMPLOYEE AS

SELECT s.Store_id, s.Store_Address, COUNT(e.Emp_id)

JOIN Employee e ON s Store_id e = Store_id

GROUP BY s.Store_id, s.Store_Address;

Query gọi ra bảng đã tạo :

Tổng số đơn hàng của từng cơ sở

CREATE PROCEDURE [dbo].SUMOFBILL AS

SELECT s.Store_id, s.Store_Address, COUNT(*) AS Number_of_Bills

The SQL query utilizes INNER JOINs to combine data from the Customer, Employee, and Store tables based on their respective IDs It groups the results by the Store ID and Store Address, allowing for a structured overview of the relationships between customers, employees, and stores.

Tổng doanh thu của từng cơ sở

CREATE PROCEDURE [dbo].TOTALINCOME AS

SELECT s.Store_id, s.Store_Address,

SUM( b Total_price) AS Total_Revenue

The SQL query utilizes INNER JOIN to connect the Customer, Employee, and Store tables based on their respective IDs It aggregates the data by grouping the results according to the Store ID and Store Address, ensuring a comprehensive overview of customer and employee relationships within each store.

In ra doanh thu cũng như đơn hàng giá trị cao nhất và thấp nhất của từng cơ sở.90 6.5 Nhân viên làm việc năng xuất nhất của từng cơ sở

CREATE PROCEDURE [dbo].AVGREPORT AS

SELECT s.Store_id, s.Store_Address,

AVG( b Total_price) AS Average_Revenue ,

MAX( b Total_price) AS Max_Revenue, MIN(b.Total_price)

INNER JOIN Employee e ON b Emp_id e = Emp_id INNER JOIN Store s ON e.Store_id s= Store_id GROUP BY s.Store_id, s.Store_Address;

6.5 Nhân viên làm việc năng xuất nhất của từng cơ sở

CREATE PROCEDURE [dbo].BESTEMPLOYEE AS

SELECT s.Store_id, s.Store_Address, p.Name, e.Emp_id,

SUM(b.Total_price) AS Sales,

ROW_NUMBER() OVER (PARTITION BY s Store_id ORDER BY SUM( b Total_price) DESC) AS Rank

The SQL query utilizes INNER JOINs to connect the Employee, Store, and Person tables based on their respective IDs It groups the results by Store ID, Store Address, Employee Name, and Employee ID, ensuring that the data is organized and relevant for analysis.

Ngày đăng: 15/02/2025, 22:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN