Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   integridad referencial (https://www.clubdelphi.com/foros/showthread.php?t=52636)

Kamael 26-01-2008 17:39:11

integridad referencial
 
Tengo dos bases de datos unidas por IR. la pegunta es como puedo añadir dos campos repetidos, si están indexados por el mismo campo en las dos bases de datos, por ejemplo 'Codigo'.
Gracias

duilioisola 26-01-2008 21:21:40

Son dos bases de datos o dos tablas?
Si se trata de dos tablas ...

No entiendo que quieres decir con añadir campos repetidos.
El hecho de que esten unidas por IR no quiere decir que no se pueda repetir.

Explica un poco mejor cual es la situación en la que te encuentras:
- Qué base de datos utilizas.
- Estructura de las tablas.
- Índices.
- Los índices son unívocos o permiten duplicados?
- Qué es lo que quieres hacer?

jachguate 26-01-2008 23:52:07

Muevo este tema de OOP a varios, pues nada tiene que ver con la temática de dicho foro.

Hasta luego.

duilioisola 28-01-2008 09:10:56

Cita:

Empezado por Kamael
Perdona que no te contestara pero estoy trabajando y no tengo mucho tiempo.
Vamos aver.
son dos tablas Paradox.
Los campos son :
Tabla1 - codigo y Nombre
Tabla2 - Codigo - Modelo- etc.
la cuestion es que quiero introducir el Codigo en las dos(Eso no es problema) pero lo tengo que meter repetido por que el campo codigo puede tener dos modelos distintos. Las tablas tienen que ir indexadas por campo codigo. la pregunta es como hago para poner los campos duplicados.
Gracias por molestarte

Solo tienes que insertar en cada tabla lo que quieres. Luego en el select que hagas, de alguna manera deberás filtrar un registro u otro.

Lo único importante es que el índice que utilices, te permita insertar duplicados.

Ejemplo:

Código SQL [-]
insert into tabla1 values (codigo, nombre) values (1,'nombre1');
insert into tabla2 values (codigo, modelo,...) values (1,'modeloA',...);
insert into tabla2 values (codigo, modelo,...) values (1,'modeloB',...);
insert into tabla2 values (codigo, modelo,...) values (1,'modeloC',...);

luego

Código SQL [-]
select codigo, nombre from tabla1 where codigo=1
resulta en
1, 'nombre1'

Código SQL [-]
select codigo, modelo, ... from tabla2 where codigo=1
resutla en
1, 'modeloA', ...
1, 'modeloB', ...
1, 'modeloC', ...

Si utilizas dos tablas en deplhi unidas por su datasource:

Código Delphi [-]
TTabla1.Close;
TTabla2.Close;
TTabla2.DataSource := DSTabla1;
TTabla1.Open;
TTabla2.Open;

resulta en
Tabla1 :
1, 'nombre1'
Tabla2 :
1, 'modeloA', ...
1, 'modeloB', ...
1, 'modeloC', ...


La franja horaria es GMT +2. Ahora son las 02:29:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi