Jump to content


Photo

Triggers y procedimientos almacenados


  • Please log in to reply
8 replies to this topic

#1 jc

jc

    Member

  • Miembros
  • PipPip
  • 40 posts
  • LocationMojácar, Almería, España

Posted 12 November 2011 - 08:18 AM

Hola

Bueno, la consulta no es exactamente sobre Firebird, es más general, pero como es el motor que voy a usar pues la puse aquí.

Aclarar que llevo poco tiempo usando (programando) bases de datos, por lo que no tengo mucha experiencia, hasta ahora solo he hecho cosas sencilla.

Ahora se me ha presentado hacer algo un poco más complejo, y estoy mirando un poco sobre bases de datos. Lo que son los procedimientos almacenados más o menos lo tengo claro. Mi duda o consulta es cuando es recomendable usarlos. A ver si me aclaráis un poco, recordad que soy novato 

Saludos
  • 0

#2 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4483 posts
  • LocationVenezuela

Posted 12 November 2011 - 08:29 AM

Todo depende, yo por lo general los utilizo para devolver consultas complejas y para actualizar datos que necesiten operaciones de calculo previas. Siempre con el fin de que el codigo se ejecute del lado del servidor y no tenga que viajar tantos datos para el cliente.
  • 0

#3 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3486 posts
  • LocationMexico City

Posted 12 November 2011 - 10:18 AM

Qué buena pregunta amigo jc !!!

Y eduarcol, un ejemplo ilustrativo ??? A mi también me gustaría aprender un poco (o un mucho) sobre este tema  *-)

Saludox ! :)

  • 0

#4 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4483 posts
  • LocationVenezuela

Posted 12 November 2011 - 11:23 AM

Soy malo para los ejemplos, pero se me ocurre algo sencillo, imagina que tienes tres tablas A B y C y que necesitas hacer una insercion en A pero esta insercion debe hacer calculos con valores en las tablas B y C.  Eso seria un buen candidato para los SP


Otra ventaja de los SP es que si necesitas modificar algo en la consulta o los calculos solo lo haces a nivel de BD no tienes que modificar el ejecutable.
  • 0

#5 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1484 posts
  • LocationMallorca

Posted 12 November 2011 - 11:36 AM

Creo que te interesará leer "La Cara Oculta de Delphi 6", es una magnífica introducción a las bases de datos SQL, y a su programación desde Delphi.

http://commanet.blog...e-delphi-6.html

Saludos.
  • 0

#6 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 posts
  • LocationOaxaca, México

Posted 12 November 2011 - 05:16 PM

Que tal jc, interesante pregunta la que has hecho, en lo particular uso los SP considerando las ventajas que implica tenerlos en la base de datos, por ejemplo yo los uso cuando:
- Involucro demasiadas tablas y los querys se hace complejos, hacerlos SP involucra mejor el rendimiento si van hacer ejecutados muchas veces pues el motor ya tiene el plan adecuado para el query y no tendra que volverlo a determinar.
- Por seguridad, así sea una LAN hay software que el que puedes interceptar el tráfico en red, si tus querys son siempre mandados por tu aplicación, sin duda sabrán que tablas estan involucradas en ciertos procesos muy facilmente, comprometiendo tu bd, si es un SP solo veran el nombre del sp y los parámetros, por eso es necesario tener roles bien determinados.
- Los SP nos dan la facilidad de hacer cambios rápidos a procesos sin tener que recompliar nuestras aplicación cliente y estar actualizando posteriormente.
-En el caso de triggers tienen ventajas propias de su genero, en lo particular los utilizo para generad ID, validaciones directas a datos en la bd en campos específicos antes de ser insertados o actualizados.
-Ademas la transaccionalidad y procesos muy grandes se ven beneficiados con el uso de SP's y triggers pues evitas tener problemas de concurrencia.
De momento es lo que se me viene a la mente, esto me ha servido de mucho en firebird(interbase), ms sql server y sqlite(solo triggers), en ms sql server aún para mi es un lio el hecho de trabajar con triggers a diferencia de la gran facilidad de firebird.
Saludos.
  • 0

#7 jc

jc

    Member

  • Miembros
  • PipPip
  • 40 posts
  • LocationMojácar, Almería, España

Posted 12 November 2011 - 05:31 PM

Hola

Bueno, de algo me voy enterando, veo que generalmente se usan para temas complejos. La aplicación que empezaré a programar creo que no será tan compleja, pero de todos modos empezaré a usarlos, para irme familiarizando con ellos.

Creo  que te interesará leer "La Cara Oculta de Delphi 6", es una magnífica  introducción a las bases de datos SQL, y a su programación desde Delphi.


Hace ya algún tiempo que lo descargué, pero debido al poco tiempo libre que tengo solo le eché un vistazo, creo que es hora de mirarlo más a fondo.

Saludos

  • 0

#8 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 posts
  • LocationOaxaca, México

Posted 12 November 2011 - 07:20 PM

...
pero de todos modos empezaré a usarlos, para irme familiarizando con ellos.
...



Me parece muy buena idea jc  (y)


Saludos
  • 0

#9 jc

jc

    Member

  • Miembros
  • PipPip
  • 40 posts
  • LocationMojácar, Almería, España

Posted 13 November 2011 - 08:10 AM

Me parece muy buena idea jc 


Ya conocéis el dicho: "A programar se aprende programando"  8o|

Saludos
  • 0




IP.Board spam blocked by CleanTalk.