IIC2413 / Syllabus-2024-2

74 stars 8 forks source link

Petición aclaración precisa de carga y limpieza #185

Closed AmarantaB closed 3 weeks ago

AmarantaB commented 1 month ago

Estimados, junto con mi grupo y otros del curso hemos recibido instrucciones distintas respecto de como limpiar los datos y cargarlos, en que orden realizar estas acciones y con que métodos. Quisiéramos consultar si existe la posibilidad de hacer una aclaración GLOBAL de cual es el orden y método exacto con que se debe empezar el tratamiento de datos y una ayudantía ajustada a las instrucciones correctas sobre como aplicar las restricciones de php a las tablas que vamos creando. Para ejemplificar un poco, se nos indicó en ayudantía que los datos podían limpiarse antes (y con cualquier método de programación), luego en clase se nos señaló que debía ser a través de la carga de datos (que al momento de crear las tablas se fueran buscando errores y guardándolos aparte, NO limpiarlos antes). Sin embargo, a pesar de lo anterior, compañeros nos han señalado que SI los están limpiando antes, luego no sabemos como comenzar correctamente ni cual será el método de corrección para esta parte del trabajo para así proceder correctamente y poder ser evaluados. Por otro lado, en la ayudantía se nos enseñó a cargar los datos, pero por terminal, no obstante luego en clases nos dijeron que NO se debía hacer así, por lo que desconocemos realmente y no hemos logrado entender con investigación personal como hacerlo. Sumado a ello, solo se subió el archivo php de la ayudantia que explica como juntar la app web/html, pero no terminamos de comprender como fusionar las restricciones que estamos creando en php, con las tablas que estamos creando por servidor. Solicitamos con sumo respeto si se podrían aclarar estas situaciones y si existe la posibilidad de una ayudantía o capsula ajustada a las condiciones reales, considerando que la ultima ayudantía se hizo en base a procedimientos que al parecer no son los correctos o los que debemos realmente hacer. De antemano muchas gracias por su tiempo y atención.

ypne commented 1 month ago

Cual es la duda con ésto? 1.-Construya una aplicaci´on cargadora de datos haciendo uso de PHP. Al igual que la entrega E0 su grupo deber´a cargar los datos desde los archivos entregados mediante el cargador mencionado, pero esta vez el destino son las tablas de su base de datos. 2.- El cargador puede ser ejecutado por l´ınea de comando (CLI), no es necesario que sea una aplicaci´on web. 3.-El cargador deber´a: leer todos los datos o una parte de ellos, e insertarlos correctamente en las tablas, validando todas las restricciones de integridad y formatos indicados en el enunciado y reflejadas en su esquema. 4.- Las tuplas que violen las restricciones de integridad y atributos que violen el formato deber´an ser almacenadas en un archivo para posterior an´alisis y, si procede, su correcci´on. Nota: Puede separar el archivo de datos en varios CSV si lo encuentra necesario.

  1. Una vez cargados todos los datos que no violen las restricciones, su grupo deber´a analizar los datos rechazados e intentar recuperar lo m´aximo posible. Las alternativas son: 4.1 • Corregir: si es que ud. tiene informaci´on adicional o alguna buena raz´on puede reemplazar los datos conflictivos con datos v´alidos (por ejemplo si hay un tel´efono de 8 cifras, se puede anteponer un 9 o si un correo electr´onico tiene un car´acter inv´alido como el blanco, eliminarlo). 4.2 • Reemplazar: sin el dato no se puede corregir, se puede reemplazar por un valor que sea permitido por el dominio del atributo pero que simbolice que el valor es nulo y as´ı no se pierden los otros datos que vienen en la tupla (por ejemplo si el tel´efono contiene una letra, claramente es inv´alido por lo que se puede reemplazar por 0 o nulo) 4.3 • Descartar: Si no hay otra opci´on, la tupla se debe descartar en cascada. Nota 1: En algunos atributos ser´a necesario estandarizar los valores a un conjunto de valores acotados, por ejemplo el ´ultimo logro debe soportar los valores indicados (2 a˜no equivale a nivel 4). Nota 2: A diferencia de la E0, en esta ocasi´on los datos originales NO SE PUEDEN MODIFICAR, solo se permite modificar el archivo de los datos que violen las restricciones de integridad y los formatos, los cuales deben ser cargados siempre con la aplicaci´on PHP cargadora de datos. Nota 3: Es recomendable que su aplicaci´on pueda detectar y corregir formatos (sanitizaci´on de input)
emivenezian commented 3 weeks ago

misma duda, no se respondio lo que se preguntaba

ignanuyens commented 3 weeks ago

Hola, yo tengo una duda en la siguiente parte:

  1. Una vez cargados todos los datos que no violen las restricciones, su grupo deber´a analizar los datos rechazados e intentar recuperar lo m´aximo posible. Las alternativas son: 4.1 [...] 4.2 [...] 4.3 • Descartar: Si no hay otra opci´on, la tupla se debe descartar en cascada. Nota 1: En algunos atributos ser´a necesario estandarizar los valores a un conjunto de valores acotados, por ejemplo el ´ultimo logro debe soportar los valores indicados (2 a˜no equivale a nivel 4). Nota 2: A diferencia de la E0, en esta ocasi´on los datos originales NO SE PUEDEN MODIFICAR, solo se permite modificar el archivo de los datos que violen las restricciones de integridad y los formatos, los cuales deben ser cargados siempre con la aplicaci´on PHP cargadora de datos. Nota 3: Es recomendable que su aplicaci´on pueda detectar y corregir formatos (sanitizaci´on de input)

Mi duda es la siguiente: yo debo intentar cargar mis tablas, para eso yo tengo múltiples "restricciones" para cada atributo. Pongamos el ejemplo que quiero armar una tabla con la hoja de Estudiantes. Iniciaré recorriendo cada tupla, donde para cada una de ellas quiero verificar que los atributos cumplan con mis restricciones. PREGUNA 1: puedo verificar esas restricciones con funciones que cree a parte? es decir, que yo verifique si cumple las condiciones (que son a parte de las restricciones de integridad que existirán al intentar cargar la tupla en la tabla), y en caso que no lo cumpla, la añado a un archivo que tendrá las tuplas con errores, PREGUNA 2: puedo modificar la tupla ahí mismo, para posteriormente cargarla a la tabla? La necesitad de crear estas funciones que restringen, a parte de las restricciones de integridad de las tablas, las considero necesarias para sobre todo estandarizar los valores y el formato que tendrán los atributos en las tablas (Nota 1). PREGUNA 3: no entendí la nota 3, por lo que agradecería su explicación. Ya que escuché que las validaciones se pueden realizar también con SQL y no entiendo cómo sería eso.

Muchas gracias de antemano

ypne commented 3 weeks ago

respondido en discussion