PDA

Ver la Versión Completa : Que base de datos Usar


ElPaton23
05-12-2019, 11:08:08
Buen dia. Tengo que hacer un pequeño sistema de gestion para una empresa que solo que va a usar en una pc localmente en windows 10.
Que base de datos me recomiendan usar?lo voy a hacer con delphi 7 pero no se cual es la mejor opcion para una base que quede instalada en la pc de la empresa...espero se entienda la pregunta..
muchas gracias

Casimiro Notevi
05-12-2019, 11:13:27
Firebird, PostgreSQL, MySql, etc.

duilioisola
05-12-2019, 12:17:52
Firebird.

Se instala en menos de 1 minuto.
Consume muy pocos recursos. (1MB para el servidor)
Queda la puerta abierta para poder utilizarlo en red (multi-puesto/multi-usuario)
Tiene todas las cualidades de una base relacional (triggers, procedimientos almacenados, Primary Keys, Foreign Keys, etc.)
Backup y Restore muy simples (GBAK Base.FDB Backup.FBK)

Javierus
05-12-2019, 13:58:45
Si solo se va a usar así, alguna de las que se puede embeber en tu ejecutable, de modo que no haya que instalar nada más

mamcx
05-12-2019, 16:20:49
PostgreSQL es la mejor BD en términos generales.

Firebird si se desea la posibilidad de desplegar sin instalar aparte el motor. Sqlite solo si es para móviles.

No recomiendo mysql. En mis mas de 10+ años que me ha tocado trabajar con ella (me integro con multiples ERPs con todas las combinaciones imaginables) es la mas problematica y menos intuitiva, y esta llena de estupideces que solo le aplican a ella. PostgreSQL por el contrario funciona tal como se espera.

Casimiro Notevi
05-12-2019, 16:40:21
Entonces, la que cumple con todos los requisitos, además de ser libre y gratis: firebird.

mRoman
05-12-2019, 16:53:15
Si, definitivamente FIREBIRD.

TiammatMX
05-12-2019, 17:40:45
...además de ser libre y gratis...

Mi yo malvado, metiendo cizaña... :D:D:D:D Microsoft SQLServer.

Casimiro Notevi
05-12-2019, 17:55:57
Mi yo malvado, metiendo cizaña... :D:D:D:D Microsoft SQLServer.¿Hoy es el día de los inocentes? :rolleyes::D

ElPaton23
05-12-2019, 19:59:21
Genial gracias a todos. Ultima consulta.. COn firebird hay q hacer algun tipo de instalacion en la pc que usa el programa (no hay servidores de por medio ni nada, todo local, software y bdd) o se se pone en la carpeta del sistema y se llama desde el sistema?..
gracias

mamcx
05-12-2019, 20:09:57
Mi yo malvado, metiendo cizaña... :D:D:D:D Microsoft SQLServer.

SQL Server es una bd tremenda. 100% recomendada entre las opciones comerciales.

Casimiro Notevi
05-12-2019, 20:45:45
Genial gracias a todos. Ultima consulta.. COn firebird hay q hacer algun tipo de instalacion en la pc que usa el programa (no hay servidores de por medio ni nada, todo local, software y bdd) o se se pone en la carpeta del sistema y se llama desde el sistema?..
gracias
Descargas desde su web y lo instalas, nada más.
Si vas a usar la versión "embebida" solamente tendrás que adjuntar la dll cliente y poco más. Haz una búsqueda por los foros, se ha tratado muchas veces.
En la web de ellos también tienes información, documentos, etc
https://firebirdsql.org/en/firebird-3-0/

look
06-12-2019, 02:25:08
Mi yo malvado, metiendo cizaña... :D:D:D:D Microsoft SQLServer.

estoy con tigo, un sqlserver express. ;)

Casimiro Notevi
06-12-2019, 10:11:36
estoy con tigo, un sqlserver express. ;)
Claro, aunque no sea ni libre, ni ligera, ni "embebible", ni fácil de instalar, ni sin mantenimiento, ni ... :p

roman
06-12-2019, 15:26:11
Entonces, la que cumple con todos los requisitos, además de ser libre y gratis: firebird.

¿Cuáles requisitos? Porque el OP no mencionó más que delphi y que es para una sóla empresa, sin mencionar nada del alcance o funcionalidades de la aplicación. Porque hasta Access podría servir, en ciertas circunstancias. Pero sin caer en esas aberraciones, MariaDB también es libre y gratuita y muy ligera, al igual que y MySQL.

Saludos

mRoman
06-12-2019, 16:46:51
Claro, aunque no sea ni libre, ni ligera, ni "embebible", ni fácil de instalar, ni sin mantenimiento, ni ... :p

Es el NINI* de las bases de datos

NINI: Termino mexicano que define a los adolescentes que no trabajan ni estudian.:D

Neftali [Germán.Estévez]
09-12-2019, 09:17:31
Tengo que hacer un pequeño sistema de gestion para una empresa que solo que va a usar en una pc localmente en windows 10.
Que base de datos me recomiendan usar?lo voy a hacer con delphi 7 pero no se cual es la mejor opcion para una base que quede instalada en la pc de la empresa...



Pues yo te voy a dar la que faltaba (y alguno me va a echar los perros, seguro).
Para cosas similares sin grandes pretensiones, funciona muy bien Delphi7+ADO+Jet4.0 (Fichero MDB). (No confundir con MSAccess)
Con la ventaja de que si la cosa crece o necesitas más rendimiento se migra de forma muy sencilla a un SQLServer Express (segunda de mis recomendaciones).

AÑADO: Explico un poco el porqué.

El rendimiento es bastante bueno con ADO.
Fácil de administrar. Hay muchas herramientas gratuitas y de libre distribución que permiten al usuario (si lo necesita administrar los ficheros MDB).
No requiere instalación de Servidor
Un único fichero. A veces es cómodo para un Copy&Paste del directorio (si es lo que se necesita)

mamcx
09-12-2019, 15:14:07
;534713'] Delphi7+ADO+Jet4.0 (Fichero MDB). (No confundir con MSAccess)

No hombre, jet es MALO. Jet es exactamente Access, ni más ni menos.

Si se quiere un solo fichero firebird o sqlite.

Neftali [Germán.Estévez]
09-12-2019, 16:02:01
No hombre, jet es MALO. Jet es exactamente Access, ni más ni menos.


Pues lo siento, pero discrepo en ambas cosas.
1) MsAccess no es más que un programa para administrar Bases de Datos en ficheros MDB. Jet es el motor realmente.
2) Discrepo también en que sea malo. Al contrario, ADO+Jet funciona muy bien.

Otra cosa es comparado con qué y para qué.

Entramos en la discusión de siempre...
"SQL Server es mucho mejor que una Base de Datos en DBF". Pues depende.
Montar un SQL para una agenda de teléfonos (por decir algo) es una "salvajada" a mi entender. En ese caso SQL Server no es mejor que un fichero DBF o XML.

Recordemos que un SQL server requiere de mínimos (si no me falla la memoria) unos 5GB de espacio en disco y 1 o 2 GB de RAM.
"Está bien" para un programa que ocupa unos megas y realiza una cuantas tarea básicas, decirle al usuario que necesita esos requisitos... :mad::mad::mad:

Tengo que hacer:
* un pequeño sistema de gestion
* para una empresa que solo que va a usar en una pc localmente
* en windows 10.
* lo voy a hacer con delphi 7
* para una base que quede instalada en la pc de la empresa


AÑADO:
Que conste, que ninguno de esos criterios, excepto el segundo, dan información importante para determinar la necesidad de uno u otro sistema.


Depende, todo depende,...

TiammatMX
09-12-2019, 17:47:06
;534719']...Que conste, que ninguno de esos criterios, excepto el segundo, dan información importante para determinar la necesidad de uno u otro sistema.


Depende, todo depende,...

Y para añadir al "depende". Hasta ahora no he encontrado un sistema profesional en empresas grandes que no utilice MS SQLServer, excepto uno en MySQL que estaba dirigido a web e intraweb. He sabido de Firebird, en PostGres y así, y al menos en México, el "encanto" de la marca aún influye en las decisiones...

Concuerdo con Neftalí: DEPENDE ...

movorack
09-12-2019, 18:43:19
¿Y si haces que tu sistema trabaje con múltiples motores? Es decir, de base que trabaje con Firebird pero que también puedan usar MySQL, PgSQL, MsSQL y así.

Aunque depronto es complicarlo mucho si es algo sencillo pero es buena opción pensando en el escalamiento y que cada cliente puede querer usar cierto motor que su jefe de IT les ha recomendado muchisimo

TiammatMX
09-12-2019, 18:51:23
¿Y si haces que tu sistema trabaje con múltiples motores?...

Según entiendo, es uno de los propósitos de diseñar tu sistema en 3 capas, ser independiente del motor de bases de datos...

Aunque depronto es complicarlo mucho si es algo sencillo...

Que siento que se complica más porque cada motor de base de datos tiene sus peculiaridades que impide hacer una serie de sentencias "de norma" adaptables a cada uno..., cosas raras de la informática, lo que debería ser standard es lo que más cambia.

mamcx
10-12-2019, 00:02:10
;534719']Pues lo siento, pero discrepo en ambas cosas.
2) Discrepo también en que sea malo. Al contrario, ADO+Jet funciona muy bien.


Esto es noticia vieja. JET fue marcado como "obsoleto" hace como 16 Años.

https://techcommunity.microsoft.com/t5/SQL-Server-Support/How-to-get-a-x64-version-of-Jet/ba-p/315933
https://docs.microsoft.com/en-us/sql/connect/connect-history?view=sqlallproducts-allversions&redirectedfrom=MSDN


Microsoft recommends, when you develop new applications, that you avoid using these components. Additionally, when you upgrade or modify existing applications, remove any dependency on these components.


Y antes de eso, Jet era muy bien conocido como un producto pésimo.

No tiene ningun sentido usar Jet, sabiendo que sqlite (por nombrar el reemplazo mas obvio) barre con este y ademas esta mejor probado (https://sqlite.org/testing.html).

P.D: Desde el punto de vista de MS, Jet es idéntico a paradox: Una reliquia del pasado. Y si te preguntas "Y eso no pues que esta en Access?" pues veras, Access lo tienen hay medio vivo pues porque aja, pero que le tengan cariño? Para nada. Por eso, si realmente le dieran importancia, le QUITARIAN JET DE UNA. Pero como no es asi y no les importa, pues aja, ahi ta*.

No sean como MS con jet, ok?

P.D.2: En mi modo conspirativo, MS mato FoxPro porque era demasiado bueno, y Access esta en modo zombie, porque ambos representan un estilo de desarrollo de apps de negocio DEMASIADO productivo y que hacia innecesario meter C++, C# y demas....

mamcx
10-12-2019, 00:08:55
¿Y si haces que tu sistema trabaje con múltiples motores? Es decir, de base que trabaje con Firebird pero que también puedan usar MySQL, PgSQL, MsSQL y así.

Esa es una de las falacias de desarrollo empresarial más inmensas que hay. De ahi salen otras falacias como "no usemos vistas, ni procedimientos almacenados ni triggers" y demas ideas raras.

Eso es como decir "y porque no escribes en Java como si fueras a usar despues C#, igual son como lo mismo, no?"

P.D: Soporte a multiples DBs tiene sentido para componentes de integracion o drivers generales, de resto? Nope!

Casimiro Notevi
10-12-2019, 10:01:46
También dBase era bueno y no por ello se le aconseja a nadie hoy en día.
En 1998 hice mi primer proyecto profesional con Delphi y Firebird (Interbase, pues Firebird creo que es de 1999 y lo cambié en cuanto salió), y ya entonces se descartó "ms access", dbase, paradox y otros similares porque eran antiguos, propensos a fallos y con muy mal funcionamiento en red.
Así que si en 1998 eran antiguos, unos 22 años después para qué hablar.

Neftali [Germán.Estévez]
10-12-2019, 11:22:43
Esto es noticia vieja. JET fue marcado como "obsoleto" hace como 16 Años.
Hace 16 años (cuando acababa de salir Delphi 7) todavía programabamos con el BDE y ADO+Jet4 era mucho mejor (a mi entender).

He programado en Delphi6 contra Oracle, SQLServer, MDB's, Paradox, Interbase y alguna cosa más.
Los 2 primeros estaban en otro nivel y para según qué cosas a mi entender no tiene sentido "montarlos" y de los siguientes (en su momento) lo mejor era ADO+Jet4+MDB de largo. Y no me baso en ningun artículo lo se por experiencia propia.
Hoy está claro que IB/FB estarían en la primera categoría (SGBD's) y el resto no tienen ese calificativo

Desde el punto de vista de MS, Jet es idéntico a paradox
No se qué punto de vista tiene en MS, pero el trabajo con ambos no tiene nada que ver.

Sigo pensando que todo depende, hay 1000 formas de almacenar datos, desde el registro, ficheros INI, ficheros planos, XML, JSON, formatos nativos, SGBD's, modelos relacionales, no relacionales, Bases de datos noSQL y todos los demás que se nos puedan ocurrir y ninguno es malo o bueno, cada uno es el adecuado para una tarea. Al menos es lo que yo pienso..

Casimiro Notevi
10-12-2019, 12:33:47
]Hoy está claro que IB/FB estarían en la primera categoría (SGBD's) y el resto no tienen ese calificativo
Hoy y antes, pues ya existían en la fecha que comentas.


ninguno es malo o bueno, cada uno es el adecuado para una tarea. Al menos es lo que yo pienso..

Eso es cierto.

mamcx
10-12-2019, 13:56:17
;534733']
... y ninguno es malo o bueno, cada uno es el adecuado para una tarea. Al menos es lo que yo pienso..

Mientras entiendo lo que dices, siempre me ha molestado lo de decir que "ninguna opción es mala", al defender tecnologías y similares. Eso no tiene sentido. Hay opciones que sí son malas: C, C++, Js, PHP, paradox, jet son malas opciones. Y en el caso de un almacenamiento de datos, cualquier cosa que sea viable de corromper o meter datos malos, es mala. Por eso, mongodb, jet, fox, etc es malo.

Uno en este trabajo le toca convivir con malas opciones todo el tiempo. Que dadas las circunstancias a punta de sudor (y muchas veces, pura suerte) eso se maneja? Pues eso es lo que hace a alguien profesional. Que si toca remangarse las mangas y poner a andar el motor a punta de cinta aislante echandole manualmente el agua pa que no se recaliente, pues aja, eso es lo que toca.

Pero habiendo MEJORES opciones? Y ademas, ante la EXPLICITA recomendación del fabricante? Y luego de AÑOS? Eso es puro masoquismo. Y en esta industria SOMOS masoquistas.

Ej: Ahorita mismo tengo que integrar contra un bodrio de bd de datos MySQL cuyas tablas (que es un erp) se llaman UNCC_0001, UNCC_0002 ...., obvio UNCC_00021 es pedidos. Y sus campos se llaman FT_0001, FT_0002 ... que obvio FT_0001 es la PK de la tabla.

El cliente dice que ese ERP funciona muy bien!