bài tập lớn môn cơ sở dữ liệu phân tán - Pdf 46

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
--o0o--

BÁO CÁO BÀI TẬP LỚN
Môn : Cơ sở dữ liệu phân tán
Đề tài : Hệ thống quản lý thu học phí tại trường ĐHCNHN

Lớp: ĐH KTPMCLC K9
SV thực hiện : Nhóm 9
Nguyễn Văn Phượng
Nguyễn Văn Phương
Giảng viên: Ts. Trần Thanh Hùng

Hà Nội , ngày 15 tháng 11 năm 2017


I.

LỜI NÓI ĐẦU

Trường Đại học Công nghiệp Hà Nội là trường đại học trực thuộc Bộ Công
Thương được thành lập ngày 2 tháng 12 năm 2005.Là một trong những trung tâm
giáo dục đào tạo đa ngành nghề về công nghiệp quy mô lớn nhất cả nước và đạt
đẳng cấp quốc tế. Trường Đại học Công Nghiệp Hà Nội là môi trường học tập, rèn
luyện lý tưởng cho mọi đối tượng đồng thời là trung tâm nghiên cứu phát triển
chuyển giao công nghệ uy tín và tin cậy. Hiện nay trường có 3 cơ sở đào tạo:
Trường Đại học Công nghiệp Hà Nội triển khai đào tạo theo học chế tín chỉ bắt đầu
từ năm học 2008 – 2009.Về qui mô đào tạo: Gần 60.000 sinh viên.Các lĩnh vực
đào tạo: Công nghệ, kỹ thuật, Kinh tế, May, Thời trang, Sư phạm, Du lịch.Với quy
mô lớn như hiện nay, công tác thu phí tại trường gặp rất nhiều khó khăn, gây lãng

- Tên giao dịch quốc tế: Hanoi University of Industry (viết tắt là HaUI).
- Trụ sở chính: Phường Minh Khai, quận Bắc Từ Liêm, thành phố Hà Nội.
- Cơ sở 2: Phường Tây Tựu, quận Bắc Từ Liêm, thành phố Hà Nội.
- Cơ sở 3: Phường Lê Hồng Phong và xã Phù Vân, thành phố Phủ Lý, tỉnh
Hà Nam.
- Điện thoại: 84-4 37655 121 (7252).
- Fax: 84-4 37655 261.
- Website: https://www.haui.edu.vn
- Email: [email protected]
Trường Đại học Công nghiệp Hà Nội là trường đại học trực thuộc Bộ Công
Thương, đang phát triển để trở thành trường đại học đẳng cấp quốc tế.
Trường hiện có hơn 1800 cán bộ, giáo viên, nhân viên, trong đó có 1451
giảng viên cơ hữu và hợp đồng dài hạn, trong đó trên 80% trình độ trên đại học
(Thạc sỹ, Tiến sỹ). Trường có nhiều giáo viên dạy giỏi cấp toàn quốc; nhiều giáo
sư, phó giáo sư, tiến sỹ đang tham gia giảng dạy tại Trường.
Trường có 03 cơ sở đào tạo với tổng diện tích gần 50 hecta. Tại các cơ sở,
Nhà trường đã xây dựng kiên cố hơn 300 phòng học lý thuyết, 200 phòng thực
hành, thí nghiệm với đầy đủ máy móc, thiết bị phục vụ cho đào tạo khoảng 40.000
học viên, học sinh, sinh viên với các hệ đào tạo:
- Đại học: bao gồm 20 ngành, chuyên ngành (Công nghệ kỹ thuật cơ khí,
Công nghệ kỹ thuật cơ điện tử,Công nghệ kỹ thuật ô tô, Công nghệ kỹ thuật


điện, điện tử, Công nghệ kỹ thuật điều khiển và tự động hoá, Công nghệ kỹ
thuật điện tử, truyền thông, Khoa học máy tính, Kỹ thuật phần mềm, Hệ
thống thông tin, Kế toán, Tài chính ngân hàng , Quản trị kinh doanh, Quản
trị kinh doanh du lịch, Việt Nam học (hướng dẫn du lịch), Công nghệ kỹ
thuật nhiệt, Công nghệ may, Thiết kế thời trang, Công nghệ kỹ thuật hóa
học, Công nghệ kỹ thuật môi trường, Ngôn ngữ tiếng Anh.)
- Cao đẳng: bao gồm 12 nghề (Cắt gọt kim loại, Điện công nghiệp, Kỹ thuật

Thông tin phiếu thu gồm : Mã sinh viên, Số phiếu thu, Ngày lập phiếu
thu, Họ tên người nộp, Lớp, Khóa, Hệ đào tạo, Nội dung thu, Số tiền thu,
Người thu và gửi danh sách về cho thủ quỹ.
- Sinh viên xuất trình thẻ sinh viên hoặc cung cấp mã sinh viên của mình
cho thủ quỹ, thủ quỹ căn cứ vào mã sinh viên và danh sách thu học phí
theo lớp để thu tiền.
- Thủ quỹ giữ lại 1 bản phiếu thu (liên 1) và trả lại phiếu thu tiền (liên 2)
cho sinh viên. Sinh viên phải giữ phiếu thu học phí của mình trong suốt
quá trình học tập nghiên cứu tại trường.
1.1.3. Thu tiền, lập phiếu thu tiền và ghi sổ
- Cuối ngày, kế toán thu và thủ quỹ đối chiếu số tiền nộp học phí của sinh
viên trên bảng kê, ký xác nhận và chuyển cho kế toán tổng hợp lập phiếu
thu và hạch toán kế toán.


- Kế toán tổng hợp lập phiếu thu chuyển cho Kế toán trưởng, Thủ trưởng
đơn vị ký, sau đó chuyển lại cho thủ quỹ vào sổ quỹ tiền mặt.
- Thủ quỹ vào sổ và chuyển cho kế toán thực hiện lưu trữ chứng từ theo
quy định.
1.2. Bài toán
Từ những hoạt động thực tế đã trình bày ở trên thì vấn đề đặt ra cho chương trình
quản lý thu học phí là phải xây dựng các chức năng thích hợp tạo điều kiện thuận
lợi cho công tác quản lý sinh viên và việc tính học phí sử dụng đúng để dễ dàng thu
học phí sinh viên. Tuy nhiên để làm tốt việc đó cần tìm hiểu kỹ những vấn đề cụ
thể mà bài toán đặt ra và cách giải quyết các vấn đề đó.
Đối tượng cần quản lý là thông tin về tất cả các sinh viên và một số các thông tin
khác như học phần, đăng ký học phần, lớp, ngành, khoa, hệ đào tạo.
Chương trình này xây dựng các đối tượng độc lập một cách rõ ràng và các mối
quan hệ của các đối tượng đó. Với các đối tượng độc lập, chúng ta quan tâm đến
các thuộc tính cá nhân liên quan đến các đối tượng đó.

đến dữ liệu ở xa.
- Chọn lựa sau sẽ gây ra nhiều vấn đề khi cập nhật và lãng phí không gian
lưu trữ.
Phân mảnh ngang:
- Phân mảnh ngang một quan hệ tổng thể n-bộ R là tách R thành các quan
hệ con n-bộ R1, R2, ..., Rk sao cho quan hệ R có thể được khôi phục lại từ
các quan hệ con này bằng phép hợp: R = R1 R2 ... Rk
- Có hai loại phân mảnh ngang:
o Phân mảnh ngang nguyên thủy (primary horizontal fragmentation):
phân mảnh ngang nguyên thủy của một quan hệ được thực hiện
dựa trên các vị từ được định nghĩa trên quan hệ đó.
o Phân mảnh ngang dẫn xuất (derived horizontal fragmentation):
phân mảnh ngang dẫn xuất của một quan hệ được thực hiện dựa
trên các vị từ được định nghĩa trên quan hệ khác.
- Như vậy, trong phân mảnh ngang tập các vị từ đóng một vai trò quan
trọng.
Thực hiện phân mảnh
Phân mảnh ngang nguyên thủy cho bảng Nganh theo giá trị TenNganh:
Các vị từ đơn giản có thể dùng được là:
p1: TenNganh = “Khoa học máy tính” OR TenNganh = “Kỹ thuật phần mềm” OR
TenNganh = “Hệ thống thông tin” OR TenNganh = “Công nghệ kỹ thuật cơ khí”
OR TenNganh = “Công nghệ kỹ thuật điện” OR TenNganh = “Công nghệ kỹ thuật
điện tử” OR TenNganh = “Ngôn ngữ Anh”
p2: TenNganh = “Công nghệ may” OR TenNganh = “Kế toán” OR TenNganh =
“Quản trị kinh doanh” OR TenNganh = “Quản trị kinh doanh du lịch” OR
TenNganh = “Công nghệ kỹ thuật hóa học”


p3: TenNganh = “Công nghệ kỹ thuật tự động hóa” OR TenNganh = “Tài chính
ngân hàng” OR TenNganh = “Công nghệ kỹ thuật ô tô” OR TenNganh = “Thiết kế

SinhVien1 = SinhVien |›‹ Lop1
SinhVien2 = SinhVien |›‹ Lop2
SinhVien3 = SinhVien |›‹ Lop3
Phân mảnh ngang dẫn xuất SinhVien – DangKyHocPhan ta được 3 trạm:
DangKyHocPhan1 = DangKyHocPhan |›‹ SinhVien1
DangKyHocPhan2 = DangKyHocPhan |›‹ SinhVien2
DangKyHocPhan3 = DangKyHocPhan |›‹ SinhVien3
Phân mảnh ngang dẫn xuất DangKyHocPhan – PhieuThu ta được 3 trạm:
PhieuThu1 = PhieuThu |›‹ DangKyHocPhan1
PhieuThu2 = PhieuThu |›‹ DangKyHocPhan2
PhieuThu3 = PhieuThu |›‹ DangKyHocPhan3
Phân mảnh ngang dẫn xuất PhieuThu – ChiTietPhieuThu ta được 3 trạm:
ChiTietPhieuThu1 = ChiTietPhieuThu |›‹ PhieuThu1
ChiTietPhieuThu2 = ChiTietPhieuThu |›‹ PhieuThu2
ChiTietPhieuThu3 = ChiTietPhieuThu |›‹ PhieuThu3
Sau khi phân mảnh ta có 3 trạm như sau:
- Trạm 1


- Trạm 2


- Trạm 3


1.4.2. Mô tả về sử dụng dữ liệu cho mỗi trạm

Trường Đại Học Công Nghiệp Hà Nội có 3 cơ sở :
- Cơ sở 1 tại Phường Minh Khai, Quận Nam Từ Liêm, Hà Nội gồm sinh
viên các ngành học tại Khu A (Khoa học máy tính, Kỹ thuật phần mềm,

- Phần mềm tại server được kết nối đến cở sở dữ liệu tại server với chức
năng xem dữ liệu, thêm, cập nhật, xóa dữ liệu của các trạm, cho phép
thực hiện ngay trên phần mềm. Phần mềm tại server cũng giúp người
quản lý tìm kiếm thông tin tại mỗi trạm, thống kê dữ liệu cho từng trạm
hoặc cho cả 3 trạm để có thể so sánh và làm công tác quản lý thu phí
được chính xác hơn.
- Tại server, khi người quản lý yêu cầu truy xuất dữ liệu đến cơ sở dữ liệu
của một trạm nào đó thông qua giao diện phần mềm. Yêu cầu này sẽ
được phần mềm gửi đến cơ sở dữ liệu máy chủ, sau đó yêu cầu được thực
hiện tại cơ sở dữ liệu tại trạm cần truy vấn và trả về kết quả cho máy chủ.
Kết quả sau khi thực hiện yêu cầu sẽ được hiển thị lên giao diện phần
mềm.
1.4.3. Mô tả quá trình nghiệp vụ cho mỗi trạm
Server:
Phân quyền người dùng


- Tại server chỉ có một tài khoản duy nhất dành cho người quản lý máy
chủ.
- Người quản lý thông qua phần mềm có thể quản lý thông tin tài khoản
của từng trạm (thêm, sửa xóa tài khoản).
Quản lý dữ liệu
- Server có quyền thêm, sửa, xóa dữ liệu của từng trạm : Thông tin sinh
viên, các ngành học, khoa, lớp, học phần, lớp độc lập, thu phí, … Tìm
kiếm thông tin của từng trạm hoặc của cả 3 trạm.
- Thống kê danh sách sinh viên đã nộp học phí, và các sinh viên chưa nộp
học phí.
- Cơ sở dữ liệu tại server chứa các thủ tục, các hàm để thực hiện thao tác
trên từng trạm hoặc cả 2 trạm khi có yêu cầu truy xuất dữ liệu từ người
quản lý


TenHocPhan

Nvarchar(100)

Tên học phần

SoTinChi

int

Số tín chỉ

BatBuoc

bit

Bắt buộc

Tên trường

Kiểu dữ liệu

Mô tả

MaHocKy

Int

Mã học kỳ

int

Năm kết thúc

Tên trường

Kiểu dữ liệu

Mô tả

MaNganh

Nvarchar(10)

Mã ngành

TenNganh

Nvarchar(100)

Tên ngành

MaKhoa

Nvarchar(10)

Mã khoa

MaHeDaoTao


Tên khoa

MoTa

Nvarchar(200)

Mô tả

2.1.6. Bảng Hệ đào tạo
Tên trường

Kiểu dữ liệu

Mô tả

MaHeDaoTao

Nvarchar(10)

Mã hệ đào tạo

TenHeDaoTao

Nvarchar(100)

Tên hệ đào tạo

MoTa

Nvarchar(200)


Mã niên khóa

Tên trường

Kiểu dữ liệu

Mô tả

MaSinhVien

Nchar(11)

Mã sinh viên

MatKhau

Nvarchar(100)

Mật khẩu

HoDem

Nvarchar(30)

Họ đệm

Ten

Nvarchar(30)

Nơi ở hiện nay

SoCMND

Nchar(9)

Số CMND

DanToc

Nvarchar(30)

Dân tộc

TonGiao

Nvarchar(5)

Tôn giáo

ThanhPhanXuatThan

Nvarchar(100)

Thành phần xuất thân

AnhDaiDien

Nvarchar(100)


Ghi chú

2.1.9. Bảng Đăng ký học phần
Tên trường

Kiểu dữ liệu

Mô tả

MaSinhVien

Nchar(11)

Mã sinh viên

MaHocPhan

Nchar(7)

Mã học phần

MaHocKy

int

Mã học kỳ

2.1.10. Bảng Nhân viên
Tên trường


Nchar(10)

Cơ sở

NgaySinh

Date

Ngày sinh

GioiTinh

Nvarchar(3)

Giới tính


QueQuan

Nvarchar(200)

Quê quán

SoCMND

Nchar(9)

Số CMND

DanToc


Nvarchar(100)

Email liên hệ

DiaChiLienHe

Nvarchar(200)

Địa chỉ liên hệ

DienThoaiLienHe

Nvarchar(11)

Điện thoại liên hệ

2.1.11. Bảng Phiếu thu
Tên trường

Kiểu dữ liệu

Mô tả

MaPhieuThu

Nvarchar(10)

Mã phiếu thu


GhiChu

Nvarchar(200)

Ghi chú

2.1.12. Bảng Chi tiết phiếu thu
Tên trường

Kiểu dữ liệu

Mô tả

MaPhieuThu

Nvarchar(10)

Mã phiếu thu

MaLoaiThu

Nvarchar(10)

Mã loại thu

SoLuong

int

Số lượng


Mô tả

2.2. Mô hình CSDL phân tán

Trường đại học Công nghiệp Hà Nội có 3 cơ sở. Để công tác quản lý được dễ dàng
và chính xác thông tin, nhóm xây dựng phần mềm dựa trên mô hình cơ sở dữ liệu
phân tán để quản lý dữ liệu của từng cơ sở:
- Mỗi cơ sở sẽ có một phần mềm ứng dụng, một hệ cơ sở quản trị cơ sở dữ
liệu và một cơ sở dữ liệu độc lập của riêng cơ sở đó, cơ sở dữ liệu của
từng cơ sở không được tạo liên kết với nhau mà chỉ tạo liên kết đến
server.
- Phầm mềm ứng dụng tại mỗi cơ sở đực kết nối đến cơ sở dữ liệu của cơ
sở đó thông qua hệ quản trị cơ sở dữ liệu. Phần mềm ứng dụng cho phép
cập nhật, thêm, sửa, xóa dữ liệu, tìm kiếm thông tin, xuất báo cáo tại khu
đó và thực hiện một số tác vụ khác.
- Tại mỗi cơ sở: Khi người dùng thực hiện một yêu cầu truy xuất cơ sở dữ
liệu thông qua giao diện phần mềm ứng dụng, yêu cầu này sẽ được phần


-

-

-

mềm ứng dụng gửi đến hệ quản trị cơ sở dữ liệu phân tán thông qua kết
nối chương trình ứng dụng và hệ quản trị CSDL, sau đó hệ quản trị
CSDL phân tán yêu cầu đến vị trí chứa dữ liệu của cơ sở đó. Thực hiện
xong yêu cầu, kết quả sẽ được gửi về và đưa lên giao diện phần mềm ứng


(Nganh)

Nganh2 = σ TenNganh = “Công nghệ may” ˅ TenNganh = “Kế toán” ˅ TenNganh = “Quản trị kinh doanh” ˅
TenNganh = “Quản trị kinh doanh du lịch” ˅ TenNganh = “Công nghệ kỹ thuật hóa học” (Nganh)


Nganh3 = σ TenNganh = “Công nghệ kỹ thuật tự động hóa” ˅ TenNganh = “Tài chính ngân hàng” ˅ TenNganh =
“Công nghệ kỹ thuật ô tô” ˅ TenNganh = “Thiết kế thời trang” ˅ TenNganh = “Việt Nam học” (Nganh)
Lop1 = Lop |›‹ Nganh1
Lop2 = Lop |›‹ Nganh2
Lop3 = Lop |›‹ Nganh3
SinhVien1 = SinhVien |›‹ Lop1
SinhVien2 = SinhVien |›‹ Lop2
SinhVien3 = SinhVien |›‹ Lop3
DangKyHocPhan1 = DangKyHocPhan |›‹ SinhVien1
DangKyHocPhan2 = DangKyHocPhan |›‹ SinhVien2
DangKyHocPhan3 = DangKyHocPhan |›‹ SinhVien3
PhieuThu1 = PhieuThu |›‹ DangKyHocPhan1
PhieuThu2 = PhieuThu |›‹ DangKyHocPhan2
PhieuThu3 = PhieuThu |›‹ DangKyHocPhan3
ChiTietPhieuThu1 = ChiTietPhieuThu |›‹ PhieuThu1
ChiTietPhieuThu2 = ChiTietPhieuThu |›‹ PhieuThu2
ChiTietPhieuThu3 = ChiTietPhieuThu |›‹ PhieuThu3
- Một số câu truy vấn SQL:
o Lấy ra tên của sinh viên thuộc lớp Hệ thống thông tin 1 K7 của
ngành Hệ thống thông tin
SELECT (HoDem + Ten) as HoTen
FROM SinhVien inner join Lop
ON

= HoDem,Ten(σTenLop = ‘Việt Nam học 1 K7’(Lop3) * SinhVien3)


- Một số trigger:
CREATE TRIGGER tg_InsertPhieuThu
ON dbo.PhieuThu
AFTER INSERT , UPDATE
AS
DECLARE @MaDangKyHocPhan int
SET @MaDangKyHocPhan = (SELECT MaDangKyHocPhan FROM
inserted)
DECLARE @MaSinhVien nchar(11)
SET @MaSinhVien = (SELECT MaSinhVien FROM
dbo.DangKyHocPhan WHERE MaDangKyHocPhan =
@MaDangKyHocPhan)
DECLARE @MaLop nvarchar(10)
SET @MaLop = (SELECT MaLop FROM dbo.SinhVien WHERE
MaSinhVien = @MaSinhVien)
DECLARE @MaNganh nvarchar(10)
SET @MaNganh = (SELECT MaNganh FROM dbo.Lop WHERE
MaLop = @MaLop)
DECLARE @TenNganh nvarchar(100)
SET @TenNganh = (SELECT TenNganh FROM dbo.Nganh WHERE
MaNganh = @MaNganh)
IF(
@TenNganh LIKE N'%Khoa học máy tính%' OR
@TenNganh LIKE N'%Kỹ thuật phần mềm%' OR
@TenNganh LIKE N'%Hệ thống thông tin%' OR
@TenNganh LIKE N'%Cơ khí%' OR
@TenNganh LIKE N'%Điện%' OR

END
ELSE
BEGIN
RAISERROR (N'Cập nhật nhân viên không thành
công.',16,1)
ROLLBACK TRAN
END
GO
-- Trigger Lớp
IF OBJECT_ID ('tg_Lop_Tram1','TR') IS NOT NULL
DROP TRIGGER tg_Lop_Tram1
GO
CREATE TRIGGER tg_Lop_Tram1
ON dbo.Lop
AFTER INSERT , UPDATE
AS
DECLARE @MaNganh nvarchar(10)



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status