1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo case stydy 1 quản lý hồ sơ và điểm ở trường trung học phổ thông

27 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản lý hồ sơ và điểm ở trường trung học phổ thông
Tác giả Vũ Hương Giang, Nguyễn Thị Huyền, Trần Thị Linh, Lê Thị Kim Oanh, Hoàng Thủy Tiên
Người hướng dẫn Nguyễn Thị Thu Trang
Trường học Học Viện Ngân Hàng
Chuyên ngành Cơ sở dữ liệu 2
Thể loại Báo cáo
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 27
Dung lượng 2,96 MB

Nội dung

Vì dụ như các table: DIEM, KETQUA, HOCSINH đều liên quan đến học sinhnên tạo một tablespace có tên là student để chứa 3 bảng đó.... * Đối với cơ sở dữ liệu trên, tạo ra 3 tablesapce để p

Trang 1

HỌC VIỆN NGÂN HÀNG

Khoa: Hệ Thống Thông Tin Quản Lý Môn: Cơ sở dữ liệu 2

BÁO CÁO: CASE STYDY 1

QUẢN LÝ HỒ SƠ VÀ ĐIỂM

Ở TRƯỜNG TRUNG HỌC PHỔ THÔNG

Nhóm làm bài: 01

Mã môn học: IS12A Nhóm 01

Giảng viên hướng dẫn: Cô Nguyễn Thị Thu Trang

Hà Nội, ngày 24 tháng 04 năm 2020

Trang 2

DANH SÁCH THÀNH VIÊN

2 Nguyễn Thị Huyền (NT) 21A4040047 K21HTTTA 23%

Trang 3

MỤC LỤC

2.2 Lý do tạo thêm tablespace cho cơ sở dữ liệu 8 2.3 Tạo các tablespace cần thiết, table và mối quan hệ giữa các bảng 9

Trang 4

I-Thông tin dự án

Dự án xây dựng hệ thống quản lý hồ sơ và điểm ở trường trung học phổ thông

Mô tả tóm tắt nghiệp vụ hoạt động:

Trong nhà trường phổ thông trung học, mỗi khi nhập trường phải nộp một bộ hồ sơ cá nhân Các thông tin về từng học sinh sẽ được nhà trường nắm rõ thông qua hồ sơ đó và tiến hành làm thẻ học sinh cho từng em

Mỗi học kỳ, một học sinh có thể nhận được các loại điểm: miệng, 15 phút, 1 tiết, điểm thi học kì của từng môn Cuối học kì nhà trường tổng kết điểm trung bình của từng môn, của toàn kì cho mỗi học sinh Học sinh sẽ nhận được kết quả học tập và nhận xét về ý thức học tập và xếp loại vào cuối kì và cả năm

Ban giám hiệu có trách nhiệm cung cấp các quy định tính điểm, các đánh giá xếp loại, quy định về khen thưởng kỷ luật Cuối mỗi kỳ học, ban giám hiệu nhận được các báo cáo về tình hình chung của từng lớp và đưa ra quyết định khen thưởng cho từng cá nhân học sinh, đồng thời ra quyết định danh sách lên lớp.

II-Triển khai dự án

1 Thiết kế ban đầu (thiết kế mức vật lý và logic)

+ Sơ đồ thực thể liên kết

Trang 5

+ Sơ đồ quan hệ

+ Xây dựng các bảng lưu trữ thông tin của trường trung học phổ thông

Bảng HOCSINH

Trang 6

Thuộc tính Kiểu dữ liệu Kích

Thay đổi: Số điện thoại di động ở Việt Nam hiện nay có 10 chữ số (thay vì 11 chữ số như ban đầu)

Bảng BANGIAMHIEU

Thuộc tính Kiểu dữ liệu Kích

thước

Định dạng Ràng buộc

NULL

NULL

Bảng KHENTHUONG_GV

Trang 7

Thuộc tính Kiểu dữ liệu Kích

thước

Định dạng Ràng buộc

Bảng KHENTHUONG_HS

Thuộc tính Kiểu dữ liệu Kích

thước

Định dạng Ràng buộc

C: có lên lớp K: không lên lớp

Thay đổi: Điểm trung bình gồm 1 chữ số nguyên và 1 chữ số thập phân

Bảng GIAOVIEN

Trang 8

Thuộc tính Kiểu dữ liệu Kích

Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc

Bảng DIEM

Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc

Trang 9

MaHS CHAR 9 HS****K** Khóa chính

Thuộc tính Kiểu dữ liệu Kích thước Định dạng Ràng buộc

2 Xây dựng và quản lý cơ sở dữ liệu

2.1 Tạo cơ sở dữ liệu với tên gọi phù hợp.

+ Tên CSDL: Quan_Ly_Hoc_Sinh

+ User tạo: user hệ thống SYS , nhóm quyền SYSDBA

Trang 10

2.2 Có cần thiết phải tạo nhiều tablespace cho cơ sở dữ liệu này không? Hãy đưa ra những giải thích hợp lý cho quyết định của anh chị.

Việc tạo nhiều tablespace là cần thiết cho cơ sở dữ liệu , vì:

+ Dùng tablespace sẽ giúp quản lí data dễ dàng hơn, cho hiệu suất cao hơn, an toàn và bảo mật dữ liệu tốt hơn.

+ Có thể cấp phát hạn ngạch không gian cho nhiều người dùng khác nhau trong hệ thống.

+ Dễ dàng backup hay recover từng phần Mỗi phần này chính là 1 tablespace + Nếu một lúc nào đó dữ liệu lớn ra, cần thêm ổ cứng để lưu trữ thì ta gắn thêm ổ cứng, lấy 1 vùng không gian trên ổ cứng mới dùng cho dữ liệu Để gắn kết vùng không gian mới này với vùng không gian hiện tại thì phải dùng tablespace.

+ Nếu ta muốn 1 phần CSDL không được truy xuất nữa thì chỉ cần dừng 1 tablespace

đó chứ không cần phải dừng toàn bộ CSDL.

Lý do tạo các tablespace:

- Trong các table có sự liên kết chặt chẽ và liên quan với nhau thì sẽ tạo thành một tablespace Vì dụ như các table: DIEM, KETQUA, HOCSINH đều liên quan đến học sinh nên tạo một tablespace có tên là student để chứa 3 bảng đó.

Trang 11

* Đối với cơ sở dữ liệu trên, tạo ra 3 tablesapce để phục vụ cho cơ sở dữ liệu

Gồm các bảng: CHUNHIEM, GIAOVIEN, DAY.

2.3 Tạo các tablespace cần thiết, các bảng theo thiết kế vật lý đã nêu ở trên và mối quan hệ tương ứng giữa các bảng.

2.3.1 Mối quan hệ giữa các bảng, tạo các bảng cùng ràng buộc

+ Mối quan hệ giữa các bảng:

MaHS CHAR (9) NOT NULL PRIMARY KEY,

CHECK (MaHS LIKE'HS K '),

TenHS NVARCHAR2 (30) NOT NULL,

MaLop CHAR (5) NOT NULL,

NgaySinh DATE NOT NULL,

GioiTinh NVARCHAR2 (4) NOT NULL,

DanToc NVARCHAR2 (5),

Trang 12

Tạo bảng Ban Giám Hiệu

CREATE TABLE BanGiamHieu

(

MaBGH CHAR (5) NOT NULL PRIMARY KEY,

CHECK (MaBGH LIKE 'BGH '),

TenBGH NVARCHAR2 (30) NOT NULL,

ChucVu CHAR (50) NOT NULL

);

Tạo bảng Khen Thưởng Giáo Viên

CREATE TABLE KhenThuong_GV

(

MaBGH CHAR (5) NOT NULL,

CHECK (MaBGH LIKE 'BGH '),

MaGV CHAR (5) NOT NULL PRIMARY KEY,

CHECK (MaGV LIKE 'GV _'),

HocKy NUMBER (1) NOT NULL,

NamHoc VARCHAR (9) NOT NULL,

CONSTRAINT ktgv_fk FOREIGN KEY (MaBGH) REFERENCES BanGiamHieu (MaBGH)

);

Tạo bảng Khen Thưởng Học Sinh

CREATE TABLE KhenThuong_HS

(

MaHS CHAR (9) NOT NULL,

CHECK (MaHS LIKE'HS K '),

MaBGH CHAR (5) NOT NULL,

CHECK (MaBGH LIKE 'BGH '),

CONSTRAINT kths_fk FOREIGN KEY (MaBGH) REFERENCES BanGiamHieu (MaBGH),

CONSTRAINT hs_fk FOREIGN KEY (MaHS) REFERENCES HocSinh (MaHS), HocKy NUMBER (1) NOT NULL,

NamHoc VARCHAR (9) NOT NULL,

DanhHieu NVARCHAR2 (30) NOT NULL

Trang 13

Tạo bảng Giáo Vien

CREATE TABLE GiaoVien

(

MaGV CHAR (5) NOT NULL PRIMARY KEY,

CHECK (MaGV LIKE'GV _'),

CONSTRAINT day_pk PRIMARY KEY(MaGV, MaLop),

CONSTRAINT gv_fk FOREIGN KEY (MaGV) REFERENCES GiaoVien (MaGV), CONSTRAINT lop_fk FOREIGN KEY (MaLop) REFERENCES Lop (MaLop) );

Tạo bảng Kết Quả

CREATE TABLE KetQua

(

MaKQ CHAR (7) NOT NULL,

CHECK (MaKQ LIKE'KQ _'),

MaHS CHAR (9) ,

CHECK (MaHS LIKE 'HS K '),

CONSTRAINT sv_fk FOREIGN KEY (MaHS) REFERENCES HocSinh (MaHS), CONSTRAINT kqhs_pk PRIMARY KEY(MaKQ, MaHS),

DiemTBKy1 NUMBER (2,1) NOT NULL,

DiemTBKy2 NUMBER (2,1) NOT NULL,

DiemTKN NUMBER (2,1) NOT NULL,

HanhKiem NVARCHAR2 (10) NOT NULL,

Trang 14

HocLuc NVARCHAR2 (10) NOT NULL,

MaGV CHAR (5) NOT NULL,

CHECK (MaGV LIKE'GV _'),

MaLop CHAR (5) NOT NULL PRIMARY KEY

);

Tạo bảng Điểm

CREATE TABLE Diem

(

MaHS CHAR (9) NOT NULL PRIMARY KEY,

CHECK (MaHS LIKE'HS K '),

MaMonHoc CHAR (5) NOT NULL,

CHECK (MaGV LIKE'GV _'),

CONSTRAINT mh_fk FOREIGN KEY (MaGV) REFERENCES GiaoVien (MaGV) );

2.3.2 Tạo các tablespace

Cách tạo tablespace bằng oracle enterprise manager:

: vào vào tùy chọn như hình dưới.

B1 login oracle enterprise manager

Trang 15

B2: bấm chọn create, nhập tên namespace cần tạo và chọn add

B3 : nhập file name có đuôi dbf

file Directory mặc định.

điền tên tablespace cần tạo.

B4: tích vào Automatically extend datafile when full (AUTOEXTEND )

(mục đích để tự động mở rộng file dữ liệu khi đầy) và điền tham số vào Increment.

Và bấm chọn ok

=> TABLESPACE đã được tạo.

Trang 16

+ Hiển thị danh sách những học sinh giỏi trong toàn trường

SELECT MaHS, HocSinh.TenHS, KetQua.HocLuc

FROM HocSinh INNER JOIN KetQua USING (MaHS)

WHERE KetQua.HocLuc = 'Gioi';

+ Hiển thị danh sách những học sinh bị lưu ban

SELECT MaHS, HocSinh.TenHs, KetQua.LenLop

FROM HocSinh INNER JOIN KetQua USING (MaHS)

WHERE KetQua.LenLop = 'K';

+ Thống kê những học sinh có hạnh kiểm Yếu/Kém

SELECT MaHS, HocSinh.TenHS, KetQua.HanhKiem

FROM HocSinh INNER JOIN KetQua USING (MaHS)

WHERE KetQua.HanhKiem = 'Yeu' OR KetQua.HanhKiem = 'Kem';

+ Hiển thị Top 3 lớp có nhiều học sinh Khá/Giỏi nhất trường nhằm mục đích khen thưởng

SELECT *

FROM (SELECT COUNT(DanhHieu) AS SL_HSKHAGIOI, Lop.MaLop, Lop.TenLop FROM KhenThuong_HS

JOIN HocSinh ON HocSinh.MaHS = KhenThuong_HS.MaHS

JOIN Lop ON HocSinh.MaLop = Lop.MaLop

WHERE DanhHieu = 'HSGIOI' OR DanhHieu = 'HSKHA'

GROUP BY Lop.MaLop, Lop.TenLop

ORDER BY COUNT (DanhHieu) DESC)

WHERE ROWNUM <= 3;

+ Hiển thị những giáo viên chủ nhiệm có nhiều học sinh Khá/Giỏi nhất trường nhằm mục đích khen thưởng

SELECT TenGV, MaLop, COUNT (DanhHieu) "SO HSG"

FROM GiaoVien JOIN GVCN USING (MaGV) JOIN HocSinh USING (MaLop)

JOIN KhenThuong_HS USING (MaHS) WHERE DanhHieu = 'HSGIOI'

GROUP BY TenGV, MaLop

HAVING COUNT (DanhHieu) >= ALL (SELECT COUNT(DanhHieu)

FROM GiaoVien JOIN GVCN USING (MaGV) JOIN HocSinh USING (MaLop) JOIN KhenThuong_HS USING (MaHS)

WHERE DanhHieu = 'HSGIOI'

GROUP BY MaLop);

2.5 Hệ thống quản lý hồ sơ và điểm chỉ cho phép một số nhóm người dùng nhất định,

cụ thể như sau:

+ Nhóm quản trị có toàn quyền

Thông tin user:

Tên user: NHOM_QUAN_TRI

Trang 17

Phương thức xác thực là mật khẩu: CSDL.hvnh

Tablespace mặc định

Temporary Tablespace mặc định

Profile: mặc định

Quyền/nhóm quyền: loại quyền system, nhóm quyền DBA.

Sử dụng công cụ Oracle SQL Developer tạo user

GRANT "DBA" TO "NHOM_QUAN_TRI" ;

ALTER USER "NHOM_QUAN_TRI" DEFAULT ROLE "DBA";

Connect user vừa tạo

Trang 18

(User NHOM_QUAN_TRI có quyền tạo bảng, thêm dữ liệu, xóa bảng,…)

+ Nhóm giáo viên chỉ có quyền thêm mới vào bảng Kêt Quả

Thông tin user:

Tên user: GIAO_VIEN

Phương thức xác thực là mật khẩu: k21httta

Trang 19

Câu lệnh:

USER SQL

CREATE USER "GIAO_VIEN" IDENTIFIED BY "k21httta"

DEFAULT TABLESPACE "USERS"

TEMPORARY TABLESPACE "TEMP";

QUOTAS

ALTER USER "GIAO_VIEN" QUOTA UNLIMITED ON "USERS";

SYSTEM PRIVILEGES

GRANT CREATE SESSION TO "GIAO_VIEN" WITH ADMIN OPTION;

GRANT SELECT, ALTER, UPDATE ON KetQua TO PUBLIC;

(User GIAO_VIEN chỉ có thể xem bảng Kết Quả chứ không xem được các bảng khác)

+ Nhóm hiệu trưởng được đọc dữ liệu ở tất cả các bảng

Thông tin user:

Tên user: HIEU_TRUONG

Phương thức xác thực là mật khẩu: btn.305

Tablespace mặc định

Temporary Tablespace mặc định

Profile: mặc định

Quyền/nhóm quyền: quyền tạo phiên làm việc, quyền xem tất cả các bảng trong cơ sở

dữ liệu, ngoài ra có thể cấp quyền xem đó cho các user khác.

Sử dụng công cụ Oracle SQL Developer tạo user

Câu lệnh:

USER SQL

CREATE USER "HIEU_TRUONG" IDENTIFIED BY "btn.305"

Trang 20

DEFAULT TABLESPACE "USERS"

TEMPORARY TABLESPACE "TEMP";

QUOTAS

ALTER USER "HIEU_TRUONG" QUOTA UNLIMITED ON "USERS";

SYSTEM PRIVILEGES

GRANT CREATE SESSION TO "HIEU_TRUONG" WITH ADMIN OPTION;

GRANT SELECT ANY TABLE TO "HIEU_TRUONG" WITH ADMIN OPTION;

Cách connect và test tương tự với phía trên

2.6 Hệ thống quản lý hồ sơ và điểm được sử dụng nhiều nhất vào thời điểm cuối và đầu mỗi kì/mỗi năm học Anh chị hãy lựa chọn và triển khai phương án backup phù hợp nhất.

+ Phương án backup: Backup bằng RMAN và thực hiện 2 backup: Full Backup Incremintal Backup

+ Backup bằng RMAN

❖ Chọn Availability để thực hiện Backup

❖ Chọn Backup Settings để thiết lập backup

Sao lưu đĩa

Vị trí sao lưu đĩa hiện tại là vùng Flash

Loại sao lưu đĩa: bộ sao lưu (một định dạng tệp sao lưu Oracle cho phép sao lưu hiệu quả bằng cách xen kẽ nhiều tệp sao lưu vào một tệp đầu ra)

Trang 21

Điền UsernamePassword OK để thiết lập xong Backup

❖ Chiến lược Backup

Chọn Schedule Backup

Với hệ thông quản lý hồ sơ và điểm của trường học, chọn Custonized Backup (Tùy chỉnh Backup)

Trang 22

Tạo 2 Backup:

● Backup 1:

+ Loại Backup: Full Backup

+ Lịch Backup: Full Backup 1 năm 1 lần, giữa khoảng thời gian cuối năm học trước và đầu năm học sau Thời gian backup được đặt vào lúc cơ sở dữ liệu ít hoạt động nhất vì thời gian full bạckup lâu và nếu cơ sở bị mở trong thời gian sao lưu thì nó sẽ bị tắt và được gắn trước khi sao lưu, sau đó mở lại sau sao lưu.

Trang 23

● Backup 2:

+ Loại Backup: Incremental Backup

+ Lịch Backup: Backup hằng tuần.

+ Incremental Backup được diễn ra hằng ngày để cập nhật thông tin, điểm số, kết quả của năm học Với các hệ số điểm miệng, điểm kiển tra 15’ , 1 tiết của nhiều môn học, nhiều học sinh thì việc backup hàng tuần là cần thiết và phù hợp.

Trang 24

Chọn Submit Job để hoàn thành chiến lược sao lưu tùy chỉnh.

Trang 25

2.7 Để cải thiện hiệu năng hoạt động của hệ thống, một số yêu cầu nghiệp vụ được yêu cầu thực hiện ở tầng cơ sở dữ liệu Các yêu cầu đó bao gồm:

+ Tìm học sinh có thành tích học tập xuất sắc nhất trong một năm học nhất định

SET SERVEROUTPUT ON

DECLARE

NH KhenThuong_HS.NamHoc%TYPE := '&NH';

CURSOR CONTRO IS

SELECT DiemTKN, MaHS, TenHS, NamHoc

FROM KetQua INNER JOIN HocSinh USING (MaHS) INNER JOIN KhenThuong_HS USING (MaHS)

WHERE NamHoc = NH AND DiemTKN = (SELECT MAX (DiemTKN)

FROM KetQua INNER JOIN KhenThuong_HS USING (MaHS) WHERE NamHoc = NH); BEGIN

FOR ITEM IN CONTRO

Trang 26

INNER JOIN GVCN ON Lop.MaLop = GVCN.MaLop

INNER JOIN GiaoVien ON GVCN.MaGV = GiaoVien.MaGV

WHERE DanhHieu = 'HSGIOI' AND KhenThuong_HS.NamHoc = NH

GROUP BY Lop.MaLop, GVCN.MaGV, GiaoVien.TenGV, KhenThuong_HS.NamHoc HAVING COUNT (DanhHieu) >= ALL (SELECT COUNT (DanhHieu)

FROM GiaoVien JOIN GVCN USING (MaGV)

JOIN HocSinh USING (MaLop) JOIN KhenThuong_HS USING (MaHS) WHERE KhenThuong_HS.NamHoc = NH AND DanhHieu ='HSGIOI'

SELECT MALOP, TENLOP, SISO,

CONCAT ((ROUND (SELECT COUNT (HocLuc) FROM KetQua WHERE HocLuc = 'GIOI')*100/SISO, 2), '%') AS TL_GIOI,

CONCAT ((ROUND (SELECT COUNT (HocLuc) FROM KetQua WHERE HocLuc = 'KHA')*100/SISO, 2), '%') AS TL_KHA,

CONCAT ((ROUND (SELECT COUNT (HocLuc) FROM KetQua WHERE HocLuc = 'TB')*100/SISO, 2), '%') AS TL_TB,

CONCAT ((ROUND (SELECT COUNT (HocLuc) FROM KetQua WHERE HocLuc = 'YEU')*100/SISO, 2), '%') AS TL_YEU,

CONCAT ((ROUND (SELECT COUNT (HocLuc) FROM KetQua WHERE HocLuc = 'KEM')*100/SISO, 2), '%') AS TL_KEM,

FROM Lop INNER JOIN HocSinh ON HocSinh.MaLop = Lop.MaLop INNER JOIN KetQya ON HocSinh.MaHS = KetQua.MaHS

Trang 27

INNER JOIN KhenThuong_HS ON KetQua.MaHS = KhenThuong_HS.MaHS

HAVING (COUNT (LenLop) * 100.0 / (SELECT COUNT (*) FROM KetQua))

>=ALL (SELECT (COUNT (LenLop) * 100.0 / (SELECT COUNT (*) FROM KetQua)) FROM Lop JOIN HocSinh USING (MaLop) JOIN KetQua USING (MaHS)

Ngày đăng: 19/06/2024, 18:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w