Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 2
Ir a la página Anterior  1, 2
 
Ejemplo Practico De FOREIGN KEY (por V3ctor Y Shordi)
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Ejemplo Practico De FOREIGN KEY (por V3ctor Y Shordi) 
 
Ahora sí. Como ejemplo vale. Pero si se ha de hacer didáctico de verdad, sigo diciendo que falta una tabla... o dos. A saber:

Una tabla de deudores donde se pueda establecer un ejemplo de on delete restrict on update cascade De manera que la BD nos restrinja el eliminado de un deudor si hay deudas abiertas (eso sería "perdonar" la deuda y perder dinero) y una tabla de motivos de de deuda, relacionada con deudas donde se especifiquen los motivos válidos, los plazos para cada motivo y el interés a cobrar según tipo (o plazo)
Con esta tabla se podría aplicar un Trigger (un procedimiento almacenado que se ejecuta dentro de la BD cuando ocurra un Evento concreto) en la propia DB que, por un lado on update cascade, y por otro ejecutase una actualización de tipos y recalculado de saldos en la tabla de pagos realizados. Es decir, si a ésta deuda le aplico un interés del 3% y luego cambio el interés en la tabla de motivos, se actualice tanto en la tabla de deudas como en la de pagos, recalculando los saldos en cada pago parcial (este sería una de las razones por las que desaconsejaba más arriba grabar los saldos: es mejor calcularlos).
Este procedimiento se puede hacer en nuestro programa de gambas, pero un Trigger hace que nos olvidemos del tema para siempre.

Por otra parte, respecto a los NOT NULL, hay que pensárselos muy bien. Por ejemplo se lo has quitado a la fecha y al monto. Eso es un absurdo informático: No puedes dar de alta una deuda si no sabes cuándo se produjo ni en qué cantidad. Deben ser NOT NULL (y dejar la decisión de si hay que darla de alta o no a la tabla de facturas (sí, ya lo sé, no existe aquí) donde se especifica si la factura está pagada o no y si el pago es en cuotas o de una. Para el ejemplo de Integridad Referencial, puede valer así, pero en la vida real, cuando se habla de dinero, hay que ser muy, muy cuidadoso con esas cosas.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejemplo Practico De FOREIGN KEY (por V3ctor Y Shordi) 
 
me parece bien shordi pero hagamos una cosa primero terminemos este ejemplo orientado a foreing_keys

aun estoy haciendo la interfaz porque la idea es mostrarlo andando.

después de terminado, podemos hacer otro ejemplo basado en el primero para mostrar eso que vos decís de los deudores y restrict

te parece?
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejemplo Practico De FOREIGN KEY (por V3ctor Y Shordi) 
 
Ok
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Empezando A Usar Git Caso Practico. tincho Aplicaciones/Fragmentos de Código 25 Lunes, 13 Marzo 2017, 17:02 Ver último mensaje
mckaygerhard
No hay nuevos mensajes Dividiendo Jedi-Gambas Shordi En Dos Con L... vuott Aplicaciones/Fragmentos de Código 4 Jueves, 08 Junio 2017, 15:42 Ver último mensaje
tincho
No hay nuevos mensajes [C] Uso Practico De Los Punteros Shell C/C++ 3 Sabado, 09 Marzo 2019, 10:36 Ver último mensaje
Shell
No hay nuevos mensajes Reto 16(V3ctor) Elimina .png Repetidas v3ctor Retos de programación 14 Viernes, 01 May 2020, 23:33 Ver último mensaje
tercoIDE
 

Publicar nuevo tema  Responder al tema  Página 2 de 2
Ir a la página Anterior  1, 2

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron