返回首页

未命名

分类:现代化开发
发布于:
阅读时间:29 分钟

🔍 一、业务规则提炼

  • 商品(Product)

    • 一个商品可以由 多个工厂 生产(一对多)
    • 一个商品只对应 一个出口商(一对一)
  • 工厂(Factory)

    • 工厂也可以作为出口商(即:某些工厂具备出口资质)
    • 多个商品可由同一个工厂生产(多对一)
  • 出口商(Exporter)

    • 出口商可能就是某个工厂(如 Dong Qi Footwear Intl Mfg Co., Ltd 同时是出口商 & 关联工厂)
    • 一个出口商可对应多个商品(一对多)
  • 业务员(Salesperson / Agent)

    • 可能隶属于出口商或工厂
    • 一份询价单由某业务员负责
  • 询价单(Quotation)

    • 关联客户、商品、出口商、工厂、业务员
    • 包含商品明细、价格、交期、付款条款等
  • 客户(Client)

    • 与询价单关联
  • 银行信息(Bank Info)

    • 属于出口商(收款方)
  • 签署(Signature)

    • 询价单需买卖双方签署(Buyer + Seller/Exporter)

🧱 二、推荐数据库表结构(规范化设计)

1. exporters(出口商)

字段类型说明
idBIGINT PK主键
nameVARCHAR公司名称
addressTEXT地址
websiteVARCHAR官网
emailVARCHAR邮箱
phoneVARCHAR电话

2. factories(工厂)

字段类型说明
idBIGINT PK主键
nameVARCHAR工厂名称
addressTEXT地址1
exporter_idBIGINT FK → exporters.id所属出口商(若该工厂不独立出口,则挂靠某出口商)

3. products(商品)

字段类型说明
idBIGINT PK主键
item_codeVARCHAR商品编码
descriptionTEXT描述
exporter_idBIGINT FK → exporters.id唯一出口商
unitsVARCHAR单位(如 PCS)

⚠️ 注意:这里 不直接关联工厂,因为一个商品可由多个工厂生产 → 用中间表。


4. product_factories(商品-工厂 多对多关系)

字段类型说明
product_idBIGINT FK → products.id商品
factory_idBIGINT FK → factories.id工厂
PRIMARY KEY (product_id, factory_id)联合主键

5. clients(客户)

字段类型说明
idBIGINT PK主键
company_nameVARCHAR公司名
contact_nameVARCHAR联系人
emailVARCHAR邮箱
whatsappVARCHARWhatsApp
phoneVARCHAR电话

6. salespersons(业务员)

字段类型说明
idBIGINT PK主键
nameVARCHAR姓名
emailVARCHAR邮箱
phoneVARCHAR电话
exporter_idBIGINT FK → exporters.id所属出口商(或可为空)
factory_idBIGINT FK → factories.id或所属工厂(二选一,或都允许)

✅ 可简化:只关联 exporter_id,因工厂通常通过出口商对外。


7. quotations(询价单)

字段类型说明
idBIGINT PK主键
ref_noVARCHAR报价单编号
dateDATE日期
client_idBIGINT FK → clients.id客户
exporter_idBIGINT FK → exporters.id出口商(卖方)
salesperson_idBIGINT FK → salespersons.id业务员
delivery_time_daysVARCHAR交期(如 "35-45")
sample_leadtime_daysVARCHAR样品周期
payment_termsTEXT付款条款
quality_remarkTEXT质量要求
safety_complianceTEXT安全合规(如 EN71)
statusVARCHAR状态(Draft / Confirmed / Signed)

8. quotation_items(询价单明细)

字段类型说明
idBIGINT PK主键
quotation_idBIGINT FK → quotations.id所属报价单
product_idBIGINT FK → products.id商品
factory_idBIGINT FK → factories.id本次报价指定的工厂(从 product_factories 中选择)
unit_price_usdDECIMAL单价
quantityINT数量
total_usdDECIMAL小计
remarkTEXT备注

✅ 关键点:虽然商品有多个工厂可选,但每份报价单中每个商品只能指定一个工厂来生产 → 所以在 quotation_items 中明确 factory_id


9. bank_infos(银行信息)

字段类型说明
idBIGINT PK主键
exporter_idBIGINT FK → exporters.id所属出口商
beneficiaryVARCHAR收款人
account_noVARCHAR账号
bank_nameVARCHAR银行名称
bank_addressTEXT银行地址

一个出口商可有多个银行账户(如不同币种),所以是一对多。


✅ 四、特别说明

  • 出口商与工厂的关系:采用“出口商为主,工厂为辅”模型。即使工厂自己出口,也在 exporters 表中建一条记录,并在 factories.exporter_id 指向自己。