IIC2413 / Syllabus-2023-2

92 stars 1 forks source link

Duda Modelos ER E3 #257

Closed VicenteNeary closed 1 year ago

VicenteNeary commented 1 year ago

Hola, mi duda es si en los archivos de carga hay que poblar las tablas hechas en la base de datos en la E2 pero vacías y con sus respectivas restricciones de cada atributo. Y si es así, ¿Cómo sabemos si están bien nuestras tablas si esta entrega todavía no ha sido corregida?

ypne commented 1 year ago

Hola, Los archivos CSV (o excel) de la E3 son ligeramente diferentes de los de la E2 por lo que el modelo camia y el Schema también cambia. Se agregó una relación entre capítulo y serie, además de las fechas de nacimiento de los usuarios. Por otra parte se agregó funcioanlidad (crear usuarios, compra unificada, consulta inestructurada) que hace que se modifique el modelo Pueden tomar como base el modelo E/R y las tablas de la E2, vaciarlas y modificarlas según la nueva normalización que no deiera ser muy diferente a la anterior. Por mientras se entrega el resultado de la E2 pueden ir avanzando en los cargadores, en la aplicación, etc. Veré con los ayudantes que los resultados estén a la brevedad.

VicenteNeary commented 1 year ago

Quizas no me quedó muy claro lo que son los cargadores, pero yo pensaba que con los cargadores se cargan las tablas de la base de datos insertando los datos del csv, como se supone que lo hagamos sin tablas vacías para completar?

ypne commented 1 year ago

P: como se supone que lo hagamos sin tablas vacías para completar? R: Ustedes deben crear las tablas normalizadas en 3FN o BCNF a partir del modelo E/R que generen en cada uno de las bases par e impar.

P: pero yo pensaba que con los cargadores se cargan las tablas de la base de datos insertando los datos del csv, R: Respondo con un ejemplo: sea UI el la tabla de usuarios de la base IMPAR ya creada, sea AUP.csv el archivo de usuario-actividades de la base IMPAR. Se asume que la tabla UI ya fue creada y poblada por su cargador correspondiente desde el csv de los datos impares.

El enunciado indica que la se deben importar, usando un cargador en php, que extraiga todos los usuarios presentes en los datos del grupo par e insertarlos (si aun no están) en la tabla Usuarios del grupo impar.

En pseudocódigo Read from AUP.csv (id_usuario, nombre, mail, password, username, id_videojuego, cantidad, veredicto, titulo, texto, fecha_nacimiento) INSERT INTO UI (ui.id=id_usuario, ui.nombre=nombre, ui.mail=mail, ui.password=password, ui.username=username, ui.fecha_nacimiento=fecha_nacimiento) -> resultado

Si "resultado" es correcto significa que se insertó correctamente o sea el usuario no estaa registrado previamente Si el "resultado" es que ya existía el usuario entonces se descarta la inserción Si el "resultado" es erróneo se debe investigar el motivo del error y corregirlo.