You are on page 1of 74

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN I


-----🙞🙜🕮🙞🙜-----

BÁO CÁO MÔN


CƠ SỞ DỮ LIỆU PHÂN TÁN
Đề tài: Hệ thống quản lý đăng ký tín chỉ
Giảng viên hướng dẫn: Phan Thị Hà

Nhóm: 5

Hà Nội - 2021
Sinh viên thực hiện:

Nguyễn Minh Đức B18DCCN174


Lê Đắc Duy B18DCCN108
Phan Minh Đức B18DCCN180
Đào Thị Xoan B18DCCN699
Vũ Văn Thưởng B18DCCN658
Nguyễn Viết Nam B18DCCN433
Nguyễn Sỹ Đạt B16DCCN064
Vũ Tuấn Anh B18DCCN042
Trần Ngọc Tú B18DCCN553
Nguyễn Thị Thêu B18DCCN636
Hoàng Vĩnh Hưng B18DCCN279

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

3. Chức năng của máy trạm và máy chủ


Máy chủ:
+ Lưu trữ dữ liệu toàn bộ hệ thống 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ủ 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 ở các
máy trạm có sự thay đổi.
+Lấy dữ liệu từ máy trạm tại các chi nhánh con khác. Chuyển dữ liệu xuống
các máy trạm tại các chi nhánh khi có yêu cầu.
Máy trạm chi nhánh An Giang: Quản lý việc đăng ký môn học, quản lý
sinh viên, giảng viên tại chi nhánh An Giang.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh An Giang.
+ 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.
Máy trạm chi nhánh Bắc Giang: Quản lý việc đăng ký môn học, quản lý
sinh viên, giảng viên tại chi nhánh Bắc Giang.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh Bắc
Giang.
+ 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.
Máy trạm chi nhánh Bắc Ninh: Quản lý việc đăng ký môn học, quản lý sinh
viên, giảng viên tại chi nhánh Bắc Ninh.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh Bắc Ninh.
+ 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.
Máy trạm chi nhánh Hà Nam: Quản lý việc đăng ký môn học, quản lý sinh
viên, giảng viên tại chi nhánh Hà Nam.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh Hà Nam.
+ 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.
Máy trạm chi nhánh Hải Dương: Quản lý việc đăng ký môn học, quản lý sinh
viên, giảng viên tại chi nhánh Hải Dương.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh Hải
Dương.
+ 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.
Máy trạm chi nhánh Hải Phòng: Quản lý việc đăng ký môn học, quản lý
sinh viên, giảng viên tại chi nhánh Hải Phòng.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh Hải
Phòng.
+ 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.
Máy trạm chi nhánh Hưng Yên: Quản lý việc đăng ký môn học, quản lý
sinh viên, giảng viên tại chi nhánh Hưng Yên.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh Hưng
Yên.
+ 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.
Máy trạm chi nhánh Nam Định: Quản lý việc đăng ký môn học, quản lý
sinh viên, giảng viên tại chi nhánh Nam Định.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh Nam
Đị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.
Máy trạm chi nhánh Nghệ An: Quản lý việc đăng ký môn học, quản lý sinh
viên, giảng viên tại chi nhánh Nghệ An.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh Nghệ An.
+ 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.
Máy trạm chi nhánh Thanh Hóa: Quản lý việc đăng ký môn học, quản lý
sinh viên, giảng viên tại chi nhánh Thanh Hóa.
+ Dữ liệu sau khi được thêm vào csdl tại máy trạm sẽ được đồng bộ lên
máy chủ tại Hà Nội.
+ Dữ liệu lưu trữ tại chi nhánh gồm: thông tin sinh viên, giảng viên, môn
học, khoa, môn học đã đăng ký, học phí, nhà trường tại riêng chi nhánh Thanh
Hóa.
+ 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.
4. Phân quyền các nhóm đối tượng thực hiện dự án
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.
5. Phân tích cơ sở dữ liệu
6. Bảng tần suất truy cập

Thực thể Trụ sở chính Các chi nhánh

Trường học H.RWED H.R

Giảng Viên H.R H.WRED

Sinh Viên H.R H.WRED

Khoa H.WRED H.R

Lớp học phần L.R H.WRED

Lớp đăng kí L.R H.WRED

Môn học H.WRED H.WRED

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

2.2 Lược đồ ánh xạ

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ả:

+ Null: N (No, không được rỗng), Y (Yes, có thể rỗng).

+ PK (Primary key - khóa chính)


+ FK (Khóa ngoại)
Các bảng cơ sở dữ liệu:

STT Tên bảng Ý nghĩa

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 trường học:

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

1 MaCN VARCHAR(255) NOT NULL PK Mã của một chi nhánh

2 TenTH VARCHAR(255) NOT NULL Tên của trường học

3 DiaChi VARCHAR(255) NOT NULL Địa chỉ của trường học

Bảng Sinh Viên:

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


NOT
1 MaSV VARCHAR(255) PK Mã của một sinh viên
NULL
NOT
2 TenSV VARCHAR(255) Tên của sinh viên
NULL
NOT
3 NgaySinh DATE Ngày sinh của sinh viên
NULL
NOT
4 DiaChi VARCHAR(255) Địa chỉ của trường học
NULL
NOT Mã trường học của sinh
5 MaCN VARCHAR(255) FK
NULL viên
NOT
6 MaK VARCHAR(255) FK Mã khoa của sinh viên
NULL

Bảng Khoa:

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

1 MaK VARCHAR(255) NOT NULL PK Mã của một khoa

2 TenK VARCHAR(255) NOT NULL Tên của khoa

Bảng môn học:

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

1 MaMH VARCHAR(255) NOT NULL PK Mã của một môn học

2 TenMH VARCHAR(255) NOT NULL Tên của trường học

Số tín chỉ của một môn


3 Sotinchi int(11) NOT NULL
học

4 MaK VARCHAR(255) NOT NULL FK Mã khoa của môn học

Bảng Giảng viên:

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

1 MaGV VARCHAR(255) NOT NULL PK Mã của một môn học


2 TenGV VARCHAR(255) NOT NULL Tên của trường học

Số tín chỉ của một môn


3 Email VARCHAR(255) NOT NULL
học

4 MaCN VARCHAR(255) NOT NULL FK Mã trường của giáo viên

5 MaK VARCHAR(255) NOT NULL FK Mã khoa của môn học

Bảng Lớp học phần:

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

Bảng Lớp đăng kí:

Tên thuộc Ràng


STT Kiểu dữ liệu Khóa Mô tả
tính buộc

NOT Mã sinh viên của lớp học phần


1 MaSV VARCHAR(255) FK
NULL được đăng ký

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

2.5 Thiết kế nhân bản đồng bộ

Bảng KHOA nhân bản ở tất cả các trạm


Bảng MONHOC nhân bản ở tất cả các trạm
2.6 Thiết kế lược đồ phân mảnh
Dựa vào khoảng cách địa lý, tần suất sử dụng và hoạt động của hệ thống,
việc phân mảnh dữ liệu sẽ được đề xuất phân mảnh dữ liệu như sau:
Phân mảnh sơ sở dữ liệu quản lý trường học thành 11 mảnh:
+ Server chứa thông tin về khoa và môn học
+ Các chi nhánh đặt trên 10 máy trạm (như đã phân ở phần trên) : chứa
toàn bộ thông tin sinh viên, giảng viên, lớp học phần, lớp đăng kí
Để phân mảnh cơ dữ liệu từ máy chủ xuống 1o máy trạm, chọn quan hệ
tổng thể là Trường học để làm mốc cho việc phân mảnh, dựa vào các mảnh của
trường học sẽ dẫn xuất đến sự phân mảnh của các hệ tổng thể còn lại

STT Tên Nguyên thủy Dẫn xuất


1 ChiNhanhAG [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁1" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
2 ChiNhanhBG [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁2" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
3 ChiNhanhBN [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁3" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
4 ChiNhanhHN [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁4" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
5 ChiNhanhHD [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁5" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
6 ChiNhanhHP [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁6" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
7 ChiNhanhHY [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁7" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
8 ChiNhanhND [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁8" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
9 ChiNhanhNA [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁9" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
10 ChiNhanhTH [𝑇𝑅𝑈𝑂𝑁𝐺𝐻𝑂𝐶]. [𝑀𝑎𝐶𝑁] SINHVIEN:
= "𝐶𝑁10" [SINHVIEN].[MaCN] = [TRUONGHOC].[MaCN]
GIANGVIEN:
[GIANGVIEN].[MaCN] = [TRUONGHOC].[MaCN]
LHP:
[LHP].[MaGV] = [GIANGVIEN].[MaGV]
LDK:
[LDK].[MaSV] = [LDK].[MaSV]
2.7 Tạo liên kết giữa các bảng

2.8 Thiết kế kiến trúc


Mô hình kiến trúc sử dụng : Client- server
IV. Cài đặt
1. Tạo mạng lan ảo bằng zerotier
- Tải zerotier từ trang chủ

- Chọn biểu tượng windown để tải về


- Quả trình tải về hoàn tất, click vào để cài đặt zerotier client.
- Login và zerotier trên web
- Chọn create a network để tạo mạng lan
- Nhấp vào mạng vừa tạo

- Copy network id
- Mở zerotier đã cài trên máy

- Nhập network id vào ô có dấu ########


- Nhấn join network

- Hoàn tất quá trình tạo và join vào mạng lan ảo.

2. Phân tán CSDL theo chi nhánh:


- Truy cập SQL server chứa CSDL tập trung bằng tài khoản sa:

- Nhấn connect:
- Mở rộng mục Replication:
- Chuột phải mục Local Publication và chọn ‘new Publication’:

- Giao diện tạo Publication:

-
- Chọn next:

- Chọn CSDL muốn phân tán và nhấn next:


- Chọn merge publication và next:

- Chịn SQL 2008 or later và next:


- Chọn các bảng muốn phân tán trong CSDL và ấ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:
-

- Nhấn Ok cho từng bảng và dược kết quả:

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

- Chọn Security setting:


- CHọn các mục chứa SQL Server và điền thông tin tài khoản sa của
SQL server.

- Nhấn OK:
- Nhấn next

- Nhấn next:

- Đặt tên và nhấn Finish:


-

- Nhấn Close để hoàn tất tạo publication


- Kết nối tới một máy trong mạng thông qua tài khoản sa để phân tán:
- Mở lại phần Local publication ta sẽ thấy
- Chuột phải vào publication vừa tạo và chọn new subcription:

- Chọn publication mong muốn và next


- Nhấn next:
- Chọn Add sql server subcriber:

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

- Chọn dấu 3 chấm góc phải


- Chọn các mục chứa SQL server và nhập tài khoản sa của server con

- Nhấn OK

- Nhấn next
-

- Sửa cột Agent Schedule thành run continuously


- 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
-

- Đang bị lỗi do thư mục chung chưa ở chế độ share.


- Ta tạo một thu mục mới có tên replData ngoài desktop
- Chuột phải thư mục chọn properties

- Ta chọn tab sharing


- Chọn advance setting

Tích chọn share folder


- Nhấn ok

- Nhấn share

- Nhấn s
- sổ xuống

- chọn every one

- 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

- Tích chọnPut file in the following folder:


- Nhập đường dẫn tới thu mục replData ngoài desktop vừa tạo

- 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

- Click đúp server sql của bạn


- Chuột phải tcp/ip chọn enable

- -khởi động lại dịch vụ sql server để hoàn tất.


- Mở rộng mục Serve objects
- Chuột phải linked server và chọn new server

o Linked Server: tên đặt tùy chọn


o Provider chọn Sql server native client
o Product name: tên server muốn link
o Datasource: là chuỗi ‘tcp:’ + <địa chỉ ip của máy muốn link>
- Chọn tab security

- 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

- Đặt RPC Out bằng true

- Nhấn OK để hoàn tất


- Kết quả

4. Phân quyền tài khoản SQL


- Mở rộng mục Security và chuột phải vào login chọn new login để tạo
locin mới
-
- Chọn xác thực SQl và nhập thông tin login name và password

- 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).

- Nhấn OK để hoàn tất phân quyền.


- Connect lại server sql bằng tài khoản vừa tạo

- Kết quả

You might also like