IV. Thiết kế mô hình cơ sở dữ liệu phân tán cho hệ thống Trong hệ thống quản lí thu học phí, ở đây phân mảnh ngang nguyên thủy để chia hệ cơ sở dữ liệu thành 3 mảnh đặt ở 3 trạm dựa trên 3 nhóm khoa và 1 trạm trung tâm dữ liệu: Trạm 1: CSDL của sinh viên ngành: KHMT, HTTT, Cơ Khí, Điện tử, Ngoại ngữ. Trạm 2: CSDL của sinh viên ngành: May, Kế toán, QTKD, QTKD du lich-khách sạn, Hóa. Trạm 3:CSDL của sinh viên các ngành còn lại Trạm 4: Trạm trung tâm dữ liệu Trong đó: Trạm 1 chỉ được quản lí việc thu học phí của sinh viên các ngành KHMT, HTTT, Cơ Khí, Điện tử, Ngoại ngữ. Trạm 2 chỉ được quản lí việc thu học phí của sinh viên các ngành May, Kế toán, QTKD, QTKD du lich-khách sạn, Hóa. Trạm 3 chỉ được quản lí việc thu học phí của sinh viên các ngành còn lại. Trạm 4 được truy cập tới tất cả các trạm còn lại. Trạm trung tâm được thêm, sửa, xóa thông tin tại tất cả các trạm. Còn các trạm 1, trạm 2, trạm 3 chỉ được phép thêm, sửa, xóa thông tin thuộc trạm đấy quản lý.
Trang 1Chương 1: Thiết kế CSDL phân tán cho hệ thống
I Khảo sát nghiệp vụ.
- Trong quy chế quản lí học phí của trường Đại học Công Nghiệp Hà Nội, có các
cơ quan phòng ban có liên quan sau:
+ Sinh Viên
+Phòng Kế Hoạch-Tài Chính
+Phòng Công Tác Học Sinh-Sinh Viên
- Tên giao dịch: Hanoi University of industry
- Địa chỉ: Khu A, Phường Minh Khai, Quận Bắc Từ Liêm, Hà Nội
- Điện thoại liên hệ: 04.37655391
- Địa chỉ Website: http://www.haui.edu.vn
II Mô tả bài toán.
Vào đầu mỗi kì học sinh viên nhận được thông báo đóng học phí thông qua thầy
cô giáo chủ nhiệm lớp hoặc các bộ trong lớp Sinh viên cần biết được số tiền mà học kì này mình đóng Việc đóng học phí tại trường Đại học Công Nghiệp Hà Nội thông qua: Đóng trực tiếp tại phòng Tài Chính-Kế Toán Khi thực hiện đóng trực tiếp yêu cầu sinh viên mang theo thẻ sinh viên và đủ số tiền cần đóng Khi đó nhân viên tại phòng Tài Chính-Kế Toán sẽ nhập các thông tin cần thiết của sinh viên cho
hệ thống Khi đó hệ thống sẽ xuất ra 2 biên lai phiếu thu, 1 phiếu lưu lại phòng Tài Chính-Kế Toán, 1 phiếu sinh viên sẽ giữ
Ngoài ra hệ thống cần lưu trữ thông tin về sinh viên trong trường(tên, lớp,mã sinh viên, số điện thoại, địa chỉ, khoa ) Trong thông tin lưu trữ về sinh viên cần có thông tin về các khoản thu đã nộp và khoản thu chưa nộp
* Cơ cấu hoạt động của các phòng ban:
1 Sinh Viên
- Sinh viên cần nắm rõ được chính xác lịch đóng học phí theo từng hệ mà mình học như: Đại Học, Cao Đẳng, Trung Cấp để tránh đóng lịch nhàm gây ra hiện tượng quá tải khi đóng học phí
Trang 2- Sinh viên cần biết được số tiền mà mình học kì này mình đóng Việc đóng học phí tại trường Đại học Công Nghiệp Hà Nội thông qua việc đóng trực tiếp tại phòng Tài Chính-Kế Toán
- Sau khi đóng học phí xong thì sinh viên lấy lại thẻ sinh viên và phải có trách nhiện giữ 1 biên lai thu tiền, nhân viên thu tiền giữ 1 bản để phòng trường hợp sau này có biến cố gì thay đổi thì sinh viên lấy biên lai đó ra đối chiếu
2 Phòng Kế Hoạch Tài Chính
- Đầu mỗi học kì phòng ban này có chức năng gửi thông báo nộp học phí về các khoa
- Trực tiếp thu học phí của sinh viên khi sinh viên đến đóng học phí và trưởng khoa triển khai đến giáo viên chủ nhiệm thông báo chi sinh viên nộp học phí
- Khi sinh viên đóng học phí xong thì nhân viên thu tiền sẽ giữ 1 biên lai đóng học phí và biên lai còn lại sẽ đưa cho sinh viên
- Khi đã hết hạn đóng học phí thì phòng Kế Hoạch Tài Vụ báo cáo danh sách sinh viên đóng học phí đúng thời hạn để nộp cho phòng đào tạo và xác nhận những sinh viên này được dự thi
- Với những sinh viên không đóng học phí đúng hạn sẽ không được dự thi Khi đó phòng ban này lập báo cáo danh sách sinh viên không đóng học phí đúng hạn gửi phòng đào tạo
- Nếu những sinh viên này vẫn không đóng học phí thì phòng ban này sẽ tạm ngưng việc thu học phí với những sinh viên đó và gửi danh sách sinh viên nợ học phí cho phòng Công Tác Học Sinh,Sinh Viên
3 Phòng Công tác học sinh-sinh viên
- Đối với những sinh viên nợ học phí quá hạn thì phòng ban này có chức năng liên lạc với sinh viên đó yêu cầu đóng học phí trong 1 tuần tới Nếu sau 1 tuần sinh viên đó vẫn không đóng học phí thì phòng Công Tác Học Sinh-Sinh Viên liên lạc với gia đình sinh viên yêu cầu đóng học phí Nếu trong thời gian 15 ngày mà vẫn chưa đóng thì phòng ban này quyết định xóa tên sinh viên và trình Ban giám hiệu kí
III Thiết kế cơ sở dữ liệu tập trung cho hệ thống.
Trang 31 Phân tích thực thể.
Thực thể Sinhvien là đối tượng mà hệ thống quản lí có nhiệm vụ nộp học phí.
Thuộc tính Mô tả
Gioitinh Giới tính
Thực thể Lớp để lưu trữ thông tin về lớp học của sinh viên
Thuộc tính Mô tả
Thực thể Ngành để lưu trữ thông tin về ngành học của sinh viên
yuhThuộc tính
Mô tả
Tennganh Tên ngành
Thực thể Khoa để lưu trữ thông tin về khoa của sinh viên
Thuộc tính Mô tả
Tenkhoa Tên khoal
Trang 4Thực thể phieuthu để lưu trữ khoản thu học phí
Thuộc tính Mô tả
Sophieuthu Số phiếu thu Ngaythu Ngày thu
Mahocki Mã học kì
Thực thể khoanthu dùng để lưu trữ thông tin về khoản thu
Thuộc tính Mô tả
Makhoanthu Mã khoản thu Tenkhoanthu Tên khoản thu
Thực thể chitietphieuthu lưu trữ thông tin về học phí
Thuộc tính Mô tả
Sophieuthu Số phiếu thu Makhoanthu Mã khoản thu Soluong Số lượng
Trang 5Thực thế đangkiHP lưu trữ thông tin về học phần
Thuộc tính Mô tả
Ngaydangki Ngày đăng kí
Thực thế Mon lưu trữ thông tin về môn học của sinh viên
Thuộc tính Mô tả
Sotinchi Số tín chỉ
Thực thế hocky lưu trữ thông tin về học kì của sinh viên
Thuộc tính Mô tả
2 Mô hình cơ sở dữ liệu tập trung
Trang 6IV Thiết kế mô hình cơ sở dữ liệu phân tán cho hệ thống
Trong hệ thống quản lí thu học phí, ở đây phân mảnh ngang nguyên thủy để chia hệ cơ sở dữ liệu thành 3 mảnh đặt ở 3 trạm dựa trên 3 nhóm khoa và 1 trạm trung tâm dữ liệu:
Trạm 1: CSDL của sinh viên ngành: KHMT, HTTT, Cơ Khí, Điện tử, Ngoại ngữ
Trạm 2: CSDL của sinh viên ngành: May, Kế toán, QTKD, QTKD du lich-khách sạn, Hóa
Trạm 3:CSDL của sinh viên các ngành còn lại
Trạm 4: Trạm trung tâm dữ liệu
Trong đó:
Trạm 1 chỉ được quản lí việc thu học phí của sinh viên các ngành KHMT, HTTT, Cơ Khí, Điện tử, Ngoại ngữ
Trang 7Trạm 2 chỉ được quản lí việc thu học phí của sinh viên các ngành May, Kế toán, QTKD, QTKD du lich-khách sạn, Hóa
Trạm 3 chỉ được quản lí việc thu học phí của sinh viên các ngành còn lại
Trạm 4 được truy cập tới tất cả các trạm còn lại Trạm trung tâm được thêm, sửa, xóa thông tin tại tất cả các trạm Còn các trạm 1, trạm 2, trạm 3 chỉ được phép thêm, sửa, xóa thông tin thuộc trạm đấy quản lý
1 Phân mảnh dữ liệu
Phân mảnh ngang quan hệ ngành
Phân mảnh dữ liệu
Phân mảnh ngang quan hệ TrD
+ Tập các vị từ đơn giản:
p1 : tenkhoa € {khmt,ktpm,httt, cơ khí, điện tử, ngoại ngữ)
p2 : tenkhoa € {may,kế toán,qtkd, du lịch-khách sạn, hóa)
p3 : ten khoa € tập các ngành còn lại
Pr = { p1, p2, p3}
Pr’ = Ø, F = Ø;
+ Xét vị từ p1:
Có p1 phân mảnh quan hệ tenkhoa theo quy tắc 1
Pr’ ={p1}
+ Xét vị từ p2:
Có p2 phân mảnh quan hệ tenkhoa theo quy tắc 1
Pr’ ={p1,p2}
+ Xét vị từ p3:
Trang 8Có p3 phân mảnh quan hệ tenkhoa theo quy tắc 1
Pr’ ={P1, P2, P3}
Theo thuật toán COM_MIN, tập Pr’ ={P1, P2, P3} rõ ràng đầy đủ và cực tiểu: + Hội các vị từ sơ cấp:
m1: p1˄ p2 (Loại vì phân mảnh trên cùng thuộc tính)
m2:p1˄ p3 (Loại vì phân mảnh trên cùng thuộc tính)
m3: p2˄ p3 (Loại vì phân mảnh trên cùng thuộc tính)
m4: p1˄ ┐p2 p1˄(p3˅p1) (p1˄p3)˅(p1˄p1) (loại)
m5: p1˄ ┐p3 p1˄(p2˅p1) (p1˄p2)˅(p1˄p1) (loại)
m6: p2˄ ┐p3 p2˄(p2˅p1) (p2˄p2)˅(p2˄p1) (loại)
m7: p2˄ ┐p1 p2˄(p1˅p3) (p2˄p1)˅(p2˄p3) (loại)
m8: p3˄ ┐p1 p3˄(p2˅p3) (p3˄p2)˅(p3˄p3) (loại)
m9: p3˄ ┐p2 p3˄(p3˅p1) (p3˄p3)˅(p3˄p1) (loại)
m10: p1˄ ┐(p2˄p3) p1˄p1 p1
m11: p2˄ ┐(p1˄p3) p2˄p2 p2
m12: p3˄ ┐(p1˄p2) p3˄p3 p3
do p1˄ p2 = Ø, p1˄ p3= Ø,p2˄ p3= Ø
=>chọn m10, m11, m12 để phân mảnh
Quan hệ Khoa đươc phân mảnh ngang nguyên thủy thành 3 mảng ngang như sau:
Khoa_Tram1, Khoa_Tram2, Khoa_Tram3 :
Khoa_Tram1= σ Khoa=” khmt,ktpm,httt, cơ khí, điện tử, ngoại ngữ”(Khoa)
Khoa_Tram2= σ Khoa=” may,kế toán,qtkd, du lịch-khách sạn, hóa”(Khoa)
Khoa_Tram3= σ Khoa=” tập các ngành còn lại”(Khoa)
Trang 9Ta phân mảnh dữ liệu dựa trên các quan hệ sau:
KHOA(makhoa,tenkhoa)
LOP(malop,tenlop,makhoa)
NGANH(manganh,makhoa,tennganh)
SINHVIEN(maSV, tenSV, malop, gioitinh)
MON(mamon,tenmon,sotinchi)
DANGKIHP(maSV, mamon, maHK, ngayDK)
PHIEUTHU(maSV, sophieuthu, ngaythu,maHK,mamon)
KHOANTHU(makhoanthu,tenkhoanthu,sotien)
CHITIETPHIEUTHU(sophieuthu, makhoanthu, soluong)
HOCKI(maHK,tenHK)
Phân mảnh ngang dẫn xuất trên quan hệ Nganh thành 3 mảnh ngang Nganh_Tram1, Nganh _Tram2, Nganh _Tram3 như sau:
Nganh _Tram1 = Nganh Khoa_Tram1
Nganh _Tram2 = Nganh Khoa _Tram2
Nganh _Tram3 = Nganh Khoa _Tram3
Phân mảnh ngang dẫn xuất trên quan hệ Lop thành 3 mảnh ngang Lop_Tram1, Lop _Tram2, Lop _Tram3 như sau:
Lop _Tram1 = Lop Nganh _Tram1
Lop _Tram2 = Lop Nganh _Tram2
Lop _Tram3 = Lop Nganh _Tram3
Trang 10Phân mảnh ngang dẫn xuất trên quan hệ Sinhvien thành 3 mảnh ngang Sinhvien _Tram1, Sinhvien _Tram2, Sinhvien _Tram3 như sau:
Sinhvien _Tram1 = Sinhvien Lop_Tram1
Sinhvien _Tram2 = Sinhvien Lop _Tram2
Sinhvien _Tram3 = Sinhvien Lop _Tram3
Phân mảnh ngang dẫn xuất trên quan hệ DangkiHP thành 3 mảnh ngang DangkiHP _Tram1, DangkiHP _Tram2, DangkiHP _Tram3 như sau:
DangkiHP _Tram1 = DangkiHP Sinhvien_Tram1
DangkiHP _Tram2 = DangkiHP Sinhvien _Tram2
DangkiHP _Tram3 = DangkiHP Sinhvien _Tram3
Phân mảnh ngang dẫn xuất trên quan hệ Phieuthu thành 3 mảnh ngang Phieuthu _Tram1, Phieuthu _Tram2, Phieuthu _Tram3 như sau:
Phieuthu _Tram1 = Phieuthu DangkiHP_Tram1
Phieuthu _Tram2 = Phieuthu DangkiHP _Tram2
Phieuthu _Tram3 = Phieuthu DangkiHP _Tram3
Phân mảnh ngang dẫn xuất trên quan hệ Chitietphieuthu thành 3 mảnh ngang Chitietphieuthu _Tram1, Chitietphieuthu _Tram2, Chitietphieuthu _Tram3 như
sau:
Chitietphieuthu _Tram1 = Chitietphieuthu Phieuthu_Tram1
Chitietphieuthu _Tram2 = Chitietphieuthu Phieuthu _Tram2
Chitietphieuthu _Tram3 = Chitietphieuthu Phieuthu _Tram3
Trang 11Chương 2: Xây dựng CSDLPT trong hệ quản trị CSDL SQL
( ORACLE)
I Cấu trúc các bảng dữ liệu
Bảng SINHVIEN
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính
/ khóa phụ (PK/FK)
Mô tả
1 Masv varchar(10) Not null PK Mã sinh viên
Bảng LOP
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính
/ khóa phụ (PK/FK)
Mô tả
Trang 122 Tenlop nvarchar(30) Not null Tên lớp
Bảng NGANH
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính
/ khóa phụ (PK/FK)
Mô tả
Bảng KHOA
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính Mô tả
Trang 13/ khóa phụ (PK/FK)
Bảng PHIEUHU
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính
/ khóa phụ (PK/FK)
Mô tả
Trang 14Bảng KHOANTHU
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính
/ khóa phụ (PK/FK)
Mô tả
1 Makhoanhu varchar(10) Not null PK Mã khoản thu
2 Tenkhoanthu nvarchar(30) Not null Tên khoản thu
Bảng CHITIETPHIEUTHU
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính
/ khóa phụ (PK/FK)
Mô tả
2 Makhoanthu varchar(10) Not null PK Mã khoản thu
Trang 15Bảng DANGKIHOCPHAN
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính
/ khóa phụ (PK/FK)
Mô tả
1 Masv varchar(10) Not null PK Mã sinh viên
Bảng MON
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính
/ khóa phụ (PK/FK)
Mô tả
Trang 16Bảng HOCKY
Stt Tên thuộc tính Kiểu Ràng buộc Khóa chính
/ khóa phụ (PK/FK)
Mô tả
1 Mahk varchar(10) Not null PK Mã học kỳ
II Mô hình CSDL phân tán.