Inicio Novedades ManoseandoMisBD, gestión de bases de datos MySQL con IA y Python

ManoseandoMisBD, gestión de bases de datos MySQL con IA y Python

Publicado por entreunosyceros

Una vez más aquí. Por no puedo estar en todas partes al mismo tiempo, hacía ya un par de meses que no tenía un rato para publicar nada aquí. Por eso, esta tarde que me toca esperar, aprovecho para dejar aquí algo que hace unas semanas un compañero me comentó y que me pareció que puede ser una buena idea. Pues después de dedicarle unas horas y algún que otro litro de café, voy a dejar aquí publicada una versión preliminar. Se trata del programa que he bautizado como «ManoseandoMisBD«.

Estoy bastante seguro de que este pequeño problema con el que mucha gente se puede encontrar, ya estará cubierto por algunas empresas que te cobrarán una pasta por su software. Pero este pequeño programa busca aportar una rápida y segura solución que intenta combinar potencia y simplicidad para poder trabajar con bases de datos MySQL. Esta aplicación gratuita y de código abierto busca que hasta la gente que no sabe lo que es una base de datos, pueda manejar y consultar datos de una base de datos MySQL. Esto se consigue añadiendo la posibilidad de utilizar el lenguaje natural a la hora de realizar las consultas y trabajar con los datos de la base de datos de turno.

¿Qué es ManoseandoMisBD?

En el panorama actual del desarrollo de software, este programa es nada, pero por el momento empieza tener ciertas características bastante definidas. Estas características son:

  • 🚀 Interfaz simple y accesible
  • 🤖 Integración con IA (Gemini) para consultas en lenguaje natural
  • 📊 Visualización interactiva de datos
  • 🔒 Seguridad en el manejo de datos
  • 💻 Compatibilidad con Windows y Gnu/Linux. Esta versión preliminar la he probado en Windows 11, Ubuntu y Debian con buenos resultados.

Características principales de ManoseandoMisBD

1. Interfaz simple y accesible

  • Diseño responsive: Se adapta a diferentes resoluciones de pantalla
  • Navegación por pestañas: Acceso rápido a todas las funcionalidades mediante las pestañas del menú
  • Modo oscuro: A mi es que me gusta más que el tema claro …
  • Monitorización en tiempo real: Estado del servidor MySQL siempre visible
  • Fecha y hora: La fecha y la hora estarán siempre visibles, para no pasarse demasiadas horas delante del equipo

2. Gestión avanzada de bases de datos

  • Conexión simplificada: Configuración rápida de conexiones MySQL
  • Operaciones CRUD: Gestión completa de bases de datos y tablas
  • Importación/Exportación: Respaldo y restauración de bases de datos
  • Gestión visual: Manipulación intuitiva de estructuras de datos

3. Editor SQL

  • Resaltado de sintaxis: Mayor legibilidad del código
  • Autocompletado: Sugerencias inteligentes mientras escribes
  • Sistema de consultas favoritas: Guarda y organiza tus consultas frecuentes
  • Validación en tiempo real: Detecta errores antes de ejecutar la sentencia

4. Innovación con IA

  • Consultas en lenguaje natural: Se utiliza la Google Gemini API. En el programa, es necesaria la API Key gratuita de Gemini. En el programa encontrarás la URL donde obtenerla
  • Traducción automática: La IA pasa de preguntas en español a SQL
  • Privacidad garantizada: Solo se procesa la estructura de la BD. En ningún momento se envían datos guardados en la base de datos a la IA
  • Ejemplos contextuales: Sugerencias basadas en la estructura de la base de datos

5. Visualización de datos

  • Diagramas Interactivos: Representa visualmente tus bases de datos
  • Zoom y navegación: Explora grandes estructuras de datos
  • Exportación de diagramas: Documentación visual en formato PNG
  • Personalización: Ajusta la visualización a tus necesidades

Guía de uso

Primeros pasos

  1. Instalación:

Descarga el proyecto desde el repositorio de GitHub en el que lo he alojado siguiendo estos pasos:

   git clone https://github.com/sapoclay/manoseandomisbd.git
   cd ManoseandoMisBD
   pip install -r requirements.txt
  1. Configuración Inicial
  • Instala MySQL Server 8.0 o superior en tu equipo
  • Inicia la aplicación con python main.py
  • Obtén tu API key de Google Cloud y añádela desde el formulario de la pestaña «Consultas de lenguaje natural»

Funcionalidades principales de ManoseandoMisBD

Gestión de Conexiones

MonoseandoMisBD pestaña conexión
  1. Abre la pestaña «Conexión».
  2. Ingresa los datos del servidor MySQL. El puesto 3306 es el que yo utilizo.
  3. Establece la conexión con un clic.
  4. Selecciona la base de datos sobre la que vas a trabajar.
  5. Cuando te conectes al servidor MySQL también podrás crear una nueva base de datos, eliminar alguna de las bases de datos existentes, exportar alguna de las bases de datos existentes o importar alguna base de datos desde un archivo .sql.

Visualización

Pestaña visualización
  1. Abre la pestaña «Visualización».
  2. Pulsa el botón «Generar Diagrama» y verás como se genera un gráfico con todas las tablas que formen la base de datos a la que te conectaste en la pestaña «Conexión».
  3. En el desplegable «Detalles de las tablas» podrás seleccionar la tabla de la base de datos que quieras consultas, y verás la información relacionada con la tabla (NO CON EL CONTENIDO).

Consultas SQL

Pestaña Sentencias SQL
  1. Navega a la pestaña «Consultas SQL».
  2. Escribe o importa tu consulta.
  3. Valida y ejecuta.
  4. Guarda las consultas útiles.
  5. Para utilizar las sugerencias, puedes usar el ratón o utilizar la tecla TAB para seleccionar la sugerencia.

Consultas en Lenguaje Natural

Lenguaje natural ManoseandoMisBD
  1. Accede a «Consultas en Lenguaje Natural».
  2. Escribe tu pregunta en español.
  3. La IA generará la consulta SQL.
  4. Revisa y ejecuta.
  5. El botón mostrar ejemplos cargará ejemplos básicos de uso en la parte inferior de la pantalla relacionados con la base de datos a la que te conectes en la pestaña Conexión.
  6. En el cuadro de texto que aparece donde dice API Key, es donde se debe añadir la API Key de Gemini que puedes obtener de forma gratuita en https://ai.google.dev/gemini-api/docs?hl=es-419. Evidentemente esto solo es una versión para desarrolladores, pero para lo básico, funciona perfectamente bien.

Especificaciones técnicas de ManoseandoMisBD

Requisitos del Sistema

  • Sistema Operativo: Windows 10/11 o GNU/Linux
  • Python: Versión 3.12 o superior
  • MySQL: Server 8.0 o superior
  • RAM: 4GB mínimo recomendado
  • Espacio: 500MB libre en disco

Tecnologías utilizadas

  • Frontend: CustomTkinter/Tkinter
  • Backend: Python 3.12
  • Base de Datos: MySQL
  • Visualización: Matplotlib
  • IA: Google Gemini API

Seguridad y privacidad

Protección de datos

  • Sin almacenamiento de datos sensibles
  • Validación de consultas peligrosas
  • Confirmación de operaciones críticas
  • Compatible con GDPR
  • Protección de datos personales
  • Auditoría de operaciones
  • Control de acceso

Si en algún momento me decido a seguir con este proyecto, todas las actualizaciones llegarán mediante el repositorio en GitHub del proyecto.

Conclusión sobre ManoseandoMisBD

ManoseandoMisBD no es nada más que una «neura» que me pegó hace unas semanas, pero que creo que puliéndolo un poco podría llegar a resultar algo útil para todos aquellos que no tienen mucha idea de qué son las bases de datos pero que necesitan hacer uso de ellas. Además, bien pensado esto podría utilizarse en gran cantidad de situaciones y negocios a los que también les podría resultar útil. Por que aun que alguna gente dice tener miedo a utilizar las IA, estas también te pueden hacer la vida más sencilla, y como siempre he dicho … si puedes hacer las cosas fáciles ¿para qué vas a hacerlas complicadas?

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Resumen de privacidad
cookies entreunosyceros

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudarnos a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal de ningún tipo.

Tienes toda la información sobre privacidad, derechos legales y cookies en nuestra página sobre la política de privacidad o en la página sobre nuestra política de cookies.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza las siguientes cookies adicionales:

- Mailchimp: Recordar si ya estás suscrito al boletín de noticias y sino ofrecértelo al salir.

- Accesibilidad: Para saber tus ajustes de accesibilidad en cada visita.

- Comentarios: Saber si has leído y aceptado nuestra política de privacidad a la hora de dejar un comentario en la web.

- Google Analytics: Localización para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

- Goggle Adsense: Anuncios personalizados según tu geolocalización y preferencias.

Dejar estas cookies activadas nos permite mejorar nuestra web.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.