4.5.1. Sơ đồ định vị
Từ việc phân mảnh dữ liệu ta xác định được sơ đồ định vị của các mảnh tại các vi trí như sau:
Hình 4.3: Sơ đồ định vị của các mảnh tại các vị trí
4.5.2. Thiết kế sơ đồ ánh xạ địa phương
Để hệ thống hoạt động tốt trên môi trường phân tán nên ta phải tạo bản sao của các bảng dữ liệu tại các vị trí như sau .
KHOA LOP MONHOC SINHVIEN KETQUA 27
Hình 4.4: Sơ đồ ánh xạ địa phương
4.6. Thiết kế vật lý tại các trạm
Trong quá trình thiết kế phân mảnh cho hệ thống nhóm em chỉ sử dụng phân mảnh ngang để phản ánh dữ liệu nên cấu trúc vật lý của các bảng 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:
Một số kí hiệu để mô tả: PK (primary key: khóa chính) FK (foreign key: khóa ngoại)
Các bảng dữ liệu của hệ thống quản lý điểm:
STT TÊN BẢNG Ý NGHĨA
1 KHOA Khoa, chứa thông tin liên quan đến khoa
phục vụ cho công tác quản lý sinh viên.
2 LOP Lớp, chứa thông tin các lớp phục vụ cho hệ
thống quan lý
3 MONHOC Môn học, chứa thông tin về các môn học
dựa vào từng khoa khác nhau.
4 SV Sinh viên, lưu thông tin sinh viên Trường
ĐH Hùng Vương phục vụ cho hệ thống quản lý.
5 KETQUA Kết quả, chứa thông tin kết quả của các sinh viên trong hệ thống.
Cấu trúc các bảng trong hệ thống quản lý điểm
R1 R2 R1 R2 R1 R2 R Cơ sở 1 Cơ sở 2 Quan hệ tổng thể Các đoạn Hình ảnh vật lý
Bảng 4.1: KHOA ( chứa thông tin các khoa trong hệ thống)
STT Tên trường Kiểu DL, độ rộng Ghi chú
1 MAKHOA Varchar(15) Mã khoa(PK)
2 TENKHOA Varchar(50) Tên khoa
3 MACS Varchar(15) Mã cơ sở
Bảng 4.2: LOP( chứa thông tin về các lớp trong hệ thống)
STT Tên trường Kiểu DL, độ rộng Ghi chú
1 MALOP Varchar(15) Mã lớp (PK)
2 TENLOP Nvarchar(50) Tên lớp
3 SISO int Sĩ số
4 MAKHOA Varchar(15) Mã khoa(FK)
5 HE Char(2) Hệ
6 MACS Varchar(15) Mã cơ sở
Bảng 4.3: MONHOC( chứa thông tin các môn học của hệ thống)
STT Tên trường Kiểu DL, độ rộng Ghi chú
1 MAMH Varchar(15) Mã môn học(PK)
2 TENMH Nvarchar(50) Tên môn học
3 SOTIET int Số tiết
4 SOTC int Số tín chỉ
5 MACS Varchar(15) Mã cơ sở
Bảng 4.4: SV( chứa thông tin sinh viên trong hệ thống)
STT Tên trường Kiểu DL, độ rộng Ghi chú
1 MASV Varchar(15) Mã sinh viên(PK)
2 TENSV Nvarchar(50) Tên sinh viên
3 NGAYSINH datetime Ngày sinh
4 PHAI Varchar(3) phái
5 MAKHOA Varchar(15) Mã khoa(FK)
6 MALOP Varchar(15) Mã lớp(FK)
7 MACS Varchar(15) Mã cơ sở
Bảng 4.5: KETQUA(chứa thông tin về kết quả của sinh viên trong hệ thống)
STT Tên trường Kiểu DL, độ rộng Ghi chú
1 MASV Varchar(15) Mã khoa(FK)
2 MAMH Varchar(15) Mã môn học(FK)
3 LANTHI int Lần thi
4 KY int Kỳ
5 DIEM int Điểm
6 MACS Varchar(15) Mã cơ sở
4.7. Quản trị cơ sở dữ liệu phân tán cho hệ thống quản lý điểm sinh viên trường ĐH Hùng Vương trường ĐH Hùng Vương
4.7.1. Xác định hệ thống mạng cho hệ thống
Để triển khai được hệ thống phân tán cho hệ thống quản lý điểm sinh viên trường ĐH Hùng Vương. Thì ta phải đầu tư hạ tầ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ý nhóm e sẽ xây dựng một mô hình về server và client để cài đặt oracle như sau:
• Một server đóng vai trò trung tâm đặt tại cơ sở 1, dùng để quản trị cơ sở dữ liệu tại chi nhánh cơ sở 1 và lưu bản sao của các bảng dữ liệu của server chi nhánh.
• Một server đặt tại chi nhánh là cơ sở 2 đóng vai trò client trong hệ thống server chi nhánh này dùng để quản trị cơ sở dữ liệu tại chi nhánh sơ sở 2 và cũng chứa các bản sao của các bảng dữ liệu ở server trung tâm.
4.7.2. Mô hình cơ sở dữ liệu Client/Server
Trong mô hình cơ sở dữ liệu Client/Server, cơ sở dữ liệu được cài đặt trên Server, các ứng dụng trên các máy Client và phần mềm cơ sở dữ liệu được cài đặt trên cả Client lẫn Server. Trong mô hình này, các thành phần xử lý ứng dụng trên hệ thống Client đưa ra yêu cầu cho phần mềm cơ sở dữ liệu trên máy client, phần mềm này sẽ kết nối với phần mềm cơ sở dữ liệu chạy trên Server. Phần mềm cơ sở dữ liệu trên Server sẽ truy nhập vào cơ sở dữ liệu xử lý theo yêu cầu và gửi trả kết quả cho máy Client.
Ta có mô hình hệ thống mạng mô phỏng sau:
4.8. Hệ thống quản lý điểm sinh viên trong oracle
4.8.1. Phân tán dữ liệu trong hệ thống quản lý điểm sinh viên trong oracle
Ứng với thực tế trường ĐH Hùng Vương nhóm e chọn phương pháp phân tán partition để phân tán dữ liệu. Phương pháp Partition dùng kỹ thuật phân mảnh ngang cơ sở trong quá trình phân tán dữ liệu. Các CSDL từ xa kết nối với nhau thông qua database link.
Chọn phương pháp phân tán Partition: Đây chính là giải pháp phù hợp cho bài toán này, các sinh viên sẽ được quản lý trực tiếp tại chi nhánh thuộc chính khu vực của cơ sở 1 và cơ sở 2, các ứng dụng khác như tính toán điểm của từng sinh viên cũng được thực hiện ở từng khu vực rồi gửi đến phòng đào tạo. Phòng đào tạo so sánh kết quả và chốt điểm sinh viên. Trung tâm (phòng đào tạo) là nơi lưu trữ các dữ liệu của riêng nó và ảnh dữ liệu (Snaps
hot) của tất cả các vị trí phục vụ công tác quản lý và tổng hợp các báo cáo... Như vậy việc phân mảnh ở đây theo khoa và hệ đào tạo tương ứng của 2 cơ sở
Chi nhánh cơ sở 1 quản lý thông tin của các khoa tại cơ sơ 1. Chi nhánh cơ sở 2 quản lý thông tin của các khoa tại cơ sở 2. Cơ sở dữ liệu trung tâm truy xuất dữ liệu từ 2 chi nhánh.
- Trung tâm có các chức năng sau:
+ Quản lý các danh mục của hệ thống. + Các thông số hệ thống.
+ Tạo báo cáo phục vụ cho công việc hoạt động trên toàn trường.
- Các chi nhánh có các chức năng sau: + Quản lý điểm sinh viên.
+ Các báo cáo phục vụ cho công việc quản lý tại chi nhánh.
4.8.2. Sao bản (snapshot)
Với bài toán này nhóm e xây dựng 1 procedure để truy nhập và lấy dữ liệu trực tiếp từ 2 cơ sở. Procedure lấy dữ liệu từ chi nhánh cơ sở 2 về trung tâm cơ sở 1.
createorreplaceprocedure lay_so_lieu is begin
--- lay danh sach sinh vien tu chi nhanh 2 ve chi nhanh 1
insertinto sv select * from sv@cs02 where (masv) notin (select masv from
sv);
commit;
---- lay ket qua tu chi nhanh 2 ve chi nhanh 1
insertinto ketqua select * from ketqua@cs02 where (masv,mamh,lanthi,ky)
notin (select masv,mamh,lanthi,ky from ketqua); commit;
end ;
4.8.3. Database link
Tại cơ sở 1 tạo database link kết nối dữ liệu giữa cơ sở 2 và cơ sở 1 createdatabase link CS02
connect to CS02 identified by ABC123
using'(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = <IP>)(PORT = 1521)))(CONNECT_DATA =(SID =orcl)))';
4.9. Thiết kế giao diện
4.9.1. Form thông tin sinh viên
Form nhập thêm sinh viên vào bảng sinh viên. Khi thông tin về sinh viên bị sai có thể sửa, xóa dữ liệu trực tiếp trên form. Form có nút lấy dữ liệu từ cơ sở 2 mỗi khi cần lấy, xem dữ liệu từ cơ sở 2 ta chọn nút lấy dữ liệu, dữ liệu sẽ được đưa về cơ sở 1.
4.9.2. Form thông tin lớp4.9.3. Form thông tin môn học 4.9.3. Form thông tin môn học 4.9.4. Form danh sách kết quả
4.9.5. Form tra cứu điểm thi của sinh viên
Nhập đầy đủ Masv, tensv chọn nút nhập mã sinh viên thì sẽ hiện đầy đủ điểm các môn và tính điểm trung bình của từng sinh viên rồi đưa ra xếp loại cho sinh viên đó.
KẾT LUẬN
Qua thời gian tìm hiểu, nghiên cứu và thực hiện chương trình nhóm em cơ bản đã hoàn thành yêu cầu chính của chương trình.
Tuy nhiên, với khoảng thời gian có hạn và kiến thức còn ít ỏi nên bài làm của nhóm em còn nhiều thiếu sót. Vì vậy nhóm em hy vọng nhận được nhiều sự cổ vũ cũng như các ý kiến đóng góp của các thầy cô và các bạn.
TÀI LIỆU THAM KHẢO
1. Giáo trình cơ sở dữ liệu phân tán của Nguyễn Bá Tường.
2. Nhà xuất bản giáo dục xuất bản, giáo trình lý thuyết và thực hành Oracle.
3. Tài liệu hướng dẫn Oracle trong trang: http://oracle.com/