SQL SERVER 2008
                    Para desarrolladores




http://www.desarrolladoras.org.ar
SQL SERVER 2008
                              Para desarrolladores




Gabriela Marina Giles
MCT – MCTS
Instructor Senior .NET
Oradora Regional de INETALatam
Líder y co-fundadora del Grupo desarrollador@s
gilesgabriela@yahoo.com.ar



http://www.desarrolladoras.org.ar
¿Que es SQL Server?
           ¿Que es SQL?
       ¿Qué es Transact-SQL?




http://www.desarrolladoras.org.ar
Bases de Datos
 • Sistema:
     – Master
     – Model
     – TemDB
     – MSDB
 • Usuarios:
     – AdventureWorks
     – NorthWind(2000)
     – Otras

http://www.desarrolladoras.org.ar
SQL es agrupado en 3
            categorías:
      1. DDL - Data Definition Language
      2. DCL - Data Control Language
      3. DML - Data Manipulation Language




http://www.desarrolladoras.org.ar
Data Definition Language
      • CREATE
      • ALTER
      • DROP

      • EJEMPLO:
      CREATE TABLE / CREATE PROC / CREATE
        VIEW




http://www.desarrolladoras.org.ar
Los permisos para
   sentencias DDL
 • Pertenecer al roles:
     – Sysadmin (servidor)
     – Dbcreator (servidor) y db_owner (Base de datos)
     – db_ddladmin (Base de datos).




http://www.desarrolladoras.org.ar
DEMO DDL




http://www.desarrolladoras.org.ar
Los 4 nombres
 • SQL Server 2000
   – Servidor.base.propietario.objeto
 • SQL Server 2005-2008
   – Servidor.base.esquema.objeto

     Ver esquemas de AdventureWorks




http://www.desarrolladoras.org.ar
Data Control Language
      •   GRANT
      •   DENY
      •   REVOKE
      •   Los permisos para poder ejecutar estas
          sentencias son, pertenecer al grupo
          sysadmin o dbcreator y db_owner o
          db_securityadmin




http://www.desarrolladoras.org.ar
DEMO DCL




http://www.desarrolladoras.org.ar
Data Manipulation Language
      •   INSERT
      •   UPDATE
      •   DELETE
      •   SELECT




http://www.desarrolladoras.org.ar
INSERT
 • Nueva sintaxis para cláusula VALUES
     – Ahora devuelve una tabla relacional con
       múltiples filas
 • Uso con la sentencia INSERT
     – Para insertar múltiples filas como
       operación unica.




http://www.desarrolladoras.org.ar
DEMO INSERT - UPDATE




http://www.desarrolladoras.org.ar
Tipos de datos
   Los tipos de datos de SQL Server se organizan en
     las siguientes categorías:
 Numéricos exactos                    Cadenas de caracteres
                                      Unicode
 Numéricos aproximados                Cadenas binarias

 Fecha y hora                         Otros tipos de datos
 Cadenas de caracteres

ms-
help://MS.SQLCC.v10/MS.SQLSVR.v10.es/s10de_1devconc/html
/63de7291-e226-45cd-9526-6b11b7c3c3f2.htm


  http://www.desarrolladoras.org.ar
Nuevos Tipos de datos

 • DATE
     – Almacena solamente fechas, sin la
       porción de tiempo.
     – Rango ampliado de fechas:
         • Enero 01, 0001 – Diciembre 31, 9999
     – 3 Bytes de espacio



http://www.desarrolladoras.org.ar
Nuevos Tipos de datos
• TIME
   – Almacena solamente tiempo, sin la porción de
     fecha.
   – Rango ampliado de fracción de segundos
     (hasta nanosegundos):
      • 00:00:00.0000000 – 23:59:59.9999999
   – 3 - 5 Bytes de espacio (dependiendo de la
     precisión).
   – No es dependiente de la zona horaria (GMT).


 http://www.desarrolladoras.org.ar
Nuevos Tipos de datos
 • DATETIME2
     – Rango ampliado de fecha y fracción de segundos:
        • Enero 01, 0001 – Diciembre 31, 9999
        • 00:00:00.0000000 – 23:59:59.9999999
     – 6 - 8 Bytes de espacio (dependiendo de la precisión).
     – Hay nuevas funciones del sistema que retornan valores
       DATETIME2:
        • SYSDATETIME()
        • SYSUTCDATETIME()
     – Nuevos argumentos para DATEPART y DATEDIFF:
        • MICROSECOND (MCS)
        • NANOSECOND (NS)
     – No es dependiente de la zona horaria (GMT).


http://www.desarrolladoras.org.ar
Nuevos Tipos de datos
 •   DATETIMEOFFSET
      – Contiene todas las características de DATETIME2:
         • Enero 01, 0001 – Diciembre 31, 9999
         • 00:00:00.0000000 – 23:59:59.9999999 +- 14:00
      – DIFERENCIAS:
         • 8 - 10 Bytes de espacio (dependiendo de la precisión).
         • Hay nuevas funciones del sistema:
             – SYSDATETIMEOFFSET()
             – SWITCHOFFSET()
             – TODATETIMEOFFSET()
             – DATENAME(TZOffset, <value>)
      – Dependiente de la zona horaria (GMT).
         • Se puede almacenar el tiempo local y hacer reportes usando
           UTC sin realizar cambios al esquema.

http://www.desarrolladoras.org.ar
Demos Tipos de datos




http://www.desarrolladoras.org.ar
Variables
 • Las variables se declaran con un @
   delante del nombre.
    – DECLARE @city varchar(50)
 • Se pueden modificar las variables y
   parametros con SET o SELECT
    – DECLARE @city varchar(50)
    – SET @city=‘Quilmes’
    – SELECT @city
http://www.desarrolladoras.org.ar
Inicialización y asignación de
                 variables
 •   Una pequeña mejora introduce SQL Server 2008 al lenguaje T-SQL
     respecto de la inicialización y asignación de variables. :
     declare
     @fecha datetime = getdate(),
     @edad int = 33,
     @nombre varchar(100) = ‘gaby';
     -- Muestro los valores...
     select @fecha, @edad, @nombre
     En versiones anteriores hubiésemos obtenido el siguiente error de sintaxis:
     Msg 139, Level 15, State 1, Line 0Cannot assign a default value to a local
     variable.

     DEMO Inicialización y asignación de variables




http://www.desarrolladoras.org.ar
Stored Procedures
         Código escrito en T-SQL, compilado y
             almacenado en el SQL Server




http://www.desarrolladoras.org.ar
Stored Procedures
                              Por qué ?

              Seguridad por encriptación
     Performance frente a recompilaciones
                  constantes
           Centralización del código
      Seguridad por derechos de ejecución



http://www.desarrolladoras.org.ar
Stored Procedures
 • Definidos por el usuario
 • Los de sistema




http://www.desarrolladoras.org.ar
Stored Procedures
                         Operaciones posibles


               Crear           CREATE PROCEDURE

               Modificar       ALTER PROCEDURE

               Eliminar        DROP PROCEDURE




http://www.desarrolladoras.org.ar
Parametros
 • INPUT
 • OUTPUT
 • RETURN VALUE




http://www.desarrolladoras.org.ar
DEMO SP




http://www.desarrolladoras.org.ar
Valores Tipo “Tabla” como
            Parámetros
• Escenarios
    – Actualización en lotes del servidor
    – Parámetros en lotes para usar en una
      consulta
    – Migración de base de datos
    – Pasar una tabla entre rutinas
• Criterio común
    – Gran cantidad de datos pasados del cliente al
      servidor

http://www.desarrolladoras.org.ar
Valores Tipo “Tabla” como
            Parámetros
• Tipo de tabla definida por el usuario
    – Nuevo tipo definido por el usuario
    – Sintaxis basada en Create Type
    – Se pueden definir índices y restricciones
    – Nueva vista de catalogo para tipos de datos
      tablas. Sys.Tables_Types




http://www.desarrolladoras.org.ar
Valores Tipo “Tabla” como
            Parámetros




http://www.desarrolladoras.org.ar
Valores Tipo “Tabla” como
                 Parámetros
• Rendimiento
  – Se puede especificar un ordenamiento y clave única
  – Evita la re compilación de la sentencia
  – No necesita de un bloqueo desde el cliente para
    inicializar los valores de la tabla.
  – Reducción de idas y vueltas al servidor
  – Operaciones basadas en conjunto
  – Transporte de datos eficiente




  http://www.desarrolladoras.org.ar
DEMO PARAMETRO TABLA




http://www.desarrolladoras.org.ar
Merge
 • Permite procesar múltiples cambios en una
   sola instrucción
 • Sintáxis:
         MERGE <target>
             USING <source>
             ON (<joincondition>)
             WHEN MATCHED [AND…] THEN…
             WHEN NOT MATCHED THEN…
             WHEN SOURCE NOT MATCHED THEN…


http://www.desarrolladoras.org.ar
Merge
 MERGE dbo.Tabla1 AS Target
    USING (SELECT ID,Campo1,Campo2,Campo3 FROM dbo.Tabla2)
    AS Source
    ON (Target.ID = Source.ID)
    WHEN MATCHED THEN
 UPDATE
    SET Target.Campo1 = Source.Campo1, Target.Campo2 =
    Source.Campo2
 WHEN NOT MATCHED BY TARGET THEN
 INSERT (ID,Campo1,Campo2,Campo3)
    VALUES (Source.ID,Source.Campo1,Source.Campo2,
    Source.Campo3)
 WHEN NOT MATCHED BY SOURCE THEN
 DELETE;




http://www.desarrolladoras.org.ar
Capturar salida:
 • Clausula OUTPUT que permite capturar todo lo que
   sucedió dentro de una operación
   INSERT/DELETE/UPDATE.
 • En SQL Server 2008 el uso conjunto de MERGE +
   OUTPUT nos sirve saber que registros fueron
   modificados y que acción se hizo sobre ese registro
   (INSERT, UPDATE o DELETE).

 • La nueva función $action indica que operación se
   realizó, mientras que los atributos deleted e inserted
   guardan la información sobre el registro afectado (de la
   misma manera que funcionan con los triggers).


http://www.desarrolladoras.org.ar
MERGE dbo.Tabla1 AS Target
   USING (SELECT ID,Campo1,Campo2,Campo3 FROM dbo.Tabla2) AS
   Source
   ON (Target.ID = Source.ID)
   WHEN MATCHED THEN
UPDATE SET Target.Campo1 = Source.Campo1, Target.Campo2 =
   Source.Campo2
WHEN NOT MATCHED BY TARGET THEN
INSERT (ID,Campo1,Campo2,Campo3)
   VALUES (Source.ID,Source.Campo1,Source.Campo2, Source.Campo3)
WHEN NOT MATCHED BY SOURCE THEN
DELETE
OUTPUT $action, deleted.*, inserted.*;
Resultado:




http://www.desarrolladoras.org.ar
DEMO MERGE




http://www.desarrolladoras.org.ar
Tipo de datos FileStream
 • Algunas de las características de
   este nuevo tipo de datos son:
 • Almacena grandes ficheros de datos
   binarios no estructurados directamente
   en un sistema de ficheros NTFS:
   documentos, imágenes, etc.
 • Se preserva el control por parte de la
   BD y la consistencia transaccional.
 • Un ejemplo de uso de FILESTREAM
   es la posibilidad de controlar
   mediante la base de datos una
   carpeta de archivos de vídeo.


http://www.desarrolladoras.org.ar
características de FILESTREAM
 • Es un atributo de una columna varbinary(max).
 • Especifica que la columna se ha de almacenar en el
   sistema de ficheros NTFS:
     – La columna sigue siendo manejable mediante comandos T-SQL.
     – Se puede acceder desde el sistema de ficheros y desde la API
       del SO.
 • Se implementa como una columna varbinary(max) en la
   que los datos son guardados como BLOBs en el sistema
   de ficheros:
     – EL tamaño máximo de los BLOBs viene limitado únicamente por
       el tamaño del volumen de almacenamiento.
     – La limitación estándar de los tipos varbinary(max) de 2 GB no se
       aplican a estos BLOBs que se almacenan en el sistema de
       ficheros.



http://www.desarrolladoras.org.ar
¿Cuándo es recomendable
 utilizar el tipo de datos
      FILESTREAM?

 • Se necesita almacenar objetos que
   ocupan como media más de 1 MB.
 • Es importante el acceso rápido en modo
   lectura.




http://www.desarrolladoras.org.ar
DEMO




http://www.desarrolladoras.org.ar
LINQ
 • El Lenguaje de Consultas Integrado LINQ, nos permite
   realizar consultas a una fuente de datos utilizando
   lenguajes de programación manejados tales como
   Visual Basic.NET o C#, en lugar de usar sentencias
   SQL.
 • Utilizaremos una sintaxis consistente para obtener datos
   de diversas fuentes de datos, incluyendo datos
   relacionales, entidades, XML, DataSets de ADO.NET, y
   colecciones de objetos en memoria. Esta nueva sintaxis
   embebida en un lenguaje de propósito general adquiere
   todos sus beneficios: validación de tipos, revisión de
   errores al momento de la codificación, etc.




http://www.desarrolladoras.org.ar
Para otra presentación

 • Más de tipos de datos:
     – Soporte para datos Espaciales (geográficos /
       geométricos)
 • LinQ
 • Mejoras en XML
 • Framework Sincronización para aplicaciones
   offline/cache



http://www.desarrolladoras.org.ar
?
                                 Gracias!

Gabriela Marina Giles
MCT – MCTS
Instructor Senior .NET
Oradora Regional de INETALatam
Líder y co-fundadora del Grupo desarrollador@s
gilesgabriela@yahoo.com.ar



http://www.desarrolladoras.org.ar

(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008

  • 1.
    SQL SERVER 2008 Para desarrolladores http://www.desarrolladoras.org.ar
  • 2.
    SQL SERVER 2008 Para desarrolladores Gabriela Marina Giles MCT – MCTS Instructor Senior .NET Oradora Regional de INETALatam Líder y co-fundadora del Grupo desarrollador@s gilesgabriela@yahoo.com.ar http://www.desarrolladoras.org.ar
  • 3.
    ¿Que es SQLServer? ¿Que es SQL? ¿Qué es Transact-SQL? http://www.desarrolladoras.org.ar
  • 4.
    Bases de Datos • Sistema: – Master – Model – TemDB – MSDB • Usuarios: – AdventureWorks – NorthWind(2000) – Otras http://www.desarrolladoras.org.ar
  • 5.
    SQL es agrupadoen 3 categorías: 1. DDL - Data Definition Language 2. DCL - Data Control Language 3. DML - Data Manipulation Language http://www.desarrolladoras.org.ar
  • 6.
    Data Definition Language • CREATE • ALTER • DROP • EJEMPLO: CREATE TABLE / CREATE PROC / CREATE VIEW http://www.desarrolladoras.org.ar
  • 7.
    Los permisos para sentencias DDL • Pertenecer al roles: – Sysadmin (servidor) – Dbcreator (servidor) y db_owner (Base de datos) – db_ddladmin (Base de datos). http://www.desarrolladoras.org.ar
  • 8.
  • 9.
    Los 4 nombres • SQL Server 2000 – Servidor.base.propietario.objeto • SQL Server 2005-2008 – Servidor.base.esquema.objeto Ver esquemas de AdventureWorks http://www.desarrolladoras.org.ar
  • 10.
    Data Control Language • GRANT • DENY • REVOKE • Los permisos para poder ejecutar estas sentencias son, pertenecer al grupo sysadmin o dbcreator y db_owner o db_securityadmin http://www.desarrolladoras.org.ar
  • 11.
  • 12.
    Data Manipulation Language • INSERT • UPDATE • DELETE • SELECT http://www.desarrolladoras.org.ar
  • 13.
    INSERT • Nuevasintaxis para cláusula VALUES – Ahora devuelve una tabla relacional con múltiples filas • Uso con la sentencia INSERT – Para insertar múltiples filas como operación unica. http://www.desarrolladoras.org.ar
  • 14.
    DEMO INSERT -UPDATE http://www.desarrolladoras.org.ar
  • 15.
    Tipos de datos Los tipos de datos de SQL Server se organizan en las siguientes categorías: Numéricos exactos Cadenas de caracteres Unicode Numéricos aproximados Cadenas binarias Fecha y hora Otros tipos de datos Cadenas de caracteres ms- help://MS.SQLCC.v10/MS.SQLSVR.v10.es/s10de_1devconc/html /63de7291-e226-45cd-9526-6b11b7c3c3f2.htm http://www.desarrolladoras.org.ar
  • 16.
    Nuevos Tipos dedatos • DATE – Almacena solamente fechas, sin la porción de tiempo. – Rango ampliado de fechas: • Enero 01, 0001 – Diciembre 31, 9999 – 3 Bytes de espacio http://www.desarrolladoras.org.ar
  • 17.
    Nuevos Tipos dedatos • TIME – Almacena solamente tiempo, sin la porción de fecha. – Rango ampliado de fracción de segundos (hasta nanosegundos): • 00:00:00.0000000 – 23:59:59.9999999 – 3 - 5 Bytes de espacio (dependiendo de la precisión). – No es dependiente de la zona horaria (GMT). http://www.desarrolladoras.org.ar
  • 18.
    Nuevos Tipos dedatos • DATETIME2 – Rango ampliado de fecha y fracción de segundos: • Enero 01, 0001 – Diciembre 31, 9999 • 00:00:00.0000000 – 23:59:59.9999999 – 6 - 8 Bytes de espacio (dependiendo de la precisión). – Hay nuevas funciones del sistema que retornan valores DATETIME2: • SYSDATETIME() • SYSUTCDATETIME() – Nuevos argumentos para DATEPART y DATEDIFF: • MICROSECOND (MCS) • NANOSECOND (NS) – No es dependiente de la zona horaria (GMT). http://www.desarrolladoras.org.ar
  • 19.
    Nuevos Tipos dedatos • DATETIMEOFFSET – Contiene todas las características de DATETIME2: • Enero 01, 0001 – Diciembre 31, 9999 • 00:00:00.0000000 – 23:59:59.9999999 +- 14:00 – DIFERENCIAS: • 8 - 10 Bytes de espacio (dependiendo de la precisión). • Hay nuevas funciones del sistema: – SYSDATETIMEOFFSET() – SWITCHOFFSET() – TODATETIMEOFFSET() – DATENAME(TZOffset, <value>) – Dependiente de la zona horaria (GMT). • Se puede almacenar el tiempo local y hacer reportes usando UTC sin realizar cambios al esquema. http://www.desarrolladoras.org.ar
  • 20.
    Demos Tipos dedatos http://www.desarrolladoras.org.ar
  • 21.
    Variables • Lasvariables se declaran con un @ delante del nombre. – DECLARE @city varchar(50) • Se pueden modificar las variables y parametros con SET o SELECT – DECLARE @city varchar(50) – SET @city=‘Quilmes’ – SELECT @city http://www.desarrolladoras.org.ar
  • 22.
    Inicialización y asignaciónde variables • Una pequeña mejora introduce SQL Server 2008 al lenguaje T-SQL respecto de la inicialización y asignación de variables. : declare @fecha datetime = getdate(), @edad int = 33, @nombre varchar(100) = ‘gaby'; -- Muestro los valores... select @fecha, @edad, @nombre En versiones anteriores hubiésemos obtenido el siguiente error de sintaxis: Msg 139, Level 15, State 1, Line 0Cannot assign a default value to a local variable. DEMO Inicialización y asignación de variables http://www.desarrolladoras.org.ar
  • 23.
    Stored Procedures Código escrito en T-SQL, compilado y almacenado en el SQL Server http://www.desarrolladoras.org.ar
  • 24.
    Stored Procedures Por qué ? Seguridad por encriptación Performance frente a recompilaciones constantes Centralización del código Seguridad por derechos de ejecución http://www.desarrolladoras.org.ar
  • 25.
    Stored Procedures •Definidos por el usuario • Los de sistema http://www.desarrolladoras.org.ar
  • 26.
    Stored Procedures Operaciones posibles Crear CREATE PROCEDURE Modificar ALTER PROCEDURE Eliminar DROP PROCEDURE http://www.desarrolladoras.org.ar
  • 27.
    Parametros • INPUT • OUTPUT • RETURN VALUE http://www.desarrolladoras.org.ar
  • 28.
  • 29.
    Valores Tipo “Tabla”como Parámetros • Escenarios – Actualización en lotes del servidor – Parámetros en lotes para usar en una consulta – Migración de base de datos – Pasar una tabla entre rutinas • Criterio común – Gran cantidad de datos pasados del cliente al servidor http://www.desarrolladoras.org.ar
  • 30.
    Valores Tipo “Tabla”como Parámetros • Tipo de tabla definida por el usuario – Nuevo tipo definido por el usuario – Sintaxis basada en Create Type – Se pueden definir índices y restricciones – Nueva vista de catalogo para tipos de datos tablas. Sys.Tables_Types http://www.desarrolladoras.org.ar
  • 31.
    Valores Tipo “Tabla”como Parámetros http://www.desarrolladoras.org.ar
  • 32.
    Valores Tipo “Tabla”como Parámetros • Rendimiento – Se puede especificar un ordenamiento y clave única – Evita la re compilación de la sentencia – No necesita de un bloqueo desde el cliente para inicializar los valores de la tabla. – Reducción de idas y vueltas al servidor – Operaciones basadas en conjunto – Transporte de datos eficiente http://www.desarrolladoras.org.ar
  • 33.
  • 34.
    Merge • Permiteprocesar múltiples cambios en una sola instrucción • Sintáxis: MERGE <target> USING <source> ON (<joincondition>) WHEN MATCHED [AND…] THEN… WHEN NOT MATCHED THEN… WHEN SOURCE NOT MATCHED THEN… http://www.desarrolladoras.org.ar
  • 35.
    Merge MERGE dbo.Tabla1AS Target USING (SELECT ID,Campo1,Campo2,Campo3 FROM dbo.Tabla2) AS Source ON (Target.ID = Source.ID) WHEN MATCHED THEN UPDATE SET Target.Campo1 = Source.Campo1, Target.Campo2 = Source.Campo2 WHEN NOT MATCHED BY TARGET THEN INSERT (ID,Campo1,Campo2,Campo3) VALUES (Source.ID,Source.Campo1,Source.Campo2, Source.Campo3) WHEN NOT MATCHED BY SOURCE THEN DELETE; http://www.desarrolladoras.org.ar
  • 36.
    Capturar salida: •Clausula OUTPUT que permite capturar todo lo que sucedió dentro de una operación INSERT/DELETE/UPDATE. • En SQL Server 2008 el uso conjunto de MERGE + OUTPUT nos sirve saber que registros fueron modificados y que acción se hizo sobre ese registro (INSERT, UPDATE o DELETE). • La nueva función $action indica que operación se realizó, mientras que los atributos deleted e inserted guardan la información sobre el registro afectado (de la misma manera que funcionan con los triggers). http://www.desarrolladoras.org.ar
  • 37.
    MERGE dbo.Tabla1 ASTarget USING (SELECT ID,Campo1,Campo2,Campo3 FROM dbo.Tabla2) AS Source ON (Target.ID = Source.ID) WHEN MATCHED THEN UPDATE SET Target.Campo1 = Source.Campo1, Target.Campo2 = Source.Campo2 WHEN NOT MATCHED BY TARGET THEN INSERT (ID,Campo1,Campo2,Campo3) VALUES (Source.ID,Source.Campo1,Source.Campo2, Source.Campo3) WHEN NOT MATCHED BY SOURCE THEN DELETE OUTPUT $action, deleted.*, inserted.*; Resultado: http://www.desarrolladoras.org.ar
  • 38.
  • 39.
    Tipo de datosFileStream • Algunas de las características de este nuevo tipo de datos son: • Almacena grandes ficheros de datos binarios no estructurados directamente en un sistema de ficheros NTFS: documentos, imágenes, etc. • Se preserva el control por parte de la BD y la consistencia transaccional. • Un ejemplo de uso de FILESTREAM es la posibilidad de controlar mediante la base de datos una carpeta de archivos de vídeo. http://www.desarrolladoras.org.ar
  • 40.
    características de FILESTREAM • Es un atributo de una columna varbinary(max). • Especifica que la columna se ha de almacenar en el sistema de ficheros NTFS: – La columna sigue siendo manejable mediante comandos T-SQL. – Se puede acceder desde el sistema de ficheros y desde la API del SO. • Se implementa como una columna varbinary(max) en la que los datos son guardados como BLOBs en el sistema de ficheros: – EL tamaño máximo de los BLOBs viene limitado únicamente por el tamaño del volumen de almacenamiento. – La limitación estándar de los tipos varbinary(max) de 2 GB no se aplican a estos BLOBs que se almacenan en el sistema de ficheros. http://www.desarrolladoras.org.ar
  • 41.
    ¿Cuándo es recomendable utilizar el tipo de datos FILESTREAM? • Se necesita almacenar objetos que ocupan como media más de 1 MB. • Es importante el acceso rápido en modo lectura. http://www.desarrolladoras.org.ar
  • 42.
  • 43.
    LINQ • ElLenguaje de Consultas Integrado LINQ, nos permite realizar consultas a una fuente de datos utilizando lenguajes de programación manejados tales como Visual Basic.NET o C#, en lugar de usar sentencias SQL. • Utilizaremos una sintaxis consistente para obtener datos de diversas fuentes de datos, incluyendo datos relacionales, entidades, XML, DataSets de ADO.NET, y colecciones de objetos en memoria. Esta nueva sintaxis embebida en un lenguaje de propósito general adquiere todos sus beneficios: validación de tipos, revisión de errores al momento de la codificación, etc. http://www.desarrolladoras.org.ar
  • 44.
    Para otra presentación • Más de tipos de datos: – Soporte para datos Espaciales (geográficos / geométricos) • LinQ • Mejoras en XML • Framework Sincronización para aplicaciones offline/cache http://www.desarrolladoras.org.ar
  • 45.
    ? Gracias! Gabriela Marina Giles MCT – MCTS Instructor Senior .NET Oradora Regional de INETALatam Líder y co-fundadora del Grupo desarrollador@s gilesgabriela@yahoo.com.ar http://www.desarrolladoras.org.ar