BÀITẬPGIỮAKỲ
Môn:CSDLNângcao
Lưuý
§
Sinhviênkhinộpbàicầnlưufilesqlcócấutrúcnhưsau:
<HoVaTenSinhVien>_<MaSinhVien>.sql
o Vídụ:SinhviêncótênlàNguyenVănA,mãsốsinhviênlà16258,thìfilecủasinh
viênkhinộplênchogiảngviêncótênnhưsau:NguyenVanA_16258.sql
Yêucầu
1.1. HãytạoCSDLcótênlàTVDHXD_<MaSinhVien>vàsửdụngCSDLđó
1.2. ViếtlệnhDDLđểtạocácbảngsauchocơsởdữliệutrên.
Lớp (Lop)
Tên cột
MaLop
TenLop
Kiểu
Int
NVarChar
Độ rộng
100
Ràng buộc
Khóa chính, tự tăng(identity)
NOT NULL, Không được trùng
Ý nghĩa
Mã lớp
Tên lớp
Ràng buộc
Khóa chính, tự tăng(identity)
Ý nghĩa
Mã sinh viên
NOT NULL
NOT NULL
NULL, Mặc định 0
Tên sinh viên
Mã lớp
Giới tính
Sinh viên (SinhVien)
•
Tên cột
MaSV
Kiểu
Int
TenSV
MaLop
GioiTinh
NVarChar
Int
Bit
Độ rộng
100
Giá trị trong cột MaLop phải tồn tại trong cột MaLop của bảng Lop.
Sách (Sach)
Tên cột
MaSach
TenSach
SoTrang
Loại
SoLuong
Kiểu
Int
NVarChar
Int
NVarChar
Int
Độ rộng
100
30
Ràng buộc
Khóa chính, tự tăng(identity)
NOT NULL, không được trùng
NOT NULL, >0
NULL
NOT NULL, >=0, mặc định = 0
Ý nghĩa
Mã sách
Tên sách
Số trang
Loại
Số lượng
Mượn (Muon)
Tên cột
MaMuon
MaSach
MaSV
NgayMuon
NgayTra
Kiểu
Int
Int
Int
Date (SQL
Server 2005:
datetime)
Date (SQL
Server 2005 :
datetime)
Độ rộng
Ràng buộc
Khóa chính, tự tăng(identity)
NOT NULL
NOT NULL
NOT NULL, giá trị mặc định là
ngày giờ hiện tại
NULL, NgayTra phải sau
NgayMuon
1
Ý nghĩa
Mã mượn
Mã sách
Mã sinh viên
Ngày mượn
Ngày trả, nếu sách
chưa trả thì trường
này = NULL
•
Giá trị trong cột MaSach phải tồn tại trong cột MaSach của bảng Sach.
•
Giá trị trong cột MaSV phải tồn tại trong cột MaSV của bảng SinhVien.
1.3. Sinhviênchèndữliệunhưsau
Lớp (Lop)
MaLop
1
2
3
TenLop
59PM1
59PM2
59PM3
TenSV
Tuấn
Quang
Trang
Lâm
Lan
MaLop
1
3
2
1
2
Sinh viên (SinhVien)
MaSV
1
2
3
4
5
GioiTinh
1
NULL
0
1
0
Sách (Sach)
MaSach
1
2
3
4
5
TenSach
Cơ sở dữ liệu
Lập trình hướng đối tượng
SQL Server 2012
Lập trình PHP
Nhận dạng và xử lý tiếng nói
SoTrang
100
80
250
80
300
Loai
NULL
NULL
NULL
NULL
NULL
SoLuong
5
3
6
4
7
Mượn (Muon)
MaMuon MaSach
1
2
3
4
5
6
7
5
2
3
1
1
4
4
MaSV
1
2
2
2
2
3
4
NgayMuon
03/23/2015
04/02/2015
09/10/2015
10/22/2015
12/22/2015
12/29/2015
12/30/2015
NgayTra
05/24/2015
06/22/2015
NULL
NULL
01/03/2016
NULL
NULL
1.4. Sinhviênthựchiệncáctruyvấnsau
1) CậpnhậttrườngLoạicủabảngSACHbằngmộtcâulệnhduynhấttheoquytắc:
o Loại=‘Mỏng’nếusốtrang<90
2
o Loại=‘Dày’nếusốtrang>=90
2) Liệtkêdanhsáchcácsinhviênmượnnhiềuhơnmộtcuốnsáchgồmcácthôngtin:Mã
SinhViên,TênSinhViên
3) Liệtkênhữngcuốnsáchđãđượcmượnquá100ngàymàchưatrả(sosánhvớingàygiờ
hiệntại–sinhviênlưuýngàygiờmáytínhcủasinhviêncóthểkhôngđúng)gồmcác
thôngtin:MãSách,TênSách,TênSinhViênMượn,NgàyMượn.
4) Chobiếtnhữngsáchđượcmượntừngày01/01/2015đến31/10/2015gồm:MãSách,
TênSách
5) Liệtkêdanhsáchcácsinhviêncủalớp59PM1gồm:MãSinhViên,TênSinhViên,Giới
Tính.TrongđóGiớiTínhlàNam/Nữ/KhôngbiếttuỳtheotrườngGioiTinhlà1/0/NULL.(Để
kiểmtraNULLdùngisNULL).
6) Thốngkêsốsinhviêncủatừnglớpgồmcácthôngtin:MãLớp,TênLớp,SốSinhViên
7) Chobiếtlớpcónhiềusinhviênnhấtgồm:MãLớp,TênLớp,SốSinhViên
8) Thốngkêsốlượngsáchđãtừngđượcmượncủasinhviênthuộclớp58PM2gồmcác
thôngtin:MãLớp,TênLớp,SốSácĐãMượn
9) Chobiếttổngsốlượtmượncủacácsáchcóloạilà“Mỏng”.
10) Chobiếtsáchthuộcloại“Dày”đượcmuợnnhiềunhấtgồmcácthôngtin:Mãsách,Tên
Sách,SốTrang
11) Chobiếtcáccuốnsáchcốsốlượtmượnlớnhơntrungbìnhsốlượtmượncủatấtcảcác
cuốnsách.Thôngtinđưaragồmcó:MãSách,TênSách,SốLượtMượn.
12) Chobiếtdanhsáchsinhviênđãtừngmượnmộtcuốnsáchnàođógồm:MãSinhViên,
TênSinhViên,.Trongđógiátrịmãsáchcầnxemdanhsáchsinhviênlàthamsốđượcđưa
vàokhithựcthi.
3