23
Código: HOL- SQL30

Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

Embed Size (px)

Citation preview

Page 1: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

Código: HOL-SQL30

Page 2: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 3: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

Dos tipos de datos nuevos de tipo Spatial:- Geography (superficie elipsoidal)- Geometry (superficie plana)

Tipos de datos en 2 dimensiones, que se pueden instanciar mediante el ensamblado Microsoft.SqlServer.SqlDataTypes

- Geography es un subconjunto de datos del tipo geometry, no teniendo por tanto, todos los métodos de geometry disponibles en geography.

Tipos de Datos Espaciales

Page 4: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 5: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 6: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

-En SQL Server 2008 los BLOB pueden ser:

1º) Datos de varbinary(max) estándar que almacenan los datos en tablas 2º) Objetos FILESTREAM varbinary(max) que almacenan los datos en el sistema de archivos Se habilita a nivel de Instancia mediante T-SQL: sp_filestream_configure [ [ @enable_level = ] level ] [ [ , @share_name = ] 'share_name' ]

Donde @enable_level es:

y @Share es el nombre con el que se va a publicar la información de este tipo de datos con el modificador

Valor Significado

0 Deshabilitado

1 Habilitado pero sólo con uso mediante T-SQL

2 Habilitado para T-SQL y acceso local via filesystem

3 Habilitado para T-SQL y acceso local y remoto via filesystem

Page 7: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

- Para habilitarlo a nivel de BBDD:

Exec sp_configure filestream_access_level,2RECONFIGURE

-Una vez habilitado el FileStream podemos crear una tabla con la siguiente sintaxis>

Create Table Esquema.nombretabla

(campo tipo_de_dato, campo tipo_de_dato, campo varbinary(max) FILESTREAM);

Go

-Para insertar registros:

Insert into Esquema.nombretabla values (valor1,valor2, CAST(‘texto a agregar’ as varbinary(max)));

Page 8: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 9: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 10: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

- Inicialización en línea de variables:

Declare@altaempresa datetime = getdate(), @telefono int = 36, @nombre varchar(50) = ‘Rubén';

select @fecha, @edad, @nombre

En versiones anteriores:

Msg 139, Level 15, State 1, Line 0Cannot assign a default value to a local variable

-Merge

Permite realizar inserciones o actualizaciones de acuerdo a la existencia del registro. Ejemplo: MERGE INTO Reservas D

USING Listaespera F ON F.Id = D.Id

WHEN MATCHED THEN UPDATE

SET D.idvuelo= F.idvuelo

WHEN NOT MATCHED THEN INSERT (Idvuelo, Destino)

VALUES (F.Id, F.Destino)

Page 11: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

-Nuevos tipos de datos Datetime:

Time: tipo de dato de hora sin fecha

DateTime2: Tipo de dato fecha/hora con almacenamiento de capacidad variable y ajustable. Respeta el calendario gregoriano y viene preparado para contemplar los cambios de hora

estacionales ( daytime saving).

Date: tipo de dato para el almacenamiento de fechas sin horas

Rangos: desde 0001-01-01 al 9999-12-31

DateTimeOffset: tipo de dato fecha/hora más completo ya que se pueden almacenar valores de fecha hora con información de usos horarios (ejemplo: GMT +01:00 Madrid).

Rangos: - Fechas: desde 0001-01-01 a 9999-12-31- Horas: de 00:00:00 a 23:59:59.9999999

Page 12: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

-Parámetros de tipo tabla: nuevo tipo de parámetro en SQL Server 2008 de tipo Tabla.

-Dicho parámetro puede ser declarado como tipo de una tabla previamente definida y puede ser utilizado para enviar varios registros o filas de información a una instrucción T-SQL o rutina.

-Dichos parámetros se utilizarán para sustituir la usada técnica de la creación de tablas temporales

- Ventajas:

Son fuertemente tipificadas

Se puede especificar un ordenamiento y clave única

Se reducen las llamadas al servidor

Evitamos la recompilación de la sentencia

No necesitamos de un bloqueo desde el cliente para inicializar los valores de la tabla.

Page 13: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

Parámetros de tipo tabla – Ejemplo:create type dbo.miArray as table ( SalesOrderID int, ProductID int, primary key (SalesOrderID, ProductID))goDeclare @mi_variable as dbo.miArrayinsert @mi_variable select top 10 sh.SalesOrderID, ProductID from SalesLT.SalesOrderHeader sh join SalesLT.SalesOrderDetail sd on sh.SalesOrderID = sd.SalesOrderID gocreate proc dbo.ObtenerPedidos@lista dbo.miArray readonly asselect * from SalesLT.SalesOrderHeader shjoin SalesLT.SalesOrderDetail sd on sh.SalesOrderID = sd.SalesOrderIDjoin @lista l on sh.SalesOrderID = l.SalesOrderIDand sd.ProductID = l.ProductIDgodbcc dropcleanbuffersdbcc freeproccachegodeclare @mi_variable as dbo.miArrayinsert @mi_variable select sh.Sale sOrderID, ProductID from SalesLT.SalesOrderHeader sh join SalesLT.SalesOrderDetail sd on sh.SalesOrderID = sd.SalesOrderIDselect * from @mi_variableexec dbo.ObtenerPedidos @mi_variable

Page 14: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 15: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 16: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

- Nuevos servicios de sincronización para ADO.Net utilizados para la generación y construcción de aplicaciones locales basadas en cache con sincronización bidireccional

-Solventa muchos problemas en replicaciones de mezcla en SQL Server 2000/2005, ya que la resolución de conflictos es compleja

-Sync Services for ADO.NET proporciona una API para sincronizar los cambios, pero NO realiza el seguimiento de los cambios que se producen en el servidor o en la base de datos del mismo nivel.

-Se puede optar por crear un sistema de seguimiento de cambios personalizado, pero esto introduce normalmente una complejidad significativa y una sobrecarga de rendimiento.

-Para realizar el seguimiento de cambios en un servidor o una base de datos del mismo nivel, se recomienda usar el seguimiento de cambios en SQL Server 2008 porque es fácil de configurar y proporciona un seguimiento del alto rendimiento.

Page 17: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

- Seguimiento de Cambios:

En versiones anteriores, para permitir que las aplicaciones consultasen los cambios de los datos en una base de datos y tener acceso a la información relacionada con los mismos, los programadores de aplicaciones tenían que implementar mecanismos personalizados de seguimiento de cambios

En SQL Server 2008, se utiliza el Seguimiento de Cambio de SQL Server 2008 (SQL Server Change Tracking) que se basa en el componente Captura de Cambios de Datos CDC (Change Data Capture), el cual detecta los cambios producidos por insert, update y delete en los datos de forma asincrónica y expone estos datos de forma relacional.

Estas tablas generadas por CDC contiene columnas que tiene la misma estructura de las columnas cuyas tablas son monitoreadas, conteniendo a su vez toda la metadata para entender cuál fue el cambio realizado.

Page 18: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 19: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 20: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2
Page 21: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

- SQL Server 2008 aporta como novedad los Servicios de Entidades de Datos (Entity Data Services )

-Permiten , utilizando SQL Server 2008 y ADO.NET, poder crear objetos de negocio de alto nivel, por ejemplo Clientes o Facturas.

- Estas entidades se pueden utilizar y reemplazan el método estándar de devolver filas y tablas.

- Para su uso, hay nuevas herramientas de ADO.NET que pueden tener acceso a estas entidades como es el Lenguaje de Consultas Integrado LINQ to SQL

-El Lenguaje de Consultas Integrado LINQ, nos va a permitir 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.

-LINQ to SQL es la implementación de un mapeador de objetos a modelo relacional ORM (object relational mapping), que está integrado al .NET Framework 3.5.

- Visual Studio 2008 provee un diseñador gráfico que permite modelar y visualizar una base de datos como un modelo de objetos LINQ to SQL.

Fuente: http://msmvps.com/blogs/cwalzer/archive/2008/04/01/nuevas-caracter-237-sticas-para-desarrolladores-en-sql-server-2008.aspx

Page 22: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2

Diseñador Gráfico de Visual Studio.Net 2008 para LINQ

Page 23: Código: HOL-SQL30. Dos tipos de datos nuevos de tipo Spatial: - Geography (superficie elipsoidal) - Geometry (superficie plana) Tipos de datos en 2