You are on page 1of 31

Cinco Estrellas

Estrellas Selectivas

SQL Server 2008


Agenda
• Novedades

• Tipos de datos

• Lo nuevo en T-SQL

• XML

• Reporting Services



Agenda
• Integration Services

• Entity Framework

• ADO.Net Synchronization Services

• Seguridad

• Recursos

• Conclusiones

Que tenemos de nuevo
Fecha y hora
 Actualizaciones
Geográficos
Tipos de XML
datos
Estructuras jerárquicas

FileStream
 Actualizaciones
Documentos APIs administración
XML

Mejoras de código
T-SQL Dependencia de objetos

Encriptación
Auditoría
Seguridad
Tipo de datos
• Date
▫ Solo tipo de fecha // 2008-02-01
▫ Rango 0001-01-01 a 9999-12-31
• Time
▫ Solo tipo hora // 11:48:01.1234567
• DateTimeOffset
▫ DateTime con manejo de zona horaria
▫ 2008-02-01 11:48:01 a.m. +03:00


Tipos de datos
• DateTime2
▫ DateTime con mayor precisión
▫ 2008-02-01 11:48:19.1234567
• Hierarchy Id
▫ Representa una posición en un árbol
• Espaciales
▫ Manejo de datos geográficos
Datos Espaciales
• Tipos de datos
▫ Geography ( geodésico)
▫ Geometric ( plano )
• Almacenamiento y recuperación de datos
• Alineados a las normas del OGC/SQL 1.1.0
• Integración con Virtual Earth
• Métodos de importación y exportación


Hierarchy ID
• Representación jarárquica
• Tipo de dato de las columnas
• Disponible en el CLR: SqlHierarchyId
• La estructura es administrada por la aplicación
• Provee métodos para su manipulación
▫ GetLevel() retorna el valor del nodo en el árbol
▫ GetRoot() retorna la raíz del árbol
▫ IsDescendant() devuelve true/false si el nodo es
hijo de un padre

FileStream
• Atributo de columnas varbinary(max) para
almacenar BLOBs ( videos, fotos, música, etc.)
• Requiere NTFS
• Alojamiento en FileGroups (Contenedores de
datos)
• Limitado al tamaño del espacio en disco
• Transparent Data Encryption no esta soportado
• Integrado a los servicios de DB
▫ Seguridad y resguardo de información
Demo
Nuevos tipos de datos.
Lo nuevo en Transact SQL
• GROUPING SETS
▫ Extensión de la cláusula GROUP BY
▫ Múltiples agrupamientos dentro de una misma
query

• INSERT INTO

INSERT
3’),
3’),
▫ Codificación rápida ’Hugo
INSERT INTO
INTO clientes
clientes VALUES y’Hugo
sencilla
VALUES (‘908’,
(‘908’,Ramirez’,
Ramirez’, ’9333092-
’9333092-

(‘324’,
(‘324’, ’Carlos
’Carlos Perez’,
Perez’, ‘7364809-
‘7364809-
1’),
1’),
(‘122’,
(‘122’, ‘Araceli
‘Araceli Ruiz’,
Ruiz’, ‘8451092-9’)
‘8451092-9’)
Lo nuevo en Transact SQL
• Declaración de variables
•DECLARE @Codigo
DECLARE @Codigo int
int == 12
12

DECLARE
DECLARE @Nombre
@Nombre varchar(20)
varchar(20) == ‘Leonardo’
‘Leonardo’


• Operadores
▫ +=, -=, *=, /=

UPDATE
UPDATE productos
productos
SET
SET cantidad
cantidad +=
+= c.stock
c.stock
FROM
FROM productos
productos pp INNER
INNER JOIN
JOIN compras
compras cc on
on c.id
c.id == p.id
p.id
Lo nuevo en Transact SQL
• MERGE
▫ Operaciones DML basadas en tabla
origen/destino
▫ Permite realizar varias operaciones en una
simple instrucción

MERGE
MERGE <tabla_origen>
<tabla_origen>
USING
USING <tabla_destino>
<tabla_destino>
ON
ON <condición>
<condición>
WHEN
WHEN MATCHED
MATCHED [AND..]
[AND..] THEN..
THEN..
WHEN
WHEN NOT
NOT MATCHED
MATCHED THEN..
THEN..
WHEN
WHEN SOURCE
SOURCE NOT
NOT MATCHED
MATCHED THEN..
THEN..
Merge

origen Merge destino


Coincide UPDATE

No coincide INSERT

No existe DELETE
Lo nuevo en Transact SQL
• SET SHOWPLAN_XML
▫ Muestra el plan de ejecución en formato XML
• UDT
▫ No más límite de 8K
• Parámetros tipo tabla
▫ Posibilidad de pasar una tabla como parámetro
• Dependencia de objetos
▫ Posibilidad de conocer las dependencias que
existen entre objetos
▫ Procedimientos almacenados, vistas, tablas, etc..
Demo
Tabla como parámetro.
Columnas dispersas
•Administración eficiente tablas con campos NULL
▫Reducción del espacio utilizado
•Crear tablas con más de 1024 columnas
•Transparente al escribir una query
Atributo sobre la columna (Create / Alter Table )

CREATE
CREATE TABLE
TABLE productos
productos (Id
(Id int,
int, Codigo
Codigo varchar(10),
varchar(10),
Familia
Familia int SPARSE, Linea
int SPARSE, Linea varchar(5),
varchar(5),
Rotulo
Rotulo varchar(5) SPARSE ))
varchar(5) SPARSE
Columnas dispersas
Columnas fijas Columnas
dispersas
ProdId Descript Category Price Current Colour Size Vol Fabric Fit COSH

1 Dulux Paint 22.95 False Blue - 1.5 - - 8729


Emulsion
2 Roller Tools 3.95 False - L - - - -

3 Rug Home 79.50 False Brown - - Wool - -

4 Bulb Electrical 1.25 True Pearl - - - Screw -

5 Weedkiller Garden 7.99 True - - 1.0 - - 2776

6 Bamboo Garden 35.00 True Yellow - - - - -

7 2x4 Wood 2.95 True - - - - - -

8 ... ... ... ... ... ... ... ... ... ...
Índices filtrados
•Indexar una parte de los datos en una tabla
•Menor espacio en índices
•Reducción del costo de mantenimiento


CREATE
CREATE INDEX
INDEX Id_0001
Id_0001 ON
ON clientes(denominacion)
clientes(denominacion) WHERE
WHERE activo
activo == 11

SELECT
SELECT vendedor,
vendedor, denominacion
denominacion FROM
FROM clientes
clientes WHERE
WHERE activo
activo == 11
Índices filtrados
CREATE
CREATE INDEX
INDEX Id_0002
Id_0002 ON
ON products(category)
products(category) WHERE
WHERE current
current == ‘True’
‘True’

ProdId Descript Category Price Current Colour Size Vol Fabric Fit COSH

1 Dulux Paint 22.95 False Blue - 1.5 - - 8729


Emulsion
2 Roller Tools 3.95 False - L - - - -

3 Rug Home 79.50 False Brown - - Wool - -

4 Bulb Electrical 1.25 True Pearl - - - Screw -

5 Weedkiller Garden 7.99 True Í- - 1.0 - - 2776


n
6 Bamboo Garden 35.00 True dYellow - - - - -
i
7 2x4 Wood 2.95 True c- - - - - -
e
8 ... ... ... ... ... ... ... ... ... ...
F
i
l
t
SQL Server 2008 y XML
• Mejoras en los esquemas de validación
▫ Validaciones Lax
 A través de declaraciones any, anyType,
anyAttibute
▫ Soporte xs:dateTime
Datos fecha/hora
▫ Union y List
Permite mezclar una lista de definiciones y
restricciones en un mismo tipo
• Mejoras en Xquery
▫ Cláusula “let”

Reporting Services ( SSRS )
• Arquitectura rediseñada
• Servidor de reportes no utiliza IIS
▫ HTTP.SYS
• Soporte para Microsoft Word 2000/2007
• Diseñador de reportes independiente
• Tablix
▫ Mix de una tabla y una matrix
• Integración con Sharepoint 2007
• Nuevos gráficos
▫ Radar, Gantt, Piramidal, y muchos más...
Reporting Services ( SSRS )

Tablix
Reporte de Ventas Regional Año Producto

2005 2006 Mesa Silla

Washington Seattle 50 60 20 30

Spokane 30 40 10 20

Oregon Portland 40 50 10 10

Eugene 20 30 25 5
Integration Services ( SSIS )
• Mejoras en Lookup transformation
▫ Performance
▫ Caching
• Asistente de conversión de datos
▫ Información detallada en columnas
• Nuevos componentes de ADO.Net
▫ Consumir datos desde un proveedor .Net Framework
▫ Componente para insertar datos
• Nuevos tipos de datos soportados
▫ DT_DBTIME2 / DT_DBTIMESTAMP2
ADO.Net Entity Framework
• Permite programar mediante un modelo
conceptual
• Reduce la cantidad de código orientado a datos
• Entity Data Model (EDM) nos permite generar
las relaciones lógicas - conceptuales
• Código más comprensible y limpio
• Soporte de LINQ -> Entities
• Enfoque a nivel negocio.
ADO.Net Synchronization Services
• Escenarios conectados / desconectados
• Fuente de datos local
▫ SQL Server Compact 3.5
• Fuente de datos remota
▫ Cualquier DB que posea un proveedor ADO.Net
▫ Servicio
• La sincronización es iniciada por el cliente
• Filtrado de filas y columnas
▫ Reducción del tráfico y espacio utilizado
▫ Reducción de conflictos

Seguridad
• Transparent Data Encryption
▫ Encriptación de la DB, archivos de logs y datos
▫ Transparente al usuario
• External Key Management
▫ Integración con productos externos
▫ Hardware y Software
• Auditoría
▫ Mejoras en las herramientas
▫ Diferentes niveles ( servidor, DB, etc )


Recursos

• MSDN
▫ http://msdn2.microsoft.com/sqlserver
• Información sobre SQL 2008
▫ http://www.microsoft.com/sql/2008/default.m
spx
• Ejemplos
▫ http://codeplex.com/SqlServerSamples
• Descarga de prueba SQL 2008
▫ http://msdn2.microsoft.com/es-ar/bb851668.aspx



• Transparent Data Encryption
• External Key Management
• Data Auditing
• Pluggable CPU
• Transparent Failover for Database Mirroring
• Declarative Management Framework*
• Server Group Management*
• Streamlined Installation*
• Enterprise System Management*
• Performance Data Collection*
• System Analysis*
• Data Compression
• Query Optimization Modes
• Resource Governor
• Entity Data Model*
• LINQ*
• Visual Entity Designer*
• Entity Aware Adapters
• SQL Server Change Tracking*
• Synchronized Programming Model*
• Visual Studio Support*
• SQL Server Conflict Detection
• FILESTREAM data type
• Integrated Full Text Search
• Sparse Columns
• Large User Defined Types*
• Date/Time Data Type*
• LOCATION data type
• SPATIAL data type
• Virtual Earth Integration
• Partitioned Table Parallelism
• Query Optimizations*
• Persistent Lookups
• Change Data Capture*
Conclusiones
•SQL Server 2008 nos provee de importantes
mejoras para desarrollar
•Codificación simplificada y ágil
•Plataforma de integración en varias áreas
•Base de datos robusta y escalable
•Reportes de alta calidad
•Escenarios conectados / desconectados
•Énfasis en la seguridad




Muchas Gracias!

SQL Server 2008