FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Firebird Procedures VS Delphi Procedures
Hola Todos
Quisera tener sus comentarios si uno debe ejecutar validaciones y procesos usando delphi o usar los procedimientos en la base de datos para ejecutar procesos y validaciones, que es mas rapido, veo que las bases de datos tienen su propio lenguaje para ejectuar estos procesos pl / sql etc Saludos uso firebird 2.1 , delphi 5/x2 |
#2
|
||||
|
||||
Siempre será más rápido ejecutarla en el Servidor de Base de Datos, pero tal vez no siempre aconsejable.
A mi personalmente me gusta hacer las validaciones (a priori todas) en el programa. Son más fáciles de controlar, de "debuggar", el código está centralizado, más fácil para detectar errores, mejor para versionado,... En operaciones normales (no especiales) sacrifico la velocidad en pro de otras cosas como las que te he comentado. Eso sí, para procesos críticos, importantes o que requieren velocidad de proceso, deben ir en el SGDB, pero intento que sean los mínimos. Supongo que habrá quien no esté de acuerdo, pero yo lo hago así. He visto Base de Datos con cientos de procedimientos y triggers (casi para cualquier cosa), y eran una verdadera locura en varias situaciones: * A la hora de migrar a otro sistema. * A la hora de actualizar determinados objetos de la base de datos por las dependencias. * A la hora de grabar de buscar un simple error de porqué un dato no se guardaba correctamente. Busca en el código, busca en los Stored, y busca en los triggers...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 26-05-2014 a las 10:18:49. |
#3
|
||||
|
||||
Hola.
Como bien apunta el amigo Neftali es bastante más fácil de mantener el código si está dentro del programa que no en procedimientos almacenados o triggers. Yo particularmente no uso los procedimientos almacenados pero si los triggers para asegurarme de que SIEMPRE que se añada, edite o anulen registros sea desde donde sea se efectúen ciertas operaciones para mantenimiento de xistencias, acumulados, etc. Saludos
__________________
Be water my friend. |
#4
|
||||
|
||||
yo preferentemente uso las validaciones en la Base de Datos, o todas las que puedo y son razonables
asi si hay alguna inconsistencia, esta se encarga de lanzar la excepcion, evita actualizaciones en los clientes en un momento dado. trabajar en el codigo de la aplicacion pienso que da mas versatilidad, mas posibilidades. creo que ambas cosas aplicadas en su mejor medida puede ser lo mas aconsejable
__________________
online |
#5
|
||||
|
||||
Hola.
Coincido con lo dicho. En líneas generales uso los sp: . Para disminuir el tráfico de red y aumentar la seguridad. . En consultas complejas o aquellas en que alguna depende del resultado de otras. . Para operaciones que implican actualizaciones o cargas masivas. Realizo casi la totalidad de validaciones desde la bd (a nivel campo, integridad referencial, etc). El resto (consultas, calculos, etc) desde el lenguaje. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 26-05-2014 a las 17:56:44. |
#6
|
|||
|
|||
El poder de las bases de datos
Hola a Todos, He leido sus comentarios y me parecen que son aporte valioso a mi proyecto de migrar firebird a PostgreSql, ya que leyendo las caracteristicas de esta base de datos su PL/SQL es muy poderoso , por supuesto sigo estudiando y leyendo sus comentarios.
Mi esperiencia con firebird ha sido excelente, pero vengo de sistemas as400 donde hay una marcada tendencia en usar los proceimientos de la base de datos sin importar que lenguaje se utilice, para evitar el trafico de la red. Firebird tiene algunos detalles molestos en el campo d integridad de datos y su carencia de funciones , el manejo de %row para mover los campos a las variables, por eso me encanta oir sus comentarios de donde debe estar los procedimientos |
#7
|
||||
|
||||
¿Es hoy un problema el ahorrar lineas de código en favor de los recursos de memoria tanto en disco como en RAM?
¿Es hoy un problema el trafico de red? |
#9
|
||||
|
||||
No entiendo, ¿puedes explicarlo con un poco más de detalle?
|
#10
|
|||
|
|||
Alguno detalles Molestos
1.En el transcurso he notado que en caso de agregar alguna restricción posterior a los registros , los datos existentes no son validado previo a adicionar la transaccion en la base de datos
2. en un cambio de campos float a decimal (18,10) genero inconvenientes cuando efectuaba un multiplicación con otro campo decimal 3. Cuando se ejecuta el restore de un backup informa de errores que uno desconocía por ejemplo ha sucedido que informa que claves primarias no tienen la restricción not null, los cambios los efectuó usando ibexpert gratuito Por otro lado quiero decir que la base la he usado sin ningun problema de perdida de datos, es muy facil de manejarla, instalarla es una excelente herramienta de trabajo. Tal como comente he estado leyendo postgresql y tiene muy buenas herramientas y me ha gustado , pero debo leer y investigar mas para efectuar un cambio. Otra parte que me parece intersante es que no se requiere colocar el cliente de la base de datos en los pc*clientes o en telefono androit usando los componentes pgdac(devart) |
#11
|
||||
|
||||
Bueno, esas incidencias no son culpa de la BD en sí.
De todas formas, postgresql es una muy buena base de datos también (y libre), y depende para lo que vayas usarla, puede ser más indicada. En cuanto a que no necesitas instalar un cliente, bueno, siempre hace falta, si no lo haces tú es porque los componentes lo hacen por ti, al llevarlos integrados. |
#12
|
|||
|
|||
Instalacion Cliente Postgress liqpq.dll
Casimiro, en su experiencia sabe donde colocar el cliente de postgress libpq.dll (folder uso windows x7 64b) estoy usando los componentes sqldirect, alguna vez hice una prueba de conexion y si funcionaron (creo que era version 8.x) pero ahora con la nueva version no encuentra la DLL y retrona ese mensaje y busca otra dll vsnit.dll
|
#13
|
||||
|
||||
La verdad es que no tengo ni idea, yo dejo los directorios predeterminados al instalar cualquier cosa.
|
#14
|
|||
|
|||
postgressql + sqldirect Falta Libpq.dll + vsnit.dll
Cita:
C:\Program Files (x86)\PostgreSQL\9.3\bin |
#15
|
||||
|
||||
Ya he visto el otro hilo. Por cierto, ¿por qué me hablas de usted?
|
#16
|
||||
|
||||
Porque eres un tío importante, además de mayor.
__________________
Be water my friend. |
#18
|
||||
|
||||
Mayor sí que soy, toda la vida he sido mayor porque nací mayor, nunca he sido joven
Importante, no, eso sí que no |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Delphi 7 y Store Procedures | pelaorb68 | Conexión con bases de datos | 2 | 10-10-2008 20:28:46 |
stored procedures Delphi 2005 .net y MySQL 5 | martinsarubbi | Conexión con bases de datos | 2 | 17-04-2007 20:07:13 |
Ocultar código de Stored Procedures y Triggers en FireBird... | jncrls | Firebird e Interbase | 4 | 08-01-2007 16:51:52 |
Enviar parametros desde Delphi a Storage Procedures en BD Firebird | cuburu | Conexión con bases de datos | 12 | 17-01-2006 23:00:48 |
store procedures en firebird | ale21alito | Firebird e Interbase | 2 | 30-11-2005 03:18:22 |
|