数据库设计支持海外代购业务的核心流程,包括商品管理、订单处理、采购管理和客户关系管理

海外代购管理系统数据库设计

根据海外代购公司的业务需求,我设计了一个包含以下核心实体的数据库模型:

  1. 用户管理模块:客户、供应商、员工
  2. 商品管理模块:商品分类、商品信息、库存
  3. 订单管理模块:订单头、订单行、支付记录、物流记录
  4. 采购管理模块:采购单、采购行

下面是具体的数据库表结构设计:

-- 用户管理模块
CREATE TABLE customers (
    customer_id SERIAL PRIMARY KEY,
    username VARCHAR(50) UNIQUE NOT NULL,
    password_hash VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    phone VARCHAR(20),
    full_name VARCHAR(100),
    address TEXT,
    country VARCHAR(50),
    registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    last_login TIMESTAMP,
    status VARCHAR(20) DEFAULT 'active'
);

CREATE TABLE suppliers (
    supplier_id SERIAL PRIMARY KEY,
    company_name VARCHAR(100) NOT NULL,
    contact_person VARCHAR(100),
    contact_email VARCHAR(100),
    contact_phone VARCHAR(20),
    country VARCHAR(50) NOT NULL,
    address TEXT,
    website VARCHAR(100),
    supplier_status VARCHAR(20) DEFAULT 'active',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE employees (
    employee_id SERIAL PRIMARY KEY,
    employee_no VARCHAR(20) UNIQUE NOT NULL,
    full_name VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    phone VARCHAR(20),
    department VARCHAR(50),
    position VARCHAR(50),
    hire_date DATE NOT NULL,
    termination_date DATE,
    status VARCHAR(20) DEFAULT 'active',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 商品管理模块
CREATE TABLE product_categories (
    category_id SERIAL PRIMARY KEY,
    category_name VARCHAR(100) NOT NULL,
    parent_category_id INT,
    description TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (parent_category_id) REFERENCES product_categories(category_id)
);

CREATE TABLE products (
    product_id SERIAL PRIMARY KEY,
    product_sku VARCHAR(50) UNIQUE NOT NULL,
    product_name VARCHAR(100) NOT NULL,
    category_id INT NOT NULL,
    supplier_id INT NOT NULL,
    description TEXT,
    origin_country VARCHAR(50),
    price DECIMAL(10, 2) NOT NULL,
    cost_price DECIMAL(10, 2),
    weight DECIMAL(10, 2),
    dimensions VARCHAR(50),
    status VARCHAR(20) DEFAULT 'active',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (category_id) REFERENCES product_categories(category_id),
    FOREIGN KEY (supplier_id) REFERENCES suppliers(supplier_id)
);

CREATE TABLE product_inventory (
    inventory_id SERIAL PRIMARY KEY,
    product_id INT NOT NULL,
    location VARCHAR(50),
    quantity INT NOT NULL DEFAULT 0,
    available_quantity INT NOT NULL DEFAULT 0,
    last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_by INT,
    FOREIGN KEY (product_id) REFERENCES products(product_id),
    FOREIGN KEY (updated_by) REFERENCES employees(employee_id)
);

-- 订单管理模块
CREATE TABLE orders (
    order_id SERIAL PRIMARY KEY,
    order_no VARCHAR(50) UNIQUE NOT NULL,
    customer_id INT NOT NULL,
    employee_id INT, -- 处理订单的员工
    order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    expected_delivery_date DATE,
    actual_delivery_date DATE,
    order_status VARCHAR(20) DEFAULT 'pending',
    payment_status VARCHAR(20) DEFAULT 'pending',
    shipping_address TEXT,
    billing_address TEXT,
    total_amount DECIMAL(10, 2) NOT NULL,
    discount_amount DECIMAL(10, 2) DEFAULT 0,
    tax_amount DECIMAL(10, 2) DEFAULT 0,
    shipping_fee DECIMAL(10, 2) DEFAULT 0,
    notes TEXT,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id),
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);

CREATE TABLE order_items (
    item_id SERIAL PRIMARY KEY,
    order_id INT NOT NULL,
    product_id INT NOT NULL,
    quantity INT NOT NULL,
    unit_price DECIMAL(10, 2) NOT NULL,
    subtotal DECIMAL(10, 2) NOT NULL,
    discount DECIMAL(10, 2) DEFAULT 0,
    FOREIGN KEY (order_id) REFERENCES orders(order_id),
    FOREIGN KEY (product_id) REFERENCES products(product_id)
);

CREATE TABLE payments (
    payment_id SERIAL PRIMARY KEY,
    order_id INT NOT NULL,
    payment_method VARCHAR(50) NOT NULL,
    transaction_id VARCHAR(100),
    payment_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    amount DECIMAL(10, 2) NOT NULL,
    status VARCHAR(20) DEFAULT 'pending',
    notes TEXT,
    FOREIGN KEY (order_id) REFERENCES orders(order_id)
);

CREATE TABLE shipping_records (
    shipping_id SERIAL PRIMARY KEY,
    order_id INT NOT NULL,
    tracking_number VARCHAR(100),
    shipping_carrier VARCHAR(50),
    shipping_date TIMESTAMP,
    estimated_delivery_date DATE,
    actual_delivery_date DATE,
    status VARCHAR(50),
    shipping_address TEXT,
    notes TEXT,
    FOREIGN KEY (order_id) REFERENCES orders(order_id)
);

-- 采购管理模块
CREATE TABLE purchase_orders (
    purchase_order_id SERIAL PRIMARY KEY,
    purchase_order_no VARCHAR(50) UNIQUE NOT NULL,
    supplier_id INT NOT NULL,
    employee_id INT NOT NULL, -- 创建采购单的员工
    order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    expected_delivery_date DATE,
    actual_delivery_date DATE,
    status VARCHAR(20) DEFAULT 'pending',
    total_amount DECIMAL(10, 2) NOT NULL,
    notes TEXT,
    FOREIGN KEY (supplier_id) REFERENCES suppliers(supplier_id),
    FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);

CREATE TABLE purchase_order_items (
    purchase_item_id SERIAL PRIMARY KEY,
    purchase_order_id INT NOT NULL,
    product_id INT NOT NULL,
    quantity INT NOT NULL,
    unit_price DECIMAL(10, 2) NOT NULL,
    subtotal DECIMAL(10, 2) NOT NULL,
    received_quantity INT DEFAULT 0,
    FOREIGN KEY (purchase_order_id) REFERENCES purchase_orders(purchase_order_id),
    FOREIGN KEY (product_id) REFERENCES products(product_id)
);

数据库设计说明

  1. 用户管理模块

    • 区分客户、供应商和员工三种角色
    • 客户表存储个人信息、地址和账户状态
    • 供应商表记录合作商家信息,包括公司名称、联系方式和国家
    • 员工表管理内部工作人员信息
  2. 商品管理模块

    • 支持多级商品分类
    • 商品表关联供应商和分类
    • 库存表实时跟踪商品数量和位置
  3. 订单管理模块

    • 订单头表记录客户订单的总体信息
    • 订单行表详细记录购买的商品
    • 支付表跟踪订单支付状态和交易信息
    • 物流表记录订单配送状态
  4. 采购管理模块

    • 采购单表记录向供应商的采购信息
    • 采购行表详细记录采购的商品和数量

这个数据库设计支持海外代购业务的核心流程,包括商品管理、订单处理、采购管理和客户关系管理。你可以根据实际业务需求进行调整和扩展。
以下是一个海外代购公司信息化管理系统的数据库设计示例,你可以根据公司的具体情况对表结构和字段进行调整和完善。

数据库概念模型(E-R图)

  • 代购订单实体
    • 属性:订单编号(主键)、客户信息(外键关联客户实体)、代购商品信息(外键关联商品实体)、订单状态(如待付款、已付款待发货、已发货待收货、已完成、已取消等)、下单时间、预计发货时间、实际发货时间、预计到货时间、实际到货时间、订单备注等。
  • 客户实体
    • 属性:客户编号(主键)、客户姓名、客户联系方式(手机号码、电子等邮箱)、客户地址(收货地址)、客户注册时间、客户等级(可依据消费金额等划分等级,如普通会员、VIP会员等)、客户积分等。
  • 商品实体
    • 属性:商品编号(主键)、商品名称、商品类别(外键关联商品类别实体)、商品品牌、商品规格、商品价格(采购价和销售价)、商品库存数量、商品产地、商品描述、商品图片路径、商品上架时间、商品下架时间等。
  • 商品类别实体
    • 属性:类别编号(主键)、类别名称、类别描述、父类别编号(用于构建多级分类结构,如果是顶级类别则为空)等。
  • 供应商实体
    • 属性:供应商编号(主键)、供应商名称、供应商联系方式(电话、邮箱等)、供应商地址、合作开始时间、合作结束时间(如果合作未结束则为空)、供应商信誉评级等。
  • 采购订单实体
    • 属性:采购订单编号(主键)、供应商信息(外键关联供应商实体)、采购商品信息(外键关联商品实体)、采购数量、采购单价、采购总价、采购订单状态(如待发货、已发货待收货、已完成、已取消等)、采购下单时间、预计发货时间、实际发货时间、预计到货时间、实际到货时间、采购订单备注等。
  • 物流信息实体
    • 属性:物流编号(主键)、物流单号、物流承运商、发货时间、发货地点、预计到达时间、实际到达时间、物流状态(如在途中、已到达等)、物流跟踪信息等。
  • 财务记录实体
    • 属性:财务记录编号(主键)、相关订单信息(外键代关联购订单或采购订单实体)、财务类型(如客户付款、供应商付款、退款等)、金额、交易时间、交易备注等。
  • 员工实体
    • 属性:员工编号(主键)、员工姓名、员工职位、员工联系方式(电话、邮箱等)、员工入职时间、员工离职时间(如果未离职则为空)、员工工资等。
  • 员工操作记录实体
    • 属性:操作记录编号(主键)、操作员工信息(外键关联员工实体)、操作类型(如订单审核、订单发货、采购订单录入等)、操作时间、操作对象(如订单编号、采购订单编号等)、操作备注等。

数据库逻辑结构设计(关系表设计)

代购订单表(Order)
字段名称数据类型约束描述
OrderIDINT主键,自增订单编号
CustomerIDINT外键,关联客户表客户信息
ProductIDINT外键,关联商品表代购商品信息
OrderStatusVARCHAR(50)订单状态
OrderTimeDATETIME下单时间
ExpectedShipmentTimeDATETIME预计发货时间
ActualShipmentTimeDATETIME实际发货时间
ExpectedArrivalTimeDATETIME预计到货时间
ActualArrivalTimeDATETIME实际到货时间
OrderRemarkTEXT订单备注
客户表(Customer)
字段名称数据类型约束描述
CustomerIDINT主键,自增客户编号
CustomerNameVARCHAR(100)客户姓名
ContactNumberVARCHAR(20)客户联系方式
EmailVARCHAR(100)客户电子邮箱
AddressTEXT客户地址
RegistrationTimeDATETIME客户注册时间
CustomerLevelVARCHAR(50)客户等级
CustomerPointsINT客户积分
商品表(Product)
字段名称数据类型约束描述
ProductIDINT主键,自增商品编号
ProductNameVARCHAR(200)商品名称
CategoryIDINT外键,关联商品类别表商品类别
BrandVARCHAR(100)商品品牌
SpecificationVARCHAR(200)商品规格
PurchasePriceDECIMAL(10,2)商品采购价
SellingPriceDECIMAL(10,2)商品销售价
StockQuantityINT商品库存数量
OriginVARCHAR(100)商品产地
ProductDescriptionTEXT商品描述
ProductImageVARCHAR(200)商品图片路径
OnShelfTimeDATETIME商品上架时间
OffShelfTimeDATETIME商品下架时间
商品类别表(ProductCategory)
字段名称数据类型约束描述
CategoryIDINT主键,自增类别编号
CategoryNameVARCHAR(100)类别名称
CategoryDescriptionTEXT类别描述
ParentCategoryIDINT外键,关联自身,可为空父类别编号
供应商表(Supplier)
字段名称数据类型约束描述
SupplierIDINT主键,自增供应商编号
SupplierNameVARCHAR(200)供应商名称
ContactNumberVARCHAR(20)供应商联系方式
EmailVARCHAR(100)供应商电子邮箱
AddressTEXT供应商地址
CooperationStartTimeDATETIME合作开始时间
CooperationEndTimeDATETIME可为空合作结束时间
SupplierCreditRatingVARCHAR(50)供应商信誉评级
采购订单表(PurchaseOrder)
字段名称数据类型约束描述
PurchaseOrderIDINT主键,自增采购订单编号
SupplierIDINT外键,关联供应商表供应商信息
ProductIDINT外键,关联商品表采购商品信息
PurchaseQuantityINT采购数量
PurchaseUnitPriceDECIMAL(10,2)采购单价
PurchaseTotalPriceDECIMAL(10,2)采购总价
PurchaseOrderStatusVARCHAR(50)采购订单状态
PurchaseOrderTimeDATETIME采购下单时间
ExpectedShipmentTimeDATETIME预计发货时间
ActualShipmentTimeDATETIME实际发货时间
ExpectedArrivalTimeDATETIME预计到货时间
ActualArrivalTimeDATETIME实际到货时间
PurchaseOrderRemarkTEXT采购订单备注
物流信息表(Logistics)
字段名称数据类型约束描述
LogisticsIDINT主键,自增物流编号
LogisticsNumberVARCHAR(100)物流单号
CarrierVARCHAR(200)物流承运商
ShipmentTimeDATETIME发货时间
ShipmentLocationVARCHAR(200)发货地点
ExpectedArrivalTimeDATETIME预计到达时间
ActualArrivalTimeDATETIME实际到达时间
LogisticsStatusVARCHAR(50)物流状态
LogisticsTrackingInfoTEXT物流

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值