Hola
Alguien tiene algún ejemplo, de como utilizar foreign key con dolphin ? estoy un poco perdido, he creado la clave en la tabla, pero no me acaba de funcionar.
Un saludo,
Gabriel
Harbour
Fwh 19.05
Dolphin y foreign key
Re: Dolphin y foreign key
Hola Gabriel:
Las Foreing Key te sirven para mantener la integridad referencial en las tablas, o incluso mantener de forma automatica la relacion en tablas cabecera-detalle.
Con Dolphin nos va a respetar las reglas que hayamos indicado en las foreing key, tales como no permitir borrar de una tabla maestra si asi lo indica la regla, o hacer un borrado en cascada, cuando lo indiquemos asi.
Ejemplo:
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`);
Esto hara que el campo categoria de la tabla clientes, no permita ingresar un valor que no este en la tabla categorias.
Otro ejemplo:
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON UPDATE CASCADE;
Esto hara que el campo categoria de la tabla clientes, no permita ingresar un valor que no este en la tabla categorias y que ademas si modifico el id de la categoria en la tabla de categorias, modificara automaticamente en todos los clientes que tengan ese codigo de categoria.
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON DELETE CASCADE;
Se pueden combinar las opciones.
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON UPDATE RESTRICT ON DELETE CASCADE;
Con dolphin _ los errores en caso de que la operatoria quiera romper una regla definida en la foreing key.
Espero haber sido de ayuda...Cualquier duda a tu disposicion
Las Foreing Key te sirven para mantener la integridad referencial en las tablas, o incluso mantener de forma automatica la relacion en tablas cabecera-detalle.
Con Dolphin nos va a respetar las reglas que hayamos indicado en las foreing key, tales como no permitir borrar de una tabla maestra si asi lo indica la regla, o hacer un borrado en cascada, cuando lo indiquemos asi.
Ejemplo:
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`);
Esto hara que el campo categoria de la tabla clientes, no permita ingresar un valor que no este en la tabla categorias.
Otro ejemplo:
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON UPDATE CASCADE;
Esto hara que el campo categoria de la tabla clientes, no permita ingresar un valor que no este en la tabla categorias y que ademas si modifico el id de la categoria en la tabla de categorias, modificara automaticamente en todos los clientes que tengan ese codigo de categoria.
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON DELETE CASCADE;
Se pueden combinar las opciones.
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON UPDATE RESTRICT ON DELETE CASCADE;
Con dolphin _ los errores en caso de que la operatoria quiera romper una regla definida en la foreing key.
Espero haber sido de ayuda...Cualquier duda a tu disposicion
Re: Dolphin y foreign key
Gracias Cesar por la ayuda,
Si hago desde dolphin un oTabla:delete y quiero eliminar la factura, también me elimina el detalle de la factura ?
Tengo dos tablas facturas y detalles, el foreign key lo tengo por el id, lo estoy haciendo bien ?
Funciona en tablas MyISAM ?
Un saludo,
Gabriel
Harbour
Fwh 19.05
Si hago desde dolphin un oTabla:delete y quiero eliminar la factura, también me elimina el detalle de la factura ?
Tengo dos tablas facturas y detalles, el foreign key lo tengo por el id, lo estoy haciendo bien ?
Funciona en tablas MyISAM ?
Un saludo,
Gabriel
Harbour
Fwh 19.05
- rogerio
- Posts: 83
- Joined: Wed Nov 09, 2005 11:22 pm
- Location: São Lourenço da Serra - SP - Brasil
- Contact:
Re: Dolphin y foreign key
Ola Gabriel,
Si, se usares FOREIGN KEY con la opción ON DELETE CASCADE, ao eliminar la factura los detalles tambien serán eliminados.
Funciona en MyIsam. Note: la tabla principal e las tablas secundarias devem usar lo mismo motor.
Todos MyIsam o todos InnoDb.
Si, siempre el ID como referencia.
Saludos.
Si, se usares FOREIGN KEY con la opción ON DELETE CASCADE, ao eliminar la factura los detalles tambien serán eliminados.
Funciona en MyIsam. Note: la tabla principal e las tablas secundarias devem usar lo mismo motor.
Todos MyIsam o todos InnoDb.
Si, siempre el ID como referencia.
Saludos.
Re: Dolphin y foreign key
Gracias por la ayuda !!!!
Un saludo,
Gabriel
Un saludo,
Gabriel