Professional Documents
Culture Documents
Nhóm: 5
Hà Nội - 2021
Sinh viên thực hiện:
Mục lục
I. Đặt vấn đề ......................................................................................................... 4
1. Nhu cầu và tầm quan trọng của dự án ........................................................... 4
1.1 Nhu cầu và tầm quan trọng của dự án ...................................................... 4
1.2 Sơ lược về dự án ....................................................................................... 4
1.3 Vị trí thực hiện triển khai dự án................................................................ 4
2. Kịch bản dữ liệu ............................................................................................. 5
II. Phân tích ......................................................................................................... 6
1. Các chức năng của hệ thống .......................................................................... 6
2. Chức năng của từng vị trí thực hiện .............................................................. 6
3. Chức năng của máy trạm và máy chủ ............................................................ 6
4. Phân quyền các nhóm đối tượng thực hiện dự án.......................................... 9
5. Phân tích cơ sở dữ liệu ................................................................................... 9
6. Bảng tần suất truy cập .................................................................................. 10
III. Thiết kế ........................................................................................................ 10
1. Thiết kế hệ thống mạng tổng quan .............................................................. 10
2. Thiết kế CSLD hệ thống .............................................................................. 12
2.1 Lược đồ phục vụ cho phân mảnh ngang................................................. 12
2.2 Lược đồ ánh xạ ....................................................................................... 12
2.3 Sơ đồ định vị ........................................................................................... 13
2.4 Thiết kế vật lý ......................................................................................... 14
2.5 Thiết kế nhân bản đồng bộ ..................................................................... 17
2.6 Thiết kế lược đồ phân mảnh ................................................................... 18
2.7 Tạo liên kết giữa các bảng ...................................................................... 20
2.8 Thiết kế kiến trúc .................................................................................... 20
IV. Cài đặt .......................................................................................................... 20
1. Tạo mạng lan ảo bằng zerotier .................................................................. 20
2. Phân tán CSDL theo chi nhánh: ................................................................ 25
3. Tạo linkserver. ........................................................................................... 64
4. Phân quyền tài khoản SQL ........................................................................ 71
I. Đặt vấn đề
1. Nhu cầu và tầm quan trọng của dự án
1.1 Nhu cầu và tầm quan trọng của dự án
Việc dạy và học theo tín chỉ đối với sinh viên ngày càng có nhiều ưu điểm.
Việc dạy và học theo tín chỉ sẽ giúp nâng cao hiệu quả giảng dạy và tư duy sáng
tạo của sinh viên. Đối với hình thức này, người học tự học, tự nghiên cứu, giảm
sự nhồi nhét kiến thức của người dạy. Các sinh viên có thể tham khảo ý kiến của
thầy cô hoặc cố vấn học tập để chọn các môn học phù hợp, đáp ứng yêu cầu bằng
cấp và phục vụ cho tương lai, bởi khối kiến thức có số lượng môn học lớn hơn số
lượng môn học hoặc số tín chỉ cần thiết. Do đó, phát huy được tính chủ động,
sáng tạo của người học.
Với nhu cầu học tập của sinh viên ngày càng tăng cao, các trường học đã
mở rộng thêm nhiều chi nhánh tại các địa điểm khác nhau. Để quản lý các trường
học chi nhánh một cách hiệu quả cần xây dựng hệ thống quản lý thông tin và dữ
liệu trường học. Các chi nhánh đặt tại các địa điểm khác nhau nên cần một hệ
thống có thể liên kết các chi nhánh và máy chủ giúp đồng bộ và phân tán các dữ
liệu cần thiết.
Do đó, trang bị một hệ thống quản lý đăng ký tín chỉ giúp tự động hóa việc
quản lý đăng ký tín chỉ của sinh viên, giảm bớt những thủ tục thủ công, rất cần
được xem xét đưa vào thực hiện để nâng cao hiệu quả của việc quản lý trong nhà
trường.
1.2 Sơ lược về dự án
Hệ thống quản lý đăng ký tín chỉ sẽ là công cụ đóng vai trò chủ chốt trong
việc đơn giản hóa và đảm bảo việc thực hiện các nghiệp vụ trong đăng ký tín chỉ.
Hệ thống quản lý đăng ký tín chỉ sẽ phân tán dữ liệu từ máy chủ đặt tại thành phố
Hà Nội tới 10 máy trạm được đặt tại 10 điểm trường học chi nhánh khác nhau ở
Việt Nam.
Mỗi chi nhánh, nhân viên quản lý sẽ quản lý thông tin đăng ký tín chỉ được
đặt tại mỗi chi nhánh. Và máy chủ sẽ có tất cả các thông tin đó của tất cả 10 trạm.
Khi mỗi chi nhánh cập nhật thông tin của một giảng viên, sinh viên, môn học,
khoa hay thông tin đăng ký tín chỉ và lưu vào CSDL của mình thì máy chủ ở Hà
Nội sẽ tự động đồng bộ các dữ liệu đó. Như vậy, sẽ giúp tối ưu, và tự động hóa
được nhiều chức năng, giúp việc quản lý trở nên hiệu quả và đơn giản hơn.
1.3 Vị trí thực hiện triển khai dự án
- Vị trí 1: Máy chủ tại Hà Nội
- Vị trí 2: Trường học chi nhánh An Giang
- Vị trí 3: Trường học chi nhánh Bắc Giang
- Vị trí 4: Trường học chi nhánh Bắc Ninh
- Vị trí 5: Trường học chi nhánh Hà Nam
- Vị trí 6: Trường học chi nhánh Hải Dương
- Vị trí 7: Trường học chi nhánh Hải Phòng
- Vị trí 8: Trường học chi nhánh Hưng Yên
- Vị trí 9: Trường học chi nhánh Nam Định
- Vị trí 10: Trường học chi nhánh Nghệ An
- Vị trí 11: Trường học chi nhánh Thanh Hóa
2. Kịch bản dữ liệu
Hệ thống quản lý đăng kí tín chỉ của một trường đại học tại các chi nhánh
đặt tại 10 thành phố: An Giang, Bắc Giang, Bắc Ninh, Hà Nam, Hải Dương, Hải
Phòng, Hưng Yên, Nam Định, Nghệ An, Thanh Hóa và một máy chủ đặt tại Hà
Nội.
Hệ thống được sử dụng bởi người quản lý và các nhân viên tại các chi
nhánh phục vụ cho việc đăng kí tín chỉ của sinh viên.
Các quyền truy cập của người dùng:
+ Người quản lý (tại máy chủ tổng):
● Xem thông tin giảng viên, sinh viên, lớp đăng ký, lớp học
phần.
● Xem, thêm, sửa, xóa tất cả dữ liệu về trường học, khoa, môn
học.
+ Nhân viên (tại các chi nhánh):
● Xem thông tin khoa, môn học, trường học.
● Được xem, thêm, sửa, xóa giảng viên, sinh viên, lớp đăng
ký, lớp học phần.
Máy chủ được đặt tại Hà Nội sẽ chịu trách nhiệm lưu lại toàn bộ dữ liệu
của cả 10 chi nhánh bao gồm các dữ liệu về trường, giảng viên, sinh viên, khoa,
môn học, môn học đã đăng ký.
Máy chủ sẽ tự động đồng bộ dữ liệu từ các chi nhánh khác nhau và lưu lại
toàn bộ dữ liệu đó khi dữ liệu ở máy trạm có sự thay đổi.
Mỗi máy trạm tại các chi nhánh sẽ cập nhật, sửa đổi các thông tin về thông
tin sinh viên, giảng viên, môn học, khoa, môn học đã đăng ký, học phí tại của chi
nhánh mình, khi cần thông tin từ các chi nhánh khác, máy trạm sẽ truy vấn tới
máy chủ để lấy dữ liệu cần thiết.
II. Phân tích
1. Các chức năng của hệ thống
Hệ thống cho phép người dùng thực hiện các thao tác đăng nhập và các thao tác
cơ bản như thêm/ sửa/ xóa dữ liệu của hệ thống. Với các chức năng cụ thể:
+ Quản lí trường học: thực hiện việc quản lí thông tin các trường học trong
nước.
+ Quản lí sinh viên: quản lí tài khoản các sinh viên học tại trường học được
phép đăng nhập vào hệ thống.
+ Quản lí giảng viên: quản lí tài khoản các giảng viện dạy tại trường học
được phép đăng nhập vào hệ thống.
+ Quản lí môn học: quản lí các môn học thuộc danh sách các môn học của
trường học.
2. Chức năng của từng vị trí thực hiện
Máy chủ: quản lý csdl toàn hệ thống tại Hà Nội
Các máy trạm:
+ Máy trạm 1: Quản lý CSDL tại chi nhánh An Giang
+ Máy trạm 2: Quản lý CSDL tại chi nhánh Bắc Giang
+ Máy trạm 3: Quản lý CSDL tại chi nhánh Bắc Ninh
+ Máy trạm 4: Quản lý CSDL tại chi nhánh Hà Nam
+ Máy trạm 5: Quản lý CSDL tại chi nhánh Hải Dương
+ Máy trạm 6: Quản lý CSDL tại chi nhánh Hải Phòng
+ Máy trạm 7: Quản lý CSDL tại chi nhánh Hưng Yên
+ Máy trạm 8: Quản lý CSDL tại chi nhánh Nam Định
+ Máy trạm 9: Quản lý CSDL tại chi nhánh Nghệ An
+ Máy trạm 10: Quản lý CSDL tại chi nhánh Thanh Hóa
Trong đó:
● H: tần suất cao
● L: tần suất thấp
● W: tạo mới và ghi
● R: đọc
● E: sửa
● D: xóa
III. Thiết kế
1. Thiết kế hệ thống mạng tổng quan
Chi nhánh tổng: Đặt máy Server Hà Đông Hà Nội thực hiện các chức năng
lưu CSDL của toàn hệ thống, đóng vai trò Server trung tâm đặt tại Hà Nội, dùng
lưu tất cả các bản sao của bảng dữ liệu ở các server chi nhánh. Server trung tâm
này quản lý đến các Server chi nhánh và phân quyền truy cập CSDL hệ thống.
Chi nhánh An Giang: Đặt máy Server trạm An Giang thực hiện các chức
năng và lưu CSDL nằm ở An Giang
Chi nhánh Bắc Giang: Đặt máy Server trạm Bắc Giang thực hiện các chức
năng và lưu CSDL nằm ở Bắc Giang
Chi nhánh Bắc Ninh: Đặt máy Server trạm Bắc Ninh thực hiện các chức
năng và lưu CSDL nằm ở Bắc Ninh
Chi nhánh Nghệ An: Đặt máy Server trạm Nghệ An thực hiện các chức
năng và lưu CSDL nằm ở Nghệ An
Chi nhánh Hà Nam: Đặt máy Server trạm Hà Nam thực hiện các chức năng
và lưu CSDL nằm ở Hà Nam
Chi nhánh Hải Dương: Đặt máy Server trạm Vinh thực hiện các chức năng
và lưu CSDL nằm ở Hải Dương
Chi nhánh Hải Phòn: Đặt máy Server trạm Hải Phòng thực hiện các chức
năng và lưu CSDL nằm ở Hải Phòng
Chi nhánh Hưng Yên: Đặt máy Server trạm Hưng Yên thực hiện các chức
năng và lưu CSDL nằm ở Hưng Yên
Chi nhánh Nam Địn: Đặt máy Server trạm Nam Định thực hiện các chức
năng và lưu CSDL nằm ở Nam Định
Chi nhánh Thanh Hóa: Đặt máy Server trạm Thanh Hóa thực hiện các chức
năng và lưu CSDL nằm ở Thanh Hóa
2. Thiết kế CSLD hệ thống
2.1 Lược đồ phục vụ cho phân mảnh ngang
Tại máy chủ mối quan hệ toàn cục được phân thành 10 mảnh. Mỗi mảnh
chỉ có một bản sao tại máy chủ nhất định
2.3 Sơ đồ định vị
2.4 Thiết kế vật lý
Trong quá trình thiết kế phân mảnh cho hệ thống, chúng tôi chỉ sử dụng
phân mảnh ngang để phân tán dữ liệu tạo nên cấu trúc vật lý của các bảng dữ liệu
tại các trạm đều giống nhau. Các bảng dữ liệu tương ứng với các thực thể và mối
quan hệ có trong hệ thống như sau: Các ký hiệu dùng để mô tả:
1 Trường Chứa thông tin liên quan đến trường cho công tác quản lý
thông tin trường đó
2 Sinh viên Chứa thông tin sinh viên, phục vụ cho công tác quản lý sinh
viên
3 Giảng viên Chứa thông tin giảng viên, phục vụ cho công tác quản lý
giảng viên
4 Đăng ký Chứa thông tin lớp học phần đã đăng ký của sinh viên, phục
vụ công tác quản lý đăng ký của sinh viên
5 Khoa Chứa thông tin khoa, phục vụ cho công tác quản lý khoa
6 Lớp học Chứa thông tin lớp học phần, phục vụ công tác quản lý lớp
phần học phần
7 Môn học Chứa thông tin môn học, phục vụ công tác quản lý môn học
Bảng Khoa:
Tên thuộc
STT Kiểu dữ liệu Ràng buộc Khóa Mô tả
tính
NOT
1 MaLHP VARCHAR(255) PK Mã của một lớp học phần
NULL
NOT
2 TenLHP VARCHAR(255) Tên của lớp học phần
NULL
NOT Mã giảng viên của phòng
3 MaGV VARCHAR(255) FK
NULL học
NOT Mã môn học của phòng
4 MaMH VARCHAR(255) FK
NULL dạy
NOT
2 MaLHP VARCHAR(255) FK Tên của lớp học phần
NULL
Thời gian đăng kí môn học
3 NgayDK DATE NULL
của sinh viên
- Copy network id
- Mở zerotier đã cài trên máy
- Hoàn tất quá trình tạo và join vào mạng lan ảo.
- Nhấn connect:
- Mở rộng mục Replication:
- Chuột phải mục Local Publication và chọn ‘new Publication’:
-
- Chọn next:
-
- Chọn Add và chọn add filter để them lược đồ phân mảnh:
- Lựa chọn bảng có chứa điều kiện phân mảnh và thiết lập câu lệnh
phân mảnh, nhấn OK. Ở đây điều kiện phân mảnh trường học trong
CSDL theo CN1:
- Thiết lập các phân mảnh ngang dẫn suất theo phân mảnh ngang
nguyên bản. Chọn ‘Add’, chọn mục ‘Add join to Extends or select
filter…’.
- Chọn các bảng sẽ bị phân mảnh theo trường học. Ở đây có sinh viên
và giảng viên:
-
- Tiếp theo ta chọn các bảng sẽ phân mảnh theo sinh viên và giảng viên.
Ở đây có lớp học phần bị phân mảnh theo giảng viên và đăng kí bị
phân mảnh theo sinh viên:
- Nhấn OK và được kết quả lược đồ phân tán sau:
- Nhấn next:
-
- Nhấn next tiếp:
- Nhấn OK:
- Nhấn next
- Nhấn next:
- Nhập server name và tài khoản sa của server sẽ chứa csdl sau khi phân
mảnh:
- Nhấn connect
- Nhấn và vùng trống cột subcription database và chọn new database:
- Đặt tên cho database và nhấn ok
- Nhấn next:
- Nhấn OK
- Nhấn next
-
- Nhấn next
- Nhấn next
- Nhấn next
- Nhấn finish
-
- Nhấn close để hoàn tất
- Mở rộng phần local publication lại, chuột phải vào publication vừa
tạo, chọn View Snapshot Agent Status để xem kết quả chạy phân tán
-
- Nhấn share
- Nhấn s
- sổ xuống
- Nhấn add
- Nhấn nút sổ xuống cột permission level và chọn read and write
- Nhấn share
- Nhấn done
- Nhấn close
- Vào SQL server và chọn publication bị lỗi, chuột phải và chọn
properties
- Chọn tab SnapShot
- Nhấn ok
- Chuột phải lại vào publication bị lỗi và chọn view snapshot agent
status.
- Chọn start
- Nhấn close để kết thúc và hoàn tất quá trình phân tán.
3. Tạo linkserver.
- Mở SQL manager configuration
- Chọn tab SQL server network configuration
- Chọn xác thực bằng SQL và nhập tài khoản sa của server muốn link
- Chọn tab server option
- Nhấn ok
- Chuột phải tài khoản vừa tạo, chọn properties và chọn tab user
mapping
- Chọn csdl muốn phan quyền và chọn các quyền ở ô bên dưới. Ở đây
chọn quyền sở hữu csdl(db owner-full quyền. Xem them ở
https://quantrimang.com/tim-hieu-ve-khai-niem-role-trong-sql-server-
82533).
- Kết quả