[RESUELTO] Base - Clave primaria compuesta de tres campos

Discute sobre las herramientas de la base de datos
Responder
yrafirav
Mensajes: 77
Registrado: Vie Mar 17, 2017 7:16 am

[RESUELTO] Base - Clave primaria compuesta de tres campos

Mensaje por yrafirav »

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.
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
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Base - Tabla con clave primaria compuesta de tres campos

Mensaje por RMG »

Hola,

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)
yrafirav
Mensajes: 77
Registrado: Vie Mar 17, 2017 7:16 am

Re: Base - Tabla con clave primaria compuesta de tres campos

Mensaje por yrafirav »

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.
OpenOffice versión 4.1.3 y LibreOffice version 5.2.5.
Windows XP + Windows 7
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Base - Tabla con clave primaria compuesta de tres campos

Mensaje por RMG »

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
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)
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: Base - Tabla con clave primaria compuesta de tres campos

Mensaje por mriosv »

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)
yrafirav
Mensajes: 77
Registrado: Vie Mar 17, 2017 7:16 am

Re: Base - Tabla con clave primaria compuesta de tres campos

Mensaje por yrafirav »

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
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: Base - Tabla con clave primaria compuesta de tres campos

Mensaje por mriosv »

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)
yrafirav
Mensajes: 77
Registrado: Vie Mar 17, 2017 7:16 am

Re: Base - Tabla con clave primaria compuesta de tres campos

Mensaje por yrafirav »

Muchas gracias por todo! Un saludo.
OpenOffice versión 4.1.3 y LibreOffice version 5.2.5.
Windows XP + Windows 7
Responder