1. Tạo các bảng (mô tả cấu trúc)
🔹 Bảng: DOCGIA (Độc giả)
| Tên cột | Kiểu dữ liệu | Mô tả |
|---|---|---|
| MaDocGia | INT | Mã độc giả |
| TenDocGia | NVARCHAR(100) | Tên độc giả |
| NgaySinh | DATE | Ngày sinh |
| DiaChi | NVARCHAR(200) | Địa chỉ |
| SoDienThoai | VARCHAR(15) | Số điện thoại |
🔹 Bảng: SACH (Sách)
| Tên cột | Kiểu dữ liệu | Mô tả |
|---|---|---|
| MaSach | INT | Mã sách |
| TenSach | NVARCHAR(150) | Tên sách |
| TacGia | NVARCHAR(100) | Tác giả |
| NamXuatBan | INT | Năm xuất bản |
| SoLuong | INT | Số lượng |
🔹 Bảng: PHIEUMUON (Phiếu mượn)
| Tên cột | Kiểu dữ liệu | Mô tả |
|---|---|---|
| MaPhieu | INT | Mã phiếu |
| MaDocGia | INT | Mã độc giả |
| NgayMuon | DATE | Ngày mượn |
| NgayTra | DATE | Ngày trả |
🔹 Bảng: CHITIETPHIEU (Chi tiết phiếu mượn)
| Tên cột | Kiểu dữ liệu | Mô tả |
|---|---|---|
| MaPhieu | INT | Mã phiếu |
| MaSach | INT | Mã sách |
| SoLuongMuon | INT | Số 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:
- Hiển thị tất cả độc giả
- Hiển thị danh sách sách có số lượng > 5
- Hiển thị phiếu mượn cùng tên độc giả
🔸 F. ORDER BY
- Sắp xếp sách theo năm xuất bản giảm dần
- Sắp xếp độc giả theo tên tăng dần
🔸 G. GROUP BY
- Đếm số lượng sách theo từng tác giả
- 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
