Files
gpf_pet_hospital/database_schema_documentation.md

9.9 KiB
Raw Blame History

宠物医院管理系统 - 数据库表结构文档

1. 用户表 (user)

字段名 类型 说明
id BIGINT 主键,自增长
username VARCHAR(50) 用户名,唯一
phone VARCHAR(20) 手机号
email VARCHAR(100) 邮箱
password VARCHAR(255) 密码(加密存储)
role VARCHAR(20) 角色ADMIN/DOCTOR/CUSTOMER
status INT 状态1-启用0-禁用)
avatar VARCHAR(255) 头像URL
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记0-未删除1-已删除)

2. 医生表 (doctor)

字段名 类型 说明
id BIGINT 主键,自增长
name VARCHAR(50) 医生姓名
department VARCHAR(50) 所属科室
title VARCHAR(50) 职称
phone VARCHAR(20) 联系电话
email VARCHAR(100) 邮箱
avatar VARCHAR(255) 头像URL
status INT 状态1-启用0-禁用)
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

3. 宠物表 (pet)

字段名 类型 说明
id BIGINT 主键,自增长
owner_id BIGINT 主人ID外键关联user表
name VARCHAR(50) 宠物名称
species VARCHAR(50) 物种(猫/狗等)
breed VARCHAR(100) 品种
gender VARCHAR(10) 性别MALE/FEMALE
birthday DATE 生日
weight DOUBLE 体重
photo VARCHAR(255) 照片URL
remark TEXT 备注
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

4. 预约表 (appointment)

字段名 类型 说明
id BIGINT 主键,自增长
customer_id BIGINT 顾客ID外键关联user表
pet_id BIGINT 宠物ID外键关联pet表
doctor_id BIGINT 医生ID外键关联doctor表可空
department VARCHAR(50) 科室
appointment_date DATE 预约日期
time_slot VARCHAR(20) 预约时段09:00-10:00
status VARCHAR(20) 状态PENDING/CONFIRMED/ARRIVED/CANCELLED/NO_SHOW
remark TEXT 备注
cancel_time TIMESTAMP 取消时间
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

5. 就诊记录表 (visit)

字段名 类型 说明
id BIGINT 主键,自增长
appointment_id BIGINT 预约ID外键关联appointment表可空
customer_id BIGINT 顾客ID外键关联user表
pet_id BIGINT 宠物ID外键关联pet表
doctor_id BIGINT 医生ID外键关联doctor表
symptoms TEXT 症状描述
diagnosis TEXT 诊断结果
treatment_plan TEXT 治疗方案
status VARCHAR(20) 状态IN_PROGRESS/COMPLETED/CANCELLED
total_amount DECIMAL(10,2) 总金额
payment_status VARCHAR(20) 支付状态UNPAID/PAID/REFUNDING/REFUNDED
payment_method VARCHAR(20) 支付方式OFFLINE/ALIPAY/WECHAT
payment_time TIMESTAMP 支付时间
start_time TIMESTAMP 开始时间
end_time TIMESTAMP 结束时间
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

6. 处方表 (prescription)

字段名 类型 说明
id BIGINT 主键,自增长
visit_id BIGINT 就诊ID外键关联visit表
doctor_id BIGINT 医生ID外键关联doctor表
customer_id BIGINT 顾客ID外键关联user表
total_amount DECIMAL(10,2) 总金额
status VARCHAR(20) 状态DRAFT/SUBMITTED/ISSUED/VOIDED
remark TEXT 备注
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

7. 处方明细表 (prescription_item)

字段名 类型 说明
id BIGINT 主键,自增长
prescription_id BIGINT 处方ID外键关联prescription表
drug_id BIGINT 药品ID外键关联drug表
quantity INT 数量
dosage VARCHAR(100) 用量
frequency VARCHAR(50) 频次
duration VARCHAR(50) 疗程
usage_instructions TEXT 用法说明
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

8. 药品表 (drug)

字段名 类型 说明
id BIGINT 主键,自增长
name VARCHAR(100) 药品名称
category VARCHAR(50) 分类
manufacturer VARCHAR(100) 生产厂家
specification VARCHAR(100) 规格
unit_price DECIMAL(10,2) 单价
stock_quantity INT 库存数量
unit VARCHAR(20) 单位
status INT 状态1-启用0-禁用)
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

9. 订单表 (order_info)

字段名 类型 说明
id BIGINT 主键,自增长
visit_id BIGINT 就诊ID外键关联visit表可空
customer_id BIGINT 顾客ID外键关联user表
amount DECIMAL(10,2) 金额
status VARCHAR(20) 状态UNPAID/PAID/CANCELLED/REFUNDING/REFUNDED
payment_method VARCHAR(20) 支付方式OFFLINE/ALIPAY/WECHAT
payment_time TIMESTAMP 支付时间
remark TEXT 备注
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

10. 病历表 (medical_record)

字段名 类型 说明
id BIGINT 主键,自增长
visit_id BIGINT 就诊ID外键关联visit表
record_type VARCHAR(50) 记录类型CHECKUP/EXAMINATION/DIAGNOSIS/TREATMENT
content TEXT 内容
attachment_urls TEXT 附件URLJSON格式
doctor_id BIGINT 医生ID外键关联doctor表
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

11. 消息表 (message)

字段名 类型 说明
id BIGINT 主键,自增长
sender_id BIGINT 发送者ID外键关联user表可空
receiver_id BIGINT 接收者ID外键关联user表
content TEXT 消息内容
type VARCHAR(20) 类型NOTICE/CHAT
status VARCHAR(20) 状态UNREAD/READ
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

12. 公告表 (notice)

字段名 类型 说明
id BIGINT 主键,自增长
title VARCHAR(200) 标题
content TEXT 内容
publisher_id BIGINT 发布者ID外键关联user表
publish_time TIMESTAMP 发布时间
status INT 状态1-发布0-撤销)
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

13. 报表表 (report)

字段名 类型 说明
id BIGINT 主键,自增长
report_type VARCHAR(50) 报表类型REVENUE/CUSTOMER/PET/DRUG
report_data JSON 报表数据JSON格式
period_start DATE 统计周期开始
period_end DATE 统计周期结束
generated_by BIGINT 生成者ID外键关联user表
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

14. 入库记录表 (stock_in)

字段名 类型 说明
id BIGINT 主键,自增长
drug_id BIGINT 药品ID外键关联drug表
quantity INT 数量
unit_price DECIMAL(10,2) 单价
supplier VARCHAR(100) 供应商
operator_id BIGINT 操作员ID外键关联user表
remark TEXT 备注
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

15. 出库记录表 (stock_out)

字段名 类型 说明
id BIGINT 主键,自增长
drug_id BIGINT 药品ID外键关联drug表
quantity INT 数量
unit_price DECIMAL(10,2) 单价
purpose VARCHAR(100) 用途(销售/损耗等)
operator_id BIGINT 操作员ID外键关联user表
remark TEXT 备注
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

16. 疫苗接种记录表 (vaccine_record)

字段名 类型 说明
id BIGINT 主键,自增长
pet_id BIGINT 宠物ID外键关联pet表
vaccine_name VARCHAR(100) 疫苗名称
dose_number INT 剂次
injection_date DATE 接种日期
next_appointment_date DATE 下次预约日期
doctor_id BIGINT 医生ID外键关联doctor表
remark TEXT 备注
create_time TIMESTAMP 创建时间
update_time TIMESTAMP 更新时间
deleted INT 删除标记

主要业务流程关系

1. 预约流程

Customer → Appointment → Visit → Prescription → Order

2. 库存管理

Drug ↔ StockIn/StockOut

3. 病历管理

Visit → MedicalRecord

4. 疫苗管理

Pet → VaccineRecord

5. 消息通知

User ↔ Message/Notice

数据完整性约束

  1. 外键约束:确保所有外键引用的有效性
  2. 软删除使用deleted字段实现软删除保留历史数据
  3. 时间戳所有表都有create_time和update_time字段
  4. 默认值合理设置字段默认值如status默认为1
  5. 枚举约束:状态字段使用预定义的枚举值