Conectando Python usando ODBC a diferentes RDBMS
- Oscar Gutierrez
- 27 abr 2024
- 2 Min. de lectura

Como analista de datos en entrenamiento, incrementar la habilidades en el uso de SQL es fundamental. En los cursos que he podido tomar se comienza con el uso del lenguaje sobre un motor, pero nunca se justifica su uso, ni se matiza las implicaciones de la elección. Es por ello es que decidí explorar varios de ellos, basándome en los que he visto en numerosas vacantes.
También decidí que además de utilizar una interfaz grafica para cada motor en especifico, quería hacer el ejercicio de realizar la conexión a través de Python, el ODBC correspondiente y bibliotecas que me permitieran interactuar con la base de datos del mismo modo como lo hiciera con la interfaz grafica. Cada recuperación llegaría a un dataframe de Pandas, lo cual permite iniciar el análisis de los datos con las herramientas propias. Para el caso de Access, también se traslada la consulta a hojas de Excel, que junto a lo anterior busca una lógica de atención al usuario final.
Para este proyecto tome un documento con 75 problemas para resolver usando SQL, el cual aborde de la siguiente manera:
1.- Selección de los RDBMS e instalación de interfaz grafica.
2.- Creación de Scripts en SQL para cargar la base de datos, cuya descripción y contenido venia detallada en el libro.
3.- Carga de la base y elaboración del diagrama Entidad - Relación en la interfaz propia.
4.- Configuración del Entorno virtual en Python para cada RDBMS.
5.- Carga de bibliotecas, y archivo de configuración de DSN
6.- Exploración remota del base de datos a las tablas de sistema
7.- Resolución de cada problema propuesto en SQL en la interfaz grafica y en Pandas.
RDBMS
Sobre como elegí estos, ya lo escribí arriba. En cuanto a la instalación de la interfaz grafica, algunos puntos interesantes. Todos tienen versiones ligeras y gratuitas, pero Access solo por la nube. DB2 requiere mucho espacio para la instalación de almacenamiento para su instalación. Db BRowser no tiene una herramienta para los diagramas E-R. Oracle y DB2 requieren mayor configuración para comenzar a usarse.
SCRIPTS
Esta tarea fue inicialmente laboriosa pero una vez que quedo escrita, se reciclo constantemente. Una vez creada la instancia/usuario/esquema/archivo se puede proceder a la creación de tablas. La instrucción CREATE es la misma pero cada RDBMS maneja sus tipos de datos y sus restricciones de manera diferente, esta tuvo que ser modificada constantemente al cambiar de RDBMS
Para poder realizar el INSERT de todos los registros algunos RDBMS no admitían múltiples entradas, y en el caso de ACCESS, no solo no permitía la inserción múltiple, si no que tampoco permite la carga de Scripts, por lo que tuve que diseñar el Script en Visual Basic para poder cargar la base de Datos.
Por ultimo, si bien no venían detalladas en libro, decidí agregar la instrucción de Primary Key e incluso agregar campos adicionales para normalizar la base de datos.
CARGA DE LA BASE DE DATOS
Una vez que el script había cargado las tablas, la mayoría de los RDBMS crea automáticamente el diagrama de los atributos, algunas veces con las relaciones hechas, en otras ocasiones hubo que realizarlas. Aqui mi favorito fue SQL Server, pues su herramienta es muy flexible e intuitiva.
Hasta aquí con esta entrada. Continuara.
Comments