diseño de la base de datos de la plataforma de comercio electrónico

El siguiente es un resumen de la experiencia en la base de datos de diseñar sus propias órdenes en el módulo de diseño de sistemas de comercio electrónico, que ahora se publica para compartirlos, si es apropiado, dio la bienvenida al hilo de discusión ~

tabla de pedidos (la Orden)
| - numeración automática (order_id, un aumento de la clave primaria)
| - Compre un solo número (order_no, valor único para consultas de los clientes)
| - ID de tienda (shop_id, mesa tienda número automático)
| - órdenes estado (ORDER_STATUS, sin pagar, pago, enviado, recibido, devuelva la solicitud, a cambio, ha vuelto a cancelar la transacción)
| - la cantidad (product_count, el número de artículos de consumo, no una mercancía)
| - Total (product_amount_total)
| - cantidad de la orden (order_amount_total, el importe del pago real)
| - cantidades de carga (logistics_fee)
| - si la inspección caja (is_unpacking_inspection)
| - ya sea de facturación (si es facturado)
| - número de factura ( pedidos, facturas tabla de números automática)
| - número de la dirección de envío (address_id, envío de tablas de direcciones se numeran automáticamente)
| - Orden de logística número (orderlogistics_id, mesas orden de la logística se numeran automáticamente)
| - canales de requerimiento de pago (pay_channel)
| - órdenes que pagar un solo número (out_trade_no / escrow_trade_no, el número de terceros de pago en serie)
| - tiempo de creación (una sola vez)
| - tiempo de pago
| - tiempo de entrega
| - ID de cliente (user_id, tablas de usuario se numeran automáticamente)
| - cliente nota
| - estado de la orden de liquidación (order_settlement_status, contra reembolso, se utilizará el pago a plazos)
| - tiempo de liquidación de la orden (order_settlement_time)

Pedidos Facturas mesa (order_invoice)
| - numeración automática (INVOICE_ID)
| - número de orden (order_id)
| - si el IVA de la factura (is_vat, facturas, facturas generales de valor añadido)
| - nombre de la factura (invoice_title)
| - contenido de las facturas (invoice_content)
| - importe de la factura (INVOICE_AMOUNT)
| - factura de identificación fiscal (invoice_tax_no)
| - impuestos de facturación (invoice_tax)
| - nombre de la empresa [IVA] (vat_company_name)
| - dirección [de valor añadido IVA] (vat_company_address)
| - teléfono [IVA] (vat_telphone)
| - Banco [IVA] (vat_bank_name)
| - cuenta bancaria [IVA] (vat_bank_account)
| - tiempo de facturación (CREATED_TIME)

tabla de orden de Logística (order_logistics)
| - numeración automática (orderlogistics_id)
| - número de orden (order_id, formulario de pedido automática de número)
| - logística un solo número (express_no, de entrega urgente un solo número)
| - nombre del consignatario ( consignee_realname, tabla de direcciones de envío puede ser actualizada o eliminada, y por lo tanto incluye aquí)
| - teléfono (consignee_telphone, tabla de direcciones de envío puede ser actualizada o eliminada, y por lo tanto incluye aquí)
| - teléfono en espera (consignee_telphone2, los ingresos tabla de direcciones de carga puede ser actualizada o eliminada, y por lo tanto incluye aquí)
| - la dirección de envío (consignee_address, tabla de direcciones de envío puede ser actualizada o eliminada, y por lo tanto incluye aquí)
| - el código postal (consignee_zip, envío tabla de direcciones pueden ser actualizados o borrados, y por lo tanto grabada aquí)
| - métodos de logística (logistics_type, el EMS, Express)
| - logística número de empresa (logistics_id, logística y tablas de negocios están numerados de forma automática)
| - logística de transporte de mercancías (logistics_fee, para mostrar envío de pedidos de los clientes)
| - las tasas de recaudación pAGO (agency_fee, colección de mensajería de las tasas de dinero, tales como 2% -5% del valor, generalmente mensual)
| - los costes logísticos de oro (Delivery_amount, la cantidad pagada a la empresa de logística)
| - Estado de Logística (orderlogistics_status)
| - Logística estado de liquidación (logistics_settlement_status, sin resolver, asentado, liquidación parcial)
| - Logística última descripción de estado (logistics_result_last)
| - Logística Descripción (logistics_result)
| - tiempo de entrega (logistics_create_time)
| - Actualización Logística tiempo (logistics_update_time)
| - logística momento de la liquidación (logistics_settlement_time)
| - logística canales de pago
| - logística pagan un solo número
| - empresa de logística estado reconciliados (reconciliation_status, se ha conciliado, sin reconciliarse)
| - logística fecha de la reconciliación empresa (reconciliation_time)
Descripción: dirección de entrega puede ser modificado, borrado, etc., y por lo tanto a continuación para registrar la dirección de envío del usuario cuando se envían, por lo que incluso si se elimina después dirección de entrega, los usuarios con el fin de ver la historia del tiempo nos gustaría seguir siendo capaz de ver una instantánea de la dirección de envío de la información.

Las órdenes de restitución forma (order_returns)
| - numeración automática (order_returns_id)
| - Devuelve el número (returns_no, para consultas de los clientes)
| - número de orden (order_id, formulario de pedido automática de número)
| - logística un solo número (express_no, la logística de retorno solo número)
| - nombre del destinatario (consignee_realname)
| - teléfono (consignee_telphone)
| - teléfono en espera (consignee_telphone2)
| - dirección de envío (consignee_address)
| - el código postal (consignee_zip)
| - la logística de modo (logistics_type, el EMS, Express)
| - logística número de negocios
| - logística de transporte de mercancías (logistics_fee, envío de devolución)
| - estado de logística (orderlogistics_status)
| - logística último estado Descripción
| - Descripción de logística
| - - logística actualizados
| - logística y tiempo de entrega
| - tipo de retorno (returns_type, toda devolución de cargo, que forma parte de cargo)
| - manipulación de retorno (handling_way, PUPAWAY: almacenamiento de retorno; re-entrega: entregar de nuevo; RECLAIM- entrega de éstos: no requiere el retorno y esto ocurra; reembolso: el reembolso; compensación: no retorno y compensación)
| - Importe de la devolución (returns_amount)
| - asumir el coste de vendedor de retorno (seller_punish_fee)
| - Volver Solicitud Tiempo (return_submit_time)
| - Volver Tiempo de procesamiento (handling_time)
| - Motivo de la devolución
Diseño Descripción: Vuelve puede ser modificar, borrar, etc., por lo que la información de la dirección de retorno que va a grabar aquí cuando regresan las empresas,

Detalles del producto tabla Pedidos (Order_Detail)
| - numeración automática
| - número de pedido
| - Código del producto
| - nombre del producto (product_name, mercancía podrá ser devuelto, por lo que no se va a grabar, no puede leer directamente tabla de productos)
| - Los precios de materia (PRODUCT_PRICE, las mercancías pueden ser borrados, para ser grabada aquí)
| - modelo del producto (product_marque, recepción para mostrar al cliente)
| - código de barras del producto (product_store_barcode, mercancías del almacén de código de barras)
| - modelo de información de producto (product_mode_desc, registro detallado modelo de producto tales como color, tamaño, embalaje, etc.)
| - parámetros de modelo del producto (product_mode_params, formato JSON, número de unidad de grabación, número de color, número de tamaño, etc.)
| - un porcentaje de descuento (discount_rate conectó un fuera de unos pocos)
| - importe de descuento (DISCOUNT_AMOUNT )
| - la cantidad (número de la)
| - cantidad subtotal (el subtotal)
| - productos básicos es válido (is_product_exists)
| - observaciones de bienes de los clientes (observación)
diseño del producto puede ser modificado, borrado, etc., y por lo tanto aquí registro de comercio de productos básicos información de resumen en que los problemas de un solo usuario, tales como parámetros de precio, cantidad, tipo, modelo. Así que incluso si los productos se han eliminado más tarde, el usuario historial de pedidos de visión, también aún así ser capaz de ver una instantánea de la información sobre los productos.

Envío de la tabla de direcciones (delivery_address)
| - numeración automática (address_id)
| - ID de usuario (user_id, tablas de usuario están numeradas de forma automática)
| - nombre del destinatario (nombre real)
| - Teléfono (Celular)
| - repuesto teléfono (telphone2)
| - nacional (país)
| - provincia (provincia)
| - urbana (ciudad)
| - área (área)
| - calle / envío de la dirección (calle)
| - código postal (ZIP)
| - si por defecto dirección de envío (is_default_address)
| - tiempo de creación (CREATED_TIME)

Cesta de mesa (carrito de la compra)
| - numeración automática (por encima de la Identificación del mencionado)
| - ID (user_id)
| - Tienda ID (shop_id)
| - Número (product_id)
| - es válido (is_product_exists)
| - Comprar número (número el)
| - tiempo de creación (CREATED_TIME)
de diseño Descripción: los precios de las materias primas y la cantidad subtotal es para ser leído y calcular en tiempo real la tabla elemento relacionado, ya que los comerciantes pueden cambiar en los precios de las materias primas, o la mercancía ha sido vendido, o mercancía fuera de la plataforma y así sucesivamente, por lo que aquí sólo se necesita para grabar lata Identificación de los productos básicos, los precios de las materias primas y el otro acceso en tiempo real a los productos de la tabla.

=módulo de expansión Pedidos diseñado para telemarketing========

tabla de orden proceso de revisión de negocios (order_auditbiz)
| - numeración automática (order_auditbiz_id)
| - número de orden (order_id)
| - Estado de pedidos (0: no auditoría o iniciar una transacción; 1: finalización de la transacción; 20: una sola pasada nuclear; 24 : solo fallo nuclear; 30: enviado; no firmar; 34: almacén para volver; 40: agente cancelado; 41: compradores canceladas; 42: cancelaciones finales; 43: órdenes no válidas canceladas; 50: muestra cliente; 54: cliente se negó ; 55: devoluciones de los clientes)
| - el personal de ventas directamente para confirmar la orden (el orden no requiere que el auditor confirmar hacer valer directamente aprobado, como las devoluciones de los clientes que el vendedor debe asumir los gastos de envío de retorno) (is_seller_risk_confirm)
| - devoluciones de pedidos, ya sea vendedor llevar la carga (is_seller_punish
_logistics_fee)
| - si el vendedor de la comisión (is_seller_commission)
| - vendedor porcentaje de comisión (seller_commission_rate, el relleno no comisionado 0)
| - monto de la comisión vendedor (seller_commission_amount)
| - notas de pedido vendedor ( seller_remark, para ordenar el auditor para ver Observaciones)
| - órdenes notas Solicitud auditor (confirmer_remark, al almacén para ver Observaciones)
| - Observaciones de almacén (storekeeper_returnback_remark, volver almacén a la revisión de la orden Ver Observaciones)
| - Notas Financieros (cashier_remark, vendedores financiera para ver Observaciones)
| - número de usuario vendedor (seller_uid)
| - Órdenes número de usuario auditor (auditor_uid)
| - número de usuario beneficiario (cashier_uid, el destinatario no es necesariamente financiera)
| - número de usuario Financiera (accountant_uid, agentes financieros ID de usuario)
| - Solicitar Fuente ( order_source, órdenes de venta, compra en el interior)
| - órdenes de tiempo de auditoría auditor (auditor_audited_time)
| - trabajadores del almacén tiempo de auditoría (storekeeper_audited_time)
| - tiempo de auditoría financiera (accountant_audited_time)

tabla de pedidos comisión (order_commission)
| - numeración automática (order_commission_id)
| - número de orden (order_id)
| - número de usuario vendedor (seller_uid)
| - monto de la comisión (commission_amount)
| - Estado de liquidación (settlement_status)
| - - momento de la liquidación (settlement_time)
| - agentes financieros número de usuario (cashier_uid)

horario de pedidos (order_dispatch)
| - numeración automática
| - número de pedido
| - vendedores programadas número de usuario (from_seller_uid)
| - Los vendedores número de usuario (to_seller_uid)
| - razones de programación (dispatch_reason)
| - administrador de programación (diapatch_admin_uid)
| - fecha prevista (CREATED_TIME)

principios de diseño de base de datos son:

  1. Para mejorar el rendimiento de lectura, escritura tanto como sea posible para dividir la operación en otra tabla, porque la operación de actualización de la tabla hará que la tabla de bloqueo, puede degradar el rendimiento de lectura de datos tabla.
  2. Parte de la información relacionada puede ser modificado o eliminado en un momento posterior de la transacción, tales como el comercio, dirección de envío, etc., por lo que la información del producto y dirección de envío en el momento de la transacción que se graban en el orden, mientras que más tarde, cuando los bienes o dirección de envío que se eliminan, todavía podrá ver una instantánea de la información sobre la historia de la orden.
  3. No tenga miedo a dividirse en muchas mesas, tiempo asociado con varias tablas lectura leído, muchos será más alta que la lectura de un campo grande de cantidades muy grandes de eficiencia de las tablas de datos.
Publicó un artículo original · ganado elogios 0 · Vistas 531

Supongo que te gusta

Origin blog.csdn.net/qq_40522470/article/details/104776389
Recomendado
Clasificación