Ver Mensaje Individual
  #6  
Antiguo 30-06-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 22
andres1569 Va por buen camino
hgiacobone escribió:

Cita:
Digamos que me he metido en un gran lio.
No es un lío tan grande, y si otros hemos pasado por ahí ... pero efectivamente, el trabajo realizado a nivel de base de datos no es reconocido por Delphi automáticamente, salvo como dije que te ahorras la creación de índices necesarios y el no tener que controlar ciertas restricciones desde tu aplicación.

Cita:
A VECES LA VERDAD ES MATADORA
... pero cura ... (aunque si estás muerto de poco te sirve ).

Ya imaginaba que iba a aportarte más zozobra que luz con mi mensaje, preferí no darte ningún consejo sino exponerte los pros y los contras.

Sin embargo, no creo que sea ese un problema exclusivo de Paradox, en general cualquier restricción de integridad en una base de datos complica su reparación en caso de corrupción, por el hecho de que no puedes tratar cada tabla como un conjunto independiente. Digamos que lo que es agradable cuando todo funciona bien se vuelve un fastidio cuando deja de ir bien. Pero aún puedes trabajar a la vieja usanza, sin definir dichas reglas y controlándolas desde la aplicación.

Cita:
A que llaman "índices secundarios mantenidos (Mantained) que actúen como claves foráneas hacia otras tablas
Cuando creas un índice secundario, si le indicas (aunque se creen así por defecto) que sea mantenido, el motor BDE se encarga de actualizarlo cada vez que tiene lugar una inserción, modificación o borrado, de forma que el índice está siempre actualizado y listo para poder ser usado, sin más trabajo por tu parte.

Lo de clave foranea hacia otras tablas indica que el índice se aplica a un campo que sirve de nexo con otra tabla. Ejemplo: Si en cabeceras de facturas (CABFACTU.DB) tenemos el campo ID_FACTURA que hace de clave primaria en esta tabla, en lineas de factura (LINFACTU.DB) tendremos un campo ID_FACTURA sobre el que definimos un índice secundario, en esta segunda tabla ID_FACTURA es una clave foranea porque apunta a otra tabla, haciendo de nexo. Si has definido Integridad Referencial, el Database Desktop te genera ese índice, si no lo debes definir tú. De esta forma, cuando enlaces desde Delphi ambas tablas mediante Master-Detail la selección de registros en la tabla de lineas será inmediata (gracias al índice) lo mismo que cuando realices una consulta que ligue ambas tablas.
__________________
Guía de Estilo
Responder Con Cita