generor
{ } Générateur Public

{ } JSON #11351

Modelo relacional para sistema de ventas y domicilios

Estructura JSON que define el esquema de base de datos relacional para un sistema de e-commerce con gestión de pedidos y repartos, incluyendo 20 tablas, tipos de datos, llaves primarias, foráneas e índices.

{ } Objet ✓ Valide
{
    "sistema_ventas": {
        "tablas": {
            "usuarios": {
                "campos": {
                    "id": "PK",
                    "nombre": "VARCHAR",
                    "email": "VARCHAR",
                    "rol": "ENUM('cliente', 'repartidor', 'admin')"
                }
            },
            "perfiles": {
                "campos": {
                    "id": "PK",
                    "usuario_id": "FK",
                    "telefono": "VARCHAR",
                    "direccion_predeterminada": "TEXT"
                }
            },
            "categorias": {
                "campos": {
                    "id": "PK",
                    "nombre": "VARCHAR"
                }
            },
            "productos": {
                "campos": {
                    "id": "PK",
                    "categoria_id": "FK",
                    "nombre": "VARCHAR",
                    "precio": "DECIMAL"
                }
            },
            "inventario": {
                "campos": {
                    "id": "PK",
                    "producto_id": "FK",
                    "cantidad": "INT"
                }
            },
            "clientes": {
                "campos": {
                    "id": "PK",
                    "usuario_id": "FK"
                }
            },
            "pedidos": {
                "campos": {
                    "id": "PK",
                    "cliente_id": "FK",
                    "estado": "ENUM('pendiente', 'en_ruta', 'entregado')",
                    "fecha": "TIMESTAMP"
                }
            },
            "detalle_pedido": {
                "campos": {
                    "id": "PK",
                    "pedido_id": "FK",
                    "producto_id": "FK",
                    "cantidad": "INT"
                }
            },
            "pagos": {
                "campos": {
                    "id": "PK",
                    "pedido_id": "FK",
                    "metodo": "ENUM('efectivo', 'tarjeta', 'transferencia')",
                    "monto": "DECIMAL"
                }
            },
            "repartidores": {
                "campos": {
                    "id": "PK",
                    "usuario_id": "FK",
                    "vehiculo": "VARCHAR"
                }
            },
            "envios": {
                "campos": {
                    "id": "PK",
                    "pedido_id": "FK",
                    "repartidor_id": "FK",
                    "ubicacion_actual": "POINT"
                }
            },
            "direcciones": {
                "campos": {
                    "id": "PK",
                    "cliente_id": "FK",
                    "coordenadas": "POINT"
                }
            },
            "cupones": {
                "campos": {
                    "id": "PK",
                    "codigo": "VARCHAR",
                    "descuento": "DECIMAL"
                }
            },
            "pedido_cupon": {
                "campos": {
                    "id": "PK",
                    "pedido_id": "FK",
                    "cupon_id": "FK"
                }
            },
            "resenas": {
                "campos": {
                    "id": "PK",
                    "pedido_id": "FK",
                    "calificacion": "INT",
                    "comentario": "TEXT"
                }
            },
            "logs_auditoria": {
                "campos": {
                    "id": "PK",
                    "accion": "VARCHAR",
                    "fecha": "TIMESTAMP"
                }
            },
            "configuracion": {
                "campos": {
                    "id": "PK",
                    "clave": "VARCHAR",
                    "valor": "VARCHAR"
                }
            },
            "metodos_pago": {
                "campos": {
                    "id": "PK",
                    "nombre": "VARCHAR"
                }
            },
            "notificaciones": {
                "campos": {
                    "id": "PK",
                    "usuario_id": "FK",
                    "mensaje": "TEXT"
                }
            },
            "historial_estados": {
                "campos": {
                    "id": "PK",
                    "pedido_id": "FK",
                    "estado": "VARCHAR",
                    "fecha": "TIMESTAMP"
                }
            }
        },
        "indices": [
            "CREATE INDEX idx_pedidos_cliente ON pedidos(cliente_id)",
            "CREATE INDEX idx_productos_categoria ON productos(categoria_id)",
            "CREATE INDEX idx_envios_repartidor ON envios(repartidor_id)"
        ]
    }
}
Invite : generame el modelo relacional sql, para una aplicacion de ventas y domicilios, entregamelo en forma json con indices y relaciones y enumeraciones necesarias, las definiciones de las tablas y campos.al menos 20 tablas
🤖 Gemini 3.1 Flash Lite Spanish (Spain) 1 crédit 2.7s