Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

[SOLUCIONADO] Asociar 2 campos de distintas tablas a un mismo campo de una tercera tabla

Estas en el tema de Asociar 2 campos de distintas tablas a un mismo campo de una tercera tabla en el foro de Bases de Datos General en Foros del Web. Buen Día a todos, Mi consulta es que estoy intentando reducir tablas de mi base de datos en MySQL. Hasta el día de hoy cuento ...
  #1 (permalink)  
Antiguo 12/08/2015, 09:06
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 8 meses
Puntos: 8
Asociar 2 campos de distintas tablas a un mismo campo de una tercera tabla

Buen Día a todos,
Mi consulta es que estoy intentando reducir tablas de mi base de datos en MySQL.
Hasta el día de hoy cuento con 2 tablas llamadas agente_cliente y agente_proveedor
en donde almaceno información (datos personales) de las personas que trabajan para mis clientes y proveedores.

Los campos id de las tablas padres son:
- cdg_cli INT (cliente)
- cdg_prov INT (proveedor)

Estaba pensando que en vez de crear 1 tabla para cada tabla padre (cliente y proveedor) donde almacene información de sus agentes, esta información
sólo se almacene en una sola tabla que podría tener la siguiente estructura.

Código MySQL:
Ver original
  1. cdg_age  sig_prop  cdg_prop  nom_age
  2. 1              'C'            1              Luis
  3. 2              'P'            1              María
  4. ..
  5. ..
  6. ..
  7.  
  8. sig_prop-> sigla propietario (C=Cliente,P=Proveedor)
  9. cdg_prop-> id ya sea del proveedor(cdg_prov) o cliente(cdg_cli)

En resumen, quisiera saber si hay alguna manera de aplicar un CONSTRAINT en el campo cdg_prop con el fin de evitar
que se elimina un registro de una de las tablas padres cuando ya un exista un registro relacionado en la tabla agente.

De antemano gracias!
  #2 (permalink)  
Antiguo 12/08/2015, 09:17
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 8 meses
Puntos: 8
Respuesta: Asociar 2 campos de distintas tablas a un mismo campo de una tercera tabla

Ohhh me recomiendan crear 2 campos en la tabla agente, una relaciona a la tabla cliente y la otra relacionada a la tabla proveedor? De esa manera creo los
FOREIGN KEY que me empediran eliminar registros de las tablas padres cuando haya un registro relacionado con la tabla agente.

¿Creo que sería la mejor salida, cierto?

Saludos.
  #3 (permalink)  
Antiguo 12/08/2015, 13:11
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Asociar 2 campos de distintas tablas a un mismo campo de una tercera tabla

Crear FK :) que para eso son ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:22.