Access - Ralacionar tablas

   
Vista:

Ralacionar tablas

Publicado por Moni (12 intervenciones) el 06/11/2007 21:18:22
Hola a todos, no se si me podreis ayudar?, llevo casi un mes intentado hacer una pequeña base de datos pero no consigo comenzar pq parece ser que no se hacer bien las relaciones entre tablas.
la bd tiene cuatro tablas, clientes, empleados, incidencias empleados y contratos empleados.
Y tendría que relacionar varios clientes con varios empleados, así como varios empleados con varias incidencias y varios empleados tambien con varios contratos, y en todos los casos un mismo cliente puede tener varios empleados y un empleado varios clientes y varias incidencias y contratos los pueden tener varios empleados.... no se si me explico..., vamos todo se relaciona de varios a varios.
el caso es que no tengo ni idea de hacer las relaciones, en cada tabla pongo su clave principal en codigo cliente, cod empleado, etc. pero depues o no reconoce las relaciones que le indico o no me deja meter los datos porque me dice que se duplican.
no se si me podeís explicar un poco como puedo hacerlo, o decirme si puedo encontrar algún manual o ejemplo por internet que me pueda ayudar, todo lo que he encontrato es muy básico, incluso he comprado un libro pero tampoco me aclara nada.
¿me podeís ayudar? Gracias.
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

RE:Ralacionar tablas

Publicado por Pepe (766 intervenciones) el 07/11/2007 00:18:59
Hola Moni
Haber si con la mal que me explico, soy capaz de aclararte un poco las condiciones para relacionar una tabla con otra.

Para poder relacionar una tabla con otra, debe de existir un campo común en ambas.

Dices que en la tabla Clientes, tienes una clave principal en [codigo cliente], vamos a suponer que ese campo es del tipo númerico. Si la quieres relacionar con la tabla empleados, en ésta necesitaras un campo de tipo tambien númerico donde registrar el código de cliente y como lo logico será pensar que un cliente tendrá más de un empleado, la relación será de 1 a muchos.

Cuando des de alta un empleado, tendrás que tambien indicar a que cliente corresponde.

Para la tabla contratos de los empleados, tendrás que tener un campo del mismo tipo que codigo de empleado y si un empleado puede tener más de un contrato, la relación tambien sera de 1 a muchos.

Cuando registres un contrato de un empleado tendrás que recoger el codigo de empleado al que pertenece.

Para las incidencias, más de lo mismo.

Espero que te sirva de ayuda, saludos Pepe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar tablas

Publicado por Moni (12 intervenciones) el 07/11/2007 20:31:55
Hola Pepe, muchas gracias por tu respuesta.
Intentaré trabajar con la indicaciones que me has dado para ver que resultados obtengo.
Aunque que creo que por lo que tengo tanta confusión es por que en mi base yo entiendo que las tablas clientes y empleados se tienen que relacionar de varios a varios porque igual que un cliente puede tener varios empleados, esos mismos empleados tambien pueden trabajar para varios clientes.
Si relaciono de 1 a varios ¿le puedo introducir el mismo cliente a varios empleados?
En cuanto a los empleados tienes razón porque aunque varios empleados tienen el mismo tipo de contrato si es verdad que no tendrán las mismas fechas, por lo tanto ya entiendo que cada empleado tiene varios contratos o inciencias, no serán repetidos para cada empleado ¿no?.
Creo que mi problema, quizás, es que no me aclaro con estos conceptos.
Gracias por tu ayuda, esto me parece lo más complicado y no consigo arrancar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar tablas

Publicado por Pepe (766 intervenciones) el 08/11/2007 01:00:56
Moni

Mira, haber si me explico un poco mejor y entre una cosa y otra logramos que arranques.

En primer lugar la tabla de clientes tiene que tener un registro para cada cliente.

En segundo lugar la tabla de empleados tambien tiene que tener un registro para cada empleado.

Como dices que un cliente puede tener varios empleados y, un empleado puede tener varios clientes, Entiendo que lo que quieres decir es que un empleado puede trabajar para varios clientes

Lo que yo haría es tener una tabla intermedia, que tenga dos campos el del nº del cliente y el del nº del empleado.

Entonces las relaciones serán:

Tabla clientes con tabla intermedia 1 a muchos

Tabla empleados con tabla intermedia 1 a muchos.

La tabla intermedia la iría cumplimentando cuando desde la tabla de empleados (mediante un formulario), seleccionando los clientes para los que trabaja.

De todas maneras creo recordar que en el ejemplo de Neptuno había una cosa parecida, si puedes miralo.

Saludos, Pepe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar tablas

Publicado por Moni (12 intervenciones) el 09/11/2007 18:41:46
Gracias, voy a probar a ver como me va. Ya te contaré.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar