Documento SQL Server Compac
Documento SQL Server Compac
DISPOSITIVOS MOBILES
20/09/2011
DESCRIPCIN MicrosoftSQL Server Compact es una base de datos compacta ideal para incrustarse en aplicaciones mviles y de escritorio. SQL Server Compact proporciona a los desarrolladores de software un modelo de programacin comn a otras ediciones de SQL Server para el desarrollo tanto de aplicaciones nativas como administradas. SQL Server Compact ofrece funcionalidad de base de datos relacional en un espacio reducido: un slido almacn de datos, un procesador de consultas de optimizacin y una conectividad confiable y escalable. Microsoft SQL Server Compact Edition ampla las posibilidades de la tecnologa Microsoft SQL Server Mobile Edition, ofreciendo una base de datos compacta y embebible, totalmente gratuita, para uso en aplicaciones de cliente mono usuario compatible con todas las plataformas Windows, incluyendo Tablet PCs, Pocket PCs, SmartPhones y equipos de escritorio. La instalacin y distribucin de SQL Server Compact Edition es gratis. Entre los escenarios de aplicacin de SQL Server Compact Edition destacan: Aplicaciones corporativas para entornos de movilidad. Conexiones ocasiones y uso offline Embebido en aplicaciones y dispositivos.
SQL Server Compact Edition comparte el mismo modelo de programacin con las dems ediciones de SQL Server, lo que permite a los desarrolladores aprovechar sus conocimientos y experiencia previa. SQL Server Compact Edition admite un mximo de 4 GB de tamao para la base de datos, puede ejecutarse junto con otras aplicaciones e incorpora subconjuntos de TransactSQL y ADO.NET. Y sobre todo, dispone de tecnologas de sincronizacin, todo ello en un formato compacto Algunas de las funciones que puede realizar en una base de datos de SQL Server Compact 3.5 son las siguientes:
Crear, eliminar y editar tablas y los datos asociados. Crear, mantener y eliminar ndices. Examinar vistas de esquema de informacin y tipos de datos. Iniciar la replicacin y la sincronizacin de acceso a datos remotos (RDA).
VERSIONES
Versin
Caracterstica
Ao de Lanzamient o
2001
1.0
2.0
Server CE
SQL Server Mobile 3.0
se present junto con la aparicin de Microsoft Visual Studio .NET 2003 y con ello .NET Compact Framework 1.1 Aparece junto al lanzamiento oficial de Visual Studio 2005 y SQL Server 2005 Tiene nuevas caractersticas y funcionalidades como el acceso simultneo, soporte transaccional o la integracin con Microsoft Visual Studio y SQL Server Management Studio. Hasta la fecha, SQL Server CE no ofreca ningn tipo de herramientas de administracin ms que la Query Analyzer para Windows Mobile.
2003
2006
3.1.
Conocida como SQL Server Everywhere la cual ofreca soporte multiplataforma para sistemas operativos basados en Windows CE y Windows 32/64 bits. ltima versin estable ltima versin en pruebas
2006
COSTO DE LA APLICACIN SQL Server Compact Edition se puede obtener de forma gratuita, y tambin es gratis el desarrollo y distribucin de aplicaciones basadas en esta edicin. Asimismo, otros fabricantes de software pueden redistribuir SQL Server Compact Edition de forma gratuita. DISPOSITIVOS EN LOS QUE FUNCIONA
Microsoft Windows CE 4.2 Microsoft Windows CE 5.0 Microsoft Windows CE 6.0 Microsoft Windows Mobile 2003 para Pocket PC Microsoft Windows Mobile 5.0 Microsoft Windows Mobile 6.0 Microsoft Windows Mobile 6.5
Entre 2 y 3 MB de espacio de almacenamiento disponible, en funcin del tipo de procesador y de los componentes que haya instalados.
CARACTERSTICAS Llamado y considerado como una base de datos para dispositivos mviles y escritorios, que nos proporciona un modelo de programacin comn a otras ediciones de SQL Server para desarrollar aplicaciones nativas y administrativas. Soporta un subconjunto de tipos de datos y de sentencias TSQL de SQL Server Control pleno de la integridad referencial con actualizaciones y borrados en cascada. Mltiples conexiones para operaciones en primer plano y background. Archivo de datos nico, protegido mediante password con cifrado de 128 bits. Soporte transaccional para cambios agrupados en sentencias commit y roll back. Una gran variedad de tipos de datos Soporte para bases de datos de hasta 4 Gb
Funciones SET (agregados), INNET y OUTER JOIN, subselect, y clusulas GROUP BY y HAVING. Realizamos consultas de forma jerarjicas SELECT FROM Podemos aplicar Instrucciones CROSS APPLY y OUTER APPLY, es decir devuelven valores d tablas externas Podemos aplicar Instruccin CAST y DECIMAL, para conversiones de datos SET IDENTITY INSERT, inserter valores definidos Instruccin TOP, operaciones basicas Cursores navegables y actualizables, para un acceso ms rpido y sencillo a los datos. El tamao mximo del archivo de base de datos es de 4 Gb. y la extensin 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 nmero mximo de tablas por base de datos es de 1024 con un tamao mximo por registro de 8060 bytes con un tamao por pgina de 4 Kb. y 2 Gb. para campos BLOB.
Archivos como base de datos. SQL Server CE, a diferencia de su superior, no es administrado por un motor de gestin de bases de datos, si no, que la base de datos misma se compone por un archivo, el cual puede ser localizado en cualquier parte del dispositivo mvil, y sea accedido localmente por las aplicaciones instaladas. Posiblemente esto se asemeje ms al uso de Access en equipos tradicionales, pero no nos dejemos engaar por las apariencias, dentro de nuestro dispositivo mvil contamos con toda la potencia de un SQL Server en versin compacta.
Compacto y potente SQL Server Compact Edition ofrece las funcionalidades esenciales de una base de datos relacional en un formato compacto. Ocupa en memoria aproximadamente 5 Mb y menos de 2 Mb en el disco, y gracias a ello puede ejecutarse concurrentemente con otras aplicaciones de forma transparente para el usuario. Adems, SQL Server Compact Edition se adapta bien a las restricciones de uso de recursos que imponen los dispositivos mviles actuales. Excelente rendimiento
El motor de Base de Datos en SQL Server Compact Edition utiliza ndices para obtener un buen equilibrio entre velocidad y eficiencia, mejorando el rendimiento en las consultas. El procesador de consultas aprovecha el soporte para estadsticas que incluye el motor de almacenamiento para crear planes de resolucin de queries basadas en optimizacin de costes con un rendimiento extraordinario. La arquitectura del motor de almacenamiento est optimizada para entornos mviles. Se mejora la fiabilidad de los datos a partir de la aplicacin real de las caractersticas ACID (atomicidad, consistencia, aislamiento y perdurabilidad) para las transacciones, especialmente importantes cuando los clientes o dispositivos experimentan prdidas de conectividad o pasan a estados de bajo consumo de energa (o se apagan por completo). Acceso flexible a datos SQL Server Compact Edition permite la actualizacin de datos en las aplicaciones de cliente y en el servidor de forma simultnea. Aunque el usuario no est conectado a la red, la aplicacin basada en SQL Server Compact Edition puede utilizarse de forma permanente almacenando y gestionando los datos en la base de datos local. La informacin puede sincronizarse posteriormente, cuando se restablezca la conexin con la instancia de SQL Server del servidor. Replicacin por consolidacin (Merge) La replicacin por consolidacin de SQL Server Compact Edition est especialmente pensada para clientes y dispositivos remotos, al permitir la actalizacin de datos de forma autnoma en la aplicacin de cliente y en el servidor. Los datos se pueden sincronizar despus, se restablece la conexin. Entre los escenarios de uso ms adecuados para esta replicacin estn los de replicacin en modo solo lectura, la captura y carga de datos, y tambin la replicacin, actualizacin y sincronizacin de informacin. El administrador de base de datos puede aplicar filtros horizontales y verticales para definir, mantener y proteger subconjuntos especficos de datos para distintos clientes o grupos de clientes. Los filtros horizontales se pueden utilizar para replicar un subconjunto de filas en una tabla publicada, y los verticales, para replicar un subgrupo de columnas. Remote Data Access (RDA) RDA es un mtodo sencillo, pero potente, para la sincronizacin de una aplicacin basada en Windows o Windows Mobile entre una base de datos
SQL Server remota SQL Server Compact Edition. RDA es especialmente til cuando las aplicaciones operan con datos particionados. Se puede usar RDA de dos formas. La aplicacin puede enviar una sentencia SQL al servidor para su ejecucin, o bien realizar una consulta al servidor que devuelve un conjunto de filas que se incorporan a una tabla en SQL Server Compact Edition. Todos los cambios realizados en esta tabla se registran, y a peticin de la aplicacin, las filas aadidas, borradas o modificadas se envan de nuevo al servidor, para actualizar la base de datos origen. Alto nivel de seguridad Los archivos de datos de SQL Server Compact Edition se pueden proteger con password y cifrado de 128 bits RSA. Tambin se puede configurar para proteger la transmisin de datos durante la sincronizacin de consolidacin o RDA, usando cifrado de 128 bits. SQL Server Compact Edition mantiene un elevado nivel de seguridad ya que se ejecuta dentro del mismo proceso que la aplicacin, y no como servicio Windows independiente
Una plataforma que se adapta a su ritmo de crecimiento Si aumentan los requerimientos y el alcance de las aplicaciones, SQL Server Compact Edition le permite escalar hacia otras ediciones de SQL Server, como Workgroup, Estndar o Enterprise.
ARQUITECTURA
La arquitectura de Microsoft SQL Server Compact 3.5 incluye tanto un entorno de desarrollo como un entorno de cliente y servidor. En esta seccin se describen los componentes que forman cada entorno.
Entorno de desarrollo
El entorno de desarrollo incluye el equipo en el que se desarrollan las aplicaciones. Este equipo debe tener las versiones apropiadas de Microsoft Visual Studio para crear aplicaciones para SQL Server Compact 3.5. Visual Studio 2010 es ms adecuado para desarrollar aplicaciones de SQL Server Compact 3.5 en equipos. Es preferible usar Visual Studio 2008 Service Pack 1 (SP1) para desarrollar aplicaciones de SQL Server Compact 3.5 para dispositivos. Estas versiones de Visual Studio se pueden instalar en el mismo equipo y ejecutarse en paralelo. Puede crear aplicaciones administradas con Microsoft Visual Basic o C#, o bien puede usar Microsoft Visual C++ para crear aplicaciones nativas. Entorno de cliente y servidor En la arquitectura de SQL Server Compact 3.5, el entorno de cliente se compone de uno o varios equipo y dispositivos compatibles en los que se implementan la aplicacin y SQL Server Compact 3.5. Cuando los dispositivos carecen de conectividad de red, puede utilizar Microsoft ActiveSync para conectar SQL Server Compact 3.5 al entorno de servidor. El entorno de servidor est formado por uno o varios equipos en los que se ejecuta Microsoft Internet Information Services (IIS) y una instancia de SQL Server o datos propagados para un origen de datos heterogneo. Puede ejecutar IIS y SQL Server en el mismo equipo o configurarlos en varios equipos. IIS es necesario para conectarse e intercambiar datos entre servidores y clientes.
Transacciones
Las transacciones proporcionan un mecanismo para agrupar una serie de cambios de base de datos en una operacin lgica. Una vez realizados, los cambios en la base de datos se pueden confirmar o cancelar como una nica unidad. Microsoft SQL Server Compact 3.5 es compatible con las transacciones. Las transacciones se pueden utilizar de varias maneras: Mediante programacin utilizando ADO .NET o las funciones de API de OLE DB Mediante el uso del Analizador de consultas de SQL Server Compact 3.5 en un dispositivo Mediante el uso de SQL Server Management Studio en un escritorio
Las transacciones garantizan que se siguen las propiedades ACID (atomicidad, coherencia, aislamiento y duracin) de forma que los datos se confirmen correctamente en la base de datos. Para obtener ms informacin acerca de las propiedades ACID de las transacciones, vea "Transacciones" en los Libros en pantalla de SQL Server. Cuando desarrolle aplicaciones para ejecutarlas en SQL Server Compact 3.5, tenga en cuenta las siguientes diferencias entre SQL Server Compact 3.5 y MicrosoftSQL Server 2008 R2:
SQL Server Compact no admite el anidamiento de transacciones, pero s las transacciones paralelas en ADO .NET. En SQL Server Compact, si se abre un cursor en una transaccin, ste existe en el mbito de esa transaccin. Si la transaccin se anula, el cursor deja de existir. Para continuar utilizando un cursor despus de cancelar una transaccin, cree el cursor fuera del mbito de la transaccin. En el contexto de OLE DB para SQL Server Compact 3.5, esto significa que el conjunto de registros no ser vlido y deber cerrarse. Si se confirma la transaccin, el cursor sigue existiendo y es totalmente funcional. SQL Server Compact no es compatible con las transacciones distribuidas. SQL Server Compact no es compatible con los puntos de almacenamiento. Los puntos de almacenamiento permiten que una aplicacin revierta parte de una transaccin si se encuentra un pequeo error. La aplicacin debe confirmar o revertir la transaccin entera una vez completada.
Seguridad
A nivel de seguridad SQL Server Compact 3.5 ofrece la posibilidad de cifrado del fichero de base de datos con una contrasea de acceso restringida a un mximo de 40 carcters ofreciendo tres tipos de modos de cifrado: Platform Default (Por defecto) Engine Default PPC2003 Compatibility
Simultaneidad
SSC permite varias conexiones a la misma base de datos (archivo .sdf) de la misma aplicacin o incluso de varias aplicaciones del mismo equipo. Esto le da ms libertad para estructurar la aplicacin como le convenga, como permitir que el usuario contine interactuando con datos al realizar la sincronizacin con una base de datos de servidor o para que varias aplicaciones en del mismo equipo compartan un almacn de datos de SSC. El motor de la base de datos bloquea las transacciones simultneas para evitar que conexiones simultneas tengan acceso a los mismos registros al mismo tiempo. El lmite tcnico de conexiones simultneas para una sola base de datos es de 256, pero se recomienda no sobrepasar las 70 u 80, que es un lmite ms prctico desde el punto de vista del rendimiento
REQUISITOS DEL SISTEMA En la tabla siguiente se enumeran los requisitos de hardware y software de los tres entornos de SQL Server Compact: desarrollo, cliente y servidor.
Entorno
Entorno de desarrollo
Requisitos
.NET Framework (para equipos de escritorio con Windows): .NET Compact Framework (para Windows Mobile): Microsoft Visual Studio 2008 o versiones posteriores.
Para desarrollar las aplicaciones de escritorio de Windows, utilice Visual Studio 2010. Tambin puede utilizar Visual Studio 2008 SP1 para desarrollar aplicaciones de escritorio para SQL Server Compact 3.5 SP2; sin embargo, Visual Studio 2010 proporciona nuevas caractersticas, como la compatibilidad con el editor de consultas de Transact-SQL que no estn disponibles con Visual Studio 2008 SP1. Para desarrollar aplicaciones para Windows Mobile, utilice Visual Studio 2008 SP1. Visual Studio 2010 no admite el desarrollo de aplicaciones mviles para SQL Server Compact 3.5.
No es necesario instalar .NET Framework por separado si se usa Visual Studio como entorno de desarrollo. Visual Studio instala .NET Framework. Para obtener informacin acerca de los requisitos del sistema, vea los Libros en pantalla de Visual Studio. Entorno de cliente Microsoft ActiveSync 4.0 o versiones posteriores.
Microsoft Windows XP Windows Embedded for Point of Service SP3 Microsoft Windows Server 2003 Windows Vista Windows Server 2008 Windows 7 Windows Server 2008
Microsoft Windows CE 5.0 Microsoft Windows CE 6.0 Microsoft Windows Mobile 2003 para Pocket PC Microsoft Windows Mobile 5.0 Microsoft Windows Mobile 6.0 Microsoft Windows Mobile 6.5 Entre 2 y 3 MB de espacio de almacenamiento disponible, en funcin del tipo de procesador y de los componentes que haya instalados. SQL Server 2008 R2 o versiones posteriores SQL Server 2008 o versiones posteriores SQL Server 2005 o versiones posteriores Un procesador Intel o compatible con Pentium a 600 MHz, o bien uno ms rpido (se recomienda una velocidad de procesador de 1 GHz o ms rpido), un mnimo de 256 MB de RAM (se recomiendan 512 MB de RAM o ms) y 250 MB libres en el disco duro
Entorno de servidor
IIS 5.x o versiones posteriores Compatible con Windows Server 2003, Windows 2000 SP4 o versiones posteriores y Windows XP. 120 MB de espacio en disco disponible en el servidor.
TIPO DE DATOS
datetime decimal double guid image int16 Uint16 int32 Uint32 int64 Uint64 SqlBinary SqlBoolean SqlByte SqlDecimal SqlDateTime SqlDouble SqlGuid SqlInt16 SqlInt32 SqlInt64 SqlMoney SqlSingle SqlString single string
Datetime Numeric Float Uniqueidentifier Image Smallint uint16 Int uint32 Bigint uint64 Varbinary Bit Tinyint Numeric Datetime Float Uniqueidentifier Smallint Int Bigint Money Real Nvarchar Real Nvarchar
MANEJANDO LA APLICACIN
Una vez creamos la base de datos, esta es mostrada en el dispositivo fsicamente. Y debido a que, con la instalacin de nuestra aplicacin, se adicionaron al sistema operativo del dispositivo los componentes de administracin de bases de datos, es fcil entender que contamos con una herramienta de gestin para estos archivos. Simplemente buscamos en la ruta especificada para la creacin de la base de datos y veremos el archivo previamente creado. Al seleccionarlo este ser abierto con el gestor de SQL Server CE, y desde l, podremos crear tablas, insertar, borrar o modificar registros, entre otras acciones.
Es indudable que sera un trabajo tedioso y poco prctico el tener que hacer esta tarea manualmente por cada dispositivo en el cual instalramos nuestra aplicacin. Por suerte contamos con una segunda opcin. Podramos incluir cdigo dentro de nuestra aplicacin para que esta se encargue de crear, tanto la base de datos, paso que hicimos previamente, como las tablas y los registros iniciales en el caso que fueran necesarios. Entonces, como el archivo ya fue creado, slo deberemos conectarnos a l mediante un objeto de conexin.
BIBLIOGRAFIA http://msdn.microsoft.com/es-es/library/ms172448.aspx http://www.fing.edu.uy/~pgmobdoc/documentos/Glosario.pdf http://es.wikipedia.org/wiki/SQL_Server_Compact http://msdn.microsoft.com/es-es/library/ms172914.aspx http://msdn.microsoft.com/es-es/library/ms174642(v=SQL.90).aspx http://www.microsoft.com/downloads/es-es/details.aspx? FamilyID=38ed2670-a70a-43b3-87f3-7ab67b56cbf2 http://www.microsoft.com/downloads/es-es/details.aspx? FamilyID=38ed2670-a70a-43b3-87f3-7ab67b56cbf2