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

Union de tablas con sus foreign keys

Estas en el tema de Union de tablas con sus foreign keys en el foro de Oracle en Foros del Web. Me gustaría que dependiendo de los datos que se introdujeran en la tabla SMSC, esta indicase a SMSC_KANNEL O SMSC_HUB, ademas en un futuro se ...
  #1 (permalink)  
Antiguo 30/04/2013, 02:47
 
Fecha de Ingreso: abril-2013
Mensajes: 20
Antigüedad: 11 años, 6 meses
Puntos: 1
Union de tablas con sus foreign keys

Me gustaría que dependiendo de los datos que se introdujeran en la tabla SMSC, esta indicase a SMSC_KANNEL O SMSC_HUB, ademas en un futuro se añadirían mas tablas (ejemplo: SMSC_CLAR, SMSC_COLOM, etc hasta u total de 7)

SMSC
id number(11)
type varchar2(50)
path varchar2(255)
smsc_id number(11)

SMSC_KANNEL
id number(11)
smsc_name varchar2(100)
shortcode varchar2(10)
host varchar2(255)
path varchar2(255)
user varchar2(255)
pass varchar2(255)
mask varchar2(100)
ok_time varchar2(255)
allowed_dig number(11)

SMSC_HUB
id number(11)
correlator varchar2(20)
shortcode varchar2(10)
mask varchar2(100)
ok_time varchar2(255)
allowed_dig number(11)
status varchar2(3)

Cual creéis que es la mejor opción para unir estas tablas?

saludos y gracias
  #2 (permalink)  
Antiguo 30/04/2013, 05:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Union de tablas con sus foreign keys

Cita:
Me gustaría que dependiendo de los datos que se introdujeran en la tabla SMSC, esta indicase a SMSC_KANNEL O SMSC_HUB, ademas en un futuro se añadirían mas tablas (ejemplo: SMSC_CLAR, SMSC_COLOM, etc hasta u total de 7)
Si lo que estás sugiriendo es que una misma FK apunte alternativamente a diferentes tablas, entonces no entendiste los fundamentos básicos de la integridad referencia.
Quiero suponer que no estoy entendiendo bien, y que hablas de otra cosa.

SI lo que planteas es que haya una única FK que sea capaz de relacionarse con diferentes tablas, eso sólo ocurre con la herencia, para lo cual todas esa tablas se relacionan en realidad con una tabla padre, la cual es la que posee la PK que SMC tiene como FK. El requisito es que todas las tablas de segundo orden deben si o sí ser hijas y por tanto deben pertenecer a una misma superclase, por decirlo de algún modo, y no pueden representar entidades que no posean algún/algunos atributos comunes a todos.
Eso significa que no puedes poner Hubs, Canales, Ips, Pc, Servers, relacionados de ese modo, porque son entidades totalmente distintas. SI lo haces terminarás con serios problemas de diseño, que te traerán ,consecuencias graves en algún momento muy cercano.

Cita:
Cual creéis que es la mejor opción para unir estas tablas?
Fácil: Respetar el modelo Entidad-Relación y analizar correctamente los requisitos del sistema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 30/04/2013, 07:14
 
Fecha de Ingreso: abril-2013
Mensajes: 20
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Union de tablas con sus foreign keys

Me gustaría que dependiendo de los datos que se introdujeran en la tabla SMSC, esta indicase a SMSC_KANNEL O SMSC_HUB, ademas en un futuro se añadirian mas tablas (ejemplo: SMSC_CLAR). Podría añadir una foreign key en la tabla SMSC para cada tabla pero lo que me gustaría es que dependiendo del dato que se introdujera en SMSC.type esta indicase a las otras tablass por medio de un trigger.
Por ejemplo si en type introduzco "smsc_hub", que esta indicase a la tabla SMS_HUB.
  #4 (permalink)  
Antiguo 30/04/2013, 07:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Union de tablas con sus foreign keys

Tengo la impresión de que o no leíste nada de lo que te puse, o no entendiste lo que te digo.

Aún no me queda claro si estás indicando que ese valor irá en un único campo, o estás planteándote poner diferentes FK apuntando a otras tablas.

¿Podrías mostrarnos cómo es la estructura de relaciones que quieres.
Ten en cuenta que por más trigger que hagas, si no hay integridad referencial, sólo obtendrás problemas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: keys, tabla, tablas, union
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 06:27.