Cấu trúc bảng cốt lõi cho module Quản lý Chip
1. Bảng chips - Chip định danh
Bảng quan trọng nhất, mỗi dòng tương ứng với 1 chip vật lý duy nhất
Index:
(sn) UNIQUE, (status), (clinic_id, status), (expiry_date)
Quy tắc bất biến:
snkhông bao giờ được thay đổi sau khi tạo- Không bao giờ xóa dòng trong bảng này, chỉ chuyển trạng thái
- Khi status =
Activatedthìpet_idvàactivated_atkhông bao giờ được thay đổi
2. Bảng export_rounds - Đợt xuất kho
3. Bảng export_orders - Đơn xuất ký gửi theo Clinic
4. Bảng chip_requests - Yêu cầu nhận chip từ Clinic
5. Bảng chip_status_logs - Lịch sử trạng thái chip
Bảng bất biến, chỉ INSERT, không UPDATE, không DELETE
Quy tắc bất biến:
KHÔNG UPDATE, KHÔNG DELETE, KHÔNG SOFT DELETE. CHỈ CHO PHÉP INSERT. Mọi thay đổi trạng thái chip đều phải có 1 dòng tương ứng trong bảng này.
Quy tắc nghiệp vụ Database
- Số lượng chip tồn kho TMT =
COUNT(*) FROM chips WHERE status = 'Available' OR status = 'Returned' - Số lượng chip đang gửi =
COUNT(*) FROM chips WHERE status = 'Sending-to-Clinic' - Số lượng chip tại Clinic X =
COUNT(*) FROM chips WHERE clinic_id = X AND status = 'In-Clinic' - Số lượng chip đã kích hoạt =
COUNT(*) FROM chips WHERE status = 'Activated'