You are on page 1of 2

TRƯỜNG ĐẠI HỌC VINH Tài liệu hướng dẫn thực hành

VIỆN KỸ THUẬT & CÔNG NGHỆ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Bài thực hành 3 - Lập trình thủ tục – hàm - trigger


(4 tiết)

Cho cơ sở dữ liệu Quản lý sách (Books) gồm các bảng sau:


a) Bảng KhoSach để lưu thông tin về kho chứa sách
- MaKho char(4) (mã kho - PK)
- TenKho nvarchar(50) (tên kho)
b) Bảng LoaiSach để lưu danh sách loại sách.
- Maloai int (mã loại sách - PK)
- Tenloai nvarchar(35) (tên loại sách, ví dụ: kỹ thuật, xã hội, y tế, thiếu nhi…)
c) Bảng Sach để lưu thông tin sách.
- MaSach int (mã sách - PK)
- TenSach nvarchar(50) (tên sách)
- Maloai int (mã loại sách)
- MaKho char(4) (mã kho)
- NhaXB nvarchar(50) (tên nhà xuất bản)
- Gia int (giá bán)

Thực hiện các yêu cầu sau:


1. Sử dụng Wizard trong SSMS để tạo cấu trúc các bảng (dùng giao diện của SSMS để
tạo cơ sở dữ liệu có tên Books và cấu trúc các bảng)
2. Nhập nội dung cho các bảng, yêu cầu có 2 kho sách; 3 loại sách và bảng Sach có ít
nhất 8 đầu sách
3. Lập trình CURSOR in tên sách, giá bán, tên loại sách ở những kho có tên chứa từ ‘KH’
4. Tạo một thủ tục cho xem tên sách, tên kho của những cuốn sách có giá bán cao nhất
5. Tạo một thủ tục đưa ra các thông tin: mã sách, tên sách, tên kho, tên nhà xuất bản,
giá bán của những quyển sách với tham số đầu vào là tên kho. Nếu tên kho là Null thì
đưa ra thông tin về các cuốn sách ở tất cả các kho. Nếu tên kho không có trong cơ sở
dữ liệu thì thông báo ‘Không có tên kho này!’ ra màn hình.
6. Tạo một hàm với đầu vào là tên nhà xuất bản và trả về số lượng các cuốn sách của
nhà xuất bản đó
7. Tạo một hàm với đầu vào là tên kho và trả về số cuốn sách có trong kho đó

1
8. Viết một hàm với đầu vào là tên loại sách, ra là tổng số sách của loại đó
9. Viết một hàm với đầu ra là tên loại sách và tổng số sách của loại đó
10. Lập trình trigger để nhập một cuốn sách mới vào cơ sở dữ liệu và thỏa các yêu cầu
sau:
- Bắt lỗi PK;
- Bắt lỗi FK;
- Giá bán sách là số nguyên nằm trong khoảng (0, 100)
11. Viết chương trình nhập dữ liệu cho bảng kho với yêu cầu:
- Mã kho tự động tăng (ví dụ: trong bảng có mã kho lớn nhất hiện tại là KH2 thì
mã mới là KH3).
- Tên kho tùy ý nhưng phải phù hợp với kiểu dữ liệu

You might also like