SQL Server Compact

SQL Server Compact

SQL Server Compact

Microsoft SQL Server Compact (SQL Server CE) es un motor de base de datos relacional, de libre descarga y distribución, tanto para dispositivos móviles como para aplicaciones escritorio. Especialmente orientada a sistemas ocacionalmente conectados, ofrece unas características especialmente útiles para clientes ligeros. La versión más reciente es SQL Server Compact 3.5 SP1. Anteriormente era conocida como SQL Server CE o SQL Server Mobile. Desde la versión 2.0, el lanzamiento de SQL Server Compact ha ido ligado al de Microsoft Visual Studio .NET.

Contenido

Historia

Fue presentada por Microsoft en el año 2001 como SQL Server CE 1.0 para ofrecer almacenamiento relacional y sincronización de aplicaciones móviles Pocket PC 2002 desarrolladas con Embeded Visual Basic y Embedded Visual C++ con sistemas SQL Server 2000. Junto con la aparición de Visual Studio .NET 2003 y con ello .NET Compact Framework 1.1 se presentó SQL Server CE 2.0 y System.Data.SqlServerCe.dll como interfaz de desarrollo para aplicaciones .NET Compact Framework junto a la interfaz de desarrollo para aplicaciones nativas.

En noviembre del 2006, junto al lanzamiento oficial de Visual Studio .NET 2005 y SQL Server 2005, Microsoft lanza la versión 3.0 renombrada a SQL Server Mobile 3.0. Tras esta versión aparecen nuevas características y funcionalidades como el acceso simultáneo, soporte transaccional o la integración con Visual Studio .NET y SQL Server Management Studio. Hasta la fecha, SQL Server CE no ofrecia ningún tipo de herramientas de administración más que la Query Analyzer para Windows Mobile. Meses más tarde se anuncia una nueva versión bajo el nombre en clave SQL Server Everywhere la cual ofrecía soporte multiplataforma para sistemas operativos basados en Windows CE y Windows 32/64 bits. Dicha edición fue lanzada oficialmente bajo el nombre SQL Server Compact 3.1.

SQL Server Compact 3.5 SP1 fue presentada junto a Visual Studio 2008.NET SP1.

Caracterísitcas

Una base de datos SQL Server Compact, a diferencia de una base de datos SQL Server que se expone como un Servicio Windows, se ejecuta bajo en proceso de la aplicación que la consume (in-process). El tamaño máximo del archivo de base de datos es de 4 Gb. y la extensión por defecto es .sdf la cual puede ser modificada. El nombre de la base de datos está limitado a 128 caracteres. En cuanto a limitaciones destacar que el número máximo de tablas por base de datos es de 1024 con un tamaño máximo por registro de 8060 bytes con un tamaño por página de 4 Kb. y 2 Gb. para campos BLOB.

SQL Server Compact posee un motor de base de datos así como un procesador y un optimizador de consultas especialmente diseñado para entornos móviles. Soporta un subconjunto de tipos de datos y de sentencias T-SQL de SQL Server y entre las últimas novedades de la versión 3.5 se encuentran:

  • Consultas jerarquizadas con SELECT FROM
  • Instrucciones CROSS APPLY y OUTER APPLY
  • Instrucción CAST y DECIMAL
  • SET IDENTITY INSERT
  • Instrucción TOP

Respecto a los tipos de datos de texto, SQL Server Compact únicamente soporta tipos de datos de cadena compatibles con Unicode (nchar, nvarchar, ntext).

A nivel de seguridad SQL Server Compact 3.5 ofrece la posibilidad de cifrado del fichero de base de datos en base a una contraseña de acceso restringida a un máximo de 40 carácters ofreciendo tres tipos de modos de cifrado:

  • Platform Default (Por defecto)
  • Engine Default
  • PPC2003 Compatibility

Existe una única base de datos temporal por sistema la cual es imprescindible para llevar a cabo, por ejemplo, operaciones ORDER BY. Su creación es implícita si no se especifica lo contrario en la cadena de conexión.

En entornos de ejecución bajo plataforma Windows 32/64 bits, SQL Server Compact soporta transacciones ligeras a través de contextos transaccionales administrados por LTM (Lightweight Transaction Manager) expuestos desde la versión .NET Framework 2.0 a través del espacio de nombres System.Transaction. Para plataformas Windows CE podemos hacer uso de las sentencias BEGIN, COMMIT y ROLLBACK TRANSACTION de T-SQL así como a través del objeto SqlCeTransaction expuesto en el espacio de nombres System.Data.SqlServerCe.

//Ejemplo de uso de transacciones
using (SqlCeConnection conexion =
            new SqlCeConnection(@"Data Source=BaseDatos.sdf;"))
{
    conexion.Open();
    SqlCeTransaction tran =
        conexion.BeginTransaction(IsolationLevel.Serializable);
    SqlCeCommand comando1 = conexion.CreateCommand();
    //enlistamos comando1 en transacción
    comando1.Transaction = tran;
    try
    {
        comando1.CommandText = "INSERT INTO CustomerContact" +
            "(CustomerId, CutomerPhone, CustomerPhoneType)" +
            "VALUES (123, '00123654789', 'Móvil')";
        comando1.ExecuteNonQuery();
        //aceptamos transacción 
        tran.Commit(CommitMode.Deferred);
    }
    catch (Exception ex)
    {
        tran.Rollback();
    }
}

En cuanto a herramientas de creación, diseño y administración, SQL Server Compact se integra desde la versión 3.0, con Visual Studio .NET (incluyendo la edición Express desde la versión 3.5) y SQL Server Management Studio. Desde ésta última permite consultar los planes de ejecución del optimizador de consultas antes y durante la ejecución de una sentencia T-SQL válida.

Desarrollo

SQL Server Compact puede ser consumida tanto por aplicaciones .NET Framework y .NET Compact Framework como por aplicaciones nativas. El conjunto de clases que proporciona es muy extenso y abarca desde la creación de la base de datos y mantenimiento hasta la manipulación de datos.

//ejemplo de creación de un registro mediante SqlCeResultSet
using (SqlCeConnection con = 
            new SqlCeConnection(@"Data Source=BaseDatos.sdf;"))
{
    con.Open();
    SqlCeCommand comando =
        new SqlCeCommand("SELECT * FROM CustomerContact", con);
    SqlCeResultSet rsCustomerContact =
        comando.ExecuteResultSet(ResultSetOptions.Updatable |
        ResultSetOptions.Scrollable);
    SqlCeUpdatableRecord registro = rsCustomerContact.CreateRecord();
    //agregamos los datos al nuevo registro
    registro.SetInt32(0, 123);
    registro.SetSqlString(1, '00123654789');
    registro.SetSqlString(2, 'Móvil');
    //añadimos registro
    rsCustomerContact.Insert(registro);
}

Entornos de sincronización

SQL Server Compact puede ser sincronizado con bases de datos SQL Server a través de la réplica por mezcla de SQL Server y de RDA (Remote Data Access). Para la sincronización con otros orígenes de datos distintos a SQL Server se hace uso de los Servicios de Sincronización para ADO.NET (Sync Services for ADO.NET).

Bibliografía

Libros en español sobre Microsoft SQL Server Compact:

  • Torres, José Miguel, SQL Server Compact 2008 SP1: Referencia Completa. Ed. Krasis Press, 2008.

Véase también

Obtenido de "SQL Server Compact"

Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • SQL Server Compact — Filename extension .sdf Developed by Microsoft Type of format Relational database Microsoft SQL Server Compact (SQL CE) is a compact relational database produced by Microsoft for applications that run on mobile devices and desktops. Prior to the… …   Wikipedia

  • SQL Server Compact — Edition (первоначальное название SQL Server Everywhere) новый продукт компании Майкрософт в линейке SQL Server, являющийся версией SQL Server Mobile со снятым запретом работы под Win32 и изменённой лицензией. Продукт выпущен 11 января 2007 года.… …   Википедия

  • SQL Server Compact — Vorlage:Infobox Dateiformat/Wartung/mime fehltVorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/standard fehltVorlage:Infobox Dateiformat/Wartung/website fehlt SQL Server Compact Dateiendung .sdf Entwickelt von …   Deutsch Wikipedia

  • SQL Server Compact Edition — (первоначальное название SQL Server Everywhere) новый продукт компании Майкрософт в линейке SQL Server, являющийся версией SQL Server Mobile со снятым запретом работы под Win32 и изменённой лицензией. Продукт выпущен 11 января 2007 года. SQL… …   Википедия

  • Microsoft SQL Server Compact Edition — SQL Server Compact Edition (первоначальное название  SQL Server Everywhere)  новый продукт компании Майкрософт в линейке SQL Server, являющийся версией SQL Server Mobile со снятым запретом работы под Win32 и изменённой лицензией.… …   Википедия

  • Microsoft SQL Server Compact 4.0 — Тип Реляционная СУБД Разработчик Microsoft Написана на C, C++, C# Операционная система Microsoft Windows Последняя версия 4.0.8482.1 (16 января …   Википедия

  • Microsoft SQL Server Compact — Vorlage:Infobox Dateiformat/Wartung/MIME fehltVorlage:Infobox Dateiformat/Wartung/MagischeZahl fehltVorlage:Infobox Dateiformat/Wartung/Standard fehltVorlage:Infobox Dateiformat/Wartung/Website fehlt SQL Server Compact Dateiendung: .sdf …   Deutsch Wikipedia

  • SQL Server Everywhere — SQL Server Compact Edition (первоначальное название SQL Server Everywhere) новый продукт компании Майкрософт в линейке SQL Server, являющийся версией SQL Server Mobile со снятым запретом работы под Win32 и изменённой лицензией. Продукт выпущен 11 …   Википедия

  • SQL Server Express — Microsoft SQL Server Express, a freely downloadable and distributable version of Microsoft s SQL Server relational database management system, comprises a database specifically targeted for embedded and smaller scale applications. Contents 1… …   Wikipedia

  • SQL Server 2005 — Microsoft SQL Server Тип Реляционная СУБД Разработчик ОС Microsoft Windows Версия 2008 6 августа 2008 Лицензия …   Википедия

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”