IIC2413 / Syllabus-2023-2

94 stars 1 forks source link

Poblar tablas y Preprocesamiento. #285

Closed josegarafulic closed 9 months ago

josegarafulic commented 10 months ago

Todavía no entiendo si debemos volver a crear las tablas en la base de datos grupoXXe3 y poblarlas nuevamente, o si hay que simplemente importarlas desde la base de datos grupoXXe2. Esta pregunta es bastante válida teniendo en cuenta que en enunciado dice: "se les ha habilitado una base de datos denominada grupoXXe3 que posee las tablas y datos de su base anterior en donde deberán trabajar a lo largo de esta entrega". Pero esa base de datos está vacía.

La segunda pregunta es del preprocesamiento de datos, en el anuncio mencionan que formas externas a PHP estan permitidas siempre que fueran automatizadas. Si yo lo hice a través de R y copio el código en alguna parte para mostrarlo (para que se pueda replicar en caso de ser necesario), sería válido?

ypne commented 10 months ago

P: Todavía no entiendo si debemos volver a crear las tablas en la base de datos grupoXXe3 y poblarlas nuevamente R: El grupo debe crear el modelo E/R como en la E2, de ahí generar el Schema normalizado en 3NF o BCNF y luego crear las tablas. Los dataset de esta entrega son ligeramente diferentes a los de la anterior, se agregaron los atributos fecha de nacimiento, la relación entre serie y capítulo y la fecha de ejecución en el caso de los Videojuegos.

P2: La idea es que para la corrección usaremos otro dataset por lo que deben construir un script (makefile) que ejecute todas las cargas de una sola vez tanto para el dataset, como para los errores.

josegarafulic commented 10 months ago

@ypne donde podemos encontrar algún ejemplo de un script o (makefile) como el que describes? Ya que estoy muy confundido con cómo cargar los datos usando ese formato. Antes simplemente era a traves del comando "COPY". Muchas gracias de antemano.

ypne commented 10 months ago

P: cual copy? hay muchos On 17 Nov 2023 15:04 -0300, josegarafulic @.***>, wrote:

@ypnehttps://github.com/ypne donde podemos encontrar algún ejemplo de un script o (makefile) como el que describes? Ya que estoy muy confundido con cómo cargar los datos usando ese formato. Antes simplemente era a traves del comando "COPY". Muchas gracias de antemano.

— Reply to this email directly, view it on GitHubhttps://github.com/IIC2413/Syllabus-2023-2/issues/285#issuecomment-1816867455, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BBTB3VSSRHNK7NMU74Y74A3YE6RKZAVCNFSM6AAAAAA7OAT2YCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJWHA3DONBVGU. You are receiving this because you were mentioned.Message ID: @.***>

No sienta la obligación de contestar este mail fuera de horario laboral.

josegarafulic commented 10 months ago

@ypne mediante un comando copy como por ejemplo : "COPY Tabla FROM '/ruta/del/archivo.csv' DELIMITER ',' CSV HEADER;". Pero eso no es lo relevante, quería saber donde podemos encontrar un ejemplo de un script de carga o makefile como el que me mencionas, ya que no tengo claro como realizarlo. Gracias!

ypne commented 10 months ago

Se puede hacer el PHP o shellscript o lo que quieran On 17 Nov 2023 15:31 -0300, josegarafulic @.***>, wrote:

@ypnehttps://github.com/ypne mediante un comando copy como por ejemplo : "COPY Tabla FROM '/ruta/del/archivo.csv' DELIMITER ',' CSV HEADER;". Pero eso no es lo relevante, quería saber donde podemos encontrar un ejemplo de un script de carga o makefile como el que me mencionas, ya que no tengo claro como realizarlo. Gracias!

— Reply to this email directly, view it on GitHubhttps://github.com/IIC2413/Syllabus-2023-2/issues/285#issuecomment-1816901555, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BBTB3VWM23X55DPBX5G3RPTYE6UQBAVCNFSM6AAAAAA7OAT2YCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJWHEYDCNJVGU. You are receiving this because you were mentioned.Message ID: @.***>

No sienta la obligación de contestar este mail fuera de horario laboral.

josegarafulic commented 10 months ago

Y donde puedo encontrar algún ejemplo o guia de aquello en el material de clases? Ya que busque en internet pero quede incluso más confundido. Y por lo que veo en la ayudantía no aparece. Saludos!

carlosiskindacool commented 10 months ago

hola, debes hacer un php conectandote a la base de datos (eso si lo mostraron en la ayudantía 3) y dps hacer consultas sql insert sobre la base de datos conectado (eso lo dijeron en una clase pero en python no con php) y luego manejar los errores (eso no lo dijeron en clases ni ayudantías creo). eso es lo que tengo entendido. sin embargo me quiero sumar a esta issue porque, habiendo hecho varías preguntas con esto, sigue sin quedarme claro qué hacer en el caso de poblar tablas que necesiten datos que se deben extraer desde varios archivos y se relacionan de forma mas o menos compleja. se pueden hacer consultas INSERT sobre estas tablas supongo pero eso implicaría una suerte de "preprocesamiento" de los datos, cosa que se nos indicó no hacer.

josegarafulic commented 10 months ago

@ypne Porfavor responder cuando sea posible acerca de donde podemos ver un ejemplo de script de carga.

caramelnico commented 10 months ago

Como grupo nos sumamos a esta duda

NicoSkritek commented 10 months ago

No me parece bien que con un enunciado tan ambiguo e incompleto no contesten issues ya y que al contestarlas las contesten tan vagamente.

ypne commented 10 months ago

de google https://www.google.com/search?q=como+cargar+un+archivo+CSV+en+una+base+de+datos+postgresql++usando+php&sca_esv=584400697&sxsrf=AM9HkKkDtQkFarHgZNVThKvTYALFvgKvlQ%3A1700605503493&source=hp&ei=Py5dZZv_Gt7U1sQPta-h4As&iflsig=AO6bgOgAAAAAZV08Txyq7LTLLnkvms1nWKGF9Rvr5J2I&ved=0ahUKEwjbmr6XkdaCAxVeqpUCHbVXCLwQ4dUDCBM&oq=como+cargar+un+archivo+CSV+en+una+base+de+datos+postgresql++usando+php&gs_lp=Egdnd3Mtd2l6IkZjb21vIGNhcmdhciB1biBhcmNoaXZvIENTViBlbiB1bmEgYmFzZSBkZSBkYXRvcyBwb3N0Z3Jlc3FsICB1c2FuZG8gcGhwMgcQIxjqAhgnMgcQIxjqAhgnMgcQIxjqAhgnMgcQIxjqAhgnMgcQIxjqAhgnMgcQIxjqAhgnMgcQIxjqAhgnMgcQIxjqAhgnMgcQIxjqAhgnMgcQIxjqAhgnSLdsUMQJWMQJcAF4AJABAJgBAKABAKoBALgBDMgBAPgBAvgBAagCCg&sclient=gws-wiz

tambien pueden Buscar en Chat GPT

https://uneweb.com/tutoriales/Introduccion-PostgreSQL-con-PHP.pdf

ypne commented 10 months ago

<?php $host = "tu_host"; $port = "tu_puerto"; $dbname = "tu_base_de_datos"; $user = "tu_usuario"; $password = "tu_contraseña";

try { $pdo = new PDO("pgsql:host=$host;port=$port;dbname=$dbname;user=$user;password=$password"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Conexión exitosa a PostgreSQL."; } catch (PDOException $e) { echo "Error de conexión: " . $e->getMessage(); } ?>

<?php try { // Ruta al archivo CSV $csvFile = 'datos.csv';

// Tabla en la que deseas cargar los datos
$tableName = 'mi_tabla';

// Ejecutar la consulta COPY
$query = "COPY $tableName FROM '$csvFile' DELIMITER ',' CSV HEADER";
$pdo->exec($query);

echo "El archivo CSV se ha cargado correctamente en la tabla $tableName.";

} catch (PDOException $e) { echo "Error al cargar el archivo CSV: " . $e->getMessage(); } ?>