Ir al contenido


Foto

ficheros y BB.DD para almacenar la información


  • Por favor identifícate para responder
17 respuestas en este tema

#1 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 30 abril 2015 - 12:44

Lo que más me sorprendió cuando se crean aplicaciones de escritorio y más actualmente, es que la información con la que la misma trabaja, se gestiona a traves de una base de datos, ya casi no he visto programadores que usen ficheros con sus campos para guardarla, cosa que antes si se hacía. No se si es algo que está fuera de juego.

 

La pequeña demo con la que estoy practicando, como no tengo conocimientos sobre las gestión de FireBird y poder usarla para la gestión de mis datos, quisiera preguntar si es un impedimento usar ficheros para eso.

 

Tendré que ir viendo como poder implementar y usar en la gestión una base de datos. En estos casos si hay documentación que he conseguido encontrar, pero la cantidad de gestores de base datos, las distintas posibilidades de implementación segun la base a elegir, como iniciado te hace

pensar si es mejor empezar con ficheros e ir cogiendo contacto con las BB.DD fireBird más pronto

que tarde o empezar desde ya con la misma.

 

Un saludo


  • 0

#2 Nikolas

Nikolas

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 604 mensajes
  • LocationMar del Plata / Bs As / Argentina

Escrito 30 abril 2015 - 06:30

firebird es una muy buena opcion,


  • 0

#3 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 30 abril 2015 - 08:17

En la comunidad es muy fomentado el uso de Firebird. Y lo es porque digamos que Delphi y Firebird nacieron y se criaron juntos (de hecho, originariamente provienen del mismo padre)... hacen una pareja imbatible.

Lazarus no es la excepción, se lleva bastante bien con Firebird.

 

Si preguntas por acá 8 de cada 10 te van a recomendar Firebird, 1 te va a decir MySQL o PostgreSQL, y otro te va a decir Access.

 

Si quieres ir calentando motores por tu falta de conceptos, puedes empezar el viaje con Access o si usas OpenOffice también puedes usar Base. Asi te vas familiarizando con los conceptos de bases de datos y los componentes de acceso a bases de datos. Aquí puedes consultar las diferentes suites de componentes para algunas bases de datos.

 

Si quieres directamente dar el salto y meterte en serio pues elije el motor que más te sientas a gusto. Yo elijo Firebird y es el que aconsejo. Con cualquiera que elijas puedes trabajar y desde el lado de Lazarus, no hay demasiadas diferencias entre las suites de componentes de acceso para un motor a otro. En donde vas a notar algunas diferencias es del lado del motor.

Si bien todos respetan el estándar SQL cada motor lleva su propio diseño de como implementar, declarar y diseñar los procedimientos almacenados, los disparadores, triggers y vistas.

 

Documentación de Firebird vas a encontrar a montón. Lo primero a leer es el Release Notes. Luego los documentos que explican cada tools y sus comandos.

 

Saludos,


  • 0

#4 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 30 abril 2015 - 02:58

Domino algo la Libreoffice Dbase, lo cual no se si para ir practicando como bien dices, poder trabajar con ella, pero como comentas que cada motor lleva su propio diseño de como implementar, declarr y diseñar los procedimientos, quizás sea mejor "enfrentarse" de lleno con un base de datos decente como la que he visto que usais la mayor FireBird. Libreoffice Dbase no es algo común ni tampoco es algo que sea potente. Quizás por los conocimientos de estau ltima me sea más facil trabajar con ella en Lazarus.

 

Un saludo


  • 0

#5 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 30 abril 2015 - 03:14

Me sumo a los consejos de Delphius y Nicolas, no te pongas con rodeos toma el toro por los cuernos y arranca de una con Firebird, hay muy buena documentación, es fácil de instalar, tiene una versión embebida, has una búsqueda aquí mismo en DA hay un buen tutorial que hizo Caral sobre Firebird.

 

Saludos.


  • 0

#6 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 01 mayo 2015 - 03:31

Como siempre he tomado en consideración vuestra ayuda y todos coincidís en lo mismo, creo que será mejor como dice delphius y  Wilson tomar al toro por los cuernos y dar el salto directamente a una base de datos en condiciones y con perspectivas de trabajar con ella.

 

Me siento con ganas, por dos motivos, el primero es la ayuda que indiscutiblemente me tendré con vosotros y la segund la documentación amplia y tutoriales que he conseguido encontrar, otra cosa será comprenderla.

 

Despues de crear un pequeño entorno de form, voy a gestionar datos y almacenarlos, y tenía la duda si empezar con ficheros o gestionarlos a traves de bb.dd como firebird.

 

Un saludo


  • 0

#7 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 01 mayo 2015 - 08:14

Aquí el buen tutorial de Caral.

 

Saludos.


  • 0

#8 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 01 mayo 2015 - 10:49

Aquí el buen tutorial de Caral.

 

Saludos.

Fantástico amigo, y empieza así ".... este tutorial va por y para novatos". No lo había visto, ví un acceso del Caral que sobre este tema pero estaba fuera de juego, pero esto se agradecera tanto a la Caral como a los que participaron en su día pensando por y para personas iniciadas como es mi caso.

 

Gracias y veremos!

 

Un saludo


  • 0

#9 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 02 mayo 2015 - 10:28

Estuve mirando estos dos videos https://www.youtube....h?v=nkjVPOGcdw0 y https://www.youtube....h?v=TEP4WcXNpAg, usando las dos tecnicas y combianndo FireDAC, el LocalSQL y un FDMemTable para operar con un archivo binario, XML o JSON, cargado en el FDMemTable, y lanzar operaciones SQL a traves del LocalSQL

 

Muy interesante  (y)


  • 1

#10 Nikolas

Nikolas

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 604 mensajes
  • LocationMar del Plata / Bs As / Argentina

Escrito 02 mayo 2015 - 11:19

Estuve mirando estos dos videos https://www.youtube....h?v=nkjVPOGcdw0 y https://www.youtube....h?v=TEP4WcXNpAg, usando las dos tecnicas y combianndo FireDAC, el LocalSQL y un FDMemTable para operar con un archivo binario, XML o JSON, cargado en el FDMemTable, y lanzar operaciones SQL a traves del LocalSQL

 

Muy interesante  (y)

 

para empezar esto es demasiado complejo, no?


  • 0

#11 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 02 mayo 2015 - 12:55

Yo no soy ningun experto y pude entender bastante 15.gif

 

Si en realidad lo que hace es tratar un archivito como si fuese una tabla de una base de datos metida en un motor

 

Entre conectarse a un motor y eso... poca diferencia

 

Por si se quiere seguir con la idea de utilizar un "archivo de los comunes" y no instalar un motor de bd

 

Saludos!

 

 

PD: Acabo de ver que esto es el foro de Lazarus :(, no creo que exista equivalente de FireDAC 


  • 0

#12 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 02 mayo 2015 - 01:33

Gracias OrtuAgustin por tu consejo. Pero claro si se utilizan ficheros no se hasta que punto puede uno tener restricciones que con una BB.DD no impidiendote avanzar si usas archivos.

 

Lo que ocurre es que su utlizas ficherso los componentes dbgrid, etc... no se podrán utilizar verdad? habrá que tirar de stringGrid...

 

Estoy leyendo los tutoriales de Firebird a ver que aprendo, y mejor aún aplicarlo a mi diseño creado.

 

Un saludo


  • 0

#13 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 02 mayo 2015 - 03:30

Con FireDAC te deja cargar un archivo (binario, xml, json) en un TDataSet especial, el TFDMemTable. Se comporta igual que una tabla de una base de datos, solamente que esta en memoria. Asi que perfectamente se podria visualizar los datos en un DBGrid, de hecho en el video hace eso mismo

 

Salud


  • 0

#14 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 02 mayo 2015 - 04:32

OrtuAgustin, estás confundiendo al pobre dooper. El apenas está ententiendo las bases. Tu propuesta puede venir muy bien, pero para eso se requiere de un poco/tanto de preparación.

Haces bien el compartir tus experiencias. No te privo de ello, bienvenido sea. Pero si revisas las experiencias de dooper no está del todo preparado para eso.

Es preferible que entienda las bases de conectarse a bases de datos, y luego complementarlo con ficheros JSON y tablas en memoria, y de allí a DataSnap ya hay otros pocos pasos.

 

No he verificado si FireDAC puede ser soportado por Lazarus, si no es así ya es un gran condicionante.

 

Saludos,


  • 0

#15 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 02 mayo 2015 - 09:29

Lo siento mucho, no era mi intención

Es que a veces los debates del foro me emocionan más de lo debido :)

Saludos
  • 0

#16 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 03 mayo 2015 - 04:47

No quisiera dar controversias entre expertos. Tomo todo en consideración como nuestro amigo OrtuAgustin ha manifestado, pero como bien indica Delphius, mi propia limitación puede más que mi intención por seguir en materias más complejas.

 

No se el orden de prioridad de complejidad que indica OrtuAgustin con respecto a los pasos de conocimientos de aprender BB.DD supongo que irán por detrás estos ultimos. Por eso es ir mejor en ese camino. Tomo nota literal de lo comentado sobre cargar un archivo (binario, xml, json) en un TDataSet especial, el TFDMemTable.... como contenido teorico en mi cuaderno de notas que tengo a mi lado para dejar escrito cualquier minimo aporte o apartado teorico-practico que no quiera dejar escapar.

 

Puestos en ello, he visto los ZEOSLIB entiendo que son pero alguien puede decirme si son interesante para iniciarse con ello, he visto código asociado a ellos y entiendo su codificación y veo que hay gran aporte de ellos por el foro. que me decis?

 

Un gran saludo a todos!


  • 0

#17 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 03 mayo 2015 - 08:14

No hay un orden estricto de como aprender las cosas, pero si es cierto que siguiendo un camino los hace más fácil aprender los conceptos.

En cuanto avances en los conceptos te toparás con algo similar a lo que trata Ortu: trabajar los datos en local, a modo caché para luego volcar en la base de datos. La caché puede ser tanto un espacio de memoria virtual como archivos en disco. En Delphi esto se consigue con TClientDataSet y que se comunica con otros componentes como TProvider. En estos momentos no recuerdo cuales son los equivalentes en Lazarus. En ese punto yo mucho no puedo ayudar, esa forma de manejo de datos en caché es materia pendiente. Conozco el concepto más no tengo la práctica hecha.

 

Hay mucho por donde hilar. Y todo a su tiempo.

 

Puedes usar Zeos, o cualquier otra suite que de soporte a Firebird. Con Zeos puedes contectarte a Firebird y a otros motores. Debido a ese múltiple-soporte es que no es la suite más rápida. Otras suites, más específicas para Firebird, sacan mejor provecho de las características propias del motor y ofrecer mejor performance. Algunas de esas suites no son gratuitas.

Ya sea que emplees Zeos u otras, vas a poder trabajar.

 

Las suites pueden diferir una a otra, pero tienen cosas en común lo que hace el cambio de una a otra a que no se traumático.

Yo que vengo del mundo Delphi empleaba IBX, una suite diseñada para Interbase/Firebird, al pasarme a Lazarus vi en Zeos un buen abanico de opciones. Si admito que me tomó por sorpresa la falta de un TZTransaction o un componente que maneje las transacciones como el que posee IBX pero ni bien vás practicando y te adaptas te das cuenta que tampoco es un gran problema.

 

Se que hay una versión de IBX para Lazarus. Cuando vi el sitio noté que los componentes datan de hace unos años, aunque es posible que sigan funcionando ya que no hubo grandes cambios en Firebird como para que afecte a IBX de manera significativa. Ante la duda yo opté por Zeos.

La suite estándard y por defecto para Lazarus, SQLdb, permite trabajar cómodamente también. Al igual que Zeos, da soporte a múltiples bases de datos. Se parece al diseño de IBX. Lo que se le puede hechar en falta en ella son el abanico de posibilidades que si tiene Zeos que es trabajar con StoredProc por ejemplo. Esto no quiere decir que no se pueda hacer uso de procedimientos almacenados con SQLdb sino que requiere de unos pequeños artilugios. Zeos lo hace de forma más "natural".

 

Al menos esta es mi opinión. Cualquiera que elijas, encontrarás pros y contras.

 

Saludos,


  • 0

#18 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 03 mayo 2015 - 10:41

Gracias Delphius. Empezaré con Zeos tengo los ficheros para su instalación, los instalaré en Lazarus y con algunos manuales básicos de que dispongo y los links mencionados podré tomar una breve toma de contacto. Seguiré buscando más información de ZeosLib para ir ampliando conocimientos aunque se hace algo dificil poder encontrar algo en español de estas librerias y para iniciados.

 

Un saludo


  • 0




IP.Board spam blocked by CleanTalk.