Dia 2 - Importació de dades i pràctica de consultes

Aprèn com importar dades de manera segura i eficient, utilitzant Docker i consultes SQL. Descobreix eines per generar dades de prova i pràctiques recomanades per mapar columnes. Demà explorarem funcions de maneig de cadenes i dates en SQL.

sábado, 16 de agosto de 2025 • 4 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Dia 2 - Importar dades i practicar consultes

Avui aprendrem com localitzar dades estructurades i com importar-les a la nostra base de dades de manera segura i eficient.

Generar dades de prova és molt útil per validar processos. Existeixen eines en línia com Mockaroo que permeten crear conjunts de dades i descarregar-los en format CSV, un dels formats de text més populars per a l'intercanvi de dades. Assegura't que les capçaleres del CSV coincideixin amb els noms de les columnes de la taula o prepara't per mapar-les manualment. Parla atenció als tipus de dades com dates, números i text. Mockaroo i altres eines permeten generar dades en el format correcte per evitar problemes en importar.

Preparar el contenidor Docker per a la importació requereix que el contenidor pugui accedir al fitxer CSV. Com que els contenidors són aïllats, la solució habitual és crear un volum compartit entre l'amfitrió i el contenidor. Per exemple, pots aturar el contenidor amb docker stop travel_mania_container i eliminar-lo amb docker rm travel_mania_container, crear una carpeta de projecte i un subdirectori container_data al teu equip i executar 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 manera que el fitxer CSV col·locat a container_data a l'amfitrió sigui accessible des de /data dins del contenidor. Després d'aquesta operació, recorda recrear la taula users si l'havies eliminat.

Importar CSV es pot fer mitjançant sentències SQL o mitjançant la interfície gràfica del teu client SQL. Si els noms de columna del CSV no coincideixen exactament amb la definició de la taula, hi ha diverses opcions per mapar correctament els camps.

Usant l'ordre de columnes, pots indicar explícitament l'ordre esperat a la sentència COPY. Exemple de sintaxi: COPY users (id, email, username, first_name, last_name, created_at, updated_at) FROM /data/MOCK_DATA.csv DELIMITER , CSV HEADER; d'aquesta manera PostgreSQL omet la primera fila i col·loca les columnes segons l'ordre especificat a la llista.

Una altra opció és importar primer a una taula temporal que reflecteixi exactament el CSV i després inserir a la taula real amb el mapatge desitjat. Exemple de flux: 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; Aquest enfocament permet validar i transformar dades abans de poblar la taula principal.

Pràctica de consultes: pregunta 1 Troba tots els usuaris el nom dels quals comença amb la lletra J i el cognom dels quals comença amb la lletra F ordenats per nom ascendent. Consulta exemple: 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 consultes: pregunta 2 Troba usuaris el nom d'usuari dels quals conté números i agrupa'ls per domini del correu electrònic, per exemple gmail.com o yahoo.com. Consulta exemple: 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;

Resum del dia 2 Hem après a importar conjunts de dades grans usant la sentència COPY, a preparar contenidors Docker amb volums compartits i a mapar columnes quan els noms no coincideixen. Demà veurem funcions de maneig de cadenes com SPLIT_PART, LENGTH, TRIM i funcions de data com AGE, DATE_PART, TO_CHAR per netejar i transformar dades directament en SQL.

Sobre Q2BSTUDIO A Q2BSTUDIO som una empresa de desenvolupament de programari i aplicacions a mida especialitzada en solucions tecnològiques avançades. Oferim programari a mida, desenvolupament d'aplicacions a mida, projectes d'intel·ligència artificial i IA per a empreses, i disseny d'agents IA personalitzats. També cobrim ciberseguretat, serveis cloud AWS i Azure, i serveis d'intel·ligència de negoci incloent implementacions amb Power BI. El nostre equip integra experiència en intel·ligència artificial, analítica i seguretat per ajudar les empreses a transformar dades en valor real. Si busques programari a mida, aplicacions a mida, solucions de ciberseguretat, o projectes d'intel·ligència artificial i agents IA per millorar processos, Q2BSTUDIO pot ajudar-te a dissenyar, desenvolupar i implementar la solució adequada.

Paraules clau integrades aplicacions a mida, programari a mida, intel·ligència artificial, ciberseguretat, serveis cloud AWS i Azure, serveis d'intel·ligència de negoci, IA per a empreses, agents IA, Power BI per millorar posicionament web.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.