generor
{ } Gerador Public

{ } JSON #11348

Modelo relacional para sistema de ventas

Estructura JSON que define el esquema de base de datos para una aplicación de ventas y domicilios, incluyendo tablas, campos, tipos de datos, llaves primarias, foráneas y enumeraciones.

{ } Objeto ✓ Válido
{
    "sistema_ventas": {
        "enumeraciones": {
            "estado_pedido": [
                "PENDIENTE",
                "EN_PREPARACION",
                "EN_RUTA",
                "ENTREGADO",
                "CANCELADO"
            ],
            "tipo_pago": [
                "EFECTIVO",
                "TARJETA_CREDITO",
                "TRANSFERENCIA",
                "PAYPAL"
            ]
        },
        "tablas": [
            {
                "nombre": "usuarios",
                "columnas": [
                    "id",
                    "nombre",
                    "email",
                    "password_hash",
                    "telefono",
                    "rol"
                ]
            },
            {
                "nombre": "direcciones",
                "columnas": [
                    "id",
                    "usuario_id",
                    "direccion",
                    "ciudad",
                    "codigo_postal",
                    "es_principal"
                ]
            },
            {
                "nombre": "categorias",
                "columnas": [
                    "id",
                    "nombre",
                    "descripcion"
                ]
            },
            {
                "nombre": "productos",
                "columnas": [
                    "id",
                    "categoria_id",
                    "nombre",
                    "precio",
                    "stock",
                    "descripcion"
                ]
            },
            {
                "nombre": "pedidos",
                "columnas": [
                    "id",
                    "usuario_id",
                    "direccion_id",
                    "fecha",
                    "estado",
                    "total"
                ]
            },
            {
                "nombre": "detalle_pedidos",
                "columnas": [
                    "id",
                    "pedido_id",
                    "producto_id",
                    "cantidad",
                    "precio_unitario"
                ]
            },
            {
                "nombre": "pagos",
                "columnas": [
                    "id",
                    "pedido_id",
                    "metodo",
                    "fecha",
                    "monto"
                ]
            },
            {
                "nombre": "restaurantes",
                "columnas": [
                    "id",
                    "nombre",
                    "direccion",
                    "telefono"
                ]
            },
            {
                "nombre": "repartidores",
                "columnas": [
                    "id",
                    "nombre",
                    "vehiculo",
                    "disponibilidad"
                ]
            },
            {
                "nombre": "envios",
                "columnas": [
                    "id",
                    "pedido_id",
                    "repartidor_id",
                    "fecha_entrega"
                ]
            },
            {
                "nombre": "cupones",
                "columnas": [
                    "id",
                    "codigo",
                    "descuento",
                    "fecha_vencimiento"
                ]
            },
            {
                "nombre": "resenas",
                "columnas": [
                    "id",
                    "usuario_id",
                    "pedido_id",
                    "calificacion",
                    "comentario"
                ]
            },
            {
                "nombre": "inventario",
                "columnas": [
                    "id",
                    "producto_id",
                    "restaurante_id",
                    "cantidad"
                ]
            },
            {
                "nombre": "promociones",
                "columnas": [
                    "id",
                    "producto_id",
                    "porcentaje",
                    "activo"
                ]
            },
            {
                "nombre": "carrito",
                "columnas": [
                    "id",
                    "usuario_id"
                ]
            },
            {
                "nombre": "carrito_items",
                "columnas": [
                    "id",
                    "carrito_id",
                    "producto_id",
                    "cantidad"
                ]
            },
            {
                "nombre": "historial_estados",
                "columnas": [
                    "id",
                    "pedido_id",
                    "estado",
                    "timestamp"
                ]
            },
            {
                "nombre": "notificaciones",
                "columnas": [
                    "id",
                    "usuario_id",
                    "mensaje",
                    "leido"
                ]
            },
            {
                "nombre": "metodos_pago_usuario",
                "columnas": [
                    "id",
                    "usuario_id",
                    "token_pago",
                    "tipo"
                ]
            },
            {
                "nombre": "logs_sistema",
                "columnas": [
                    "id",
                    "evento",
                    "usuario_id",
                    "fecha"
                ]
            }
        ],
        "relaciones": [
            {
                "origen": "direcciones.usuario_id",
                "destino": "usuarios.id"
            },
            {
                "origen": "productos.categoria_id",
                "destino": "categorias.id"
            },
            {
                "origen": "pedidos.usuario_id",
                "destino": "usuarios.id"
            },
            {
                "origen": "detalle_pedidos.pedido_id",
                "destino": "pedidos.id"
            },
            {
                "origen": "envios.pedido_id",
                "destino": "pedidos.id"
            },
            {
                "origen": "envios.repartidor_id",
                "destino": "repartidores.id"
            }
        ],
        "indices": [
            {
                "tabla": "usuarios",
                "campo": "email",
                "tipo": "UNIQUE"
            },
            {
                "tabla": "pedidos",
                "campo": "usuario_id",
                "tipo": "INDEX"
            },
            {
                "tabla": "productos",
                "campo": "nombre",
                "tipo": "INDEX"
            }
        ]
    }
}
Prompt: 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édito 2.9s