Skip to main content

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:
  • sn khô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 = Activated thì pet_id và activated_at khô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'