Cùng với sự phát triển của các nghành khoa học khác, ngày nay công nghệ tin học không ngừng phát triển một cách mạnh mẽ và hiện đại. ở các cường quốc mạnh về kinh tế nó cũng đóng vai trò quyết định cho sự cạnh tranh giữa các nước trên thế giới. Trong những năm gần đây nghành CNTT làm ngắn lại khoảng cách giữa các quốc gia trên thế giới ở các lĩnh vực như : thời sự văn hoá , chính trị được truyền đi một cách nhanh chóng và chính xác. CNTT ra đời làm phong phú bộ mặt xã hội, đời sống con người được nâng cao rõ rệt. Nó thay thế con người gần như ở tất cả các lĩnh vực, nó làm được những điều kì diệu mà con người không thể trực tiếp làm được…Trong thời gian ngắn học tập và rèn luyện tại trường ĐHCNHN đến nay, Chúng em đã được các thầy cô trang bị các kiến thức cơ bản về chuyên môn. Để đánh giá kết quả học tập rèn luyện và giúp chúng em hiểu rõ hơn về môn học, chúng em đã được giao bài tập lớn với đề tài : ” Xây dựng phần mềm Quản lý điểm sinh viên theo hệ thống đào tạo tín chỉ trong trường Đại Học ”.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN MÔN: CƠ SỞ DỮ LIỆU PHÂN TÁN
ĐỀ TÀI: Thiết kế và cài đặt CSDLPT bằng HQTCSDL ORACLE Server
cho hệ thống quản lý điểm tín chỉ theo phân mảnh ngang theo khoa trên các
khoa: Công nghệ thông tin, Kế toán kiểm toán
Giáo viên hướng dẫn: Th.s Trần Thanh Hùng
Nguyễn Sỹ Chiến Trần Văn HiệpTrịnh Khương Duy
Trang 2M c L c ục Lục ục Lục
Lời nói đầu 3
Chương 1 Thiết kế csdl phân tán cho hệ thống 4
1.1 Khảo sát nghiệp vụ 4
1.2 Bài toán 4
1.2.1 Thiết kế phân mảnh 4
1.2.2 Thiết kế cấp phát mảnh dữ liệu 4
1.3 Thiết kế csdl tập chung cho hệ thống 5
1.4 Thiết kế mô hình csdl phân tán 5
1.4.1 Phân mảnh dữ liệu 5
1.4.2 Mô hình các trạm 6
Chương 2: Xây dựng cơ sở dữ liệu phân tán trong hệ quản trị CSDL Oracle 8 2.1 Cấu trúc bảng dữ liệu 8
2.2 Mô hình CSDL phân tán 10
2.3 Một số truy vấn phân tán 11
Chương 3 Cài đặt hệ thông trên CSDL phân tán 12
3.1 Yêu cầu phần cứng, phần mền 12
3.2 Thiết kế giao diện chương trình trên các trạm 12
3.2.1 Mô hình phân rã chức năng 12
3.2 Giao diện trung tâm 13
Trang 3Lời nói đầu
Cùng với sự phát triển của các nghành khoa học khác, ngày nay công
nghệ tin học không ngừng phát triển một cách mạnh mẽ và hiện đại ở các
cường quốc mạnh về kinh tế nó cũng đóng vai trò quyết định cho sự cạnh
tranh giữa các nước trên thế giới Trong những năm gần đây nghành CNTT
làm ngắn lại khoảng cách giữa các quốc gia trên thế giới ở các lĩnh vực như :
thời sự văn hoá , chính trị được truyền đi một cách nhanh chóng và chính
xác CNTT ra đời làm phong phú bộ mặt xã hội, đời sống con người được
nâng cao rõ rệt Nó thay thế con người gần như ở tất cả các lĩnh vực, nó làm
được những điều kì diệu mà con người không thể trực tiếp làm được…
Trong thời gian ngắn học tập và rèn luyện tại trường ĐHCNHN đến
nay, Chúng em đã được các thầy cô trang bị các kiến thức cơ bản về chuyên
môn Để đánh giá kết quả học tập rèn luyện và giúp chúng em hiểu rõ hơn về
môn học, chúng em đã được giao bài tập lớn với đề tài : ” Xây dựng phần
mềm Quản lý điểm sinh viên theo hệ thống đào tạo tín chỉ trong trường Đại
Học ”
Mặc dù được sự giúp đỡ nhiệt tình của GV Trần Thanh Hùng và đề
tài đã hoàn thành, song thời gian và trình độ hiểu biết của bản thân còn hạn
hẹp nên không thể tránh khỏi những thiếu xót Vì vậy chúng em rất mong
được sự giúp đỡ , đóng góp của thầy giáo và bạn bè để nội dung của bài tập
lớn được hoàn thiện và phong phú hơn Cuối cùng chúng em xin chân thành
cảm ơn…
Trang 4Chương 1 Thiết kế csdl phân tán cho hệ thống
1.1 Khảo sát nghiệp vụ
Đây là hệ quản trị cơ sở dữ liệu phân tán, dùng để quản lý điểm cho
hai khoa Công Nghệ Thông Tin, Kế Toán Kiểm Toán Để thuận tiện cho
việc truy xuất dữ liệu thì dữ liệu được lưu trữ tại mỗi trạm Cơ sở dữ liệu
trên các máy trạm được sao lưu và gửi về máy trạm trung tâm Để phù hợp
cho việc quản lý giao dịch thì máy trung tâm có thể thực hiên các chức năng
thêm, sửa, xóa dữ liệu trên các máy trạm chi nhánh
1.2 Bài toán
1.2.1 Thiết kế phân mảnh
Xác định cách thức phân chia những quan hệ toàn bộ thành những
đoạn dữ liệu theo chiều dọc, chiều ngang và kiểu hỗn hợp
1.2.2 Thiết kế cấp phát mảnh dữ liệu
Xác định cách thức mảnh dữ liệu tham khảo đến ảnh hưởng vật lý nào
và cũng xác định các bản sao của đoạn dữ liệu Thiết kế phân mảnh mới
được nghiên cứu gần đây, tuy nhiên công việc phân mảnh trở thành đặc
trung của cơ sở dữ liệu phân tán Bên cạnh đó vấn đề cấp phát cũng được
nghiên cứu khi phát triển hệ thống file phân tán vì trong cơ sở dữ liệu tập
trung có thiết bị lưu trữ phúc tạp Cách phân biệt hai vấn đề này rõ ràng, vấn
đề thứ nhất động lực của việc phân mảnh quan hệ giải quyết của dữ liệu ở
những vị trí khác nhau Tuy nhiên phải rất cẩn thận khi phân biệt theo cách
này vì không thể xác định cách phân đoạn tốt nhất và công việc cấp phát
bằng cách giải quyết hai vấn đề độc lập vì rằng hai vấn đề liên quan nhau
Công việc thiết kế chương trình ứng dụng được thực hiện sau khi thiết kế sơ
đồ và có kiến thức về yêu cầu của chương trình ứng dụng Thiết kế sơ đồ để
có khả năng cung cấp hiệu quả các chương trình ứng dụng Vì vậy trong thiết
kế cơ sở dữ liệu phân tán, hiểu biết rõ ràng và đầy đủ về yêu cầu của chương
trình ứng dụng là cần thiết Những công việc thiết kế được thực hiện thường
xuyên để đạt được sự đúng đắn
Trang 51.3 Thiết kế csdl tập chung cho hệ thống
1.3.1 Mô hình luồng dữ liệu mức khung cảnh
Hình 2 Mô hình phân luồng dữ liệu mức khung cảnh
1.3.2 Mô hình luồng dữ liệu mức đỉnh
Trang 6Hình 3 Mô hình phân luồng dữ liệu mức đỉnh1.3.3 Mô hình dữ liệu vật lý
Hình 1 Mô hình csdl vật lý
Trang 71.4 Thiết kế mô hình csdl phân tán
1.4.1 Phân mảnh dữ liệu
Phân rã quan hệ Khoa thành 2 mảnh ngang theo KhoaCNTT,
KhoaKTKT như sau:
- KhoaCNTT= σTenKhoa= “Công nghệ thông tin”(Khoa)TenKhoa= “Công nghệ thông tin”(Khoa)
- KhoaCNTT= σTenKhoa= “Công nghệ thông tin”(Khoa)TenKhoa= “Kế toán kiểm toán”(Khoa)
Khoa=KhoaCNTT ∪ KhoaKTKT
Phân mảnh ngang dẫn xuất quan hệ LOPHOC ta được 2 phân mảnh
ngang tương ứng
+ LOPHOCCNTT= LOPHOC KhoaCNTT
+ LOPHOCKTKT= LOPHOC KhoaKTKT
Trang 10Chương 2: Xây dựng cơ sở dữ liệu phân tán trong hệ quản trị CSDL
Oracle
2.1 Cấu trúc bảng dữ liệu
Bảng 1 Thuộc tính bảng SINHVIEN
Stt Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả
viên
Stt Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả
Trang 114 MaKhoa Nchar(10) Null Mã khoa
Bảng 3 Thuộc tính bảng KHOA
Stt Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả
Stt Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả
học
)
Bảng 5 Thuộc tính bảng MONHOC
Stt Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả
Trang 12Stt Tên thuộc tính Kiểu Ràng buộc Khóa Mô tả
bình
2.2 Mô hình CSDL phân tán
Trạm 1
Trạm 2
Trang 14TO_DATE(ngaysinh,'dd/mm/yyyy', diachi, malop);
Trang 15create procedure nhap_khoa(…
Trang 16create procedure xoa_sinhvien()
Trang 17create procedure xoa_diemtl(r_masv nchar,r_mamh nchar)
as
begin
delete from DIEMTL
where r_masv=MaSV and r_mamh= MaMH;
end;
2.3.3 Các proceduce sửa
create procedure sua_diem(r_masv nchar,r_mamh nchar,r_makhoahoc
nchar,r_dtl float,r_dt1 float,r_dtb float,r_dchu nchar)
as
begin
update DIEM set dtl=r_dtl, dt1=r_dt1,dtb=r_dtb,dchu=r_dchu
where MaSV= r_masv and MaMH=r_mamh and
r_makhoahoc=MaKhoaHoc;
end;
create procedure sua_sinhvien(r_masv nchar,r_tensv nvarchar2,r_gioitinh
nvarchar2,r_ngaysinh date,r_diachi nvarchar2,r_malop nchar)
Trang 18nvarchar2,r_makhoa nchar,r_makhoahoc nchar)
2.3.4 Các View xem dữ liệu trên bảng
create view v_diem
as
Trang 19select DIEM.MaSV as "Mã SV",TenSV as "Tên SV", TenMH as "Tên Môn
Học", MaKhoaHoc as "Mã Khóa Học", DTL as "Điểm Trên Lớp", DT1 as
"Điểm Thi", DTB as "Điểm TB", DChu as "Điểm Chữ"
select DIEMTL.MaSV as "Mã Sinh Viên",TenSV as "Tên SV",TenMH as
"Tên Môn Học", Diem1 as "Điểm 1", Diem2 as "Điểm 2", Diem3 as "Điểm
3", Diemcc as "Điểm Chuyên Cần", DiemGK as "Điểm Giữa Học Phần",
DTB as "Điểm TB"
from SINHVIEN, MONHOC,DIEMTL
where SINHVIEN.MaSV=DIEMTL.MaSV and
select MaKhoaHoc as "Mã Khóa Học",TenKhoaHoc as "Tên Khóa Học",
NienKhoa as "Niên Khóa"
from KHOAHOC
create view v_lophoc
Trang 20Nhiệm", MaKhoa as "Mã Khoa", MaKhoaHoc as "Mã Khóa Học"
select MaSV as "Mã SV", TenSV as "Tên SV",GioiTinh as "Giới Tính",
NgaySinh as "Ngày Sinh", DiaChi as "Địa Chỉ", TenLop as "Tên Lớp"
from SINHVIEN, LOPHOC
where LOPHOC.MaLop=SINHVIEN.MaLop
2.4 Tạo kết nối databaselink giữa các máy
2.4.2 Hướng dẫn tạo databaselink
1 Với máy trạm
mở file listener.ora (có thể hiểu như cái tai của database XE- cái thêm
vào ý)
theo đường dẫn:
Trang 212 H:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN (H: ổ
cài win )
Save và restart lại listener.ora bằng cách:
1 Mở Task Manager, chọn thẻ Services, restart( stop – start) lại cái
Trang 221 mở file tnsnames.ora
theo đường dẫn:
2 H:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN (H: ổ
cài win của t)
Save lại và vào tạo database link thôi
Trang 23Nếu nó lỗi thì copy paste vào chỗ gõ lệnh rồi them “ “
Trang 24Chương 3 Cài đặt hệ thông trên CSDL phân tán
3.1 Yêu cầu phần cứng, phần mền
Microsoft Visual Studio 2012
Bộ cài Oracle Express: OracleXE112 Các phầm mềm hỗ trợ để thiết kế và trình bày báo cáo:
Microsoft Office Word, Rational Rose, Paint…
Môi trường thích hợp cho các Phần mềm chạy
3.2 Thiết kế giao diện chương trình trên các trạm
3.2.1 Mô hình phân rã chức năng
Quản lý lớp hoc
Trang 253.2 Giao diện trung tâm
3.2.1 Giao diện Sever
3.2.2 Giao diện máy trạm 1