Tải bản đầy đủ (.pdf) (3 trang)

03 btvn3 stored procedure nang cao th qtcsdl 1617 vtmhang

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (140.14 KB, 3 trang )

Quản trị Cơ sở dữ liệu – HKI/2016.2017 – 14CK – Biên soạn: ThS. Vũ Thị Mỹ Hằng

BÀI TẬP VỀ NHÀ 3 – STORED PROCEDURE NÂNG CAO
VIẾT CÁC STORED PROCEDURE SAU VÀ GỌI LỆNH THỰC THI:
(Sử dụng CSDL QLHV)
1. Nhập vào mã một học viên, đếm số môn mà học viên này đã thi đậu. Điều kiện thi đậu:
điểm lần thi sau cùng của môn này >= 5.
Xuất kết quả bằng tham số output.
2. Xuất ra danh sách họ tên các giáo viên, ứng với mỗi giáo viên cho biết số môn mà các
giáo viên này đã được phân công giảng dạy.
Xuất kết quả bằng lệnh select.
3. Nhận vào mã một học viên, cho biết điểm trung bình của học viên đó. Điểm trung bình
được tính trên điểm thi lần thi sau cùng của học viên theo công thức:
Điểm trung bình = ∑(Điểm * Số tín chỉ) / ∑Số tín chỉ
Xuất ra kết quả bằng tham số output. Lưu ý: ĐTB làm tròn 2 chữ số.
4. Nhận vào mã một học viên, cho biết xếp loại của học viên đó. Xếp loại của một học
viên được đánh giá dựa vào điểm trung bình theo quy tắc bên dưới:
§

ĐTB < 5 à loại “Yếu”

§

ĐTB = 5 à loại “Trung bình”

§

5 < ĐTB < 6.5 à loại “Trung bình khá”

§


6.5 <= ĐTB < 8 à loại “Khá”

§

8 < ĐTB < 9 à loại “Giỏi”

§

ĐTB >= 9 à loại “Xuất sắc”

Xuất kết quả bằng tham số output. Lưu ý: sử dụng lại stored procedure ở câu 3.
5. Nhận vào một mã lớp, cho biết họ tên học viên có điểm trung bình cao nhất của lớp đó.
Điều kiện và cơng thức tính điểm trung bình tương tự câu 3.
Xuất kết quả bằng lệnh select.
6. Viết stored procedure nhận vào thông tin một học viên mới và đưa học viên vào CSDL
theo quy trình sau:
§

B1: Kiểm tra nếu mã học viên đã có à thông báo lỗi mã học viên đã tồn tại & kết
thúc.

§

B2: Kiểm tra nếu học viên được xếp vào lớp chưa tồn tại à thông báo lỗi lớp học
không hợp lệ & kết thúc.


Quản trị Cơ sở dữ liệu – HKI/2016.2017 – 14CK – Biên soạn: ThS. Vũ Thị Mỹ Hằng

§


B3: Kiểm tra nếu học viên được xếp vào lớp có nhiều hơn 20 học viên à thông báo
lớp đã quá đông và khơng thể nhận thêm học viên & kết thúc.

§

B4: Kiểm tra nếu tình trạng khơng phải là một trong ba tình trạng ‘đang học’, ‘đã
tốt nghiệp’ hoặc ‘bị thơi học’ à thơng báo lỗi tình trạng khơng hợp lệ & kết thúc.

§

B5: Nếu các điều kiện đã thoả mãn, thêm học viên vào.

§

B6: Cập nhật lại sĩ số trong bảng lớp học tương ứng.

§

B7: Thơng báo thêm học viên thành công.

7. Viết stored procedure nhận vào một mã học viên và tiến hành xố học viên này theo quy
trình sau:
§

B1: Kiểm tra nếu mã học viên khơng có à thơng báo lỗi mã học viên khơng tồn tại
& kết thúc.

§


B2: Kiểm tra nếu tình trạng học viên là “đang học” à thơng báo lỗi khơng được
xố học viên đang học & kết thúc.

§

B3: Nếu các điều kiện đã thoả mãn, xố học viên.

§

B4: Cập nhật lại sĩ số trong bảng lớp học tương ứng.

§

B5: Thơng báo xố học viên thành công.

8. Viết stored procedure nhận vào một mã học viên và một mã lớp, tiến hành chuyển học
viên sang lớp này theo quy trình sau:
§

B1: Kiểm tra nếu mã học viên khơng có à thơng báo lỗi mã học viên khơng tồn tại
& kết thúc.

§

B2: Kiểm tra nếu khơng tồn tại mã lớp sẽ chuyển học viên sang à thông báo lớp
khơng hợp lệ & kết thúc.

§

B2: Cập nhật mã lớp mới cho học viên.


§

B3: Cập nhật lại sĩ số trong bảng lớp học mà học viên mới chuyển sang (tăng 1).

§

B4: Cập nhật lại sĩ số trong bảng lớp học mà học viên vừa chuyển đi (giảm 1). Lưu
ý: nếu sĩ số lớp cũ sau khi học viên chuyển đi là 0 thì tiến hành huỷ lớp này.

§

B5: Thơng báo chuyển lớp thành công.

9. Viết stored procedure nhận vào tên mơn học và số tín chỉ của một mơn học mới và thêm
môn học này vào CSDL theo quy trình sau:
§

B1: Phát sinh mã cho mơn học mới theo quy tắc đánh mã MHXXXXX, trong đó:


Quản trị Cơ sở dữ liệu – HKI/2016.2017 – 14CK – Biên soạn: ThS. Vũ Thị Mỹ Hằng

o XXXXX là chuỗi số gồm 5 ký tự cho biết số thứ tự của môn. Nếu chuỗi số
thứ tự chưa đủ 5 ký tự thì thêm các số 0 vào trước. Ví dụ: môn học thứ 14
được đánh mã là MH00014, môn học thứ 7 được đánh mã là MH00007.
o Khi thêm một môn học mới vào, sẽ lấy số thứ tự liền kề của mơn vừa được
thêm trước đó. Tuy nhiên, trong trường hợp có số thứ tự khuyết, thì sẽ lấy
số thứ tự khuyết nhỏ nhất. Ví dụ:
ü Nếu trong CSDL có sẵn các mơn đánh mã MH00001, MH00002 thì

mơn mới thêm sẽ có mã MH00003.
ü Nếu trong CSDL có sẵn các mơn đánh mã MH00001, MH00003,
MH00005 thì mơn mới thêm sẽ có mã MH00002.
§

B2: Kiểm tra nếu tên mơn học đã tồn tại thì xử lý theo quy tắc bên dưới:
o Nếu tận cùng của tên môn nhận vào là chữ thì đổi tên mơn thành: tenMon
+ 2. Ví dụ: môn “Cơ sở dữ liệu” dự định thêm bị trùng tên thì đổi thành
“Cơ sở dữ liệu 2”.
o Nếu tận cùng của tên mơn nhận vào là số thì tăng giá trị số thêm 1. Ví dụ:
mơn “Cơ sở dữ liệu 4” dự định thêm bị trùng tên thì đổi thành “Cơ sở dữ
liệu 5”.

§

B3: Kiểm tra số tín chỉ phải nằm trong khoảng từ 2 đến 5.
o Nếu số tín chỉ nhận vào < 2 thì gán số tín chỉ mặc định là 2
o Nếu số tín chỉ nhận vào > 5 thì gán số tín chỉ mặc định là 5



×