¿Qué son las bases de datos pequeñas?
Access, MSDE 2000, Embedded Firebird, SQLite, etc. son todas bases de datos redistribuibles y gratuitas.
En comparación, la desventaja significativa de MSDE 2000 es que requiere instalación. La mayor ventaja es que es consistente con el modelo de programación SQL Server del lado del servidor y es fácil de desarrollar.
La desventaja importante de Access es que tiene menos funciones y no admite funciones comunes como transacciones. La mayor ventaja es que es simple, familiar para la mayoría de los desarrolladores y fácil de implementar.
SQLite admite transacciones y también es una base de datos de un solo archivo. La desventaja es que el proveedor de datos .NET aún no está muy maduro.
Firebird también tiene las ventajas de: archivo único, implementación simple sin instalación (solo dos archivos XCOPY), soporte para transacciones, procedimientos almacenados, activadores y el proveedor de datos .NET es relativamente estable y maduro.
Existen innumerables bases de datos en este planeta, estas son solo algunas de las más comunes con las que he entrado en contacto.
Puede ser un poco exagerado decir que las aplicaciones interactivas deben utilizar al menos almacenamiento de datos. Incluso el almacenamiento de datos con estructuras personalizadas, o los más comunes INI, XML, etc., pueden considerarse "bases de datos". Las reales, como la serie DBase, FoxBase, FoxPro, MSAccess, InterBase, MS SQL Server, Oracle, DB2, etc., son bases de datos comerciales. Las primeras solo pueden considerarse bases de datos y las últimas son RMDBS (relacionales). sistema de gestión de bases de datos).
Correspondiente a la comercialización, existen las de código abierto: SQLite, SimpleSQL, Berkeley DB, Minosse, Firebird (antes InterBase de Borland Company), PostgreSQL, MySQL, etc.
□SQLite: puede leer mi serie de ensayos SQLite, escritos en C, que pueden cruzar plataformas operativas y admitir la mayoría de ANSI SQL 92. Es un motor de base de datos relacional liviano integrado que solo requiere una DLL de 250k de tamaño, y la base de datos es solo un archivo. Puede funcionar sin configuración. Como es de código abierto, incluso puedes integrarlo en tus programas. Solo hay un desarrollador principal. Recientemente, se ha unido otro, que son solo dos personas. Realmente lo admiro. Se ha desarrollado hasta 3.1.0, que es muy eficiente y estable. Hay un controlador de código abierto en sourceforge.net. y su proveedor de datos ADO.NET para SQLite: /projects/adodotnetsqlite/.
□SimpleSQL: Es varias veces más grande que SQLite, pero también es liviano y un poco más potente. Está escrito en C y tiene versiones OLE, Java y otras.
□Berkely DB: un sistema de base de datos relacional a gran escala escrito en C. También admite adicionalmente XML (tratando XML como una base de datos. Afirma tener 2 millones de instalaciones, mientras que MySQL solo afirma 5 millones de instalaciones). . Eso es todo, multiplataforma.
□Minosse: un sistema de base de datos relacional a gran escala escrito exclusivamente en C#, ¡idealmente superando a MS SQL Server! La última versión: 0.2.0. Es realmente rara. He visto muchas escritas en Java puro. No es un trasplante de otra persona. Admiro al autor. C/S y versiones integradas, y puede abarcar la mayoría de las aplicaciones, porque no utiliza elementos de Windows y se puede compilar en Mono.
□Firebird: Esto es increíble. Actualmente, la versión estable 1.5 tiene muchas funciones y es totalmente compatible con ANSI SQL92, 98, etc. Algunas funciones geniales enloquecen a la gente (funciones 1.0, funciones 1.5, (comience a investigar aquí), el desarrollador principal es ruso y el equipo de desarrollo se ha expandido a casi 100 personas. Hay 3 modos, independiente, C/S típico y superservidor. Las versiones 2.0 y 3.0 se lanzarán en un futuro próximo y te volverás loco después de leer su hoja de ruta (2.0, 3.0). Hay un controlador .NET, actualmente versión 1.7beta. Características principales:
◆A.C.I.D;
◆MGA (cualquier versión del motor puede procesar el mismo registro de base de datos
◆PSQL (procedimiento almacenado) es); superpoderoso, MS SQL es relativamente inferior. Puede implementar todo en el servidor y enviarlo al cliente para convertirlo en un informe potente y un procedimiento almacenado.
◆ Los desencadenantes se pueden monitorear y rastrear en el cliente; /p>
p>
◆Modo automático de solo lectura;
◆La transacción innovadora garantiza absolutamente ningún error
◆Se puede realizar una copia de seguridad de la base de datos en cualquier momento; tiempo durante la operación 24*7;
◆ Disparador unificado: cualquier operación puede controlarse mediante un disparador único de una determinada tabla
◆ El complemento se puede escribir en la mayoría de los idiomas; y la función se puede llamar directamente en el procedimiento almacenado.
◆c-gt;c, menos código pero más rápido
◆3 modos de ejecución, incluso integrados
p>
◆Los lenguajes convencionales pueden llamarlo
◆Ejecución dinámica de SQL
◆Punto de guardado de transacciones
□PostgreSQL; -Versión de código abierto de la base de datos POSTGRES, conocida como Tiene una gran cantidad de características nuevas que no están disponibles en ninguna otra base de datos. Parece que el objetivo es construir un sistema de base de datos relacional OO muy grande. Ha sido desarrollado para 8.0 y. Tiene un controlador .NET. El sitio web oficial chino tiene una introducción detallada.
□MySQL: No hace falta decirlo, ¿verdad? Es conocida como la base de datos de código abierto más popular del mundo, pero lo que me extraña es que PostgreSQL tiene soporte para chino simplificado: incluido el kernel, herramientas de administración, control de calidad, etc. En la última versión de MySQL, no encontré... , existe el controlador .NET, entre los cuales MySQL Connector/Net es el proyecto ByteFX.Data original en sf.net. El autor se ha unido al equipo de MySQL. Consulte "Emociones 20: ¿El mapa del futuro/dinero? " (1 base de datos)》.
============================================ = ===========
Actualmente estoy aprendiendo Firebird Embeded Database. Como pequeña base de datos de un solo archivo, Firebird tiene muchas características atractivas, como soporte para transacciones, soporte para procedimientos almacenados, activadores, etc., y la versión integrada de Firebird solo necesita copiar dos archivos durante el desarrollo .NET: un fbembed.dll ( No administrado pero no requiere registro (biblioteca de vínculos dinámicos) y FirebirdSql.Data.Firebird.dll de un proveedor de datos ADO.NET. Estas funciones son muy adecuadas para situaciones en las que necesita almacenar algunos datos en el cliente pero no desea instalar software de base de datos (como MSDE).
Se dice que en países extranjeros, cuando es necesario utilizar una base de datos de cliente, alrededor de 30 desarrolladores eligen Access, 30 desarrolladores eligen MSDE 2000, 30 desarrolladores eligen Embedded Firebird y los 10 restantes eligen otras bases de datos pequeñas. como SQLite, MySQL, etc.
Acceso, MSDE 2000, Embedded Firebird, SQLite, etc. mencionados anteriormente son todas bases de datos redistribuibles gratuitas. En comparación, la desventaja significativa de MSDE 2000 es que requiere instalación. La mayor ventaja es que es consistente con el modelo de programación de SQL Server en el lado del servidor y es fácil de desarrollar. La desventaja importante de Access es que tiene menos funciones y no admite funciones comunes como transacciones. La mayor ventaja es que es simple, familiar para la mayoría de los desarrolladores y fácil de implementar. SQLite admite transacciones y también es una base de datos de un solo archivo. La desventaja es que el proveedor de datos .NET aún no está muy maduro. Firebird también tiene las ventajas de: archivo único, implementación simple sin instalación (solo dos archivos XCOPY), soporte para transacciones, procedimientos almacenados, activadores y el proveedor de datos .NET es relativamente estable y maduro.
Firebird tiene versiones SuperServer y Embedded. A esta última solo se puede acceder localmente y no acepta conexiones TCP. Para que los desarrolladores cambien de la base de datos integrada a SuperServer, solo necesitan cambiar el valor de ServerType en la cadena de conexión de la base de datos.
Sin embargo, antes de decidir oficialmente utilizar Firebird, preste atención al siguiente problema conocido: los archivos de la base de datos de Firebird no se pueden colocar en rutas que contengan caracteres chinos y de otro tipo. Los nombres de archivos de Firebird no pueden utilizar caracteres chinos. Si alguna parte de la ruta contiene caracteres chinos, no se podrá acceder a la base de datos. Por ejemplo, el directorio donde se encuentra el escritorio chino de Windows es generalmente "C:\Documentos y configuraciones\Nombre de usuario\Desktop". Si el archivo de la base de datos se coloca en el escritorio, no se puede acceder a él. Por supuesto, Firebird puede almacenar caracteres chinos internamente porque admite conjuntos de caracteres como GB2312 y UNICODE.
Cabe señalar que si la dirección de la base de datos en la cadena de conexión utiliza una ruta relativa, asegúrese de tener en cuenta que esta ruta relativa es relativa al directorio donde se encuentra fbembed.dll.