250 likes | 371 Views
Código: HOL-SQL30. Microsoft SQL Server 2008 – Entorno de Desarrollo. Rubén Alonso Cebrián ralonso@informatica64.com www.puntocompartido.com. Tipos de Datos Espaciales. Tipos de Datos Espaciales.
E N D
Código: HOL-SQL30 Microsoft SQL Server 2008 – Entorno de Desarrollo Rubén Alonso Cebriánralonso@informatica64.com www.puntocompartido.com
Tipos de Datos Espaciales 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.
Tipo de Dato FILESTREAM • 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 esel nombre con el que se va a publicar la información de este tipo de datos con el modificador
Tipo de Dato FILESTREAM • Para habilitarlo a nivel de BBDD: • Execsp_configure filestream_access_level,2RECONFIGURE • Una vez habilitado el FileStream podemos crear una tabla con la siguiente sintaxis> • CreateTableEsquema.nombretabla • (campo tipo_de_dato, campo tipo_de_dato, campo varbinary(max) FILESTREAM); • Go • Para insertar registros: • InsertintoEsquema.nombretablavalues (valor1,valor2, CAST(‘texto a agregar’ as varbinary(max)));
Características en T-SQL • Inicialización en línea de variables: • Declare@altaempresadatetime = getdate(), @telefonoint = 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)
Características en T-SQL • 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
Características en T-SQL • 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.
Características en T-SQL Parámetros de tipo tabla – Ejemplo:createtypedbo.miArrayas table ( SalesOrderIDint, ProductIDint, primarykey (SalesOrderID, ProductID))goDeclare @mi_variable as dbo.miArrayinsert @mi_variableselect top 10 sh.SalesOrderID, ProductIDfromSalesLT.SalesOrderHeadershjoinSalesLT.SalesOrderDetailsdonsh.SalesOrderID = sd.SalesOrderIDgocreateprocdbo.ObtenerPedidos@lista dbo.miArrayreadonly asselect * fromSalesLT.SalesOrderHeadershjoinSalesLT.SalesOrderDetailsdonsh.SalesOrderID = sd.SalesOrderIDjoin @lista l onsh.SalesOrderID = l.SalesOrderIDand sd.ProductID = l.ProductIDgodbccdropcleanbuffersdbccfreeproccachegodeclare @mi_variable as dbo.miArrayinsert @mi_variableselectsh.SalesOrderID, ProductIDfromSalesLT.SalesOrderHeadershjoinSalesLT.SalesOrderDetailsdonsh.SalesOrderID = sd.SalesOrderIDselect * from @mi_variableexecdbo.ObtenerPedidos @mi_variable
Servicios de Sincronización • - 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 • SyncServicesfor 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.
Servicios de Sincronización - 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.
Lenguage Integrado de Consultas (LINQ) • - 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 (objectrelationalmapping), 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
Lenguage Integrado de Consultas (LINQ) Diseñador Gráfico de Visual Studio.Net 2008 para LINQ
Contactos • Informática 64 • http://www.informatica64.com • i64@informatica64.com • +34 91 146 20 00 • Rubén Alonso • ralonso@informatica64.com