Base de datos?

Lukas
03 de Junio del 2004
Voy a hacer programa que acceda/busque y/o permita la modificación de datos. Existen las bases de datos, pero éstas son muy lentas (la cantidad de datos a manejar es muy grande). Qué otro método me recomiendan? Yo tenia pensado usar archivos de texto puro, pero es muy precario. Entonces tengo dos preguntas:

1- ¿Qué base de datos es la más rápida para gran cantidad de información y que no tarde en cargar los datos (o sea que en lo posible no vuelque todos los datos en memoria al cargar la base, sino que acceda a ellos en tiempo de ejecución cuando se busque/escriba algo)?. No se si me explico...

2- ¿Qué otro método que no sea utilizando una base de datos (como la de Access) me permita realizar las mismas funciones, pero en tiempo real y sin tiempo de espera (o sea sin carga de datos en memoria)? Es posible o no?...

Los datos a guardar (campos) son la mayoria numericos y de un texto minimo (siempre hablando por fila). Serían casi más de 2.500 filas (aprox), de apenas 20 columnas por fila (en su mayoria como dije, son valores numericos). Partiendo de esos datos, que formato de Base de Datos me conviene usar más. Siempre hablando de programar en Visual Basic 5/6 (no .NET).

Pense en utilizar archivos de texto porque estos son muy comprimibles y no tienen fallos (como los que suelen tener las base de datos), y permiten la edicion de los mismo con cualquier editor externo. Pero... ¿es muy lento si hay que buscar un dato en un archivo de texto que tiene tantas lineas de datos, no?. Cualquier cosa que no entienda de mi pregunta, díganmela.

Perdonen por mi ignorancia, y espero que alguien me de una guia al respecto.
Gracias por adelantado. Adiós! :-)

Oscar
03 de Junio del 2004
¿Qué las bases de datos son lentas al manejar grandes cantidades de datos y por lo tanto piensas en utilizar ficheros de texto? Creo que estás equivocado, precisamente es al revés.

Los SGDB y más concretamente los relacionales surgen (entre otras cosas) ante necesidad de superar todos los problemas que plantean chapuzas como guardas los datos en ficheros de texto. Sistemas de bases de datos serios como SQL Server, Oracle, etc, proporcionan una serie de mecanismos a la hora de guardar y recuperar la información que ni de lejos puedes obtener con simples ficheros de texto.

Además una base de datos que tienen una tabla con 20 columnas y 2500 filas tampoco me parece excesivamente grande. De hecho, creo que es relativamente pequeña.

Un saludo.

Yuval
03 de Junio del 2004
Y te dijo todo oscar, jejeje
Estoy decuerdo con oscar es mucho mas rapido una base de datos y te permite operar y realizar consultas facilmente yo usaria ado para conectarme ala base de datos desde visual, si no controlas mucho de visual hay un componente de facil manejo que te permetira hacer lo que tienes pensado sin mucho codigo y la base de datos si no dispones de los programas mencionados por oscar siempre puedes usar acces para una base de datos como la que mencionas no creo que te de ningun problema, tambien tienes la posibilidad de obtener informes de tu base de datos desde visual.

Suerte!!!

CESAR NAVA SOTO
03 de Junio del 2004
Estoy de acuerdo con los demas compañeros.

Y en lo personal te recomiendo utilizar MySql como motor de bases de datos, ya que presisamente es uno de los mas rapidos.

Lukas
03 de Junio del 2004
Fenomenal! Gracias Oscar (y todos los demas) por responderme. Definitivamente me han convencido de utilizar una base de datos en vez de un archivo de texto. Ahora mismo voy a investigar mas sobre el tema. Solo una preguntita mas:

¿es facil utilizar MySql para hacer un programa en Visual Basic que use una base de datos? ¿No es MySql solo para la web y lo foros? (porque requiere un servidor) ¿es estable MySql, o mejor usar Oracle como dijo Oscar o algun otro sistema? La base de Access me parece facil de usar, pero creo que suele tener fallos de vez en cuando, no?

Recomiéndeme motor de bases de datos: facil de usar con VB común (no .NET), y que sea estable y rapida. Eso es todo.

Si tienen algun link sobre como programar bases de datos en VB (o alguna cosa similar), se los voy a agradecer (no importa que el material este en ingles, igual me sirve).

Desde ya les estoy muy, pero muy agradecido que me hayan respondido. Adios!

Oscar
03 de Junio del 2004
Yo, por cuestiones laborales, prácticamente sólo utilizo SQL Server (aunque he usado muchos otros SGBSR's).

Cada uno de nosotros te podrá hablar de uno u otro, dependiendo de su experiencia y sus gustos personales.

De todos modos, a la hora de programar en VB no existen demasiadas diferencias prácticas, ya que lo más probable es que simplemente ejecutes sentencias SQL sobre el mismo.

Un saludo.

Lukas
03 de Junio del 2004
Gracias por las sugerencias. Me fueron muy utiles. Tambien agradezco a todos los que colaboran aqui, se nota que siempre estan dispuestos a dar una mano a quien lo necesita. Adiós! :-)