SQL Server 2008

Post on 23-Oct-2014

78 views 1 download

Tags:

Transcript of SQL Server 2008

SQL Server 2008

Estrellas Selectivas

•Novedades

•Tipos de datos

•Lo nuevo en T-SQL

•XML

•Reporting Services

•Integration Services

•Entity Framework

•ADO.Net Synchronization Services

•Seguridad

•Recursos

•Conclusiones

• Actualizaciones XML

• Actualizaciones XMLTipos de datos

Documentos

T-SQL

Seguridad

Fecha y horaGeográficosEstructuras jerárquicas

FileStreamAPIs administración

Mejoras de códigoDependencia de objetos

EncriptaciónAuditoría

•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

•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

•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

•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

•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

• GROUPING SETS▫ Extensión de la cláusula GROUP BY▫ Múltiples agrupamientos dentro de una

misma query

• INSERT INTO

▫ Codificación rápida y sencillaINSERT INTO clientes VALUES (‘908’, ’Hugo Ramirez’, ’9333092-3’), (‘324’, ’Carlos Perez’, ‘7364809-1’), (‘122’, ‘Araceli Ruiz’, ‘8451092-9’)

INSERT INTO clientes VALUES (‘908’, ’Hugo Ramirez’, ’9333092-3’), (‘324’, ’Carlos Perez’, ‘7364809-1’), (‘122’, ‘Araceli Ruiz’, ‘8451092-9’)

• Declaración de variables

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

UPDATE productosSET cantidad += c.stock

FROM productos p INNER JOIN compras c on c.id = p.id

UPDATE productosSET cantidad += c.stock

FROM productos p INNER JOIN compras c on c.id = p.id

DECLARE @Codigo int = 12DECLARE @Nombre varchar(20) = ‘Leonardo’DECLARE @Codigo int = 12DECLARE @Nombre varchar(20) = ‘Leonardo’

• MERGE▫ Operaciones DML basadas en tabla

origen/destino▫ Permite realizar varias operaciones en una

simple instrucción

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

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

origen destinoMerge

Coincide UPDATE

No coincide INSERT

No existe DELETE

• 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..

• 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 TABLE productos (Id int, Codigo varchar(10),Familia int SPARSE, Linea varchar(5),Rotulo varchar(5) SPARSE )

CREATE TABLE productos (Id int, Codigo varchar(10),Familia int SPARSE, Linea varchar(5),Rotulo varchar(5) SPARSE )

ProdId Descript Category

Price Current

Colour Size Vol Fabric

Fit COSH

1 Dulux Emulsion

Paint 22.95

False Blue - 1.5 - - 8729

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 ... ... ... ... ... ... ... ... ... ...

ProdId Descript Category

Price Current

Colour Size Vol Fabric

Fit COSH

1 Dulux Emulsion

Paint 22.95

False Blue - 1.5 - - 8729

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 ... ... ... ... ... ... ... ... ... ...

Columnas fijas Columnas dispersas

• Indexar una parte de los datos en una tabla

• Menor espacio en índices • Reducción del costo de mantenimiento

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

SELECT vendedor, denominacion FROM clientes WHERE activo = 1

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

SELECT vendedor, denominacion FROM clientes WHERE activo = 1

ProdId Descript Category

Price Current

Colour Size Vol Fabric

Fit COSH

1 Dulux Emulsion

Paint 22.95

False Blue - 1.5 - - 8729

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 ... ... ... ... ... ... ... ... ... ...

CREATE INDEX Id_0002 ON products(category) WHERE current = ‘True’CREATE INDEX Id_0002 ON products(category) WHERE current = ‘True’

• 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”

• 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...

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

Tablix

• 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

• 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.

• 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

• 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 )

• MSDN▫ http://msdn2.microsoft.com/sqlserver

• Información sobre SQL 2008▫ http://www.microsoft.com/sql/2008/

default.mspx• Ejemplos

▫ http://codeplex.com/SqlServerSamples• Descarga de prueba SQL 2008

▫ http://msdn2.microsoft.com/es-ar/bb851668.aspx

• 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

SQL Server 2008