跨境系统设计

MYSQL数据库设计

-- 商品主表
CREATE TABLE erp_Products (
    ProductID INT AUTO_INCREMENT PRIMARY KEY COMMENT '商品唯一标识符,主键,自动递增',
    ProductName VARCHAR(255) NOT NULL COMMENT '商品名称(主语言)',
    ProductNameTranslations TEXT COMMENT '商品名称的多语言翻译(JSON格式)',
    ProductSlug VARCHAR(255) UNIQUE NOT NULL COMMENT '商品URL路径名,用于生成商品页面URL',
    ProductDescription TEXT COMMENT '商品详细描述(主语言)',
    ProductDescriptionTranslations TEXT COMMENT '商品详细描述的多语言翻译(JSON格式)',
    ShortDescription VARCHAR(500) COMMENT '商品简短描述(主语言)',
    ShortDescriptionTranslations TEXT COMMENT '商品简短描述的多语言翻译(JSON格式)',
    SKU VARCHAR(100) UNIQUE NOT NULL COMMENT '商品SKU(库存单位)',
    UPC VARCHAR(12) UNIQUE COMMENT '商品UPC码(通用产品代码)',
    EAN VARCHAR(13) UNIQUE COMMENT '商品EAN码(欧洲商品编号)',
    Brand VARCHAR(255) COMMENT '商品品牌',
    Manufacturer VARCHAR(255) COMMENT '制造商',
    CategoryID INT COMMENT '商品所属分类ID,外键',
    SubCategoryID INT COMMENT '商品所属子分类ID,外键',
    Price DECIMAL(10, 2) NOT NULL COMMENT '商品价格',
    CurrencyCode VARCHAR(10) DEFAULT 'USD' COMMENT '价格货币代码',
    OriginalPrice DECIMAL(10, 2) COMMENT '商品原价(用于打折时显示)',
    SalePrice DECIMAL(10, 2) COMMENT '商品促销价(如果当前有促销)',
    DiscountPercentage DECIMAL(5, 2) COMMENT '折扣百分比(如果当前有打折)',
    StockQuantity INT NOT NULL COMMENT '库存数量',
    StockStatus ENUM('in_stock', 'out_of_stock') DEFAULT 'in_stock' COMMENT '库存状态',
    ProductCondition ENUM('new', 'used', 'refurbished') DEFAULT 'new' COMMENT '商品状态(新、二手、翻新)',
    ShippingCost DECIMAL(10, 2) COMMENT '运费(默认)',
    CrossBorderShippingCost DECIMAL(10, 2) COMMENT '跨境运费',
    ShippingMethod VARCHAR(255) COMMENT '发货方式',
    DeliveryTimeFrame VARCHAR(255) COMMENT '预计送达时间范围',
    Weight DECIMAL(10, 3) COMMENT '商品重量(单位:千克)',
    Dimensions VARCHAR(50) COMMENT '商品尺寸(长x宽x高,单位:厘米)',
    TaxRate DECIMAL(5, 2) COMMENT '商品税率',
    TaxIncluded BOOLEAN DEFAULT FALSE COMMENT '税费是否已包含在价格中',
    CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    UpdatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录最后更新时间',
    IsActive BOOLEAN DEFAULT TRUE COMMENT '商品是否上架',
    MetaTitle VARCHAR(255) COMMENT 'SEO标题',
    MetaDescription TEXT COMMENT 'SEO描述',
    MetaKeywords VARCHAR(500) COMMENT 'SEO关键词',
    MainImageUrl VARCHAR(255) COMMENT '商品主图URL',
    ThumbnailImageUrl VARCHAR(255) COMMENT '商品缩略图URL',
    AdditionalImages TEXT COMMENT '附加图片URL列表(JSON格式)',
    ProductVideoUrl VARCHAR(255) COMMENT '商品视频URL(可选)',
    WarrantyInfo TEXT COMMENT '保修信息',
    ProductSpecifications TEXT COMMENT '商品规格(JSON格式)',
    RelatedProducts TEXT COMMENT '相关商品ID列表(JSON格式)',
    FOREIGN KEY (CategoryID) REFERENCES erp_Categories(CategoryID),
    FOREIGN KEY (SubCategoryID) REFERENCES erp_SubCategories(SubCategoryID)
) COMMENT='商品主表';
-- 商品变体表
CREATE TABLE erp_ProductVariants (
    VariantID INT AUTO_INCREMENT PRIMARY KEY COMMENT '变体唯一标识符,主键,自动递增',
    ProductID INT COMMENT '所属商品ID,外键',
    VariantName VARCHAR(255) NOT NULL COMMENT '变体名称(如颜色、尺寸)',
    VariantSKU VARCHAR(100) UNIQUE NOT NULL COMMENT '变体SKU',
    VariantPrice DECIMAL(10, 2) NOT NULL COMMENT '变体价格',
    VariantStockQuantity INT NOT NULL COMMENT '变体库存数量',
    VariantImagePath VARCHAR(255) COMMENT '变体图片URL(可选)'
);

-- 商品分类数据表
CREATE TABLE erp_Categories (
    CategoryID INT AUTO_INCREMENT PRIMARY KEY COMMENT '分类唯一标识符,主键,自动递增',
    CategoryName VARCHAR(255) NOT NULL COMMENT '分类名称',
    ParentCategoryID INT DEFAULT NULL COMMENT '父分类ID,用于多级分类',
    CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    UpdatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    FOREIGN KEY (ParentCategoryID) REFERENCES erp_Categories(CategoryID) ON DELETE SET NULL
);

-- 商品子分类数据表
CREATE TABLE erp_SubCategories (
    SubCategoryID INT AUTO_INCREMENT PRIMARY KEY COMMENT '子分类唯一标识符,主键,自动递增',
    CategoryID INT COMMENT '分类ID,外键',
    SubCategoryName VARCHAR(255) NOT NULL COMMENT '子分类名称',
    CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    UpdatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
    FOREIGN KEY (CategoryID) REFERENCES erp_Categories(CategoryID)
);

-- 商品属性表(可选,用于存储商品的可选属性,如颜色、尺寸等)
CREATE TABLE erp_ProductAttributes (
    AttributeID INT AUTO_INCREMENT PRIMARY KEY COMMENT '属性唯一标识符,主键,自动递增',
    AttributeName VARCHAR(255) NOT NULL COMMENT '属性名称',
    AttributeType ENUM('color', 'size', 'material', 'other') NOT NULL COMMENT '属性类型',
    CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    UpdatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间'
);

-- 商品变体属性关联表(可选,用于将变体与其属性关联起来)
CREATE TABLE erp_ProductVariantAttributes (
    VariantAttributeID INT AUTO_INCREMENT PRIMARY KEY COMMENT '变体属性唯一标识符,主键,自动递增',
    VariantID INT COMMENT '变体ID,外键',
    AttributeID INT COMMENT '属性ID,外键',
    AttributeValue VARCHAR(255) NOT NULL COMMENT '变体对应的属性值'

);

-- 跨境税费规则表(可选,用于存储不同国家或地区的税费规则)
CREATE TABLE erp_CrossBorderTaxRules (
    RuleID INT AUTO_INCREMENT PRIMARY KEY COMMENT '税费规则唯一标识符,主键,自动递增',
    CountryCode VARCHAR(2) NOT NULL COMMENT '国家代码(ISO 3166-1 alpha-2)',
    RegionCode VARCHAR(100) COMMENT '地区代码(可选,如州/省代码)',
    TaxRate DECIMAL(5, 2) NOT NULL COMMENT '税率',
    CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    UpdatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间'
);

-- 跨境运费规则表(可选,用于存储不同国家或地区的运费规则)
CREATE TABLE erp_CrossBorderShippingRules (
    RuleID INT AUTO_INCREMENT PRIMARY KEY COMMENT '运费规则唯一标识符,主键,自动递增',
    CountryCode VARCHAR(2) NOT NULL COMMENT '国家代码(ISO 3166-1 alpha-2)',
    RegionCode VARCHAR(100) COMMENT '地区代码(可选,如州/省代码)',
    ShippingCost DECIMAL(10, 2) NOT NULL COMMENT '运费',
    CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
    UpdatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间'
);