sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo almacenar datos complejos de productos/pedidos en MySQL?

Depende de sus objetivos para su carrito. Por ejemplo, ¿quieres permitir las compras de invitados? es decir, ¿dónde un usuario no necesita iniciar sesión para realizar una compra?

La imagen adjunta es un diseño en el que he estado trabajando y dice así:

  1. Un visitante selecciona productos del sitio y los agrega a un carrito de sesión (solo un lugar para almacenar temporalmente los productos, sus cantidades y precios, etc.)

  2. Una vez que el cliente está listo para pagar, creamos el pedido, la persona del pedido y person_address (donde se debe entregar el producto) y agregamos los artículos a la tabla order_item. Toda esta información la agrega el cliente en la página de pago.

  3. El paso final es entonces ofrecer los métodos de pago:paypal, tarjeta de crédito, etc.

Lo que me gusta de este diseño es que los usuarios no tienen obligación de registrarse con nosotros. Order_person actúa como una especie de interfaz entre los usuarios y los pedidos. Si se registra, simplemente vinculamos order_person a la tabla de usuarios...

También he incluido un ejemplo de la parte frontal de la página de pago.