Access - BASE DATOS CURSOS, RELACIÓN UNO A MUCHOS

 
Vista:

BASE DATOS CURSOS, RELACIÓN UNO A MUCHOS

Publicado por MAR (1 intervención) el 19/09/2014 14:39:40
Buenas tardes,

tengo que hacer una base de datos que contenga, entre otros, datos de empleados y los cursos de formación que éstos han hecho.
es por éso que la relación debería ser uno a muchos (puesto que el empleado puede hacer varios cursos)
mi idea primera era un formulario de datos personales y un subformulario de cursos ... pero estoy perdida

hace más de diez años que no diseño bases de datos, y ahora me han encargado este trabajo ...
la versión que uso es access97

podrían ayudarme por favor?

gracias por anticipado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

BASE DATOS CURSOS, RELACIÓN UNO A MUCHOS

Publicado por Neckkito (1157 intervenciones) el 23/09/2014 12:01:18
Hola:

En primer lugar decirte que la base de tu relación no es 1:N, sino que es N:N, eso porque doy por sentado que muchos empleados pueden hacer muchos cursos, y muchos cursos pueden ser hechos por muchos empleados.

Precisamente tienes que descomponer esa relación N:N en dos relaciones 1:N, dado que Access no admite N:N.

¿Cómo lo haría yo? Te pongo un ejemplo simplificado:

1.- Creo una tabla TEmpeados, suponiendo que tiene una clave principal [IdEmpleado]

2.- Creo una tabla TCursos, suponiendo que tiene una clave principal [IdCurso]

3.- Crea una tabla intermedia (la que me descompone la relación N:N en 1:N). Supongamos que la llamo TAsignacionCursos, que deberá tener, como mínimo, los siguientes campos:

[IdAsignacion] -> Clave principal
[IdEmpleadoAsig] -> Que leerá los datos de [IdEmpleado] (y esta relación sí es 1:N)
[IdCursoAsig] -> Que leerá los datos de [IdCurso] (y esta relación sí es 1:N)

El modo de empleo puede ser doble, depende de lo que necesites:

1º -> Crearte un formulario principal sobre TEmpleados y añadir un subformulario basado en TAsignacionCursos, relacionando form principal y subform por [IdEmpleado] / [IdEmpleadoAsig]

2º -> Crearte un formulario principal sobre TCursos y añadir un subformulario basado en TAsignacionCursos, relacionando form principal y subform por [IdCurso] / [IdCursoAsig]

A ver si con estas ideas te sale.

Un saludo,
firmaMail
http://neckkito.siliconproject.com.ar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar