2008-09-22 15 views
11

Necesito crear una aplicación de base de datos simple y única para Windows. Los requisitos principales son la independencia de la versión de Windows y el software instalado. ¿Qué tecnologías (lenguaje/marco) recomendaría? Mi preferencia por el lenguaje es Visual Basic.Aplicación de base de datos simple para Windows

EDITAR: ¿Qué hay de VB.Net y SQL Server Compact Edition?

Respuesta

18

Recomendaría Sqlite. Es completamente autónomo y dominio público por lo que no hay problemas de licencia en absoluto.

10

¿Usuario único o usuario múltiple?

Para un solo usuario, la respuesta sería SQLite

Para multiusuario (o multi-hilo), tratan MySQL o PostgreSQL.

0

Bueno, asumiendo que no tiene ninguna experiencia previa ...

Se necesita algún tipo de almacenamiento de persistencia (por ejemplo, una base de datos) y un cliente. Para el almacenamiento puede usar casi cualquier cosa. Por ejemplo, podría crear su base de datos en MS Access y simplemente enviarla como un archivo, utilizando ADO para acceder a ella. Otras opciones son la edición de MS SQL Express (viene pre-instalado en algunas máquinas o se podría instalar de forma gratuita) y un montón de bases de datos de código abierto como SQLite

Por el lado del cliente no se podía ir mal con VBScript y ADO (utilizando Controladores OLE DB). Vienen con cada instalación de Windows desde Dark Ages, tendrás muchas referencias/tutoriales/respuestas en línea. Un inconveniente: no hay una interfaz de usuario de la que hablar, por lo que tendrá que crear una interfaz de línea de comandos (que era para una aplicación 'simple').

Si desea construir una interfaz de usuario, le sugiero usar .NET WinForms. La sobrecarga será sustancialmente mayor, pero .NET ahora está instalado en todas las máquinas XP/Vista y, aunque no lo sea, siempre se puede instalar la infraestructura con su aplicación.

0

No está del todo claro si desea una aplicación web o no.

Para una aplicación web, MySQL funciona de manera efectiva en la plataforma de Windows. También tiene opciones casi ilimitadas para entornos de desarrollo, incluidos PHP, Ruby on Rails, Django y .Net.

Si está mirando una aplicación de escritorio, MS Access podría ser adecuado ... increíblemente fácil para aplicaciones simples.

0

Si usted quiere construir aplicaciones que se pueden mover a otra PC fácilmente, prefiero Microsoft Access es pequeña base de datos fácil de usar y no hay necesidad de suites install.It para la aplicación como la agenda telefónica, mini sistema crud.

Pero si desea desarrollar el sistema de base de datos empresarial, debe usar MySQL en su lugar.

0

No entiendo lo que quiere decir con "software [...] instalado de forma independiente". Alguna vez necesita al menos el DBMS instalado, así como un cliente o interfaz de usuario.

Recomiendo usar MS Access. Es fácil y económico para tareas sencillas y de usuario único y para el desarrollo rápido de prototipos. Solo se debe comprar la versión de desarrollo (acceso "normal") para crear bases de datos. La versión en tiempo de ejecución de Access 2007 se puede descargar de forma gratuita desde la Página de inicio de Microsoft, para usar solo la base de datos que ha creado.

También combina DBMS y GUI frontend en la misma herramienta.

7

Como su requisito es una aplicación basada en Windows, le sugiero que vaya con sql server 2005 express edition, que es una herramienta gratuita, pero con ciertas limitaciones. puede actualizar a una versión más grande cuando vaya con una versión paga.

Hay otros motores de base de datos como SQL Lite o Firebird, elegir si las opciones de soporte y de crecimiento que ofrecen son lo suficientemente bueno para usted

Además, Visual Basic es lifed EF. VB.NET podría ser una mejor plataforma basada en Windows actualmente. Daría una mejor plataforma/características para comenzar y cuando quiera expandir el talento que tiene trabajando en el proyecto, supongo que el talento .NET podría estar más disponible que los programadores que quieran trabajar con un idioma inactivo.

0

¿Me atrevo a mencionar MS Access ...?

+0

Claro, siempre y cuando estén dispuestos a afrontar las consecuencias. – epochwolf

-1

La mejor opción sería crear una aplicación nativa Win32 usando Delphi y usar SQLLite como la base de datos.

Razón por la que Delphi puede producir aplicaciones win32 nativas sin ningún otro producto instalado en la máquina.

+0

Delphi es genial, y de hecho puedes crear aplicaciones win32 nativas sin dependencias con él. Sin embargo, no creo que sea una buena idea guiar a un nuevo programador hacia Delphi, cuando podrían utilizar un proyecto como este para mejorar sus habilidades en un entorno de programación más convencional. – MusiGenesis

1

Como se mencionó, SQLite es una excelente base de datos de usuario único. This page has VB/SQLite examples. Una vez que las preocupaciones es que SQLite analiza restricciones de clave externa, pero no los aplica. Puede usar this code to generate "foreign key triggers" para SQLite, obteniendo así una base de datos fácil de usar con restricciones FK.

Dependiendo de cuán exigentes sean las necesidades de su base de datos, es posible que desee considerar MS Access.

+0

Actualización: a partir de la versión 3.6.19, SQLite admite restricciones de clave externa [http://www.sqlite.org/faq.html#q22]. – Govert

1

Utilicé SQL Server Compact Edition. Es como sqllite. Un único archivo SDF al que se accede utilizando ADO.NET. Puede desarrollar su aplicación usando Visual Basic .NET y administrar su base de datos (agregue tablas, columnas, restricciones, etc. ... usando Visual Studio.

0

Si busca un espacio pequeño (hasta unos pocos MB) y una fácil implementación (el usuario final solo debe instalar su aplicación para que funcione), entonces sus opciones son SQLite y Firebird incrustadas.

De esos dos, elegiría Firebird en cualquier momento, debido a su soporte completo para SQL (no puede, por ejemplo, descartar una columna en SQLite), el cumplimiento de ACID y la capacidad de ir al cliente/servidor sin cualquier cambio (simplemente cambie la cadena de conexión de incrustado a servidor) al código si alguna vez decide dejar que varios usuarios trabajen en la misma base de datos.

Sin mencionar que puede usar el servidor completo para desarrollar (lo que significa que su aplicación y la herramienta de administración de la base de datos se pueden conectar a la base de datos al mismo tiempo).

2

FireBird SQL servidor será cosa de la elección. Se puede usar tanto en modo integrado como multiusuario como las bases de datos tradicionales. Implementa muchos de los estándares SQL y tiene una sólida base de comunidad. Está disponible para Windows, Linux, Solaris, OS X, HP-UX

0

Estoy utilizando con éxito Turbo Delphi (gratuito para uso comercial y no comercial) + ZeosLib (zeos.firmos.at).

Las únicas cosas que necesita distribuir con su .exe son las bases de datos de los clientes de la base de datos (no es necesario instalar el cliente, simplemente coloque las DLL en el mismo directorio).

Cuestiones relacionadas