HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGKHOA CÔNG NGHỆ THÔNG TIN
B14DCCN023B14DCCN550B14DCCN534B14DCCN269B14DCCN275B14DCCN161B14DCCN476
Trang 2II Phân tích và thiết kế hệ thống thông tin 4
1 Xây dựng mô hình quan hệ các thực thể 4
2 Phân tích chức năng 6
2.1Các chức năng chung 6
2.2Chức năng chính tại mỗi vị trí 6
2.3Chức năng chi tiết tại mỗi vị trí 7
III.Thiết kế thông tin cơ sở dữ liệu phân mảnh ngang 7
1 Bảng phân mảnh nguyên thủy và dẫn xuất 7
2 Định vị 9
IV.Thiết kế vật lí tại các trạm 10
V Quản trị cơ sở dữ liệu phân tán 14
1 Kiến trúc của hệ cơ sở dữ liệu phân tán 14
Trang 3I.Đặt vấn đề
1 Nhu cầu và tầm quan trọng của dự án
Trong những năm gần đây, thuật ngữ Hệ phân tán đã trở nên gần gũi với nhữngngười làm công tác tin học Việc ứng dụng hệ tin học phân tán vào các lĩnh vựcđời sống xã hội, kinh tế, giáo dục … Một trong số đó chính là xây dựng hệ thống cơ sở dữ liệu phân tán trong quản lý điểm sinh viên Hiện nay rất nhiều các trường học, trường đại học đã xây dựng các phần mềm quản lý điểm của sinh viên chỉ dựa trên hệ quản trị cơ sở dữ liệu tập trung, nhưng dữ liệu mỗi năm rất lớn và ngày càng tăng, dẫn đến thời gian truy suất lâu,và giảm hiệu quảcông việc Do vậy việc xây dựng cơ sở dữ liệu phân tán để hỗ trợ quản điểm của sinh viên tại các trường học, trường đại học là rất cần thiết.
2 Một số nhiệm vụ chính của hệ thống
Nghiên cứu hệ quản trị cơ sở dữ liệu phân tán và trên cơ sở lý thuyết đó xây dựng hệ thống cơ sở dữ liệu phân tán để hỗ trợ trong quản lý điểm của sinh viên Đề tài sẽ tập trung xây dựng hệ thống cơ sở dữ liệu nhằm hỗ trợ trong việc quản lý điểm sinh viên (thêm, sửa, xóa, tìm kiếm, thống kê điểm).
Trang 43 Vị trí và nhiệm vụ, dữ liệu khi triển khai dự án, các đối tượng tham gia sử dụng dự án
STT Vùng Chức năng Dữ liệu lưu trữ Lấy dữ liệu từ Chuyển dữ liệu đến
Đối tượng sử dụng
1 Miền Bắc
Đặt máy chủ, lưu trữ dữ liệu của toàn hệ thống Đồngbộ hóa dữ liệu trên toàn hệ thống
Lưu trữ tất cả dữliệu của toàn hệ thống
Lấy dữ liệu từ máy kháchtại các cơ sở
Chuyển dữ liệu đến các máy khách tại các cơ sở
Các máy client
2 Miền Bắc
Đặt máy khách của cơ sở 1 (lưu trữ dữ liệu của cơ sở 1)
Tblkhoa: thông tin khoa trong học viện
Máy chủ, máy kháchtại các cơ sở khác
Máy chủ
Nhân viên phòng khảo thítblMonHoc (dữ
liệu dùng chung) Máy chủtblSinhVien:
thông tin sinh viên khu vực miền bắc
Lấy dữ liệu từ máy kháchtại các cơ sở kháctblDiem: thông
tin điểm các sinhviên miền bắc
Lấy dữ liệu từ máy kháchtại các cơ sở kháctblLop: thông tin
lớp khu vực miền nam
Lấy dữ liệu từ máy kháchtại các cơ sở khác
3 Miền Nam Đặt máy khách của cơ sở 2 (lưu trữ dữ liệu của cơ sở 2)
Tblkhoa: thông tin khoa cơ sở miền nam
Máy chủ, máy kháchtại các cơ
sở khác Máy chủ
Nhân viên phòng khảo thítblMonHoc (dữ
liệu dùng chung) Máy chủtblSinhVien:
thông tin sinh Lấy dữ liệu từ
Trang 5viên khu vực miền nam
máy kháchtại các cơ sở kháctblDiem: thông
tin điểm các sinhviên miền nam
Lấy dữ liệu từ máy kháchtại các cơ sở kháctblLop: thông tin
lớp cơ sở miền nam
Lấy dữ liệu từ máy kháchtại các cơ sở khác
Trang 64 Kịch bản
Học Viện Công Nghệ Bưu Chính Viễn Thông là một trong các trường đại họcđào tạo chuyên sâu các cử nhân về khối kĩ thuật Học Viện xếp hạng về côngnghệ thông tin đứng thứ 3 toàn quốc Hằng năm, Học Viện tuyển sinh hệ chínhquy hơn 2000 sinh viên với điểm đầu vào khá cao,ngoài ra còn có các hệ đàotạo từ xa, cao học…như vậy vấn đề quản lý hồ sơ sinh viên là vấn đề phức tạpvà quan trọng của nhà trường đặc biệt là vấn đề quản lí điểm Công việc nàykhông thể thực hiện thủ công cũng không thể giao cho một phòng ban quản lí.Công việc quản lí điểm của sinh viên phải được quản lí trên hệ thống máy tính,việc quản lí phải có sự kết hợp của các giáo viên và các phòng khảo thí Vì vậy,cần phải xây dựng hệ thống quản lí điểm cho các sinh viên trong toàn Học Việnđể công việc quản lí đảm bảo được độ chính xác và tin cậy.
Phòng khảo thí sẽ quản lí tất cả các thông tin liên quan đến điểm của sinh viêntrong toàn trường như bảng điểm(Mã sinh viên, mã môn học, Học kì, điểm…)và các thông tin liên quan đến điểm của sinh viên như danh mục Khoa, Lớp,môn học(Quản lí gồm có các việc nhập, xem, sửa, xóa, tìm kiếm, thống kê).Trong đó, Phòng khảo thí không được cập nhật điểm của sinh viên(sửa, nhập)công việc này được thực hiện ở mức khoa Các thông tin còn lại phòng khảo thíđảm nhiệm việc quản lí chính.
Mỗi khoa sẽ chỉ quản lí điểm của môn do khoa mình dạy(quản lí gồm có xem,sửa, xóa, thống kê, tìm kiếm) Mỗi khi cập nhật điểm thì phòng khảo thí sẽ tựđộng cập nhật Ngoài ra mỗi khoa sẽ được xem tất cả các môn học, lớp, khoa,các khoa, các lớp mà khoa mình dạy.
Hiện tại mỗi khoa phòng khảo thí sử dụng hệ thống máy tại mỗi phòng làmviệc riêng để thực hiện nhiệm vụ quản lí.
Trang 7II.Phân tích và thiết kế hệ thống thông tin
1 Xây dựng mô hình quan hệ các thực thể
Thực thể CoSo dùng để lưu trữ thông tin về cơ sở đào tạo:
Thực thể Khoa dùng để lưu trữ thông tin về khoa:Tên trường Mô tả
makhoa Mã khoatenkhoa Tên của khoa
macs Mã của sơ sở đào tạo (Hà Nội, Tp HCM)
Thực thể Lop dùng để lưu trữ thông tin về lớp:Tên trường Mô tả
tenlop Tên lớpmakhoa Mã của khoa
Thực thể SinhVien dùng để lưu trữ thông tin của sinh viên:Tên trường Mô tả
Trang 8Thực thể MonHoc lưu trữ thông tin của môn học:Tên trường Mô tả
makhoa Mã khoatenmh Tên môn học
sotc Số tín chỉ của môn học
sotietth Số tiết thực hành của môn họccc
Phần trăm tính điểm cho từng đầu điểm của môn học
Thực thể Diem lưu trữ thông tin điểm của sinh viên:Tên trường Mô tả
masv Mã sinh viên
Trang 9 Lược đồ cơ sở dữ liệu quan hệ
Trang 10 Mô hình thực thể liên kết
n1
Trang 112 Phân tích chức năngII.1 Các chức năng chung
- Quản lý sinh viên:
Quản lý điểm: nhập, xem, sửa, xóa, thống kê, in Quản lý hồ sơ: nhập, xem, sửa, xóa, in
- Quản lý danh mục:
Quản lý khoa: nhập, xem, sửa, xóa, tìm kiếm, thống kê, in Quản lý lớp: nhập, xem, sửa, xóa, tìm kiếm, thống kê, inII.2 Chức năng chính tại mỗi vị trí
- Server chính: Quản lý tất cả các thông tin về khoa, lớp, môn học, sinh viên,điểm tại cả 2 cơ sở
- Server Hà Nội: Quản lý các thông tin về khoa, lớp, môn học, sinh viên, điểmtại cơ sở Hà Nội
- Server Tp Hồ Chí Minh: Quản lý các thông tin về khoa, lớp, môn học, sinhviên, điểm tại cơ sở Tp Hồ Chí Minh
II.3 Chức năng chi tiết tại mỗi vị trí- Tại phòng giáo vụ sẽ thực hiện:
Quản lý tất cả các thông tin liên quan đến điểm của sinh viên trong toàntrường như bảng điểm ( Mã sinh viên, mã môn học, lớp, học kỳ, điểm ) Quản lý các thông tin liên quan đến điểm của sinh viên như danh mục
Khoa, Lớp, Môn học ( Quản lý gồm có các việc nhập, xem, sửa, xóa, tìmkiếm, thống kê )
Chú ý: Phòng giáo vụ không được cập nhập điểm của sinh viên (sửa, nhập),
Trang 12 Mỗi khoa sẽ được xem tất cả các môn học, lớp, điểm mà khoa mình dạy.
1 Bảng phân mảnh nguyên thủy và dẫn xuất
SV _MB
+tblCoso:Điều kiện:
TenCoSo=’Mien Bac”
+ tblKhoa:
Điều kiện: tblKhoa.MaCoSo =tblCoSo.MaCoSo
+ tblSinhVien:Điều kiện:
+ tblLop:Điều kiện:
tblLop.MaKhoa= tblKhoa.MaKhoa+ tblDiem:
SV _MN
+tblCoSo:Điều kiện:
TenCoSo=’Mien Nam’
+ tblKhoa:
Điều kiện: tblKhoa.MaCoSo =tblCoSo.MaCoSo
+ tblSinhVien:Điều kiện:
tblSinhVien.MaLop=tblLop.MaLop
Trang 13+ tblLop:Điều kiện:
tblLop.MaKhoa= tblKhoa.MaKhoa+ tblMonHoc:+ tblDiem:
tblDiem.MaSV=tblSinhVien.MaSV
Lược đồ quan hệ:
Trang 142 Định vị
Phân tán cơ sơ dữ liệu QL_DIEMSV thành 2 mảnh với điều kiện sau:
- QL_DIEMSV_MB được đặt trên server1 (Hà Nội): chứa thông tin của sinhviên, lớp, khoa, môn học,điểm thuộc chi nhánh Học viện Bưu Chính ViễnThông Tp.Hà Nội
- QL_DIEMSV_MN được đặt trên server2 (Sài Gòn): chứa thông tin của sinhviên, lớp, khoa, môn học,điểm thuộc chi nhánh Học viện Bưu Chính ViễnThông Tp.Hồ Chí Minh
- Còn các quan hệ chính đặt tại server tại trung tâm.Sơ đồ định vị:
Trong quá trình thiết kế phân mảnh cho hệ thống chỉ sử dụng phân mảnhngang đểphân tán dữ liệu 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ốngnhau Các bảng dữ liệu tương ứng với các thực thể và mốiquan hệ như sau:
Trang 151 SinhVien Chứa các thông tin, dữ liệu về sinh viên phục vụ cho công tác quản lý sinh viên
2 Lop Chứa các thông tin của lớp phục vụ cho việc quản lý các lớp học
3 Khoa Chứa các thông tin của các khoa phục vụ cho việc quản lý khoa của sinh viên
4 MonHoc Chứa các thông tin của môn học phục vụ cho việc quản lý môn học cho sinh viên
5 Diem Chứa dữ liệu của điểm để phục vụ cho việc quản lý điểm sinh viên
Trang 16Cấu trúc các bảng cụ thể như sau:1 BẢNG SINH VIÊN
Tên thuộc tính Kiểu Ràng buộc Khoá Mô tả
2 BẢNG MÔN HỌCST
T Tên thuộc tính Kiểu Ràng buộc Khoá Mô tả
3 BẢNG LỚP
Trang 172 tenlop nvarchar(100) NotNull Tên lớp
4 BẢNG KHOA
5 BẢNG ĐIỂM
STT Tên thuộc tính Kiểu Ràng buộc Khoá Mô tả
6 BẢNG CƠ SỞ
Trang 18Sơ đồ quan hệ thực thể
Trang 19V.Quản trị cơ sở dữ liệu phân tán
1 Kiến trúc của hệ cơ sở dữ liệu phân tán
Để triển khai được hệ thống phân tán cho hệ thống quản lý cơ sở dữ liệu cácchi nhánh vật tư thì ta phải đầu tư hạ tầng mạng theo mô hình Client Server.Sau khi phân tích hệ thống chủ yếu dựa theo tần suất sử dụng và phạm vi địa lýđề xuất số lượng Server và Client để cài đặt SQL Server như sau: Một serverđó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ủacác bảng dữ liệu ở các Server chi nhánh Server trung tâm này quản lý đến cácServer chi nhánh và phân quyền truy cập CSDL hệ thống Do vậy Server trungtâm phải đủ mạnh Một Server đặt tại chi nhánh Miền Bắc (Hà Đông) đóng vaitrò là máy trạm trong hệ thống Server chi nhánh này dùng để quản trị CSDLtại chi nhánh Miền Bắc và cũng chứa tất cả các bản sao của các bảng dữ liệu ởServer trung tâm và Server chi nhánh tại Miền Bắc Một Server đặt tại chinhánh Miền Nam (TP HCM) đóng vai trò là máy trạm trong hệ thống Serverchi nhánh này dùng để quản trị CSDL tại chi nhánh Miền Nam và cũng chứatất cả các bản sao của các bảng dữ liệu ở Server trung tâm và Server chi nhánhtại Miền Nam.
2 Sơ đồ tổng quát
Trang 20VI.Cài đặt vật lý
1 Cài đặt SQL Server 2014
Bước 1:Chạy file setup.exe Chọn New SQL Server stand-alone instaliation
or add features to an existing íntallation (hình 4.1.1)
Trang 21Hình 4.1.1
Trang 22 Bước 2: Chọn phiên bản bản quyền hoặc dùng thử và ấn Next (Hình 4.1.2)
Hình 4.1.2
Trang 23 Bước 3: chọn I accept the license tems và chọn Next đến khi hiển thị kết quả
Hình 4.1.3
Trang 24 Bước 4: Chọn All Fertures With Defaults và chọn Next hiển thị kết qua sau:
Hình 4.1.4
Trang 25 Bước 5: Chọn Select All và chọn Next thu được kết quả Hình 4.1.5
Hình 4.1.5
Trang 26 Bước 6: Đặt tên cho server và Next đến khi thu được kết quả Hình 4.1.6
Hình 4.1.6
Trang 27 Bước 7: Chọn Mixed Mode, nhập password window, chọn Add Current
User và chọn Next thu được kết quả Hình 4.1.7
Hình 4.1.7
Trang 28 Bước 8: Chọn Multidimensional and Data Mining Mode, Add Current
User và chọn Next thu được kết quả Hình 4.1.8
Hình 4.1.8
Trang 29 Bước 9: Chọn Install Only và chọn Next đến khi thu được kết quả Hình
Hình 4.1.9
Trang 30 Bước 10: Nhập tên cho Controller Name và chọn Next Hình 4.1.10
Hình 4.1.10
Click Install và hoàn tất cài đặt
2 Config các máy chủ
2.1 Tắt tường lửa và mở cổng kết nối
Vào Control Panel/System and Security/Window Defend Firewall và tắt Window Defend Firewall (Hình 4.2.1)
Trang 34 Enable tất cả các địa chỉ IP của các Server, cổng TCP port là 1433
2.3 Tạo thư mục để chia sẻ dữ liệu (Server)
Tạo 1 thư mục RelData trong ổ D, nhấn phải chuột vào thử mục chọn Properties
Trong tab Sharing click Share
Add Everyone, Permission chọn Read/Write
Trang 352.4 Tạo Database và phân tán dữ liệu đến các máy trạm
Tại các máy chủ (chính, phụ) khởi động Microsoft SQL Server ManagementStudio, đăng nhập và tài khoản ‘sa’ Tạo database QL_DIEMSV
Tại máy chủ chính:
Tạo một Config Distribution:
Click chuột phải vào Replication, chọn Config Distribution
Trang 36 Chọn đường dẫn là thư mục RelData vừa tạo để chia sẻ dữ liệu ở trên clickNext đến khi kết thúc
Tạo Publication:
Click chuột phải vào Local Publication chọn New Publication
Chọn database cần phân tán:
Chọn merge publicaton:
Trang 37 Chọn các bảng dữ liệu phân tán
Trang 38 Điền điều kiện phân tán như trong hình.
Chọn Add Join to Extend the Selected Filter chọn các ràng buộc khóa:
Trang 39 Tương tự làm với các bảng còn lại, ta được kết quả phân tán như sau:
Trang 40 Nhấn Finish để thực hiện tạo Publication
Tạo Subcriptions:
Click chuột phải vào Publication vừa tạo, chọn New Subcriptions
Chọn database:
Trang 41 Chọn server phụ và database cần tạo sub:
Trang 42 Chọn Run Continusty để tự động đồng bộ hóa
Trang 43 Nhấn Next cho đến khi xuất hiện Finish thì Click vào để hoàn thành việccài đặt
Như vậy ta đã cấu hình xong dữ liệu phân tán cho các máy chủ phụ. Tạo Linked Server giữa các máy chủ phụ:
Chọn New Linked Server, điền tên Linked Server và các thông số máy chủcần tạo liên kết tới:
Tại phần Security chọn như trong hình:
Trang 44 Trong phần Server Option:
Click OK để tiền hành tạo Linked Server.
Trang 45VII.Triggers và Store Procedure
1 Triggers
Triggers tại CS1:
Trang 47 Triggers tại CS2:
Trang 492 Store Procedure
Trang 50- Procedure cập nhật thông tin sinh viên:/*Cập nhật thông tin của 1 sinh viên*/
create PROCEDURE updateSV
@ten varchar(40), @masv1 varchar(10), @ngaySinh datetime, @diaChi varchar(50),@gioiTinh varchar(4),@maLop varchar(10),@masv2 varchar(10)AS
Trang 51/*Xóa 1 sinh viên trong bảng sinh viên*/USE [QL_DIEMSV]
/****** Object: StoredProcedure [dbo].[deleteSinhVien] Script Date: 11/26/2017 5:24:47 PM ******/
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
ALTER PROCEDURE [dbo].[deleteSinhVien]@masv char(10)
Delete SinhVien where SinhVien.masv = @masvEND
- Procedure tìm kiếm sinh viên:/*TÌm kiếm sinh viên theo tên*/USE [QL_DIEMSV]
/****** Object: StoredProcedure [dbo].[findSinhVien] Script Date: 11/26/2017 5:26:27 PM ******/
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
ALTER PROCEDURE [dbo].[findSinhVien]@tensv char(20)
select * from SinhVien where tensv like @tensvEND
Trang 52SET QUOTED_IDENTIFIER ONGO
ALTER PROCEDURE [dbo].[showSVien] @ten varchar(40)
select a.*, b.tenlop as e
from SinhVien a inner join Lop b on b.malop=a.malop and a.tensv like @ten;END
- Procedure xem điểm theo lớp:/* Xem điểm theo lớp
USE [QL_DIEMSV]GO
/****** Object: StoredProcedure [dbo].[xemDiemTheoLop] Script Date: 11/26/2017 6:06:11 PM ******/
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
ALTER PROCEDURE [dbo].[xemDiemTheoLop]@tenlop nvarchar(100)
select Diem.masv,tensv, diemtb from Diem, SinhVien,Lop where Lop.tenlop like @tenlop
end