Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





¿bases De Datos O Ficheros Propios ?

Iniciado por Capiflash, 16 de Abril de 2005, 02:07:44 PM

« anterior - próximo »

zupervaca

 realmente no entiendo por que no usais odbc ya que es el mejor sistema para gestionar bases de datos sin saber cuala se usara, por mi experiencia profesional no a todos los clientes les gusta mysql, muchos usan oracle, ademas de que si usas odbc no tienes que realizar conversiones de una base de datos a otra, pero bueno tu mismo, yo te recomiendo odbc por su flexibilidad y rapidez

saludos

Calantra

 
Cita de: "Vicente"Hola,

yo veo bastante más complicado crear una bbdd propia (una que funcione bien vamos, no tres ficheros que guardan datos) que usar una que ya te dan hecha. Además, el Framework te hace ya mucho curro, por ejemplo, te permite transformar los datasets a xml y viceversa sin ningún problema (por si quisieras usar XML como formato de datos y podrías usar XSD para validar que tus XML son válidos, etc etc).

Pero vamos, que no le veo el sentido a reinventar la rueda cuando ya está inventada y encima te lo dan mascado mascado. Otra cosa sería que access no valga (por la razón que sea), MySQL funcione mal con .NET y no haya ninguna otra BD disponible. Pues entonces nada, a hacerse una propia... Pero vamos, teniendolas ya hechas...

Un saludo!

Vicente

Pues el unico sentido que le veo al usar base propia es el siguiente:
Empresa contrata a prgramador A, :) ,  en practicas, le paga 4 duros al mes para que le diseñe programa que meneje base de datos con formato estandar (acces,sql etc,etc), una vez creado el programa el empresario se enfada, (grrr) , con el empleado, :lol: , que le pide aumento del sueldo, despues de demostrada su valia, el empresario, (twist) , se niega al aumento o despide sin mas a tan osado empleado, O_O , este se va, se lleva su programa alegando sus derechos de autor que en ningun momento le han pagado, (grrr) , (te pagan por desarrollar la aplicacion, no por los derechos de la misma, ojo con lo que firmamos), contratan a otro aprendiz, (genial) , programador B, por cuatro duros y continua con el trabajo sobre la base de datos con Formato "to quisqui me conoce". Programador "A", :( , esta al paro y no recive un duro por su programa, programador b, lleva el mismo camino.
Programador C , :ph34r: ,creó su base de datos con formato propio con tres ficheros, pero viendo el percal, codificó los datos ascii sumandole uno a cada valor CHR de los mismos (chr(a)+1 = letra b, Pedro seria =  Qfeop), despues pidió un aumento de sueldo, B)  y como tenia agarrado al Empresario,  por los cataplines, no solo consiguio el aumento, sino que tuvo tiempo para en el futuro desarrollar codigo para portar los resultados de su programa (no la BDD) a tropecientos formatos que estan super explicados en inet.

Salu2.
0 for i=0 to 1000<br>20 print "Ya soy programador"<br>30 next i<br>

ethernet

 Ese caso es tan estúpido e irreal que en el que caso de que fuera posible a los programadores A,B,C no les interesaría trabajar con alguien así.

La gente no se da cuenta que lo primero que debe mirar al buscar un trabajo es que el que lleva el negocio tenga 2 dedos de frente y el del hipotetico ejemplo no los tendría. Hay prácticas en empresas por miles, tenemos para elegir.

Calantra

Cita de: "ethernet"Ese caso es tan estúpido e irreal que en el que caso de que fuera posible a los programadores A,B,C no les interesaría trabajar con alguien así.

La gente no se da cuenta que lo primero que debe mirar al buscar un trabajo es que el que lleva el negocio tenga 2 dedos de frente y el del hipotetico ejemplo no los tendría. Hay prácticas en empresas por miles, tenemos para elegir.
Pues ya ves, los empresarios de multinacionales no tienen dos dedos de frente, cierran factorias en España para irse a los paises del Este o de Oriente, donde la mano de Obra ta tirada, serán  ignorantes. Ya volveran, ya y cuando lo hagan nos vamos a negar a trabajar para ellos, ademas es mas digno vender helados y refrescos por las playas a los guiris.

Tienes razón, yo nunca trabajaría para por ejemplo una Fijutsu, que si tienen perdidas un año despiden a 4000 empleados, las empresas del País de las casas de  chocolatina y calles de caramelo, no hacen eso.

Ademas, de que nos tenemos que preocupar, si hay un monton de trabajo, seguro que esos 2.007.100 de parados del año pasado no saben hacer ni la o con un vaso.

Salu2.




0 for i=0 to 1000<br>20 print "Ya soy programador"<br>30 next i<br>

Capiflash

   Para Vicente
       No habia oid nada de que MySQL fuese mal con .Net , la verdad , es en la que habia pensado si optaba por bases de datos , que creo que es lo que finalmente hare , como han dicho por ahi , no hay por que reinventar la rueda .
 Para Calantra
       El ejemplo que has puesto de la base de datos es una verdad como un templo , otra cosa es que el cliente quiera más campos ( Domicilio , y mil chorradas que se le puedan pasar por la cabeza ).

        ¿ Alguno ha tenido problas con MySQL y C# como decía Vicente ?

   

Calantra

 Lo cierto esque no le veo problema a añadir mas campos a una base propia existente, si por ejemplo tenemos una base de datos donde cada elemento consta de 3 campos y queremos que sea de 6 pues seria algo asin:


Camposantiguos=3
total de lineas en del fichero=18 ( 6 elementos )
ficherodbantiguo=baseantigua
ficherodbnuevo=basenueva
contador = 1
repite
si contador=camposantiguos entonces escribo tres lineas en blanco en ficherodbnuevo
y sumo tres a camposantiguos

leecampo de ficherodbantiguo
escribe en ficherodbnuevo
incremento contador
hasta que contador sea = a total de lienas en  fichero

He leido una a una las lineas y las e copiado a otro fichero nuevo y cada tres lineas leidas, he añadido 3 lineas mas en blanco al nuevo fichero.

Ya tengo mi bd con el nombre "basenueva" con 6 campos, 3 que ya usaba y tenia definidos y 3 mas en blanco para lo que yo quiera, el siguiente paso es definirlos en el programa para que sean leidos y escritos.

si tengo una variable de tipo Elemento  compuesto de:
variable Nombre
variable Direccion
variable Provincia

pues solo seria añadirle las 2 variables nuevas que yo quiera a continuacion.


Creo que el formato de la Bd esta claro, 1 linea por campo, pa no complicarnos la vida.

Ej.
Linea 1 = Nombre
Linea 2 = Direccion
Linea 3 = Provincia
Liena 4 = Nombre ... Y asi sucesibamente hasta el final.

Espero que se entienda.

Salu2.

P.d. por cierto, que quede claro que yo no quiero convencer de nada a nadie, cada uno desarroya como le da la gana y lo que a mi me parece bien a otros tantos les parece mal. Desde mi punto de vista el fin justifica los medios, si algo funciona "bien" como si esta hecho en basic, mientras haga lo que tiene que hacer como nosotros queramos.



0 for i=0 to 1000<br>20 print "Ya soy programador"<br>30 next i<br>

ethernet

Cita de: "Calantra"Pues ya ves, los empresarios de multinacionales no tienen dos dedos de frente, cierran factorias en España para irse a los paises del Este o de Oriente, donde la mano de Obra ta tirada, serán  ignorantes. Ya volveran, ya y cuando lo hagan nos vamos a negar a trabajar para ellos, ademas es mas digno vender helados y refrescos por las playas a los guiris.

Tienes razón, yo nunca trabajaría para por ejemplo una Fijutsu, que si tienen perdidas un año despiden a 4000 empleados, las empresas del País de las casas de  chocolatina y calles de caramelo, no hacen eso.

Ademas, de que nos tenemos que preocupar, si hay un monton de trabajo, seguro que esos 2.007.100 de parados del año pasado no saben hacer ni la o con un vaso.

Salu2.
Yo cuando hablo de trabajo hablo de trabajo para gente que piensa, me explico, una empresa de meter tornillos en botes no necesita gente preparada, sin embargo una empresa que hace satélites necesita, ingenieros a expuertas (teleco, informáticos, electronicos, físicos....) y en países subdesarrollados no existen.

2 millones de parados.. de los cuales hay una tasa de temporalidad (andalucía rocks), paro friccional, gente que está trabajando y que además está en el paro (legalmente es posible hacerlo) los que lo hacen ilegalmente,  los que no están dispuestos a moverse de su casa para currar, los estudiantes que están apuntados para dar cursos. El que quiere trabajar, trabaja y mucho más si vale.


TonyJ

 He leído diferentes opiniones sobre bases de datos estándar y propias. Voy a dar la mía bajo mi experiencia profesional y desde un punto de vista práctico y lógico:

Lo primero a tener en cuenta para decidirse en este sentido es saber qué cantidad de información necesitará gestionar el programa, qué cantidad a almacenar en los ficheros, y cuántos usuarios concurrentes.
Algo a tener también muy en cuenta es del tiempo del que dispones para desarrollar la aplicación.

Los problemas entre base de datos y lenguaje de programación creo que es lo de menos, ya que el driver correspondiente es el que hace el trabajo (a menos que exista algún tipo de incompatibilidad, tal vez con la tecnología .NET ¿? )

Si va a ser una aplicación relativamente pequeña puedes usar ficheros propios y olvidarte de la base de datos.
Si vas a necesitar una considerable cantidad de información (no más de 5000 registros en alguna tabla, por mi experiencia) te puedes quedar con Access, siempre y cuando la aplicación sea para un sólo usuario.
Si va a haber mucha información no aconsejo una base de datos propia a menos que dispongas del tiempo suficiente para su desarrollo, teniendo en cuenta que deberá tener un mínimo de velocidad. El que estemos programando un programa de gestión no quiere decir que tenga que ser lento. Muchísimos programas de este tipo requieren un acceso a la información muy rápido.

En caso de que vaya a haber una cantidad de datos realmente importante (base de datos de más de 50 MB) lo mejor es SQL Server, MySQL o Postgree.
Lo bueno de MySQL o Postgree es que son gratuitos. Pero también tienes una versión gratuita de Microsoft SQL, y es Microsoft Desktop Engine (MSDE), cuyas especificaciones indican que admite hasta 5 usuarios concurrentes, aunque en la práctica he llegado a ver hasta 20. El MSDE es el motor SQL que instalarías en el equipo donde vaya a estar la base de datos. Esta base de datos la puedes crear con cualquier otro gestor gratuito y luego convertirla, o simplemente generar los ficheros .sql y luego ejecutar las instrucciones desde tu aplicación en un proceso de instalación o puesta a punto.

Si la aplicación va a ser muy grande, potente y con una cantidad de información exagerada, la solución es Oracle, siempre y cuando el cliente esté dispuesto a pagar una licencia, y a menos que sea una empresa a la que le sobre mucho dinero, dudo que la compre. De hecho con muchas aplicaciones se distribuye MSDE para evitar que el cliente compre una licencia de SQL Server.

Y hablando de otros temas... es muy diferente hacer un formato propio de fichero a hacer un nuevo gestor de bases de datos. Un formato de fichero para una aplicación pequeñita, vale. Pero dudo mucho que alguien se ponga a desarrollar un gestor de bases de datos para una aplicación de una empresa en la que podemos durar dos telediarios (a menos que nos contraten para eso).
Y a parte de eso, si al programador C lo echan y contratan a un D, revisando el código fuente podrá ver el formato del fichero (aunque le lleve su tiempo).
Por otra parte, si a mi me dicen que tengo que hacer un programa en 6 meses con total libertad para elegir el formato en el que se guarden los datos, creo que lo más importante es acabar el proyecto, y no ponerme a reinventar la rueda (como ya han dicho) para tardar más tiempo del que me debería de llevar mi trabajo.

Además, si estamos aprendiendo, lo más importante es eso, aprender y coger experiencia. Y si tuviera la oportunidad de trabajar en Fujitsu aunque me echen a los 6 meses, tal vez la aprovecharía. Hay nombres que quedan muy bien en un currículum. Aunque eso ya es algo más personal, y dependería mucho de la situación y las espectativas de cada uno.

Pensemos con lógica, deberíamos estar acostumbrados a eso, somos programadores  ;)
(esta frase me la apunto para la firma  (uoh) )

P.D.: las empresas del País de las chocolatinas también hacen eso, si tienen pérdidas echan a los currantes que sobran. Una empresa es una empresa, y está para ganar dinero, si la forma de ganarlo es echando a los curritos... nos tocará la china. Yo he estado en más de una cercana a los mundos de Yupi, y te aseguro que también ocurre  (asco)
o hicieron porque no sabían que era imposible.

Capiflash

 Hola TonyJ . No conocia msde , he buscado en microsoft , y veo que hay para la descarga , una version "sql server 2005 express" , quizas en esta version no hayan problemas con .Net como han comentado , aunque nadie ha hablado todavia de los problemas que tenia MySQL con .Net .
Ya habia comentado que me estaba decantando por una base de datos , y teniendo una version gratuita de microsoft , quizas me decante por msde ,asi quizas no haya problemas de compatibilidad ( ambos son productos del mismo padre ...... )
Hay algunas tablas que contienen cerca de 10000 registros , asi que access descartado . Muchas gracias por las opiniones/experiencias de todos , un saludo

TonyJ

 Cierto. De hecho, si nos fijamos en las especificaciones, necesita .NET Framework 2.0, y se integra con Visutal Studio 2005, por lo que no debería haber ningún problema.
Además, parece ser que es gratuito, o al menos eso me ha parecido ver (si no lo he traducido mal B) ) Será porque es una Beta.

Creo que es una buena solución para tu proyecto.

Suerte. (ole)
o hicieron porque no sabían que era imposible.

Vicente

 Hola,

lo del MySQL lo decía como ejemplo, no tengo ni idea de si va bien o mal ;) Yo he usado .NET contra Access y MSQLS, pero vamos, supongo que contra cualquier otro proveedor irá perfectamente. Pero vamos eso, que solo era un ejemplo, no verdad, lo siento si no me he expresado muy bien. Un saludo!

Vicente

Vicente

 Hola,

y respecto al net 2.0 y el Visual 2005. Nosotros en nuestra empresa a pesar de estar en beta lo usamos, y va muy bien la verdad. Del SQL Server Express 2005 no te puedo comentar nada porque ese no lo tocamos, pero el Visual Studio 2005 (la beta de diciembre, la del Team System, no la nueva que han sacado hace poco Professional) y el Framework 2.0 son una gozada, se trabaja muy rápido (generics rock) y el IDE es cómodo cómodo (y eso que yo curro en VB.NET que no trae muuuchas pijadas que si trae C#).

Un saludo!

Vicente

Grugnorr

 Para BD échale un ojo a FireBird

Me parece de locos que estéis plantearos reinventar la rueda en uno de los pilares de la informática, una BD. Creéis además que un sistema de ficheros "artesanal" va a tener más seguridad que uno de BD?, por no hablar de cómo lo vas a montar  (nooo)

PD: Contabilidad y Facturación?, no veo el próximo ContaPlus y FacturaPlus sin Base de Datos  :D  
hat the hells!

Grugnorr

 
CitarEl contaplus mismo está hecho en Clipper.

Jeje, sí, pero Clipper precisamente para manejar directamente la BD, que es DBase ( creo :P )

PD: La próxima versión es C# + FireBird  
hat the hells!

Calantra

 Bueno, como veo que capiflash ya se ha decantado por usar una base de datos predefinida creo que no le daremos mas vueltas ¿no?

Algunos dicen que crear una base de datos propia es reinventar la rueda, pero cada empresa se ha creado la suya a partir de que?¿ ¿o son todas iguales? ¿o unas se pueden portar a otras? Lo cierto es que no estaria de mas que alguien mas "rienventara la rueda en cuanto a sistmas operativos" asi tendriamos mas donde elegir, pero bueno teniendo a Guindous que nos lo hace todo, para que queremos mas.

Yo seguiré con mi base en un fichero plano de texto, conteniendo casi 1000 registros ya, que ha generado decenas de megabytes de informacion sencilla y entendible desde el año 97, ofreceindo velocidad  y solidez. Y como comenté en realtos anteriores "si algo funciona bien para que voy a cambiarlo", simplemente un lavado de cara y algunas mejoras y 10 años mas dando caña  (uoh).

El dia que tenga una base con tropecientos megabytes y vaya lento, pues la cargare en memoria antes de iniciar la aplicacion en bloques donde los datos estan ordenados de a la "a" a la "j" y asi sucesivamente para optimizar mas aun la velocidad en la busqueda y el acceso será igual que si utilizara un fichero.

Salu2.



Salu2.




0 for i=0 to 1000<br>20 print "Ya soy programador"<br>30 next i<br>






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.