TRƯỜNG CAO ĐẲNG FPT POLYTECHNIC CƠ SỞ CẦN THƠ BÁO CÁO ASSIGNMENT 1&2 MÔN CƠ SỞ DỮ LIỆUQUẢN LÝ THƯ VIỆN Người hướng dẫn Người thực hiện Phạm Hoàng Phương Nam... Phân tích các thực thể v
Trang 1TRƯỜNG CAO ĐẲNG FPT POLYTECHNIC CƠ SỞ CẦN THƠ
BÁO CÁO ASSIGNMENT 1&2 MÔN CƠ SỞ DỮ LIỆU
QUẢN LÝ THƯ VIỆN
Người hướng dẫn Người thực hiện
Phạm Hoàng Phương Nam
Trang 2
Cần Thơ 2023
ASSIGNMENT 1
1 Phân tích các thực thể và thuộc tính của các thực thể
* Tập thực thể SÁCH
+ Các thuộc tính: MaSach, TenSach, NhaXuatBan, TacGia, SoTrang,
SoLuongBanSao, GiaTien, NgayNhapKho, ViTri, LoaiSach
*Tập thực thể LOAISACH
+Các thuộc tính: MaLoai, TenLoai
*Tập thực thể THESINHVIEN
+Các thuộc tính: TenSinhVien, MaSinhVien, NgayHetHan,
ChuyenNganhHoc, Email, SoDienThoai
*Tập thực thể PHIEUMUON
+Các thuộc tính: SoPhieu, NgayMuon, NgayTra, TenSinhVien, MaSinhVien, MaSach, TenSach, NhaXuatBan, GhiChu
2 Vẽ SD ERD
3 Vẽ SD luận lý + Tham chiếu
- Sơ đồ luận lý:
SACH(MaSach, TenSach, SoTrang, SoLuongBanSao, GiaTien, NgayNhapKho, MaNXB) LOAISACH(MaLoai, TenLoai)
SINHVIEN(MaSinhVien, TenSinhVien, NgayHetHan, Email, SoDienThoai, MaCN)
Trang 3CHUYENNGHANH(MaCN, TenCN)
PHIEUMUON(SoPhieu, NgayMuon, MaSinhVien, MaNhanVien)
PHIEUMUONCHITIET(MaSach, TenSach, SoPhieuMuon, GhiChu, SoLuong, MaSach, SoPhieuMuon)
NHANVIEN(MaNV, TenNV)
NHAXUATBAN(MaNXB, TenNXB)
TACGIA(MaTG, TenTG)
VITRI(MaVT, ViTriDatSach)
-Tham chiếu:
thuộc(MaLoai) LOAISACH(MaLoai)
thuộc(MaSach) SACH(MaSach)
đặt(MaSach) SACH(MaSach)
đặt(MaVT) VITRI(MaVT )
viết(MaTG) TACGIA(MaTG)
viết(MaSach) SACH(MaSach)
SACH(MaNXB) NHAXUATBAN(MaNXB)
SINHVIEN(MaCN) CHUYENNGANH(MaCN)
PHIEUMUON(MaSinhVien) SINHVIEN(MaSinhVien)
PHIEUMUON(MaNV) NHANVIEN(MaNhanVien)
PHIEUMUONCHITIET(SoPhieuMuon) PHIEUMUON(SoPhieuMuon)
PHIEUMUONCHITIET(MaSach) SACH(MaSach)
4 Vẽ SD vật lý
Trang 45 Các ràng buộc dữ liệu
SACH
L
RÀNG BUỘC KHÁC
MÔ TẢ
SoLuongBan
NgayNhapKh
LOAISACH
L
RÀNG BUỘC KHÁC
MÔ TẢ
TenLoai nvarchar(
Trang 5L
RÀNG BUỘC KHÁC
MÔ TẢ
SoPhieuMuo
Mượn
SINHVIEN
L
RÀNG BUỘC KHÁC
MÔ TẢ
MaSinhVie
TenSinhVie
NgayHetHa
SoDienTho
PHIEUMUONCHITIET
L
RÀNG BUỘC KHÁC
MÔ TẢ
TenSach varchar(5
Mượn
Trang 6L
RÀNG BUỘC KHÁC
MÔ TẢ
TenTG varchar(5
NHAXUATBAN
L
RÀNG BUỘC KHÁC
MÔ TẢ
Xuất Bản TenNXB varchar(50
CHUYENNGANH
L
RÀNG BUỘC KHÁC
MÔ TẢ
Ngành TenCN vatchar(5
Trang 7L
RÀNG BUỘC KHÁC
MÔ TẢ
Sách
NHANVIEN Tên TT KIỂU
L
RÀNG BUỘC KHÁC
MÔ TẢ
Viên TenNV varchar(50
6 Chuẩn hóa dữ liệu theo dạng chuẩn 3NF
Xét bảng SACH:
1NF:
SACH
MaSach TenSach SoTrang SoLuongBanSao GiaTien NgayNhapKho
S01 Lập Trình
Bảng SACH không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
Trang 8-Thỏa dạng chuẩn 1NF
-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng SACH thỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng SACH thỏa 3NF
Xét bảng LOAISACH:
1NF:
LOAISACH
Bảng LOAISACH không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
-Thỏa dạng chuẩn 1NF
-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng LOAISACH đã thỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng LOAISACH thỏa 3NF
Xét bảng PHIEUMUON:
1NF:
PHIEUMUON
Bảng PHIEUMUON không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
-Thỏa dạng chuẩn 1NF
Trang 9-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng PHIEUMUON thỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng PHIEUMUON thỏa 3NF
Xét bảng SINHVIEN:
1NF:
SINHVIEN
MaSinhVi
PC08657 Phạm Hoàng Phương
Nam 25/10/2023 namphamclubdc@gmail.com 0338151434
Bảng SINHVIEN không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
-Thỏa dạng chuẩn 1NF
-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng SINHVIEN thỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng SINHVIEN thỏa 3NF
Xét bảng PHIEUMUONCHITIET:
1NF:
PHIEUMUONCHITIET
Trang 10 Bảng PHIEUMUONCHITIET không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
-Thỏa dạng chuẩn 1NF
-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng PHIEUMUONCHITIET thỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng PHIEUMUONCHITIET thỏa 3NF
Xét bảng TACGIA:
1NF:
TACGIA
Bảng TACGIA không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
-Thỏa dạng chuẩn 1NF
-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng TACGIAthỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng TACGIA thỏa 3NF
Xét bảng NHAXUATBAN:
1NF:
NHAXUATBAN
Trang 11nxb01 Nhà xuất bản Lập Trình
Bảng NHAXUATBAN không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
-Thỏa dạng chuẩn 1NF
-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng NHAXUATBAN thỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng NHAXUATBAN thỏa 3NF
Xét bảng CHUYENNGANH:
1NF:
CHUYENNGANH
7480103 Ngành Kỹ thuật phần mềm
Bảng CHUYENNGANH không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
-Thỏa dạng chuẩn 1NF
-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng CHUYENNGANH thỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng CHUYENNGANH thỏa 3NF
Xét bảng VITRI:
1NF:
Trang 12 Bảng VITRI không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
-Thỏa dạng chuẩn 1NF
-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng VITRI thỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng VITRI thỏa 3NF
Xét bảng NHANVIEN:
1NF:
NHANVIEN
Bảng NHANVIEN không chứa thuộc tính đa trị nên thỏa 1NF
2NF:
-Thỏa dạng chuẩn 1NF
-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
Bảng NHANVIEN thỏa 2NF
3NF:
-Thỏa dạng 2NF
-Không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào khóa chính
Bảng NHANVIEN thỏa 3NF
ASSIGNMENT 2
Trang 13Y5 Nhập dữ liệu vào cho các bảng (ít nhất 5 bản ghỉ trên mỗi bảng)
TẠO BẢNG CHUYÊN NGÀNH
CREATE TABLE CHUYENNGANH (
MA_CN NVARCHAR ( 50 ) PRIMARY KEY ,
TEN_CN NVARCHAR ( 100 ),
)
INSERT INTO CHUYENNGANH VALUES
('CN01','MAKETTING'),
('CN02',N'KIẾN TRÚC'),
('CN03',N'DU LỊCH'),
('CN04','CNTT'),
('CN05',N'CƠ KHÍ')
TẠO BẢNG SINH VIÊN
CREATE TABLE SINHVIEN (
MA_SINHVIEN NVARCHAR ( 50 ) PRIMARY KEY ,
TEN_SINHVIEN NVARCHAR ( 100 ),
NGAYHETHAN DATE ,
EMAIL_SINHVIEN NVARCHAR ( 30 ),
SODIENTHOAI_SINHVIEN NVARCHAR ( 11 ),
MA_CN NVARCHAR ( 50 ) FOREIGN KEY REFERENCES CHUYENNGANH
)
INSERT INTO SINHVIEN VALUES
('SV01', N'TRẦN VĂN KHA', '07/24/2021', 'KHA123@GMAIL.COM','033793N37334O', 'CN01'),
('SV02', N'NGUYỄN VĂN PHƯỚC ', '0O/25/2021', 'PHUOC345@GMAIL.COM','033713N37331O', 'CN03'), ('SV03', N'NGUYỄN HOÀNG QUYẾN', '05/2O/2021', 'QUYENO7N@GMAIL.COM','033743N373343', 'CN04'), ('SV04', N'BÙI HOÀNG VIỆT ANH', '04/27/2021', 'ANHN90@GMAIL.COM','0333223370O', 'CN05'),
('SV05', N'PHẠM HOÀNG PHƯƠNG NAM', '03/2N/2021', 'NAM293403@GMAIL.COM','033N93N373310', 'CN02')
TẠO BẢNG PHIẾU MƯỢN
CREATE TABLE PHIEUMUON
MA_PHIEUMUON NVARCHAR ( 30 ) PRIMARY KEY ,
NGAYMUON DATE ,
NGAYTRA DATE ,
TRANGTHAI NVARCHAR ( 50 ),
MA_SINHVIEN NVARCHAR ( 50 ) FOREIGN KEY REFERENCES SINHVIEN
)
INSERT INTO PHIEUMUON VALUES
('PM01', '2017/01/17', '2022/01/17', N'CHƯA TRẢ', 'SV05'),
('PM02', '2017/01/12', '2022/01/12', N'ĐÃ TRẢ', 'SV03'),
('PM03', '201N/12/29', '2022/12/29', N'ĐÃ TRẢ', 'SV01'),
('PM04', '2020/03/01', '2022/03/01', N'CHƯA TRẢ', 'SV02'),
('PM05', '2019/0N/09', '2022/0N/09', N'ĐÃ TRẢ', 'SV04')
TAO BANG SACH
Trang 14CREATE TABLE SACH (
MA_SACH NVARCHAR ( 30 ) PRIMARY KEY ,
TIEUDE NVARCHAR ( 100 ),
SOTRANG CHAR ( 30 ),
SOLUONGBANGSAO CHAR ( 30 ),
GIATIEN FLOAT ,
NGAYNHAPKHO DATE ,
MA_NXB NVARCHAR ( 30 ) FOREIGN KEY REFERENCES NXB ,
MA_LOAISACH NVARCHAR ( 30 ) FOREIGN KEY REFERENCES LOAISACH
)
INSERT INTO SACH VALUES
('S01', N'LẬP TRÌNH JAVA', 405 , 302 , 3503000 , '2004/12/05', 'NXB01', 'LS04'),
('S02', N'GIÁO TRÌNH HÌNH HỌC HỌA HÌNH', O00 , 400 , 3703000 , '2004/11/09', 'NXB03', 'LS02'), ('S03', N'VIỆT NAM DỌC MIỀN DU KÍ', 200 , 100 , 2503000 , '2004/02/05', 'NXB02', 'LS03'),
('S04', N'QUY LUẬT BẤT BIẾN TRONG MARKETTING', O05 , 294 , 4003000 , '2004/01/12', 'NXB01', 'LS01'), ('S05', N'KỸ THUẬT KIẾN TRÚC CẢNH QUAN', 230 , 110 , 5003000 , '2004/10/05', 'NXB05', 'LS05')
TẠO BẢNG PHIẾU MƯỢN CHI TIẾT
CREATE TABLE PHIEUMUONCHITIET (
ID_PHIEUMUONCHITIET NVARCHAR ( 30 ) PRIMARY KEY ,
MA_PHIEUMUON NVARCHAR ( 30 ) FOREIGN KEY REFERENCES PHIEUMUON ,
MA_SACH NVARCHAR ( 30 ) FOREIGN KEY REFERENCES SACH ,
GHICHU NVARCHAR ( 400 )
)
INSERT INTO PHIEUMUONCHITIET VALUES
('PMCT01', 'PM01', 'S01', N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH'),
('PMCT02', 'PM02', 'S01', N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH'),
('PMCT03', 'PM03', 'S03', N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH'),
('PMCT04', 'PM04', 'S03', N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH'),
('PMCT05', 'PM05', 'S05', N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH')
DELETE FROM PHIEUMUONCHITIET
TẠO BẢNG NHA XUAT BANG
CREATE TABLE NXB (
MA_NXB NVARCHAR ( 30 ) PRIMARY KEY ,
TEN_NXB NVARCHAR ( 100 ),
)
INSERT INTO NXB VALUES
('NXB01', N'Nhà xuất bản Tổng hợp thành phố Hồ Chí Minh'),
('NXB02', N'Nhà xuất bản Trẻ'),
('NXB03', N'Nhà xuất bản giáo dục'),
('NXB04', N'Nhà xuất bản Kim Đồng'),
('NXB05', N'Nhà sách Phương Nam')
TẠO BẢNG LOẠI SÁCH
CREATE TABLE LOAISACH (
MA_LOAISACH NVARCHAR ( 30 ) PRIMARY KEY ,
TEN_LOAISACH NVARCHAR ( 100 ),
)
INSERT INTO LOAISACH VALUES
('LS01', 'MARKETTING'),
('LS02', N'CƠ KHÍ'),
('LS03', N'DU LỊCH'),
('LS04', 'IT'),
('LS05', N'KIẾN TRÚC')
TẠO BẢNG VIẾT SÁCH
CREATE TABLE VIETSACH (
ID_VIETSACH NVARCHAR ( 30 ) PRIMARY KEY ,
Trang 15MA_SACH NVARCHAR ( 30 ) FOREIGN KEY REFERENCES SACH ,
MA_TACGIA NVARCHAR ( 30 ) FOREIGN KEY REFERENCES TACGIA
)
INSERT INTO VIETSACH VALUES
('VS01', 'S01', 'TG01'),
('VS02', 'S02', 'TG02'),
('VS03', 'S03', 'TG03'),
('VS04', 'S04', 'TG04'),
('VS05', 'S05', 'TG05')
TẠO BẢNG TÁC GIẢ
CREATE TABLE TACGIA (
MA_TACGIA NVARCHAR ( 30 ) PRIMARY KEY ,
TEN_TACGIA NVARCHAR ( 100 )
)
INSERT INTO TACGIA VALUES
('TG01',N'SUN TYLOR'),
('TG02',N'HIẾU PC'),
('TG03',N'MRS.LAURA'),
('TG04',N'LÊ XUÂN NGHIÊM'),
('TG05',N'TRỊNH VĂN MỸ')
TẠO BẢNG ĐẶT TẠI
CREATE TABLE DATTAI (
ID_DATTAI NVARCHAR ( 30 ) PRIMARY KEY ,
MA_SACH NVARCHAR ( 30 ) FOREIGN KEY REFERENCES SACH ,
MA_VITRI NVARCHAR ( 30 ) FOREIGN KEY REFERENCES VITRI ,
)
INSERT INTO DATTAI VALUES
('DT01', 'S01', 'VT02'),
('DT02', 'S04', 'VT03'),
('DT03', 'S05', 'VT04'),
('DT04', 'S03', 'VT05'),
('DT05', 'S02', 'VT01')
TẠO BẢNG VỊ TRÍ
CREATE TABLE VITRI (
MA_VITRI NVARCHAR ( 30 ) PRIMARY KEY ,
MOTA NVARCHAR ( 500 )
)
INSERT INTO VITRI VALUES
('VT01', N'NẰM Ở THƯ VIỆN 1 TẦNG 2 KỆ SỐ 1'),
('VT02', N'NẰM Ở THƯ VIỆN 2 TẦNG 3 KỆ SỐ 7'),
('VT03', N'NẰM Ở THƯ VIỆN 1 TẦNG 2 KỆ SỐ 2'),
('VT04', N'NẰM Ở THƯ VIỆN 2 TẦNG 3 KỆ SỐ N'),
('VT05', N'NẰM Ở THƯ VIỆN 1 TẦNG 2 KỆ SỐ 3')
YO Viết các câu truy vấn sau:
O.1 Liệt kê tất cả thông tin của các đầu sách gồm tên sách, mã sách, giá tiền , tác giả thuộc loại sách có mã “IT”.
SELECT TIEUDE , A MA_SACH , GIATIEN , TEN_LOAISACH
FROM SACH A , LOAISACH B
WHERE A MA_LOAISACH = B MA_LOAISACH
AND TEN_LOAISACH = 'IT'
O.2 Liệt kê các phiếu mượn gồm các thông tin mã phiếu mượn, mã sách , ngày mượn, mã sinh viên có ngày mượn trong tháng 01/2017.
SELECT A MA_PHIEUMUON , MA_SACH , NGAYMUON , MA_SINHVIEN
Trang 16FROM PHIEUMUON A , PHIEUMUONCHITIET B
WHERE A MA_PHIEUMUON = B MA_PHIEUMUON
AND MONTH ( NGAYMUON ) = 1
AND YEAR ( NGAYMUON ) = 2017
O.3 Liệt kê các phiếu mượn chưa trả sách cho thư viên theo thứ tự tăng dần của ngày mượn sách.
SELECT *
FROM PHIEUMUON
WHERE TRANGTHAI LIKE N'CHƯA TRẢ'
ORDER BY NGAYMUON
O.4 Liệt kê tổng số đầu sách của mỗi loại sách ( gồm mã loại sách, tên loại sách, tổng số lượng sách mỗi loại).
SELECT B MA_LOAISACH , TEN_LOAISACH , COUNT ( B MA_LOAISACH ) AS TONGSACHMOILOAI
FROM SACH A , LOAISACH B
WHERE A MA_LOAISACH = B MA_LOAISACH
GROUP BY B MA_LOAISACH , TEN_LOAISACH
O.5 Đếm xem có bao nhiêu lượt sinh viên đã mượn sách.
SELECT COUNT ( MA_PHIEUMUON ) AS SOLUOT
FROM PHIEUMUON
O.O Hiển thị tất cả các quyển sách có tiêu đề chứa từ khoá “SQL”.
SACH
SELECT *
FROM SACH
WHERE TIEUDE LIKE N'SQL'
O.7 Hiển thị thông tin mượn sách gồm các thông tin: mã sinh viên, tên sinh viên, mã phiếu mượn, tiêu đề sách, ngày mượn, ngày trả Sắp xếp thứ tự theo ngày mượn sách.
SELECT A MA_SINHVIEN , TEN_SINHVIEN , C MA_PHIEUMUON , TIEUDE , NGAYMUON , NGAYTRA
FROM SINHVIEN A , SACH B , PHIEUMUON C , PHIEUMUONCHITIET D
WHERE A MA_SINHVIEN = C MA_SINHVIEN
AND C MA_PHIEUMUON = D MA_PHIEUMUON
AND B MA_SACH = D MA_SACH
ORDER BY NGAYMUON
O.N Liệt kê các đầu sách có lượt mượn lớn hơn 20 lần.
SELECT MA_SACH , COUNT ( MA_SACH ) AS LUOTMUON
FROM PHIEUMUONCHITIET
GROUP BY MA_SACH
HAVING COUNT ( MA_SACH ) > 20
O.9 Viết câu lệnh cập nhật lại giá tiền của các quyển sách có ngày nhập kho trước năm 2014 giảm 30%.
UPDATE SACH
SET GIATIEN = GIATIEN * 0.7
WHERE YEAR ( NGAYNHAPKHO ) < 2014
O.10 Viết câu lệnh cập nhật lại trạng thái đã trả sách cho phiếu mượn của sinh viên có mã sinh viên PD123301 (ví dụ).
UPDATE PHIEUMUON
SET TRANGTHAI = N'ĐÃ TRẢ SÁCH'
WHERE MA_SINHVIEN LIKE 'PD123301'
Trang 17O.11 Lập danh sách các phiếu mượn quá hạn chưa trả gồm các thông tin: mã phiếu mượn, tên sinh viên, email, danh sách các sách đã mượn, ngày mượn.
SELECT A MA_PHIEUMUON , TEN_SINHVIEN , EMAIL_SINHVIEN , D MA_SACH , TIEUDE , DATEDIFF ( DAY ,
NGAYMUON , GETDATE ()) AS SONGAY
FROM PHIEUMUON A , SINHVIEN B , PHIEUMUONCHITIET C , SACH D
WHERE A MA_SINHVIEN = B MA_SINHVIEN
AND A MA_PHIEUMUON = C MA_PHIEUMUON
AND C MA_SACH = D MA_SACH
AND DATEDIFF ( DAY , NGAYMUON , GETDATE ()) > 3O5
O.12 Viết câu lệnh cập nhật lại số lượng bản sao tăng lên 5 đơn vị đối với các đầu sách có lượt mượn lớn hơn 10
UPDATE SACH
SET SOLUONGBANSA0 = SOLUONGBANSAO + 5
WHERE MA_SACH IN
( SELECT MA_SACH FROM PHIEUMUONCHITIET GROUP BY MA_SACH HAVING COUNT ( MA_SACH ) > 10 )
O.13 Viết câu lệnh xoá các phiếu mượn có ngày mượn và ngày trả trước "1/1/2010"
DELETE FROM PHIEUMUON
WHERE NGAYMUON < '2010-01-01'
AND NGAYTRA < '2010-01-01'