[RESUELTO] Base - Clave primaria compuesta de tres campos
[RESUELTO] Base - Clave primaria compuesta de tres campos
Buenos días, adjunto pantallazo de la bbdd que estoy diseñando y de la que quiero lanzar una pregunta... Como se puede observar, es una bbdd para almacenar información de alumnos, profesores, asignaturas, etc, de un colegio. Tal como lo tengo planteado, un mismo profesor puede impartir más de una asignatura, y además también que sea dentro de en un mismo curso (es decir, por ejemplo el profesor Juan puede dar clases de la asignatura de Inglés y de la asignatura de Francés al curso de 1A)...
¿Estaría bien diseñada la tabla "ProfesoresCursosAsignaturas" para que refleje esta situación (se trata de una tabla para recoger las relaciones muchos a muchos entre las tablas de Profesores, Cursos, y Asignaturas)? ¿Habría alguna otra forma de hacerlo?
Muchas gracias, un saludo.
¿Estaría bien diseñada la tabla "ProfesoresCursosAsignaturas" para que refleje esta situación (se trata de una tabla para recoger las relaciones muchos a muchos entre las tablas de Profesores, Cursos, y Asignaturas)? ¿Habría alguna otra forma de hacerlo?
Muchas gracias, un saludo.
- Adjuntos
-
- Pantallazo.odt
- Diseño de las relaciones de las tablas de la BBDD.
- (40.52 KiB) Descargado 354 veces
Última edición por yrafirav el Mar Mar 27, 2018 5:23 am, editado 1 vez en total.
OpenOffice versión 4.1.3 y LibreOffice version 5.2.5.
Windows XP + Windows 7
Windows XP + Windows 7
Re: Base - Tabla con clave primaria compuesta de tres campos
Hola,
Por mi parte, tal cual la has diseñado esta bien.
Saludos
Por mi parte, tal cual la has diseñado esta bien.
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: Base - Tabla con clave primaria compuesta de tres campos
Muchas gracias, mi duda es que surge por lo siguiente...
Si tenemos dos tablas que se relacionan muchos a muchos, la forma de hacerlo es con una tabla intermedia cuya clave primaria esté compuesta de dos campos (la clave primaria de cada una de esas dos tablas que se relacionan).
Mi pregunta es... si como en este caso, tengo tres tablas que se relacionan entre las tres, con relaciones muchos a muchos (tablas: profesores, cursos, y asignaturas)... la forma es como lo he diseñado yo? Es decir, una tabla intermedia para las tres, cuya clave primaria se componga de tres campos (la clave primaria de cada una de esas tres tablas)... ¿Sería así?
Gracias.
Si tenemos dos tablas que se relacionan muchos a muchos, la forma de hacerlo es con una tabla intermedia cuya clave primaria esté compuesta de dos campos (la clave primaria de cada una de esas dos tablas que se relacionan).
Mi pregunta es... si como en este caso, tengo tres tablas que se relacionan entre las tres, con relaciones muchos a muchos (tablas: profesores, cursos, y asignaturas)... la forma es como lo he diseñado yo? Es decir, una tabla intermedia para las tres, cuya clave primaria se componga de tres campos (la clave primaria de cada una de esas tres tablas)... ¿Sería así?
Gracias.
OpenOffice versión 4.1.3 y LibreOffice version 5.2.5.
Windows XP + Windows 7
Windows XP + Windows 7
Re: Base - Tabla con clave primaria compuesta de tres campos
Hola,
Ya te he dicho que sí, un profesor puede estar en el mismo curso pero con asignaturas distintas, mientras no dupliques curso asignatura no debes tener problemas.
Saludos
Ya te he dicho que sí, un profesor puede estar en el mismo curso pero con asignaturas distintas, mientras no dupliques curso asignatura no debes tener problemas.
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: Base - Tabla con clave primaria compuesta de tres campos
Creo el el DNI del profesor no debiera ser utilizado como Id_profesor, pues si no estoy equivocado en caso de que este fuera erroneo para modificarlo habría que modificar todas las tablas en las que está para no romper la relación.
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
Apache OpenOffice 4, LibreOffice (Win10x64)
Re: Base - Tabla con clave primaria compuesta de tres campos
Buenas, creo que en caso de que el DNI estuviese erróneo y hubiese que modificarlo, no habría problemas si en las relaciones de la tabla profesores con aquellas en la que el dni está como clave foránea, se ha configurado para que se actualice en cascada en caso de que sea modificado (adjunto pantallazo de la configuración de la que hablo). ¿Qué os parece? Gracias.
- Adjuntos
-
- Pantallazo.odt
- (52.66 KiB) Descargado 237 veces
OpenOffice versión 4.1.3 y LibreOffice version 5.2.5.
Windows XP + Windows 7
Windows XP + Windows 7
Re: Base - Tabla con clave primaria compuesta de tres campos
Funciona como esperas, es tu elección. Pero en mi opinión ninguna clave primaria debería ser accesible a los usuarios.
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
Apache OpenOffice 4, LibreOffice (Win10x64)
Re: Base - Tabla con clave primaria compuesta de tres campos
Muchas gracias por todo! Un saludo.
OpenOffice versión 4.1.3 y LibreOffice version 5.2.5.
Windows XP + Windows 7
Windows XP + Windows 7