SQL Server/MySQL
QUẢN LÝ NGÂN HÀNG - KHOÁ HỌC LẬP TRÌNH SQL SERVER
🔹 1. Yêu cầu bài toán
Xây dựng hệ thống quản lý ngân hàng gồm:
- Quản lý khách hàng
- Quản lý tài khoản
- Quản lý giao dịch
- Quản lý chi nhánh
🔹 2. Thiết kế các bảng
✅ Bảng KhachHang
Gồm các thuộc tính:
- maKhachHang (khóa chính)
- hoTen
- ngaySinh
- diaChi
- soDienThoai
👉 Lưu thông tin khách hàng
✅ Bảng TaiKhoan
Gồm các thuộc tính:
- soTaiKhoan (khóa chính)
- maKhachHang (khóa ngoại → KhachHang)
- loaiTaiKhoan (tiết kiệm, thanh toán, …)
- soDu
- ngayMo
👉 Mỗi khách hàng có thể có nhiều tài khoản
✅ Bảng GiaoDich
Gồm các thuộc tính:
- maGiaoDich (khóa chính)
- soTaiKhoan (khóa ngoại → TaiKhoan)
- loaiGiaoDich (nạp, rút, chuyển)
- soTien
- thoiGian
👉 Lưu lịch sử giao dịch
✅ Bảng ChiNhanh
Gồm các thuộc tính:
- maChiNhanh (khóa chính)
- tenChiNhanh
- diaChi
👉 Quản lý các chi nhánh ngân hàng
✅ Bảng QuanLyTaiKhoan
Gồm các thuộc tính:
- soTaiKhoan (khóa ngoại → TaiKhoan)
- maChiNhanh (khóa ngoại → ChiNhanh)
👉 Khóa chính: (soTaiKhoan, maChiNhanh)
👉 Xác định tài khoản thuộc chi nhánh nào
🔹 3. Thêm dữ liệu
- Mỗi bảng thêm tối thiểu 5 bản ghi
-
Dữ liệu cần có:
- Nhiều khách hàng khác nhau
- Có tài khoản số dư lớn (>100 triệu)
- Có nhiều giao dịch (nạp, rút, chuyển)
- Có nhiều chi nhánh
🔹 4. Các yêu cầu truy vấn
✅ 1. Hiển thị tất cả dữ liệu
-
Hiển thị toàn bộ các bảng:
- KhachHang
- TaiKhoan
- GiaoDich
- ChiNhanh
- QuanLyTaiKhoan
✅ 2. Hiển thị khách hàng ở Hà Nội
-
Điều kiện:
- diaChi = "Hà Nội"
✅ 3. Hiển thị tài khoản có số dư > 100 triệu
-
Điều kiện:
- soDu > 100000000
✅ 4. Hiển thị thông tin khách hàng và số dư
-
Hiển thị:
- maKhachHang
- hoTen
- soTaiKhoan
- soDu
👉 Kết hợp:
- KhachHang + TaiKhoan
✅ 5. Hiển thị lịch sử giao dịch của tất cả tài khoản
-
Hiển thị:
- soTaiKhoan
- loaiGiaoDich
- soTien
- thoiGian
✅ 6. Hiển thị giao dịch kèm thông tin khách hàng
-
Hiển thị:
- hoTen
- soTaiKhoan
- loaiGiaoDich
- soTien
👉 Kết hợp:
- KhachHang + TaiKhoan + GiaoDich
🔹 5. Phần VIEW
✅ View 1: Danh sách khách hàng
- Hiển thị toàn bộ bảng KhachHang
✅ View 2: Tài khoản số dư lớn
-
Lọc:
- soDu > 100 triệu
✅ View 3: Khách hàng + tài khoản
-
Bao gồm:
- hoTen
- soTaiKhoan
- soDu
✅ View 4: Lịch sử giao dịch
-
Bao gồm:
- soTaiKhoan
- loaiGiaoDich
- soTien
- thoiGian
✅ View 5: Giao dịch + khách hàng
-
Bao gồm:
- hoTen
- soTaiKhoan
- loaiGiaoDich
- soTien
🔹 6. Phần INDEX
✅ Index trên bảng KhachHang
- maKhachHang
- hoTen
👉 Tăng tốc tìm kiếm khách hàng
✅ Index trên bảng TaiKhoan
- soTaiKhoan
- maKhachHang
👉 Tăng tốc join và truy vấn
✅ Index trên bảng GiaoDich
- soTaiKhoan
- thoiGian
👉 Tăng tốc truy vấn lịch sử giao dịch
✅ Index trên bảng ChiNhanh
- maChiNhanh
✅ Index trên bảng QuanLyTaiKhoan
- (soTaiKhoan, maChiNhanh)
👉 Index kết hợp
