1. Tạo các bảng (mô tả cấu trúc)

? Bảng: DOCGIA (Độc giả)

Tên cộtKiểu dữ liệuMô tả
MaDocGiaINTMã độc giả
TenDocGiaNVARCHAR(100)Tên độc giả
NgaySinhDATENgày sinh
DiaChiNVARCHAR(200)Địa chỉ
SoDienThoaiVARCHAR(15)Số điện thoại

? Bảng: SACH (Sách)

Tên cộtKiểu dữ liệuMô tả
MaSachINTMã sách
TenSachNVARCHAR(150)Tên sách
TacGiaNVARCHAR(100)Tác giả
NamXuatBanINTNăm xuất bản
SoLuongINTSố lượng

? Bảng: PHIEUMUON (Phiếu mượn)

Tên cộtKiểu dữ liệuMô tả
MaPhieuINTMã phiếu
MaDocGiaINTMã độc giả
NgayMuonDATENgày mượn
NgayTraDATENgày trả

? Bảng: CHITIETPHIEU (Chi tiết phiếu mượn)

Tên cộtKiểu dữ liệuMô tả
MaPhieuINTMã phiếu
MaSachINTMã sách
SoLuongMuonINTSố lượng mượn

2. Yêu cầu thực hiện

? A. Tạo bảng

  • Tạo đầy đủ 4 bảng theo cấu trúc trên

? B. ALTER TABLE

  • Thêm cột Email (NVARCHAR(100)) vào bảng DOCGIA
  • Sửa kiểu dữ liệu SoDienThoai thành VARCHAR(20)
  • Xóa cột DiaChi trong bảng DOCGIA

? C. PRIMARY KEY

  • DOCGIA: MaDocGia
  • SACH: MaSach
  • PHIEUMUON: MaPhieu
  • CHITIETPHIEU: (MaPhieu, MaSach) (khóa chính kép)

? D. FOREIGN KEY

  • PHIEUMUON.MaDocGia → DOCGIA.MaDocGia
  • CHITIETPHIEU.MaPhieu → PHIEUMUON.MaPhieu
  • CHITIETPHIEU.MaSach → SACH.MaSach

? E. SELECT

Thực hiện các truy vấn:

  1. Hiển thị tất cả độc giả
  2. Hiển thị danh sách sách có số lượng > 5
  3. Hiển thị phiếu mượn cùng tên độc giả

? F. ORDER BY

  1. Sắp xếp sách theo năm xuất bản giảm dần
  2. Sắp xếp độc giả theo tên tăng dần

? G. GROUP BY

  1. Đếm số lượng sách theo từng tác giả
  2. Tính tổng số sách đã mượn theo từng phiếu

3. Yêu cầu nâng cao (tuỳ chọn)

  • Tìm độc giả mượn nhiều sách nhất
  • Liệt kê sách chưa từng được mượn