ITEC – Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516
1. Viết thủ tục in thông tin theo mẫu sau:
Stt
ISBN
TenSach
TacGia
NamXB
------------------------------------------------------------------------------------------------------------------------------------------------Tổng số đầu sách:
2. Viết thủ tục truyền vào isbn, masach in thông tin theo mẫu sau:
Tên đầu sách:
Số sách đang mượn:
Stt
TenDG
MaPM
SoNgayMuon
------------------------------------------------------------------------------------------------------------------------------------------------Số lượng phiếu mượn:
3. Viết thủ tục truyền vào MaPM in thông tin theo mẫu sau:
Ngày mượn:
Ma ĐG:
Tên ĐG:
Stt
ISBN
MaSach
SoNgayQuyDinh
------------------------------------------------------------------------------------------------------------------------------------------------Số sách đã trả:
Số sách chưa trả:
4. Viết thủ tục truyền vào MaPM in thông tin theo mẫu sau:
MaPM:
Ngày mượn:
MaDG:
TenDG:
DANH SACH CT_PHIEUMUON
Stt
ISBN
MaSach
SoNgayQuyDinh
------------------------------------------------------------------------------------------------------------------------------------------------Số CT_PhieuMuon:
DANH SÁCH PHIẾU TRẢ
Stt
ISBN
MaSach
NgayTra
----------------------------------------------------------------------------------------------------------------5. Viết thủ tục in thông tin theo mẫu sau:
Tên sách:
DANH SÁCH SÁCH MƯỢN
Stt
ISBN
MaSach
NgayMuon
NgayTra
TinhTrang
------------------------------------------------------------------------------------------------------GV biên soạn: TS. Lê Thị Nhàn - ThS. Vũ Thị Mỹ Hằng - ThS. Tiết Gia Hồng
Trang 41 | 44
ITEC – Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516
------------------------------------------------------------------------------------------------6. Viết thủ tục cập nhật tiền phạt cho các sách mượn quá hạn
7. Thêm độc giả.
Input: thông tin độc giả
Output: 0 – thêm thành công hoặc mã lỗi (số nguyên > 0) nếu thêm thất bại.
Các bước thực hiện:
o B1: Kiểm tra mã độc giả tồn tại nếu có trả về lỗi 1
o B2: Kiểm tra email trùng nếu trùng trả về lỗi 2
o B3: Kiểm tra số cmnd trùng nếu trùng trả về lỗi 3
o B4: Kiểm tra độc giả phải từ 18 tuổi trở lên nếu không đủ trả về lỗi 4
o B5: Kiểm tra giới tính phải là nam, nữ hoặc null nếu không trả về lỗi 6
o B6: Thêm độc giả vào, trả về 0.
8. Thêm một cuốn sách.
Input: thông tin cuốn sách
Output: 0 – thêm thành công hoặc mã lỗi (số nguyên > 0) nếu thêm thất bại.
Các bước thực hiện:
o B1: Kiểm tra isbn phải tồn tại ở đầu sách nếu không trả về lỗi 1
o B2: Kiểm tra mã sách có trùng với cuốn sách khác thuộc cùng đầu sách nếu
trùng trả về lỗi 2
o B3: Kiểm tra tình trạng phải là “có thể mượn” nếu khơng trả về lỗi 3
o B4: Thêm cuốn sách vào, trả về 0.
9. Thêm một phiếu mượn.
Input: thông tin phiếu mượn (không truyền vào ngày mượn)
Output: 0 – thêm thành công hoặc mã lỗi (số nguyên > 0) nếu thêm thất bại.
Các bước thực hiện:
o B1: Kiểm tra madg phải tồn tại ở độc giả nếu không trả về lỗi 1
o B2: Kiểm tra mã phiếu có trùng với phiếu khác nếu trùng trả về lỗi 2
o B3: Thêm phiếu mượn vào với ngày mượn là ngày hiện tại của hệ thống, trả về
0.
10. Thêm một chi tiết cho phiếu mượn.
Input: thông tin chi tiết phiếu mượn
Output: 0 – thêm thành công hoặc mã lỗi (số nguyên > 0) nếu thêm thất bại.
Các bước thực hiện:
o B1: Kiểm tra mapm phải tồn tại ở phiếu mượn nếu không trả về lỗi 1
o B2: Kiểm tra cuốn sách được mượn (isbn, mã sách) phải tồn tại và tình trạng
phải là có thể mượn nếu không thỏa trả về lỗi 2
GV biên soạn: TS. Lê Thị Nhàn - ThS. Vũ Thị Mỹ Hằng - ThS. Tiết Gia Hồng
Trang 42 | 44
ITEC – Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516
o B3: Kiểm tra số ngày quy định phải có và là số ngun dương nếu khơng trả
về lỗi 3
o B4: Thêm chi tiết phiếu mượn vào, trả về 0.
11. Thêm một phiếu trả.
Input: thông tin phiếu trả (không truyền vào ngày trả)
Output: 0 – thêm thành công hoặc mã lỗi (số nguyên > 0) nếu thêm thất bại.
Các bước thực hiện:
o B1: Kiểm tra mapm phải tồn tại ở phiếu mượn nếu không trả về lỗi 1
o B2: Kiểm tra mã phiếu có trùng với phiếu khác nếu trùng trả về lỗi 2
o B3: Thêm phiếu trả vào với ngày trả là ngày hiện tại của hệ thống, trả về 0.
12. Thêm một chi tiết cho phiếu trả.
Input: thông tin phiếu trả (không truyền vào mức giá phạt và tiền phạt)
Output: 0 – thêm thành công hoặc mã lỗi (số nguyên > 0) nếu thêm thất bại.
Các bước thực hiện:
o B1: Kiểm tra mapt phải tồn tại ở phiếu trả nếu không trả về lỗi 1
o B2: Kiểm tra cuốn sách được trả (isbn, mã sách) phải là cuốn sách được mượn
và chưa được trả nếu không thỏa trả về lỗi 2
o B3: Thêm chi tiết phiếu trả vào, trả về 0. Lưu ý: mức giá phạt được lấy từ mức
giá phạt hiện tại của đầu sách tương ứng và tiền phạt được tính theo cơng thức
như bên dưới:
tienphat = mucgiaphat * (ngaytra – ngaymuon – songayquydinh)
13. Cập nhật ngày mượn của một phiếu mượn.
Input: mã phiếu mượn và ngày mượn mới
Output: 0 – cập nhật thành công hoặc mã lỗi (số nguyên > 0) nếu thất bại.
Các bước thực hiện:
o B1: Kiểm tra mapm phải tồn tại nếu không trả về lỗi 1
o B2: Cập nhật ngày mượn
o B3: Cập nhật lại tiền phạt cho các chi tiết phiếu trả ứng với phiếu mượn vừa
được cập nhật ngày
o B4: Trả về 0 báo hiệu thành công
14. Cập nhật mức giá phạt cho một chi tiết trong phiếu trả.
Input: mã phiếu trả, số isbn, mã sách và mức giá phạt mới
Output: 0 – cập nhật thành công hoặc mã lỗi (số nguyên > 0) nếu thất bại.
Các bước thực hiện:
o B1: Kiểm tra mapt phải tồn tại nếu không trả về lỗi 1
GV biên soạn: TS. Lê Thị Nhàn - ThS. Vũ Thị Mỹ Hằng - ThS. Tiết Gia Hồng
Trang 43 | 44
ITEC – Thực Hành Cơ Sở Dữ Liệu Nâng Cao – HKII.1516
o B2: Kiểm tra cuốn sách (số isbn, mã sách) phải tồn tại trong chi tiết phiếu trả
nếu không trả về lỗi 2
o B3: Kiểm tra mức giá phạt phải là số dương nếu không trả về lỗi 3
o B4: Cập nhật mức giá phạt
o B5: Cập nhật lại tiền phạt với mức giá phạt mới
o B6: Trả về 0 báo hiệu thành cơng
15. Xóa độc giả.
Input: mã độc giả
Output: 0 – xóa thành cơng hoặc mã lỗi (số nguyên > 0) nếu thất bại.
Các bước thực hiện:
o B1: Kiểm tra madg phải tồn tại nếu không trả về lỗi 1
o B2: Kiểm tra độc giả đã từng mượn hay trả sách chưa nếu rồi trả về lỗi 2 báo
hiệu không được xóa
o B3: Xóa độc giả và trả về 0 báo hiệu xóa thành cơng
16. Xóa phiếu mượn.
Input: mã phiếu mượn
Output: 0 – xóa thành cơng hoặc mã lỗi (số nguyên > 0) nếu thất bại.
Các bước thực hiện:
o B1: Kiểm tra mapm phải tồn tại nếu không trả về lỗi 1
o B2: Kiểm tra phiếu mượn đã có phiếu trả tương ứng chưa nếu có trả về lỗi 2
báo hiệu khơng được xóa
o B3: Xóa chi tiết phiếu mượn tương ứng
o B4: Xóa phiếu mượn
o B5: Trả về 0 báo hiệu thành cơng
17. Xóa phiếu trả.
Input: mã phiếu trả
Output: 0 – xóa thành công hoặc mã lỗi (số nguyên > 0) nếu thất bại.
Các bước thực hiện:
o B1: Kiểm tra mapt phải tồn tại nếu không trả về lỗi 1
o B2: Xóa chi tiết phiếu trả tương ứng
o B3: Xóa phiếu trả
B4: Trả về 0 báo hiệu thành công
GV biên soạn: TS. Lê Thị Nhàn - ThS. Vũ Thị Mỹ Hằng - ThS. Tiết Gia Hồng
Trang 44 | 44