Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Necesito una opinion y ayuda de ustedes (https://www.clubdelphi.com/foros/showthread.php?t=68391)

rufo 10-06-2010 23:47:45

Necesito una opinion y ayuda de ustedes
 
Hola amigos primero que nada quiero darles las gracias por haberme ayudado en todas mis dudas que he tenido en este tiempo y que gracias a ustedes he resuelto todos mis problemas y dudas ahora quiero pedirles una opinion y la solucion mas correcta de lo que yo quiero hacer, tengo todos mis programas de los cuales quiero unirlos en un solo programa es decir que un solo programa sea la matriz de todos ya que hay tablas que tienes la misma informacion de los cuales las tengo en diferentes bases de datos, entonces mi inquietud es hacer ese programa que cuando yo eliga un menu por ejemplo afiliados me enlace al programa de afiliados y cuando haga movimientos como guardar informacion modificar o cualquier moviemiento este me vaya actualizando pero a una base central pero es ahi mi duda que me recomiendan que haga o como le haga, tengo delphi 2007 y access 2003.

Bueno espero su opinion y solucion de antemano gracias.

Caral 11-06-2010 02:01:21

Hola
No entiendo donde esta el problema?
Saludos

rufo 11-06-2010 02:04:46

Gracias por contestar en si mi duda es que como hago que mi database y session de mi programa principal se actualice con mi otro programa (hijo) ya que tiene tambien un database y un session mas que nada no quiero incluir todas las tablas en un datamodule ya que al momento de ejecutar el programa se volveria lento o que opcion sera la mas adecuada.

Caral 11-06-2010 02:10:17

Hola
Los programas usan las misma base de datos?
Saludos

stynpy29 11-06-2010 18:09:04

yo tambien tengo esa duda por que tengo programas separados.

rufo 11-06-2010 18:22:52

No por que cada programa tiene su propia base de datos entonces lo que yo quiero hacer es unificar en una sola base de datos ya que hay programas que usan las mismas tablas entonces lo que yo hago cuando en alguna tabla hay movimientos es actualizar las otras bases de datos de las tablas que tienen esa misma tabla, entonces mi pregunta es como hacer una sola base de datos raiz y cuando halla movimientos en otros programas se actualicen, es ahi mi pregunta que recomiendan que haga o cual es la solucion y gracias por contestarme.

Caral 11-06-2010 20:32:08

Hola
Puede ser tan sencillo como hacer una comparacion y guardar lo que no sea igual o tan complicado como hacer un recorrido tabla por tabla, verificar ids y hacer un update dato a dato.
Mejor hacer una sola bd firebird y ya.
Lo que se me ocurre un poco mas facil es ver los datos da las bds en un solo programa.
Saludos

rufo 11-06-2010 22:38:51

Ok gracias Caral por responder mi otra duda es no se volvera lento el programa y es mejor Firebird que access y gracias de nuevo de antemano.

Caral 12-06-2010 00:21:08

Hola
Son diferentes, firebird es mas complicado, necesia ,as atencion en cuanto a como se hacen las cosas, access permite casi todo.
No se a que te refieres con que se volvera lento el programa?.
Saludos

rufo 12-06-2010 00:36:21

Si al ejecutar el programa pues va empezar a llamar todas las tablas y se encrimentaria la memoria RAM es lo que me refiero o que tengo que hacer para que esto no suceda.

juanelo 12-06-2010 00:48:44

Y no has considerado convertir a DLL's tus programas y llamar a estas desde un programa principal.
Saludos.

rufo 12-06-2010 00:51:44

Gracias amigo juanelo esa opcion me parece interesante pero la verdad no se como lo haria las DLL´s ycomo las llamaria desde un programa principla y asi como me comentas me imagino que seria mas facil de manejar y hasta de transportar a otras maquinas si tienes un tutorial o ejemplos te lo agradeceria mucho.

Casimiro Notevi 12-06-2010 01:08:26

Cita:

Empezado por rufo (Mensaje 367061)
Si al ejecutar el programa pues va empezar a llamar todas las tablas y se encrimentaria la memoria RAM es lo que me refiero o que tengo que hacer para que esto no suceda.


¿Pero cómo abres las tablas?, ¿cuántas son?, ¿cuánto ocupa el programa?

rufo 12-06-2010 01:13:12

Casimiro Notevi las tablas que tienen cada programa son 20 tablas mas 10 consultas tengo 15 programas y es por eso que pedia opiniones en el cual me estan sugiriendo las DLL's o hacer un programa unico con todas las DB de todos mis programas, del peso del programa nose todavia cuanto vaya a pesar por que todavia no lo empiezo ya que quiero ir a la forma segura y de abri las tablas es cuando se ejecuta el programa va llamando todo lo que tengo de mi coneccion a access y cada programa no es lento pero yo creo que al poner todo en un solo programa me pueda crear conflictos o que se yo por eso mi duda, espero me eches la mano y gracias de antemano.

juanelo 12-06-2010 01:18:05

Cita:

Empezado por rufo (Mensaje 367064)
Gracias amigo juanelo esa opcion me parece interesante pero la verdad no se como lo haria las DLL´s ycomo las llamaria desde un programa principla y asi como me comentas me imagino que seria mas facil de manejar y hasta de transportar a otras maquinas si tienes un tutorial o ejemplos te lo agradeceria mucho.

Esto te puede servir: como crear una dl

Caral 12-06-2010 01:42:20

Hola
Convertir tu programa que maneja bd access en un dll ???????????.
Nunca me imagine semejante cosa.
Por que en vez de eso no agarras las tablas, llamas a un carateca y las despedazas.....sera mas sencillo.
Un programa que maneje varias bd access es muy simple, que tiene que ver la memoria en todo esto?.
Saludos

mamcx 12-06-2010 04:21:56

Cita:

Empezado por rufo (Mensaje 367007)
No por que cada programa tiene su propia base de datos entonces lo que yo quiero hacer es unificar en una sola base de datos

Entonces hazlo.

Te estas preocupando en exceso por la "eficiencia". Hay un dicho que dice
Cita:

"La optimizaron prematura es la madre de todos los problemas",
en especial cuando la "optimizacion" se hace en la imaginacion y con temores a cuestas ;).

Antes que nada, debes buscar un diseño simple. Si efectivamente tener 1 sola bd de datos es mejor que tener N, entonces arranca por ahi.

Si no abres todo de una y lo subes a memoria, no tienes porque preocuparte, asi como el hecho que tenga 10 TB de video no afecta para nada al reproductor multimedia si este lo unico que hace es cargar (progresivamente) uno a la vez.

No subestimes la eficiencia que esta incluida en los motores de datos, incluso en los mas "pequeños" o limitados como acces. Sin dificultad puede almacenar cientos de miles de registros.

Asi que en resumen, organiza primero el proyecto. Pon el codigo de forma simple. Haz la estructura de la base de datos que mas natural te parezca (aunque primero es bueno que chequees la teoria basica y las recomendaciones generales, en cuanto a manejo de indices, uso de IDs internos, relaciones y filtrado de datos).

Luego de que tengas algo simple de entender y mantener, llenas la BD con datos de prueba, el doble de lo que creas que necesitarías (obviamente con un programa de generación de datos aleatorios) y haces pruebas.

Con seguridad, encontras que solo el 20% o mucho menos de todas las operaciones son lentas o ineficientes. Pero con un fundamento sencillo, es fácil ajustarlo hasta que desempeñe ok.


La franja horaria es GMT +2. Ahora son las 04:45:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi