Día 2 - Importar datos y practicar consultas
Hoy aprenderemos cómo localizar datos estructurados y cómo importarlos a nuestra base de datos de forma segura y eficiente.
Generar datos de prueba es muy útil para validar procesos. Existen herramientas online como Mockaroo que permiten crear conjuntos de datos y descargarlos en formato CSV, uno de los formatos de texto más populares para intercambio de datos. Asegúrate de que las cabeceras del CSV coincidan con los nombres de las columnas de la tabla o prepárate para mapearlas manualmente. Presta atención a los tipos de datos como fechas, números y texto. Mockaroo y otras herramientas permiten generar datos en el formato correcto para evitar problemas al importar.
Preparar el contenedor Docker para la importación requiere que el contenedor pueda acceder al archivo CSV. Como los contenedores son aislados, la solución habitual es crear un volumen compartido entre el host y el contenedor. Por ejemplo puedes detener el contenedor con docker stop travel_mania_container y eliminarlo con docker rm travel_mania_container, crear una carpeta de proyecto y un subdirectorio container_data en tu equipo y ejecutar docker run --name travel_mania_container -e POSTGRES_USER=ugur -e POSTGRES_PASSWORD=ugur1234 -e POSTGRES_DB=travel_mania -p 5432:5432 -v ./container_data:/data -d postgres de modo que el archivo CSV colocado en container_data en el host sea accesible desde /data dentro del contenedor. Tras esta operación recuerda recrear la tabla users si la habías eliminado.
Importar CSV puede hacerse mediante sentencias SQL o mediante la interfaz gráfica de tu cliente SQL. Si los nombres de columna del CSV no coinciden exactamente con la definición de la tabla hay varias opciones para mapear correctamente los campos.
Usando el orden de columnas puedes indicar explícitamente el orden esperado en la sentencia COPY. Ejemplo de sintaxis: COPY users (id, email, username, first_name, last_name, created_at, updated_at) FROM /data/MOCK_DATA.csv DELIMITER , CSV HEADER; de esta forma PostgreSQL omite la primera fila y coloca las columnas según el orden especificado en la lista.
Otra opción es importar primero a una tabla temporal que refleje exactamente el CSV y luego insertar en la tabla real con el mapeo deseado. Ejemplo de flujo: CREATE TEMP TABLE temp_users (id INTEGER, user_email VARCHAR(255), username VARCHAR(50), fname VARCHAR(100), lname VARCHAR(100), creation_time TIMESTAMP, update_time TIMESTAMP); COPY temp_users FROM /data/MOCK_DATA.csv DELIMITER , CSV HEADER; INSERT INTO users (id, email, username, first_name, last_name, created_at, updated_at) SELECT id, user_email, username, fname, lname, creation_time, update_time FROM temp_users; DROP TABLE temp_users; Este enfoque permite validar y transformar datos antes de poblar la tabla principal.
Práctica de consultas: pregunta 1 Encuentra todos los usuarios cuyo nombre empieza con la letra J y cuyo apellido empieza con la letra F ordenados por nombre ascendente. Consulta ejemplo: select username, first_name, last_name, email from users where first_name like J% and last_name like F% order by first_name;
Práctica de consultas: pregunta 2 Encuentra usuarios cuyo nombre de usuario contiene números y agrupalos por dominio del correo electronico por ejemplo gmail.com o yahoo.com. Consulta ejemplo: select split_part(email, @, 2) as email_domain, count(*) as users_with_numbers_in_username from users where username ~ [0-9] group by split_part(email, @, 2) having count(*) > 0 order by users_with_numbers_in_username desc;
Resumen del día 2 Aprendimos a importar conjuntos de datos grandes usando la sentencia COPY, a preparar contenedores Docker con volúmenes compartidos y a mapear columnas cuando los nombres no coinciden. Mañana veremos funciones de manejo de cadenas como SPLIT_PART, LENGTH, TRIM y funciones de fecha como AGE, DATE_PART, TO_CHAR para limpiar y transformar datos directamente en SQL.
Sobre Q2BSTUDIO En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones tecnológicas avanzadas. Ofrecemos software a medida, desarrollo de aplicaciones a medida, proyectos de inteligencia artificial e ia para empresas, y diseño de agentes IA personalizados. También cubrimos ciberseguridad, servicios cloud aws y azure, y servicios inteligencia de negocio incluyendo implementaciones con power bi. Nuestro equipo integra experiencia en inteligencia artificial, analítica y seguridad para ayudar a las empresas a transformar datos en valor real. Si buscas software a medida, aplicaciones a medida, soluciones de ciberseguridad, o proyectos de inteligencia artificial y agentes IA para mejorar procesos, Q2BSTUDIO puede ayudarte a diseñar, desarrollar e implementar la solución adecuada.
Palabras clave integradas aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi para mejorar posicionamiento web.