PDA

Ver la Versión Completa : Llaves foraneas en BDD distintas


StartKill
30-01-2004, 00:11:03
Holas. :cool:

Estimados lectores, antes de hacer esta pregunta lo he pensado y repensado hasta el punto de creer que es una burrada mía al preguntar lo siguiente :rolleyes:

Tengo una tabla en una BDD y tengo otra tabla en otra BDD y deseo hacerles una llave foranea entre ellas.....ups!!! sera posible??

El problema: La primera tabla es manejada por otro sistema y por razones la vida hay otro sistema(en construcción) que necesita esta tabla como referencial. :p, osea esta seguna tabla tiene un campo que hace referencia a la primera tabla de la primera BDD :(

Gracias

Your Friend

StartKill :cool:
Lima-Perú

kinobi
30-01-2004, 01:10:56
Hola,

Tengo una tabla en una BDD y tengo otra tabla en otra BDD y deseo hacerles una llave foranea entre ellas.....ups!!! sera posible??

Respuesta rápida: no (lo siento).

Aunque el motor te permite transacciones contra varias bases de datos, no te permite "mezclar" objetos de esas bases de datos en una misma operación.

Saludos.

Gydba
30-01-2004, 13:03:42
Perdón que tal vez no tenga nada que ver con el hilo, pero ¿no es posible desde firebird generar una consulta que contemple un join con una tabla de una BD externa?

Realmente el post original me generó esa inquietud

kinobi
30-01-2004, 13:29:37
Hola,

Perdón que tal vez no tenga nada que ver con el hilo, pero ¿no es posible desde firebird generar una consulta que contemple un join con una tabla de una BD externa?

el motor del gestor como tal no lo admite. Es decir, no puedes pasar una SELECT al motor Firebird haciendo un JOIN de tablas de varias bases de datos. Otro asunto es que determinadas bibliotecas de acceso (creo que el BDE lo permite) recurran a determinados artificios para devolverte un Dataset con datos que provengan de varias bases de datos, pero este Dataset se construye en el cliente, lanzando varias consultas a las diferentes bases de datos.

Saludos.

jachguate
30-01-2004, 14:45:55
Quizas no venga en cuenta el comentario... pero aqui es donde regularmente comienzo a extrañar a Oracle... y mi cliente a llorar por su billetera! :D :D :D

StartKill
30-01-2004, 18:21:04
oK, :cool:

Bueno, ya saben no podemos decir NO al Cliente "Señor, disculpe no se puede" :p (hagamos un artificio-mentira-en realidad no se puede)

Como les comentaba dos tablas en BDD diferentes, la primera utiliza la segunda utiliza como referencial.

Originalmente citado por KINOBI
Otro asunto es que determinadas bibliotecas de acceso (creo que el BDE lo permite) recurran a determinados artificios para devolverte un Dataset con datos que provengan de varias bases de datos, pero este Dataset se construye en el cliente, lanzando varias consultas a las diferentes bases de datos.

Estas lineas me dieron la idea- Gracias


Estoy utilizando dos compontentes IBQuery(s).

IBQuery1
Tabla a llenar varios campos mas un campo como referencia a la segunda tabla.

IBQuery2
Tabla referencial

En el "IBQuery1" le creo un campo calculado de tipo "lookup" haciendo referecia al IBQuery2, creo mi DBGRID1 con el IBQuery1 y listo :p, por lo menos de esa forma me aseguro que el codigo referencial exista.

Peroooo, nadie me da seguridad que borren algun registro del IBQUERY2 desde otro programa y peor aun que desde otro programa añadan un codigo en IBQUERY1 que no exista en el IBQUERY2(referencial). En otras palabras: El motor de base de datos no podra matener la integridad referencial de mis tablas :( <nada es perfecto>

Your Friend

StartKill :cool:
Lima-Perú

kinobi
30-01-2004, 20:42:10
Hola,

Peroooo, nadie me da seguridad que borren algun registro del IBQUERY2 desde otro programa y peor aun que desde otro programa añadan un codigo en IBQUERY1 que no exista en el IBQUERY2(referencial). En otras palabras: El motor de base de datos no podra matener la integridad referencial de mis tablas :( <nada es perfecto>

Lo curioso del caso es que tal vez no debería ser (muy) complicado dar soporte a esto que comentamos. De hecho, una misma transacción puede aplicarse sobre varias bases de datos.

Saludos.

Gydba
31-01-2004, 01:14:01
Estoy de acuerdo con Kinobi, sería algo realmente interesante disponer de esta cualidad en la BD.

Tal vez en alguna versión futura ...