IIC2413 / Syllabus-2024-2

67 stars 7 forks source link

esquema relacional de relaciones #159

Open Ilancf opened 1 week ago

Ilancf commented 1 week ago

Tengo duda en el caso de por ejemplo de si creo la relacion prerequisito, y un curso es prerequisito de otro curso, si debe tener como atributos todos los atributos que forman la llave de curso (como se ve en la ayudantia 3) o se hace de la forma "mas logica", que sería sigal del curso 1 y sigla del curso 2. La pregunta es mas que nada porque por ejemplo idependientemente de la sección que sea, si el curso X es prerequisito del curso Y, entonces creo que estaría demás que aparezca X-1 es prerequisito de Y-1 y X-2 es prerequisito de Y-1. Creo que esto solo tendría sentido si al crear la tabla despues aprecerían repetidos los datos osea si no se ponen las secciones tal vez aparecería 2 veces X es prerequisito de Y, pero con lo visto en clases de SQl esto se solucionaría al agruparlos.

ypne commented 1 week ago

No entendí la pregunta, puedes redactarla de otra forma? En todo caso según el enunciado los prerequisitos de un curso son otros cursos o UN ciclo

Ilancf commented 1 week ago

Poniendo un ejemplo y simplificando el caso, digamos que un curso solo tiene la relación prerequisito con otro curso y las llave primaria de curso es una llavue compuesta por sigla y sección solo. Entonces, en el esquema relacional se tiene que poner prerequisito(Curso1.sigla, Curso1.sección, Curso2.sigla, Curso2.sección) o se podía poner prerequisito(Curso1.sigla, Curso2.sigla,).

La pregunta me surge porque si nos vamos a un ejemplo como bases de datos que tiene prerequisito programación avanzada, creo que es rendundante tener que decir que la seccion 1 de programación avanzada es prerequisito de la sección 1 de bases de datos, la seccion 2 programación avanzada es prerequisito de la sección 1 de bases de datos, la seccion 1 programación avanzada es prerequisito de la sección 2 de bases de datos, la seccion 2 programación avanzada es prerequisito de la sección 2 de bases de datos. Y bastaria con solo poner programación avanzada es prerequisito de bases de datos.