generor
{ } 생성기 Public

{ } JSON #11349

Modelo relacional de base de datos para ventas y delivery

Esquema completo de base de datos para una plataforma de comercio electrónico y reparto a domicilio, incluyendo 20 tablas con campos, tipos de datos, claves primarias, claves foráneas y enumeraciones de estado.

{ } 오브젝트 ✓ 유효함
{
    "base_de_datos": "SistemaVentasDelivery",
    "tablas": [
        {
            "nombre": "usuarios",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "nombre",
                    "tipo": "VARCHAR(100)"
                },
                {
                    "nombre": "email",
                    "tipo": "VARCHAR(255)"
                },
                {
                    "nombre": "rol",
                    "tipo": "ENUM('cliente', 'repartidor', 'admin')"
                }
            ],
            "pk": "id"
        },
        {
            "nombre": "direcciones",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "usuario_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "direccion",
                    "tipo": "TEXT"
                },
                {
                    "nombre": "coordenadas",
                    "tipo": "POINT"
                }
            ],
            "pk": "id",
            "fk": "usuario_id -> usuarios.id"
        },
        {
            "nombre": "tiendas",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "nombre",
                    "tipo": "VARCHAR(150)"
                },
                {
                    "nombre": "categoria",
                    "tipo": "VARCHAR(50)"
                }
            ],
            "pk": "id"
        },
        {
            "nombre": "productos",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "tienda_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "precio",
                    "tipo": "DECIMAL(10,2)"
                },
                {
                    "nombre": "nombre",
                    "tipo": "VARCHAR(100)"
                }
            ],
            "pk": "id",
            "fk": "tienda_id -> tiendas.id"
        },
        {
            "nombre": "pedidos",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "usuario_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "estado",
                    "tipo": "ENUM('pendiente', 'preparando', 'en_camino', 'entregado')"
                },
                {
                    "nombre": "total",
                    "tipo": "DECIMAL(10,2)"
                }
            ],
            "pk": "id",
            "fk": "usuario_id -> usuarios.id"
        },
        {
            "nombre": "detalle_pedidos",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "pedido_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "producto_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "cantidad",
                    "tipo": "INT"
                }
            ],
            "pk": "id",
            "fk": "pedido_id -> pedidos.id, producto_id -> productos.id"
        },
        {
            "nombre": "repartidores",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "usuario_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "vehiculo",
                    "tipo": "VARCHAR(50)"
                }
            ],
            "pk": "id",
            "fk": "usuario_id -> usuarios.id"
        },
        {
            "nombre": "entregas",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "pedido_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "repartidor_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "tiempo_estimado",
                    "tipo": "TIMESTAMP"
                }
            ],
            "pk": "id",
            "fk": "pedido_id -> pedidos.id, repartidor_id -> repartidores.id"
        },
        {
            "nombre": "pagos",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "pedido_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "metodo",
                    "tipo": "ENUM('tarjeta', 'efectivo', 'billetera')"
                }
            ],
            "pk": "id",
            "fk": "pedido_id -> pedidos.id"
        },
        {
            "nombre": "cupones",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "codigo",
                    "tipo": "VARCHAR(20)"
                },
                {
                    "nombre": "descuento",
                    "tipo": "DECIMAL(5,2)"
                }
            ],
            "pk": "id"
        },
        {
            "nombre": "valoraciones",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "pedido_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "puntaje",
                    "tipo": "INT"
                }
            ],
            "pk": "id",
            "fk": "pedido_id -> pedidos.id"
        },
        {
            "nombre": "horarios_tienda",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "tienda_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "dia_semana",
                    "tipo": "INT"
                }
            ],
            "pk": "id",
            "fk": "tienda_id -> tiendas.id"
        },
        {
            "nombre": "categorias_producto",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "nombre",
                    "tipo": "VARCHAR(50)"
                }
            ],
            "pk": "id"
        },
        {
            "nombre": "producto_categoria",
            "campos": [
                {
                    "nombre": "producto_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "categoria_id",
                    "tipo": "UUID"
                }
            ],
            "fk": "producto_id -> productos.id, categoria_id -> categorias_producto.id"
        },
        {
            "nombre": "notificaciones",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "usuario_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "mensaje",
                    "tipo": "TEXT"
                }
            ],
            "pk": "id",
            "fk": "usuario_id -> usuarios.id"
        },
        {
            "nombre": "soporte",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "usuario_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "estado",
                    "tipo": "ENUM('abierto', 'cerrado')"
                }
            ],
            "pk": "id",
            "fk": "usuario_id -> usuarios.id"
        },
        {
            "nombre": "mensajes_soporte",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "soporte_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "contenido",
                    "tipo": "TEXT"
                }
            ],
            "pk": "id",
            "fk": "soporte_id -> soporte.id"
        },
        {
            "nombre": "inventario",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "producto_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "cantidad",
                    "tipo": "INT"
                }
            ],
            "pk": "id",
            "fk": "producto_id -> productos.id"
        },
        {
            "nombre": "promociones",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "tienda_id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "descripcion",
                    "tipo": "TEXT"
                }
            ],
            "pk": "id",
            "fk": "tienda_id -> tiendas.id"
        },
        {
            "nombre": "auditoria",
            "campos": [
                {
                    "nombre": "id",
                    "tipo": "UUID"
                },
                {
                    "nombre": "accion",
                    "tipo": "VARCHAR(255)"
                },
                {
                    "nombre": "fecha",
                    "tipo": "TIMESTAMP"
                }
            ],
            "pk": "id"
        }
    ]
}
프롬프트: 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 con la definicion de los campos y tipos.
🤖 Gemini 3.1 Flash Lite Spanish (Spain) 1 크레딧 4.7s