Professional Documents
Culture Documents
Vũ Chí Huy đề thi thử
Vũ Chí Huy đề thi thử
Vũ Chí Huy đề thi thử
Bài làm :
Dòng Code SQL :
-- Tạo CSDL :
CREATE DATABASE BAIKIEMTRA_NTT
USE BAIKIEMTRA_NTT
Sơ đồ quan hệ :
Phần a : Trả lời các câu hỏi sau bằng một biểu thức đại số quan hệ
Câu 1 : Cho biết danh sách tên sách và tên tác giả của cuốn sách đó.
πTENSACH,TACGIA(SACH)
Câu 2 : Cho biết danh sách mã sách, tên sách và số lượng bản sách của các cuốn
sách do nhà xuất bản KHKT xuất bản (NXB = ‘KHKT’).
πMS,TENSACH,SL(σNXB=′KHKT′(SACH))
Câu 3 : Cho biết mã số bản sách và tên các cuốn sách đang có độc giả mượn.
πMSB,TENSACH((σTRANGTHAI=0(BANSACH))⋈SACH)
Câu 4 : Cho biết tên các độc giả đang mượn cuốn sách “Ky thuat lap trinh”
πHOTEN((σTENSACH=′Kythuatlaptrinh′(SACH)⋈BANSACH⋈MUONTRA)⋈DOCGIA)
Câu 5 : Cho biết tên các độc giả dưới 18 tuổi
πHOTEN(σYEAR(NOW())−NS<18(DOCGIA))
Phần b : Trả lời các câu hỏi sau bằng một câu SQL
Câu 1 : Cho biết danh sách tên sách và tên tác giả của cuốn sách đó.
Câu 2 : Cho biết danh sách mã sách, tên sách và số lượng bản sách của các cuốn
sách do nhà xuất bản KHKT xuất bản (NXB = ‘KHKT’).
Câu 3 : Với mỗi mã sách, cho biết mã sách và mã số bản sách, tên các cuốn sách
đang có độc giả mượn.
Câu 4 : Cho biết tên các độc giả đang mượn cuốn sách “Ky thuat lap trinh”
Câu 5 : Với mỗi mã sách cho biết số lượng bản sách còn trong thư viện.
Phần c : Tối ưu hoá câu hỏi sau bằng một biểu thức đại số quan hệ:
- Lọc độc giả dưới 18 tuổi:
σYEAR(NOW())−NS<18(DOCGIA)
σSL=1∧MSB=′A1′(SACH⋈BANSACH)
- Kết hợp các bảng để tìm độc giả dưới 18 tuổi đang mượn sách có số lượng là
1 và mã số bản sách là A1:
(σYEAR(NOW())−NS<18(DOCGIA)⋈MUONTRA)⋈(σSL=1∧MSB=′A1′
(SACH⋈σTRANGTHAI=0(BANSACH)))
πHOTEN,DC,TENSACH,NXB