lOMoARcPSD| 47206071
Trang 1 / 3
Mã đề
_( A )_
ĐỀ THI GIỮA HỌC KỲ HỌC KỲ
02, NĂM HỌC 2024 - 2025
TÊN HỌC PHẦN THI : THIẾT KẾ VÀ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MSHP : IT209DV01
Thời lượng thi : 90 phút (không kể thời gian phát đề)
NỘI DUNG ĐỀ THI
Cho lược đồ cơ sở dữ liệu
Kho(makho, tenkho)
Hanghoa(mahang, tenhang)
Phieunhapkho(maphieunhapkho, ngaynhapkho, makho). Makho là khóa ngoại tham chiếu đến
kho(makho)
Phieunhapkho_chitiet(maphieunhapkho, mahang, soluong, dongia). Maphieunhapkho là khóa ngoại
tham chiếu đến phieunhapkho(maphieunhapkho), mahang là khóa ngoại tham chiếu đến
hanghoa(mahang)
Kho
makho
tenkho
K01
Kho hàng khu vực 1
K02
Kho hàng khu vực 2
K03
Kho hàng khu vực 3
Hanghoa
mahang
tenhang
Số
lượng
H001
máy in canon 2900
3000
H002
Máy lạnh Panasonic Inverter 1 HP CU/CS-PU9AKH-8
4000
H003
Máy lạnh Toshiba inverter 2.5Hp RAS-H24E2KCVG-V
5000
H004
Tủ lạnh Bosch KFN86AA76J
9000
Phieunhapkho
maphieunhapkho
ngaynhapkho
PN001
1/2/2025
PN002
3/2/2025
PN003
7/2/2025
PN004
9/2/2025
Phieunhapkho_chitiet
maphieunhapkho
PN001
PN001
PN001
PN001
lOMoARcPSD| 47206071
Trang 2 / 3
PN002
PN002
PN003
PN003
PN004
I. PHẦN TỰ LUẬN (10 điểm)
Câu 1: (0.5 điểm) Tạo database
Câu 2: (1.5 điểm) Tạo table
Câu 3: (1.5 điểm) Tạo ràng buộc khóa chính, khóa ngoại
Câu 4: (0.5 điểm) Tạo ràng buộc default: Cột ngaynhapkho trên table phieunhapkho có giá trị
mặc định là ngày hiện hành
Câu 5: (0.5 điểm) Tạo ràng buộc check: Makho trên table kho: ký tự đầu là K, 2 ký tự sau là ký
tự số
Câu 6:(0.5 điểm) Nhập dữ liệu
Câu 7: (5 điểm) Viết truy vấn
a. Tìm mã hàng, tên hàng của những mặt hàng có tên chứa chuỗi “máy lạnh” và số lượng
trên 4500
b. Tìm tên kho mà Bùi Thu Hà đã làm phiếu nhập kho
c. Tìm danh sách phiếu nhập kho và tên hàng hóa trên các phiếu nhập kho
d. Tính tổng tiền của mỗi phiếu nhập kho
e. Tìm tên các kho có nhập mặt hàng là “Tủ lạnh Bosch KFN86AA76J’
Câu 8:Viết các script:
a) Hủy phiếu nhập kho nhập vào kho hàng khu vực 1 trong tháng 6/2025
b) Ghép các phiếu nhập kho cùng 1 ngày, 1 người lập phiếu , 1 kho thành 1 phiếu nhập
kho nếu tổng tiền của phiếu ghép <=100 triệu.
c) ch 1 phiếu nhập kho thành nhiều phiếu nhập kho đối với các phiếu nhập kho có tổng
tiền trên 100 triệu sao cho mỗi phiếu tách có tổng tiền <=100 triệu, Câu 9:Tạo các proc
a) Proc1: tham số vào là maphieunhapkho. Tính và xuất ra tham số ra: Tổng tiến, Tổng
loại hàng hóa
b) Proc2: tham số vào là makho, mahang. Tính và xuất ra tham số ra: tổng số lượng hàng
hóa với mã hàng đã nhập vào kho này
c) Proc3: tham số vào là ngay, makho. Tạo phieunhapkho mới với dữ liệu của tham số
vào, nguoilapphieu là người đã từng lập phiếu nhập kho gần nhất trước đó của kho này
gần nhất). Nếu kho này chưa từng có phiếu nhập kho nào thì nguoilapphieu = NULL.
Chọn tất cả các hàng hóa, mỗi hàng hóa số lượng 10, đơn giá = NULL cho vào phiếu
nhập kho này
d) Proc4: tham số vào là makho. Tính và xuất ra tổng tiền đã nhập hàng của kho này
e) Proc5: tham số vào là makho. Tính và xuất ra số loại hàng hóa đã nhập vào kho này
f) Proc6: tham số vào là thang. Xuất ra danh sách hàng hóa đạt học bổng với tiêu chí:
hàng này nhập vào tất cả các kho trong tháng, mỗi kho nhập hàng này với số lượng tối
thiếu là 100.
Câu 10: Trigger
g) Tổng tiền của 1 phiếu nhập kho không quá 100 triệu.
h) Kho hàng khu vực 1 không nhập tủ lạnh
i) Không nhập quá 100 y in canon 2900 trong mỗi phiếu nhập kho
lOMoARcPSD| 47206071
Trang 3 / 3
j) Khi nhập 1 hàng hóa trên 1 phiếu nhập kho thì số lượng hàng hóa nhập kho sẽ cộng vào
số lượng hàng hóa trên table hàng hóa
k) Khi xóa 1 hàng hóa trên 1 phiếu nhập kho thì số lượng hàng hóa nhập kho sẽ bị trừ vào
số lượng hàng hóa trên table hàng hóa
l) Khi chỉnh sửa số lượng hàng hóa trên 1 phiếu nhập kho thì số lượng hàng hóa sẽ cập
nhật trên số lượng hàng hóa trên table hàng hóa
m)
Câu 11: Security
n) Tạo role ThuKho, gán quyền xem tất cả các table, cập nhật table kho, hanghoa
o) Tạo role NguoiGiaoHang gán quyền xem tất cả các table phieunhapkho,
phieunhapkho_chitiet
p) Tạo role Nguoilapphieu gán quyền xem tất cả các table, gán quyền insert, update,
delete trên tất cả các table
q) Tạo user ThuHang, gán user này là member của role ThuKho. Kiểm tra truy cập của
user này.
r) Tạo user NguyenAnh, gán user này là member của role nguoilapphieu. Kiểm tra truy
cập của user này.
s) Tạo user HoangLan, gán user này là member của role nguoigaihang. Kiểm tra truy cập
của user này
--HẾT--

Preview text:

lOMoAR cPSD| 47206071 Mã đề _( A )_
ĐỀ THI GIỮA HỌC KỲ HỌC KỲ
02, NĂM HỌC 2024 - 2025
TÊN HỌC PHẦN THI : THIẾT KẾ VÀ QUẢN TRỊ CƠ SỞ DỮ LIỆU MSHP : IT209DV01 Thời lượng thi
: 90 phút (không kể thời gian phát đề) NỘI DUNG ĐỀ THI
Cho lược đồ cơ sở dữ liệu Kho(makho, tenkho) Hanghoa(mahang, tenhang)
Phieunhapkho(maphieunhapkho, ngaynhapkho, makho). Makho là khóa ngoại tham chiếu đến kho(makho)
Phieunhapkho_chitiet(maphieunhapkho, mahang, soluong, dongia). Maphieunhapkho là khóa ngoại
tham chiếu đến phieunhapkho(maphieunhapkho), mahang là khóa ngoại tham chiếu đến hanghoa(mahang) Kho makho tenkho K01 Kho hàng khu vực 1 K02 Kho hàng khu vực 2 K03 Kho hàng khu vực 3 Hanghoa mahang tenhang Số lượng H001 máy in canon 2900 3000 H002
Máy lạnh Panasonic Inverter 1 HP CU/CS-PU9AKH-8 4000 H003
Máy lạnh Toshiba inverter 2.5Hp RAS-H24E2KCVG-V 5000 H004 Tủ lạnh Bosch KFN86AA76J 9000 Phieunhapkho maphieunhapkho ngaynhapkho makho Nguoilapphieu PN001 1/2/2025 K01 Trần Thị Kim Duyên PN002 3/2/2025 K01 Trần Thị Kim Duyên PN003 7/2/2025 K02 Lương Thị Thanh Bình PN004 9/2/2025 K03 Bùi Thu Hà Phieunhapkho_chitiet maphieunhapkho mahang soluong dongia PN001 H001 100 15000000 PN001 H002 300 20000000 PN001 H003 400 18000000 PN001 H004 200 23000000 Trang 1 / 3 lOMoAR cPSD| 47206071 PN002 H001 900 15000000 PN002 H002 200 20000000 PN003 H003 900 18000000 PN003 H004 500 23000000 PN004 H002 900 20000000
I. PHẦN TỰ LUẬN (10 điểm)
Câu 1: (0.5 điểm) Tạo database
Câu 2: (1.5 điểm) Tạo table
Câu 3: (1.5 điểm) Tạo ràng buộc khóa chính, khóa ngoại
Câu 4: (0.5 điểm) Tạo ràng buộc default: Cột ngaynhapkho trên table phieunhapkho có giá trị
mặc định là ngày hiện hành
Câu 5: (0.5 điểm) Tạo ràng buộc check: Makho trên table kho: ký tự đầu là K, 2 ký tự sau là ký tự số
Câu 6:(0.5 điểm) Nhập dữ liệu
Câu 7: (5 điểm) Viết truy vấn
a. Tìm mã hàng, tên hàng của những mặt hàng có tên chứa chuỗi “máy lạnh” và số lượng trên 4500
b. Tìm tên kho mà Bùi Thu Hà đã làm phiếu nhập kho
c. Tìm danh sách phiếu nhập kho và tên hàng hóa trên các phiếu nhập kho
d. Tính tổng tiền của mỗi phiếu nhập kho
e. Tìm tên các kho có nhập mặt hàng là “Tủ lạnh Bosch KFN86AA76J’ Câu 8:Viết các script:
a) Hủy phiếu nhập kho nhập vào kho hàng khu vực 1 trong tháng 6/2025
b) Ghép các phiếu nhập kho cùng 1 ngày, 1 người lập phiếu , 1 kho thành 1 phiếu nhập
kho nếu tổng tiền của phiếu ghép <=100 triệu.
c) Tách 1 phiếu nhập kho thành nhiều phiếu nhập kho đối với các phiếu nhập kho có tổng
tiền trên 100 triệu sao cho mỗi phiếu tách có tổng tiền <=100 triệu, Câu 9:Tạo các proc
a) Proc1: tham số vào là maphieunhapkho. Tính và xuất ra tham số ra: Tổng tiến, Tổng loại hàng hóa
b) Proc2: tham số vào là makho, mahang. Tính và xuất ra tham số ra: tổng số lượng hàng
hóa với mã hàng đã nhập vào kho này
c) Proc3: tham số vào là ngay, makho. Tạo phieunhapkho mới với dữ liệu của tham số
vào, nguoilapphieu là người đã từng lập phiếu nhập kho gần nhất trước đó của kho này
gần nhất). Nếu kho này chưa từng có phiếu nhập kho nào thì nguoilapphieu = NULL.
Chọn tất cả các hàng hóa, mỗi hàng hóa số lượng 10, đơn giá = NULL cho vào phiếu nhập kho này
d) Proc4: tham số vào là makho. Tính và xuất ra tổng tiền đã nhập hàng của kho này
e) Proc5: tham số vào là makho. Tính và xuất ra số loại hàng hóa đã nhập vào kho này
f) Proc6: tham số vào là thang. Xuất ra danh sách hàng hóa đạt học bổng với tiêu chí:
hàng này nhập vào tất cả các kho trong tháng, mỗi kho nhập hàng này với số lượng tối thiếu là 100. Câu 10: Trigger
g) Tổng tiền của 1 phiếu nhập kho không quá 100 triệu.
h) Kho hàng khu vực 1 không nhập tủ lạnh
i) Không nhập quá 100 máy in canon 2900 trong mỗi phiếu nhập kho Trang 2 / 3 lOMoAR cPSD| 47206071
j) Khi nhập 1 hàng hóa trên 1 phiếu nhập kho thì số lượng hàng hóa nhập kho sẽ cộng vào
số lượng hàng hóa trên table hàng hóa
k) Khi xóa 1 hàng hóa trên 1 phiếu nhập kho thì số lượng hàng hóa nhập kho sẽ bị trừ vào
số lượng hàng hóa trên table hàng hóa
l) Khi chỉnh sửa số lượng hàng hóa trên 1 phiếu nhập kho thì số lượng hàng hóa sẽ cập
nhật trên số lượng hàng hóa trên table hàng hóa m) Câu 11: Security
n) Tạo role ThuKho, gán quyền xem tất cả các table, cập nhật table kho, hanghoa
o) Tạo role NguoiGiaoHang gán quyền xem tất cả các table phieunhapkho, phieunhapkho_chitiet
p) Tạo role Nguoilapphieu gán quyền xem tất cả các table, gán quyền insert, update,
delete trên tất cả các table
q) Tạo user ThuHang, gán user này là member của role ThuKho. Kiểm tra truy cập của user này.
r) Tạo user NguyenAnh, gán user này là member của role nguoilapphieu. Kiểm tra truy cập của user này.
s) Tạo user HoangLan, gán user này là member của role nguoigaihang. Kiểm tra truy cập của user này --HẾT-- Trang 3 / 3