SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?Javier Loria
 
Lo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql serverLo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql serverEnrique Catala Bañuls
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)Emanuel Calvo
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLLuiS YmAY
 
Vistas y Base de Datos - Analisis de Sistemas
Vistas y Base de Datos - Analisis de SistemasVistas y Base de Datos - Analisis de Sistemas
Vistas y Base de Datos - Analisis de SistemasJose Bustamante Romero
 
Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresSolidQ
 
Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Anthony Sotolongo
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLscastell77
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store IndexEduardo Castro
 
Administración de base de datos oracle - sesion 8
Administración de base de datos oracle - sesion 8Administración de base de datos oracle - sesion 8
Administración de base de datos oracle - sesion 8Sefira111
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalEnrique Catala Bañuls
 
Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Bryan Rodríguez
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeEduardo Castro
 
Meetup Real Time Aggregations Spark Streaming + Spark Sql
Meetup Real Time Aggregations  Spark Streaming + Spark SqlMeetup Real Time Aggregations  Spark Streaming + Spark Sql
Meetup Real Time Aggregations Spark Streaming + Spark SqlJosé Carlos García Serrano
 
Introducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query ProcessorIntroducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query ProcessorEduardo Castro
 
Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)Heyner Marmol
 
Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2Sefira111
 

La actualidad más candente (20)

Presentacións Sql mejorado
Presentacións Sql mejoradoPresentacións Sql mejorado
Presentacións Sql mejorado
 
Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?
 
Lo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql serverLo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql server
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
Vistas y Base de Datos - Analisis de Sistemas
Vistas y Base de Datos - Analisis de SistemasVistas y Base de Datos - Analisis de Sistemas
Vistas y Base de Datos - Analisis de Sistemas
 
Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastres
 
Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQL
 
Sesión 4
Sesión 4Sesión 4
Sesión 4
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
 
Administración de base de datos oracle - sesion 8
Administración de base de datos oracle - sesion 8Administración de base de datos oracle - sesion 8
Administración de base de datos oracle - sesion 8
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacional
 
Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nube
 
Meetup Real Time Aggregations Spark Streaming + Spark Sql
Meetup Real Time Aggregations  Spark Streaming + Spark SqlMeetup Real Time Aggregations  Spark Streaming + Spark Sql
Meetup Real Time Aggregations Spark Streaming + Spark Sql
 
Sesión 6
Sesión 6Sesión 6
Sesión 6
 
Introducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query ProcessorIntroducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query Processor
 
Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)Oracle Real Application Cluster (RAC)
Oracle Real Application Cluster (RAC)
 
Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2
 

Destacado

Principales Tendencias Regionales y Mundiales en el Mercado de la Energía
Principales Tendencias Regionales y Mundiales en el Mercado de la EnergíaPrincipales Tendencias Regionales y Mundiales en el Mercado de la Energía
Principales Tendencias Regionales y Mundiales en el Mercado de la EnergíaEduardo Zolezzi
 
Les francais et la cremation
Les francais et la cremationLes francais et la cremation
Les francais et la cremationcsnaf
 
Mira a tu alrededor
Mira a tu alrededorMira a tu alrededor
Mira a tu alrededorRicardo
 
Facilitación de Inversiones, Álvaro Quijandría - CADE Ejecutivos 2014
Facilitación de Inversiones, Álvaro Quijandría - CADE Ejecutivos 2014Facilitación de Inversiones, Álvaro Quijandría - CADE Ejecutivos 2014
Facilitación de Inversiones, Álvaro Quijandría - CADE Ejecutivos 2014IPAE
 
El JardíN Del EdéN
El JardíN Del EdéNEl JardíN Del EdéN
El JardíN Del EdéNMarcelo Bula
 
Postgrado de docencia superior
Postgrado de docencia superiorPostgrado de docencia superior
Postgrado de docencia superiorSEEG
 
Enquête sur les perceptions de la démocratie participative auprès des jeunes
Enquête sur les perceptions de la démocratie participative auprès des jeunesEnquête sur les perceptions de la démocratie participative auprès des jeunes
Enquête sur les perceptions de la démocratie participative auprès des jeunesDhia Elhak Ammar
 
Educación a distancia principios y tendencias
Educación a distancia principios y tendenciasEducación a distancia principios y tendencias
Educación a distancia principios y tendenciasLilia G. Torres Fernández
 
La loire à vélo
La loire à véloLa loire à vélo
La loire à vélobma5562
 
Modèles de donnèes & d'opportunités BI
Modèles de donnèes & d'opportunités BI  Modèles de donnèes & d'opportunités BI
Modèles de donnèes & d'opportunités BI Michel Bruley
 
Results from questionnaire
Results from questionnaireResults from questionnaire
Results from questionnaireNilab Noel
 
Observatoire de l'e-pub 12ème dédition SRI-PwC / 1er semestre 2014
Observatoire de l'e-pub 12ème dédition SRI-PwC / 1er semestre 2014Observatoire de l'e-pub 12ème dédition SRI-PwC / 1er semestre 2014
Observatoire de l'e-pub 12ème dédition SRI-PwC / 1er semestre 2014Nicolas Bariteau
 
JPME 2012: E-réputation par Kollector
JPME 2012: E-réputation par KollectorJPME 2012: E-réputation par Kollector
JPME 2012: E-réputation par KollectorAntoine Servais
 
Onda en positivo social selling por david martinez calduch 2015 05-07
Onda en positivo social selling por david martinez calduch 2015 05-07Onda en positivo social selling por david martinez calduch 2015 05-07
Onda en positivo social selling por david martinez calduch 2015 05-07Soluciona Facil
 
L'ALPHABET
L'ALPHABETL'ALPHABET
L'ALPHABETUNMSM
 
Tutorial Evernote - Recordatorios iOS 2013-09
Tutorial Evernote - Recordatorios iOS 2013-09Tutorial Evernote - Recordatorios iOS 2013-09
Tutorial Evernote - Recordatorios iOS 2013-09Soluciona Facil
 

Destacado (20)

Principales Tendencias Regionales y Mundiales en el Mercado de la Energía
Principales Tendencias Regionales y Mundiales en el Mercado de la EnergíaPrincipales Tendencias Regionales y Mundiales en el Mercado de la Energía
Principales Tendencias Regionales y Mundiales en el Mercado de la Energía
 
Les francais et la cremation
Les francais et la cremationLes francais et la cremation
Les francais et la cremation
 
Mira a tu alrededor
Mira a tu alrededorMira a tu alrededor
Mira a tu alrededor
 
Facilitación de Inversiones, Álvaro Quijandría - CADE Ejecutivos 2014
Facilitación de Inversiones, Álvaro Quijandría - CADE Ejecutivos 2014Facilitación de Inversiones, Álvaro Quijandría - CADE Ejecutivos 2014
Facilitación de Inversiones, Álvaro Quijandría - CADE Ejecutivos 2014
 
El JardíN Del EdéN
El JardíN Del EdéNEl JardíN Del EdéN
El JardíN Del EdéN
 
Postgrado de docencia superior
Postgrado de docencia superiorPostgrado de docencia superior
Postgrado de docencia superior
 
Enquête sur les perceptions de la démocratie participative auprès des jeunes
Enquête sur les perceptions de la démocratie participative auprès des jeunesEnquête sur les perceptions de la démocratie participative auprès des jeunes
Enquête sur les perceptions de la démocratie participative auprès des jeunes
 
Educación a distancia principios y tendencias
Educación a distancia principios y tendenciasEducación a distancia principios y tendencias
Educación a distancia principios y tendencias
 
Negociación una trilogía determinante
Negociación una trilogía determinanteNegociación una trilogía determinante
Negociación una trilogía determinante
 
GSM - 20 ans de folie
GSM - 20 ans de folieGSM - 20 ans de folie
GSM - 20 ans de folie
 
La loire à vélo
La loire à véloLa loire à vélo
La loire à vélo
 
Modèles de donnèes & d'opportunités BI
Modèles de donnèes & d'opportunités BI  Modèles de donnèes & d'opportunités BI
Modèles de donnèes & d'opportunités BI
 
Results from questionnaire
Results from questionnaireResults from questionnaire
Results from questionnaire
 
Observatoire de l'e-pub 12ème dédition SRI-PwC / 1er semestre 2014
Observatoire de l'e-pub 12ème dédition SRI-PwC / 1er semestre 2014Observatoire de l'e-pub 12ème dédition SRI-PwC / 1er semestre 2014
Observatoire de l'e-pub 12ème dédition SRI-PwC / 1er semestre 2014
 
Khan academy
Khan academyKhan academy
Khan academy
 
JPME 2012: E-réputation par Kollector
JPME 2012: E-réputation par KollectorJPME 2012: E-réputation par Kollector
JPME 2012: E-réputation par Kollector
 
Onda en positivo social selling por david martinez calduch 2015 05-07
Onda en positivo social selling por david martinez calduch 2015 05-07Onda en positivo social selling por david martinez calduch 2015 05-07
Onda en positivo social selling por david martinez calduch 2015 05-07
 
Mots Liste8
Mots Liste8Mots Liste8
Mots Liste8
 
L'ALPHABET
L'ALPHABETL'ALPHABET
L'ALPHABET
 
Tutorial Evernote - Recordatorios iOS 2013-09
Tutorial Evernote - Recordatorios iOS 2013-09Tutorial Evernote - Recordatorios iOS 2013-09
Tutorial Evernote - Recordatorios iOS 2013-09
 

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

Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Julián Castiblanco
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developersEnrique Catala Bañuls
 
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...SpanishPASSVC
 
Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)SolidQ
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Enrique Catala Bañuls
 
Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017dbLearner
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Eduardo Castro
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresEnrique Catala Bañuls
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Joseph Lopez
 
Carbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareCarbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareJulián Castiblanco
 
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...SolidQ
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Eduardo Castro
 
Adaptive BI Framework
Adaptive BI Framework Adaptive BI Framework
Adaptive BI Framework SolidQ
 
SQL Server rápido y furioso
SQL Server rápido y furiosoSQL Server rápido y furioso
SQL Server rápido y furiosoSpanishPASSVC
 
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12cEdelweiss Kammermann
 

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

Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
sesion 01_sql basico.pdf
sesion 01_sql basico.pdfsesion 01_sql basico.pdf
sesion 01_sql basico.pdf
 
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
 
Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)
 
Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017
 
Base De Datos
Base De DatosBase De Datos
Base De Datos
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
Jdbc
JdbcJdbc
Jdbc
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016
 
Carbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareCarbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshare
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
 
Adaptive BI Framework
Adaptive BI Framework Adaptive BI Framework
Adaptive BI Framework
 
SQL Server rápido y furioso
SQL Server rápido y furiosoSQL Server rápido y furioso
SQL Server rápido y furioso
 
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
 
Exposicion Mysql
Exposicion MysqlExposicion Mysql
Exposicion Mysql
 

Más de Microsoft Argentina y Uruguay [Official Space]

Más de Microsoft Argentina y Uruguay [Official Space] (20)

CodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguroCodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguro
 
CodeCamp 2010 | Efectos especiales con Silverlight
CodeCamp 2010 | Efectos especiales con SilverlightCodeCamp 2010 | Efectos especiales con Silverlight
CodeCamp 2010 | Efectos especiales con Silverlight
 
CodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business IntelligenceCodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business Intelligence
 
CodeCamp 2010 | Hyper-V en Windows Server 2008 R2 e interoperabilidad con Linux
CodeCamp 2010 | Hyper-V en Windows  Server 2008 R2 e interoperabilidad con LinuxCodeCamp 2010 | Hyper-V en Windows  Server 2008 R2 e interoperabilidad con Linux
CodeCamp 2010 | Hyper-V en Windows Server 2008 R2 e interoperabilidad con Linux
 
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
 
CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0
 
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de controlCodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
 
CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010
 
Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40
 
Run 2 0 keynote azure
Run 2 0 keynote azureRun 2 0 keynote azure
Run 2 0 keynote azure
 
Run 20 Track SQL Server
Run 20 Track SQL ServerRun 20 Track SQL Server
Run 20 Track SQL Server
 
Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010
 
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
 
(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2
 
(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1
 
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
 

(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 SQL Server? ¿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 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
  • 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
  • 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
  • 12. Data Manipulation Language • INSERT • UPDATE • DELETE • SELECT http://www.desarrolladoras.org.ar
  • 13. 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
  • 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 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. Demos Tipos de datos http://www.desarrolladoras.org.ar
  • 21. 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
  • 22. 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
  • 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
  • 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
  • 34. 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
  • 35. 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
  • 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 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
  • 39. 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
  • 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
  • 43. 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
  • 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