Files
caiyunniu/docs/数据库设计文档.md

3.0 KiB

云南智慧牛产业平台 - 数据库设计文档

1. 设计规范

  • 数据库引擎: MySQL 8.0 InnoDB
  • 字符集: utf8mb4_general_ci
  • 命名规范: 小写下划线命名法 (snake_case)
  • 主键策略: 分布式雪花算法 ID (BIGINT)

2. 核心表结构

2.1 用户中心

用户表 (sys_user)

字段名 类型 长度 说明
id BIGINT 20 主键ID
username VARCHAR 50 用户名
password VARCHAR 100 密码(BCrypt)
phone VARCHAR 20 手机号
user_type TINYINT 4 用户类型(1:养殖户 2:交易商 3:监管员 4:银行)
status TINYINT 4 状态(0:禁用 1:正常)
create_time DATETIME 创建时间

企业/牧场表 (sys_farm)

字段名 类型 长度 说明
id BIGINT 20 主键ID
user_id BIGINT 20 关联用户ID
farm_name VARCHAR 100 牧场名称
address VARCHAR 200 详细地址
license_no VARCHAR 50 防疫合格证号
scale INT 11 养殖规模

2.2 智慧养殖

牛只档案表 (biz_cattle)

字段名 类型 长度 说明
id BIGINT 20 主键ID
farm_id BIGINT 20 所属牧场ID
ear_tag VARCHAR 50 耳标号(唯一)
breed VARCHAR 50 品种
gender TINYINT 4 性别(1:公 2:母)
birth_date DATE 出生日期
weight DECIMAL 10,2 当前体重(kg)
status TINYINT 4 状态(1:在栏 2:出栏 3:死亡)

健康记录表 (biz_health_record)

字段名 类型 长度 说明
id BIGINT 20 主键ID
cattle_id BIGINT 20 牛只ID
record_type TINYINT 4 类型(1:免疫 2:诊疗 3:检疫)
description TEXT 详情描述
operate_time DATETIME 操作时间
operator VARCHAR 50 操作人

2.3 交易中心

交易订单表 (trade_order)

字段名 类型 长度 说明
id BIGINT 20 主键ID
order_no VARCHAR 64 订单编号
seller_id BIGINT 20 卖家ID
buyer_id BIGINT 20 买家ID
amount DECIMAL 12,2 交易金额
status TINYINT 4 状态(0:待付款 1:待发货 2:运输中 3:已完成)
cattle_ids JSON 关联牛只ID列表

2.4 基础信息

新闻资讯表 (cms_news)

字段名 类型 长度 说明
id BIGINT 20 主键ID
title VARCHAR 200 标题
category VARCHAR 50 分类(policy/industry/platform)
content LONGTEXT 内容(HTML)
view_count INT 11 浏览量
publish_time DATETIME 发布时间

3. 索引设计

  • sys_user: uk_username (username), uk_phone (phone)
  • biz_cattle: uk_ear_tag (ear_tag), idx_farm_id (farm_id)
  • trade_order: uk_order_no (order_no), idx_seller (seller_id), idx_buyer (buyer_id)