Webcast – Fundamentos de diseños de bases de datos


En el presente post, les hago entrega del webcast que realize para la comunidad SQL PASS Venezuela – Caracas Chapter sobre los fundamentos sobre como diseñar eficientemente Bases de Datos.

En el enlace siguiente podrán descargar tanto la presentación en formato .pptx así como la grabación de manera gratuita:

https://skydrive.live.com/?cid=cfe236f1f894452b&id=CFE236F1F894452B%21117&authkey=!AGfpY_EtGQO15n4#

Hasta otra próxima entrega, Winking smile.

Webcast de MS SQL Server 2012 a través de SQL PASS Venezuela, segundo semestre 2013


 

Hola a tod@s mis lectores y seguidores.

Les extiendo amablemente la invitación a la serie y programación de webcasts con temas ampliamente tecnologicos de muchos ámbitos (Desarrollo, Administración, BI y Azure), referentes a MS SQL Server 2012, y especificamente en versión SP1.

En el siguiente enlace podrás inscribirte gratuitamente: http://bit.ly/SQLPASSVENEZUELA.

A continuación, les listo el temario con el título de la conferencia, su descripción, el nombre del expositor(a), la fecha y hora:

Título: Fundamentos de diseños de bases de datos
Descripción: Establecer y afianzar los fundamentos básicos en el diseño de bases de datos en las empresas del día de hoy.
Speaker: José Redondo
Fecha: Jueves, 20 de Junio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Fundamentos en la aplicación de una Plataforma BI
Descripción: Concretar y definir los aspectos fundamentales en la generación de proyectos de Inteligencia de Negocio en las empresas del día de hoy.
Speaker: Jesús Gil
Fecha: Viernes, 28 de Junio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Optimización de aplicaciones de bases de datos OLTP
Descripción: Robustecer y consolidar el rendimiento en las aplicaciones de bases de datos transaccionales en escenarios con alto volúmenes de transacciones diarias en las empresas de
Speaker: Edinson Medina
Fecha: Martes, 09 de Julio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Escribiendo código T-SQL eficientemente
Descripción: Afianzar y renovar conceptos claves en la escritura de código T-SQL en nuestros escenarios de datos del día de hoy.
Speaker: José Redondo
Fecha: Jueves, 18 de Julio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Optimizando consultas utilizando estadísticas
Descripción: Aprovechar la información aportada por las estadísticas de los índices de tablas de datos para buscar la mejor manera de brindar resultados eficientes en nuestros sistemas de bases de datos del día de hoy.
Speaker: Guillermo Taylor
Fecha: Martes, 30 de Julio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Utilizando el Plan Cache para optimizar procesos de consultas
Descripción: Emplear todas las bondades del Plan Cache que nos brinda SQL Server para fortalecer las ejecuciones de las consultas en nuestros escenarios de datos.
Speaker: John Bulla
Fecha: Martes, 13 de Agosto de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Aplicando AlwaysOn Availability Groups en escenarios reales
Descripción: Suministrar y consolidar las nuestras bondades de Alta Disponibilidad ofrecida por SQL Server 2012 a las empresas de hoy.
Speaker: Edinson Medina
Fecha: Miercoles, 28 de Agosto de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Integration Services vs. T-SQL: Cargando un almacén de datos
Descripción: Fundamentar y adherir las decisiones más acorde en nuestros escenarios de datos empresariales referente a la población de las bodegas de datos a través de mecanismos apropiados en consonancia a las pericias adquiridas por nuestro equipo de trabajo empresarial en el día de hoy.
Speaker: José Redondo
Fecha: Jueves, 05 de Septiembre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Buenas prácticas en el desarrollo de bases de datos multidimensionales con SSAS
Descripción: Disponer y validar las buenas prácticas en la ejecución de proyectos de desarrollos de aplicaciones OLAP en las empresas del día de hoy.
Speaker: Mary Arcia
Fecha: Martes, 24 de Septiembre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Introducción a SSRS 2012
Descripción: Presentación del servicio de reportes empresariales ofrecido por SQL Server 2012 desde todos los ángulos a servir a las empresas del día de hoy.
Speaker: Juan Romagosa
Fecha: Jueves, 10 de Octubre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Generar informes vistosos con SSRS 2012
Descripción: Establecer y diseñar estrategias novedosas en el diseño y desarrollo de informes empresariales con carácter y personalidad gerencial en las empresas de hoy.
Speaker: Mary Arcia
Fecha: Miercoles, 30 de Octubre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Introducción a SQL Azure
Descripción: Presentación del servicio de almacenamiento de datos en la nube por parte de Microsoft a las empresas de hoy.
Speaker: Miguel Mendoza
Fecha: Martes, 12 de Noviembre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Como migrar tus bases de datos SQL Server 2012 a SQL Azure
Descripción: Definir y validar los pasos a establecer en el proceso de migración de los sistemas de información transaccional en nuestras empresas a la nube.
Speaker: José Redondo / Jesús Gil
Fecha: Viernes, 29 de Noviembre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Diseño de aplicaciones de bases de datos SQL Azure
Descripción: Aplicar y establecer las normativas practicas a la hora de diseñar eficientes aplicaciones de bases de datos en la nube.
Speaker: José Redondo
Fecha: Jueves, 12 de Diciembre de 2013
Hora: 12:30PM (Hora Venezuela)

Espero les sea de mucho provecho los mismos. Animate e inscribete, a que esperas.

Tod@s están cordialmente invitados.

Nos pillamos en próxima, Winking smile.

Pie

Conceptos Fundamentales de Proyectos BI en Plataforma Microsoft (Intro)


Después de unas buenas y merecidas vacaciones estoy de nuevo por estos lados para continuarles aportándoles conocimientos del maravilloso mundo de las bases de datos en todas sus formas y sabores.

La presente será el inicio de una serie de entregas referente a la ejecución de Proyectos de Inteligencia de Negocio (Business Intelligence – ‘BI’) con herramientas Microsoft en general.

En el diagrama a exponer a continuación, les validare y expondre cada una de las fases que influirá en la ejecución de dichos proyectos con el fin de generar soluciones eficientes y exitosas a implementar en este ámbito.

Conceptos Fundamentales de Proyectos BI en Plataforma Microsoft

Como podemos visualizar ampliamente en el diagrama, cada componente es un paso vital para ejecutar dichos proyectos, a su vez, teniendo en cuenta que son constituidos los mismos con herramientas de trabajo especializadas para cada tarea a ejercer, y dichas herramientas son Productos y Servicios provistos por Microsoft como lo son entre “otros”:

Cover Intro

En la siguiente entrega de este post, tratare el primer paso a ejecutar de manera sencilla y simple, la cual lo he denominado “Programación y Planificación del Proyecto”.

Nos pillamos en la próxima, Winking smile.

“24 Horas PASS Latam” ya esta aquí!!!


El evento mas esperado por tod@s en la región ya esta aquí, “24 Horas PASS Latam” sera una realidad el próximo 5 y 6 de diciembre.

Serán 24 sesiones dictadas por expertos en MS SQL Server  2012 y sus tecnologías asociadas de toda Iberoamerica, comenzando a partir de las 09:00 horas (México, DF).

Durante estos dos (2) días, tendremos la oportunidad de conocer profundamente el producto para con esto, logremos aplicar los conocimientos impartidos por los expertos en nuestro día a día laboral con el mismo.

A continuación le enumero las conferencias a imparir con su respectivo horario y conferencista:

El horario por ciudades en toda la región a continuación:

Argentina – Buenos Aires: 12:00
Bolivia – La Paz: 11:00
Brasil – Brasilia: 13:00
Chile – Santiago: 12:00
Colombia – Bogotá, DC: 10:00
Costa Rica – San Jose: 09:00
Cuba – La Habana: 10:00
Ecuador – Quito: 10:00
El Salvador – San Salvador: 09:00
España – Madrid: 16:00
Estados Unidos – Seattle: 07:00
Estados Unidos – Denver: 08:00
Estados Unidos – Chicago: 09:00
Estados Unidos – Nueva York: 10:00
Guatemala – Ciudad de Guatemala: 09:00
Haití – Puerto Principe: 10:00
Honduras – Tegucigalpa: 09:00
México – Ciudad de México, DF: 09:00
Nicaragua – Managua: 09:00
Panamá – Ciudad de Panamá: 10:00
Paraguay – Asunción: 12:00
Perú – Lima: 10:00
Puerto Rico – San Juan: 11:00
República Dominicana – Santo Domingo: 11:00
Uruguay – Montevideo: 13:00
República Bolivariana de Venezuela – Caracas: 10:30

El registro para las diferentes conferencias se encuentra en el siguiente enlace: 24 Horas PASS Latam.

PASS_Summit_2013

Esperando que dicho evento les sea de mucho provecho, cordialmente invitado quedan, Winking smile.

Introducción a las consultas de datos con T-SQL (Parte 3)


Continuando el pasado post con el tema respecto a las consultas de datos con T-SQL en MS SQL Server 2012, tratare a continuación el siguiente tema:

ELEMENTOS DEL LENGUAJE T-SQL

Los elementos del lenguaje T-SQL que les expondré y explicaré brevemente son los siguientes:

  • Predicados y operadores.
  • Funciones.
  • Variables.
  • Expresiones.
  • Separadores de lotes.
  • Flujos de control, errores y transacciones.
  • Comentarios.

Al igual que muchos lenguajes de programación como todos lo deben de saber, el lenguaje T-SQL contiene muchos elementos que nosotros utilizamos en nuestras consultas en las bases de datos. Nosotros usaremos los predicados para filtrar registros de datos, los operadores para realizar comparaciones, las funciones y las expresiones para manipular los datos con lo cual, recuperamos información del sistema, y por ultimo, los comentarios para documentar eficientemente el código que hayamos generado. A su vez, si necesitamos ir más allá de la escritura del comando SELECT para crear procedimientos almacenados ‘Store Procedure’, disparadores ‘Triggers’ y otros objetos, podemos utilizar también elementos como lo son los controles de flujo, las variables para almacenar temporalmente los valores, y los separadores de lotes.

Los siguientes ítems expuestos, nos permitirá conocer muchos de estos elementos en general de manera simple y dinámica.

El propósito de esta tercera entrega y más explícitamente de este post, es la de introducirnos en los elementos mas comunes del lenguaje T-SQL, presentándose aquí en un nivel conceptualmente alto. En futuros post, hablare con mas detalle de cada uno de los componentes del lenguaje mismo según se de el requerimiento del tema a tratar, vale.

PREDICADOS Y OPERADORES

El lenguaje T-SQL proporciona los elementos necesarios para la especificación y evaluación de expresiones lógicas, comúnmente utilizadas en nuestro trabajo diario como programadores sean principiantes, intermedio o avanzados. En las instrucciones SELECT, podemos utilizar las expresiones lógicas para definir filtros en conjunto con las cláusulas WHERE y HAVING. A continuación les expondré estas expresiones que utilizan generalmente los predicados y operadores.

GRÁFICO No. 1

Los predicados soportados por el lenguaje T-SQL son los siguientes:

  • IN, utilizado para determinar si un valor coincide con cualquier valor en una lista o una subconsulta.
  • BETWEEN, utilizado para especificar un rango de valores.
  • LIKE, utilizado para que coincidan caracteres contra un patrón común del mismo.

Ahora, debemos también tener en cuenta que los operadores incluyen varias categorías comunes y se las enuncio a continuación:

  • Comparativa‘, para probar igualdad y desigualdad de un contexto especifico: =, <, >, >=, <=, !=, !>, !< (Se debe tener en cuenta que !>, !<, != ya no están soportados bajo el estándar ISO. Es una buena práctica el utilizar las opciones estándar cuando las mismas no existen.)
  • Lógica‘, para comprobar la validez de una condición: AND, OR, NOT.
  • Aritmética‘, para realizar operaciones matemáticas: +, -, *, /, % (módulo).
  • Concatenación‘, para combinar cadenas de caracteres: +.
  • Asignación‘, para el establecimiento de un valor: =.

Al igual que con otros ambientes matemáticos, los operadores están sujetos a normas que rigen la precedencia. La siguiente tabla describe el orden en que los operadores de T-SQL se evalúan, y estos son importantes tenerlos en cuenta a la hora de programar, utilizándolos:

GRÁFICO No. 2

FUNCIONES

MS SQL Server 2012 ofrece una amplia gama de funciones disponibles para generar y ejecutar las consultas T-SQL. Estas van desde las funciones escalares como lo es el SYSDATETIME, estas devuelven un resultado de un solo valor, así como las funciones que operan sobre conjuntos completos, tales como las funciones de ventanas las cuales calculan un valor para cada fila en un conjunto de resultados derivado de la ventana, siendo esta un conjunto de filas especificado por el usuario que la ejecuta.

GRÁFICO No. 3

Al igual que con los operadores, las funciones de MS SQL Server 2012 se pueden organizar en categorías. Estas son algunas de las categorías comunes de las funciones escalares, ósea de valor simple, las cuales están disponibles para que escribamos eficientes consultas para indagar nuestros datos. A continuación se las enumero:

Funciones de cadena
Funciones de fecha y hora
Funciones de agregado
Funciones matemáticas

VARIABLES

Al igual que muchos lenguajes de programación, T-SQL proporciona un mecanismo para almacenar temporalmente valores de un tipo de datos específico. Sin embargo, a diferencia de otros entornos de programación, todas las variables creadas por el usuario son locales en el lote y/o bloque de T-SQL que los creó, y sólo se ve en el mismo. Es importante entender que no existen ni hay variables globales o públicas disponibles para los usuarios de SQL Server, ok.

Para crear una variable local en T-SQL, debe proporcionar un nombre, un tipo de datos y un valor inicial. El nombre debe empezar con un único símbolo @ (arroba) y el tipo de datos debe ser suministrado por el sistema o algún que haya sido definido por el usuario con anterioridad, almacenando el código en la base de datos se ejecutará en el momento que sea llamado dicho lote.

También podemos encontrar referencias en muchas fuentes de aprendizaje de SQL Server así como en sitios web entre otros, a las denominadas «variables del sistema», cuyo nombre se definen con un doble arroba @@, como por ejemplo @@ERROR. Es mucho más coherente referirse a ellas como las funciones del sistema, ya que los usuarios no pueden asignar un valor para ellos, vale. El objetivo de este tópico es diferenciar objetivamente las variables locales o de los usuarios que comienzan con una sola arroba (@) a las de las funciones del sistema con el prefijo @@, lo ven.

Si la variable no se inicializa en la instrucción DECLARE, se creará con un valor de NULL y, posteriormente, podemos asignarle un valor con el comando SET. En MS SQL Server 2008 se introdujo la capacidad de nombrar e inicializar una variable en la misma declaración lo cual nos ahorro escribir código por su enorme bondad provista.

El siguiente ejemplo crea una variable local numérico entero llamado ‘MiVariable’ y le asignamos un valor inicial de 41:

DECLARE @MiVariable INT = 41;

El siguiente ejemplo crea una variable de tipo fecha local llamado ‘MiFechaDeCumpleanhos’ y separadamente le asignamos el valor inicial de 04 de noviembre de 1970:

DECLARE @FCHMiFechaDeCumpleanhos DATE;
SET @MiFechaDeCumpleanhos = ‘19701104’;

EXPRESIONES

T-SQL nos proporciona el uso eficiente de combinaciones tanto de identificadores, símbolos así como de operadores que son evaluados por SQL Server para devolver un único resultado. Estas combinaciones se conocen en nuestro entorno como “Expresiones”.

Las expresiones son una herramienta muy útil y poderosa para su uso en las consultas de datos. En las instrucciones SELECT, podemos usar expresiones:

  • La cláusula SELECT se utiliza para operar la manipulación de los datos en las columnas.
  • La expresión CASE nos permite remplazar los valores que coincidan de una expresión lógica con otro valor.
  • La cláusula WHERE la utilizamos para construir predicados con el fin de filtrar las filas.
  • Las expresiones de tipo tabla las utilizamos para crear conjuntos temporales de datos que se utilizan para su posterior procesamiento lo cual es una maravilla.

Ahora, cabe destacar también que las expresiones pueden basarse en una función escalar, ósea de un solo valor, o también en un valor constante, o dado caso en una variable. Las mismas se pueden unir a través de los operadores si tienen el mismo tipo de datos, o pueden ser convertidos a partir de una menor prioridad a una mayor, por ejemplo, de INT a MONEY.

El siguiente ejemplo que les mostraré a continuación, es la forma como una expresión opera sobre una columna para añadir un número entero en los resultados de la función YEAR en una columna de tipo DATETIME, ósea de fecha y hora:

SELECT YEAR(FechaFactura) AS AnhoActual, YEAR(FechaFactura) + 1 AS AnhoSiguiente
FROM Ventas.Facturas;

Lo ven, podemos darnos cuenta que el ejemplo anterior, utiliza las técnicas de T-SQL como son los alias en las columnas y las funciones de fecha, que los trataré en futuros post de esta serie, vale.

SEPARADORES DE LOTES

Las herramientas cliente de SQL Server, como lo es el SSMS, envían llamadas al motor de base de datos en conjuntos denominados lotes y/o bloques de código. Si se está ejecutando código manualmente, como en un editor de consultas, vosotros elegís si deseas enviar todo el texto en una secuencia de comandos como un lote pero también, podemos elegir insertar separadores entre ciertas secciones del código. Que a mi parecer es la mejor practica que debemos hacer.

La especificación de un separador de lotes es manejada por la herramienta de cliente, por ejemplo, la palabra clave ‘GO‘ es el separador de lotes por defecto en SSMS. Podemos cambiar esta palabra en el menú Consultas|Opciones de consulta (Query|Query Options), o globalmente en ‘Tools|Options|Query Execution’  (Herramientas|Opciones|Ejecución de la consulta).

Para ejemplificar lo emitido anteriormente, muchas veces no se aplica esta buena práctica ya que no se utilizan separadores de lote, como lo presentaré en una única consulta de manera general. Sin embargo, cuando necesitemos crear y manipular objetos, podríamos que necesitemos separar las declaraciones en distintos lotes como a continuación se los mostraré.

Una instrucción CREATE VIEW (Crear una vista), no podrá estar incluida en el lote con otras declaraciones.

CREATE TABLE TBL_Tabla1 (INTColumna1 INT);
CREATE VIEW VWV_Vista1 AS SELECT * FROM TBL_Tabla1;

Devuelve el siguiente error:

Msg 111, Level 15, State 1, Line 2
‘CREATE VIEW’ must be the first statement in a query batch.

Tengamos en cuenta que las variables declaradas por el usuario se consideran locales para el lote en el que se declaran. Sin embargo, si una variable se declara en un lote y se hace referencia en otro, el segundo sería un fracaso como lo veremos a continuación. Las siguientes declaraciones se han enviados juntas como un trabajo por lotes correctamente:

DECLARE @Cliente = 5;
SELECT IdCliente, Nombre, Contacto
FROM Ventas.Clientes
WHERE IdCliente = @INTIdCliente;

Sin embargo, si un separador de lotes fue insertado entre la declaración de variable y la consulta en la que se utiliza la variable, se producirá un error. En el ejemplo siguiente, se separa la declaración de la variable de su uso en una consulta:

DECLARE @Cliente = 5;
GO
SELECT IdCliente, Nombre, Contacto
FROM Ventas.Clientes
WHERE IdCliente = @INTIdCliente;

Devuelve el siguiente error:

Msg 137, level 15, State 2, Line 3
Must declare the scalar variable «IdCliente»

FLUJO DE CONTROL, ERRORES Y TRANSACCIONES

Mientras que T-SQL es un lenguaje primordialmente para la recuperación de datos y no un lenguaje procedural como los que habitualmente nosotros los programadores hemos venido acostumbrados, es compatible con un conjunto limitado de comandos que ofrecen algún tipo de control de flujo durante la ejecución del código.

Algunos de los de uso común usados son los siguientes:

  • IF… ELSE, nos proporciona el control en la toma de decisión sobre la base de una prueba lógica.
  • WHILE, nos repite una instrucción o un bloque de instrucciones mientras una condición es verdadera.
  • BEGIN… END, nos define la extensión de un bloque de comandos T-SQL.
  • TRY… CATCH, nos define la estructura de manejo de excepciones.
  • BEGIN TRANSACTION, nos marcar un bloque de instrucciones como parte de una transacción explicita.
  • Y para finalizar, COMMIT TRANSACTION o ROLLBACK TRANSACTION que nos insta ha aprobar o rechazar una ejecución dada de una transacción.

Ahora, las instrucciones de control de flujo no se utilizan en consultas independientes. y es importante tenerlo claro ya que su papel principal es el de un escritor de informe, por ejemplo, es poco probable que nosotros tengamos que usarlas. Sin embargo, si nuestras responsabilidades incluyen la creación de objetos tales como procedimientos almacenados (Stored Procedure) y disparadores (Triggers), encontrará estos elementos útiles.

COMENTARIOS

T-SQL proporciona dos mecanismos para documentar código y al mismo tiempo, instruye al motor de base de datos para omitir ciertas declaraciones que hayamos emitido en el texto. El método que se utilizará normalmente dependerá el número de líneas de código que desea marcar como ignorado:

  • Para las líneas individuales, o muy pocas líneas de código, se debe utilizar la opción –(doble guion), precediendo el texto a ser marcado como un comentario. Ignorando a su vez, cualquier texto siguiendo los guiones por SQL Server.
  • Para los largos bloques de código, escriba el texto entre los caracteres /* y */ porque con estos, se omitirá cualquier código entre los caracteres especiales por SQL Server.

En el ejemplo siguiente se utiliza el método –(doble guion) para marcar un comentario:

— Toda esta línea de texto será ignorada.
DECLARE @MiVariable INT = 42; — Sólo el texto siguiendo los guiones será ignorado.

En el ejemplo siguiente se utiliza este método /* bloque de comentario */ para marcar comentarios:

*/
Este es el texto del comentario que será ignorado.
*/

Puedes también personalizar por medio de la herramienta de edición de código a través de SSMS, utilizando la opción del menú Herramientas|Opciones (Tools|Options) como se los indique en el post titulado «Introducción a SQL Server Management Studio 2012 (1ra. entrega)«.

Espero que el presente post les ayude a enteder simplemente tópicos de los cuales muchas veces no nos percatamos de la importancia que tiene su comprensión plena, ok..

Nos pillamos en una próxima entrega, vale. Open-mouthed smile!!!

Introducción a SQL Server Management Studio 2012 (1ra. entrega)


En el presente post, le comentaré de manera práctica y simple, el como usar y desenvolverse trabajando con el SQL Server Management Studio (a partir de este momento lo denominaré, «SSMS») para:

  • Conectarnos a una instancia de SQL Server.
  • Explorar el contenido de una base de datos.
  • Trabajar con archivos script de comando T-SQL para consultar datos.

Los objetivos que he contemplado para abordar sobre este tema son los siguientes:

Primera entrega

  • Usar el SSMS para conectarse a una instancia de SQL Server.
  • Explorar una instancia de SQL Server utilizando el Explorador de Objeto.

Segunda entrega

  • Crear y organizar Proyectos de Script SQL Server, Script de Analysis Services y Soluciones de Proyectos de bases de datos.
  • Ejecutar consultas T-SQL.
  • Utilizar los libros en línea de la ayuda de SQL Server.

A continuación les guiaré sobre cada uno de los objetivos anteriormente emitidos:

«Usar el SSMS para conectarse a una instancia de SQL Server«

El SSMS es una aplicación integrada de gestión y desarrollo de consultas con muchas características para explorar y trabajar con las bases de datos hospedadas en SQL Server o SQL Azure estando la misma basada bajo la filosofía de trabajo del entorno programático de Visual Studio.

A través de los gráficos siguientes, se les expondrá visualmente sobre como acceder al mismo, e ingresar validándose con un usuario registrado en dicho servidor para explorar todos los objetos que posee:

Gráfico No. 1 – Acceder al entorno de SSMS desde el botón Inicio

Gráfico No. 2 – Visualizar el splash de MS SQL Server 2012

Gráfico No. 3 – Ingresar al entorno de SSMS dándole click al botón «Connect» habiendo asignado el tipo de servidor, su nombre y el modo de autenticación con el cual se desea trabajar

Gráfico No. 4 – Entorno gráfico del SSMS

Este entorno se rige por la configuración que le hayamos establecido desde el menú «Tools», submenú «Options…», los cuales se enunciaran en los siguientes gráficos a continuación:

Gráfico No. 5 – Menú Tools, Submenú Options…

Gráfico No. 6 – Opciones de configuración de la interfaz gráfica de SSMS

Las opciones más representativas que debemos tener en cuenta desde mi punto de vista son las siguientes:

Gráfico No. 7 – Opción: Control de versiones

Esta opción nos permite completar las tareas de control de código fuente habituales mediante Team Foundation como son las siguientes:

  • Elegir desproteger todos los archivos de manera predeterminada.
  • Elegir activar o desactivar mensajes  cuando se están comprobando archivos de entrada o de salida.
  • Configurar el servidor Proxy para mejorar el rendimiento de un equipo de desarrollo remoto entre otros.

Si desea conocer mas sobre Team Foundation, favor ingresar aquí.

Gráfico No. 8 – Configurar el editor de código

Esta página nos permite cambiar el comportamiento predeterminado del editor para un lenguaje de desarrollo determinado o para todos ellos.

Gráfico No. 9 – Configurar la visualización de resultados de datos en la ejecución de código

Utilice esta página para especificar las opciones de visualización de un conjunto de resultados de consulta en formato de cuadrícula.

Gráfico No. 10 – Configurar las opciones del diseñador tanto de bases de datos así como de tablas

Acceda a estas opciones para determinar el comportamiento del diseñador de objetos en SSMS. Si deseas obtener más información sobre todas las opciones, puedes ingresar aquí para aprender más profundamente sobre las mismas.

Con los tópicos anteriormente enunciados, nos damos cuenta que la interfaz gráfica del SSMS puede ayudarnos a ser mas productivo a la hora de trabajar con el mismo.

«Explorar una instancia de SQL Server utilizando el Explorador de Objeto«

Al momento de conectarnos a una instancia de SQL Server o SQL Azure, podemos utilizar el Explorador de Objetos para administrar instancias y bases de datos. La misma, es una de las tantas ventanas paneles disponibles desde el menú «View».

Gráfico No. 11 – Opción de menú «View»

Este panel, nos provee a su vez, interacción directa con cientos objetos de datos como lo son: Tablas, Vistas y Procedimientos Almacenados entre otros. En cada una de las opciones mostradas desde el menú contextual sobre cada una, nos permite desplegar sensitivamente comandos que incluyen generadores de consultas así como scripts T-SQL donde se definen los mismos.

Gráfico No. 12 – Panel, Explorador de Objetos

Gráfico No. 13 – Opción sensitivo, crear script de tabla

Gráfico No. 14 – Opción sensitivo, crear script de funciones

Los dos anteriores gráficos nos muestran como a través de este panel, podemos trabajar productivamente con la interfaz misma.

Hasta aquí les entrego este post esperando que les sea muy didáctico y educativo a la hora de comenzar a familiarizarse con este entorno de trabajo de SQL Server, vale.

Hasta el próximo post, Winking smile.

Webcast – Column Store Index en MS SQL Server 2012 RC0 (Presentación + Demos)


En el presente post, les hago entrega de cada unos de los script ejecutados en el webcast que soporta dicha intervención y a su vez, el video de la presentación.

VIDEO DE LA PRESENTACIÓN

Para poder visualizar el video de la presentación puedes verlo en linea o descargarlo ingresando al siguiente enlace previamente registrandote, vale.

La liga es: https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=es-AR&EventID=1032505988&CountryCode=AR.

O, también puedes ingresar a mi SkyDrive y visuazarlo

https://skydrive.live.com/embed?cid=94D37F3228BDDD8F&resid=94D37F3228BDDD8F%213934&authkey=ALqaOoXcPtxXsNk

A continuación, les emito los scripts de las demos ejecutadas durante la presentación.

SCRIPT DE LAS DEMOS

Bases de datos utilizadas:

  • AdventureWorks2008R2
  • AdventureWorksDWDenali

DEMO 1 – Creación de un índice columnar.

1_CreacionCSI01

— Ejemplo 01 «Script»

USE [AdventureWorksDWDenali]
GO

CREATE NONCLUSTERED COLUMNSTORE INDEX
    [IXC_Ejemplo01] ON [dbo].[FactInternetSales]  — Tabla FactInternetSales
(
    [ProductKey],
    [OrderDateKey],
    [CustomerKey],
    [SalesTerritoryKey],
    [TotalProductCost],
    [SalesAmount],
    [TaxAmt],
    [OrderDate]
)
    WITH
        (DROP_EXISTING = OFF)
            ON [PRIMARY]
GO

DEMO 2 – Optimización de una consulta con Column Store Index – ‘CSI’.

2_1_OptimizacionCreacionCSI01

USE [AdventureWorksDWDenali]
GO

— Ejemplo 02 «Script»

CREATE NONCLUSTERED COLUMNSTORE INDEX
    [IXC_Ejemplo02]
        ON [dbo].[FactResellerSales] — Tabla FactResellerSales
(
    [ProductKey],
    [OrderDateKey],
    [EmployeeKey],
    [SalesTerritoryKey],
    [OrderQuantity],
    [UnitPrice],
    [ExtendedAmount],
    [TotalProductCost],
    [SalesAmount],
    [TaxAmt],
    [OrderDate]
)
WITH
    (DROP_EXISTING = OFF)
        ON [PRIMARY]
GO

————————————————————————————————————–

2_2_OptimizacionEjecucionCSI02

USE AdventureWorksDWDenali;
GO

SELECT       
    d.CalendarYear,
    d.CalendarQuarter,
    COUNT(*) AS NumberSold
FROM 
    dbo.FactResellerSales AS f
         JOIN
    dbo.DimDate AS d
            ON f.OrderDateKey = d.DateKey 
WHERE       
    (f.ProductKey = 215)
GROUP BY
    d.CalendarYear,
    d.CalendarQuarter
ORDER BY
    d.CalendarYear,
    d.CalendarQuarter
GO

DEMO 3 – CSI en acción.

3_1_CSIenAccion01

— Validamos la base de datos de trabajo

USE [AdventureWorks2008R2]
GO

— Creamos una nueva tabla

CREATE TABLE [dbo].[MySalesOrderDetail](
    [SalesOrderID] [int] NOT NULL,
    [SalesOrderDetailID] [int] NOT NULL,
    [CarrierTrackingNumber] [nvarchar](25) NULL,
    [OrderQty] [smallint] NOT NULL,
    [ProductID] [int] NOT NULL,
    [SpecialOfferID] [int] NOT NULL,
    [UnitPrice] [money] NOT NULL,
    [UnitPriceDiscount] [money] NOT NULL,
    [LineTotal] [numeric](38, 6) NOT NULL,
    [rowguid] [uniqueidentifier] NOT NULL,
    [ModifiedDate] [datetime] NOT NULL)
ON [PRIMARY]
GO

— Creamos un índice clustered

CREATE CLUSTERED INDEX [PKN_SalesOrderDetailID]
    ON [dbo].[MySalesOrderDetail]
        ([SalesOrderDetailID])
GO

— Generamos data de ejemplo para poblar la data. La misma puede
— demorar algunos minutos dependiendo de nuestro sistema.

INSERT INTO
    [dbo].[MySalesOrderDetail]
    (
    [SalesOrderID],
    [SalesOrderDetailID],
    [CarrierTrackingNumber],
    [OrderQty],
    [ProductID],
    [SpecialOfferID],
    [UnitPrice],
    [UnitPriceDiscount],
    [LineTotal],
    [rowguid],
    [ModifiedDate]   
    )
SELECT
    [SalesOrderID],
    [SalesOrderDetailID],
    [CarrierTrackingNumber],
    [OrderQty],
    [ProductID],
    [SpecialOfferID],
    [UnitPrice],
    [UnitPriceDiscount],
    [LineTotal],
    [rowguid],
    [ModifiedDate]   
FROM
    [Sales].[SalesOrderDetail]
GO 100

————————————————————————————————————–

3_2_CSIenAccion02

— Ahora hacemos las pruebas de rendimiento. Hemos habilitado la
— opción STATISTICS IO ON para medir la cantidad de IO
— (Actividad de disco consumida por el código T-SQL mostrando
— información estadistica) después de generar la consulta de prueba.

— 1ra. Prueba: Se ejecuta la consulta con índice normal validando el
    — consumo de tiempo que genero en traernos la data.
    — Tomamos nota al respecto.
— 2da. Prueba: Ejecutamos la consulta con índice de almacén columnar
    — y medido el tiempo de IO que se ha consumido.

— Validamos la base de datos de trabajo

USE [AdventureWorks2008R2]
GO

— Establecemos la opción STATISTICS IO en ON.

SET STATISTICS IO ON
GO

— La prueba que vamos a validar aquí es con un índice normal.

SELECT
    [ProductID],
    SUM([UnitPrice]) AS SumUnitPrice,
    AVG([UnitPrice]) AS AVGUnitPrice,
    SUM([OrderQty]) AS SumOrderQty,
    AVG([OrderQty]) AS AVGOrderQty
FROM
    [dbo].[MySalesOrderDetail]
GROUP BY
    [ProductID]
ORDER BY
    [ProductID]
GO

————————————————————————————————————–

3_3_CSIenAccion03

— Validamos la base de datos de trabajo

USE [AdventureWorks2008R2]
GO

— Establecemos la opción STATISTICS IO en ON.

SET STATISTICS IO ON
GO

— Creamos el índice de almacenamiento columnar

CREATE NONCLUSTERED COLUMNSTORE INDEX
    [IXC_MySalesOrderDetail]
        ON [MySalesOrderDetail]
            ([UnitPrice], [OrderQty], [ProductID])
GO

— La prueba que vamos a validar aquí es con un índice columnar.

SELECT
    [ProductID],
    SUM([UnitPrice]) AS SumUnitPrice,
    AVG([UnitPrice]) AS AVGUnitPrice,
    SUM([OrderQty]) AS SumOrderQty,
    AVG([OrderQty]) AS AVGOrderQty
FROM
    [dbo].[MySalesOrderDetail]
GROUP BY
    [ProductID]
ORDER BY
    [ProductID]
GO

— Ahora veamos los resultados en los mensajes respectivos de cada query
— Despúes veamos cada Plan de Ejecución de Consulta haber que nos
— muestra.

————————————————————————————————————–

4_LimpiezaEscenario

USE AdventureWorks2008R2
GO

DROP INDEX [IXC_MySalesOrderDetail]
    ON [dbo].[MySalesOrderDetail]
GO

TRUNCATE TABLE [dbo].[MySalesOrderDetail]
GO

DROP TABLE [dbo].[MySalesOrderDetail]
GO

————————————————————————————————————–

Espero que les sea de mucha utilidad el presente post y les ayude a desarrollar ampliamente los tópicos y conceptos tratados en la presente exposición.

Nos pillamos en una próxima, vale.

Sesiones de 24 Horas PASS LATAM 2011 disponibles para descarga.


SQLPASSLATAM_Logo

Estimad@s amigos.

El presente y corto post es para enunciarles el enlace donde pueden descargar todas las sesiones que conformarón este evento que unio a miles de profesionales en torno a el advenimiento del servidor de bases de datos MS SQL Server 2012.

Esta es la liga (http://sqlpass-latam.org/page5.aspx), Open-mouthed smile.

Espero gratamente que estas sesiones signifiquen una buena contribución para profundizar un optimo conocimiento en cuanto al producto.

Nos pillamos en una próxima, vale.

Entrenamiento oficial MS SQL Server 2012


SQL2012

Hola a tod@s.

Para tod@s los amantes relacionados con el servidor MS SQL Server y en este caso, su última versión 2012. Ya se encuentra disponible unas cuantas sesiones de entrenamiento del mismo.

En los siguientes enlaces, encontraran documentos, videos y laboratorios donde podrán aprender todas las nuevas bondades que nos ofrece en el ámbito administrativos (DBA), de desarrollo (Programación) e Inteligencia de Negocios (BI) basados en esta nueva versión. Por supuesto, el material se encuentra disponible en inglés.

Si desean participar en inscribirse en los mismos, solamente necesitan hacerlo a través de sus cuentas asociadas al Programa Microsoft Partners Network y ya.

El programa se compone por los momentos del siguiente contenido:

ENTRENAMIENTO “DATABASE ADMINISTRATOR”

DBA

  • SQL Server 2012: Technical Overview of New Features
  • SQL Server 2012: Scale on Demand
  • SQL Server 2012: Blazing Fast Performance
  • SQL Server 2012: Required 9s and Data Protection
  • SQL Server 2012: Organizational Compliance

ENTRENAMIENTO “DEVELOPERS”

DEV

  • SQL Server 2012: Technical Overview of New Features
  • SQL Server 2012: Optimized Developer Productivity
  • SQL Server 2012: Extend Data Virtually Anywhere

ENTRENAMIENTO “BUSINESS INTELLIGENCE”

BI

  • SQL Server 2012: Technical Overview of New Features
  • SQL Server 2012: Complete Data Warehousing Solution
  • SQL Server 2012: Data Discovery and Managed Self-Service BI
  • SQL Server 2012: Credible, Consistent Data

Espero que disfruten al máximo estos nuevos conocimientos que recibiran de los mismos, vale.

Nos pillamos en otra oportunidad.

MS SQL SERVER 2012 Developer Training Kit


SQL2012

Hola a tod@s.

Les comento que desde la semana pasada cuando se efectuo el Summit de PASS Global en la ciudad de Seattle, U.S.A. fue presentado el SQL Server 2012 Developer Training Kit. Este Kit de amplia formación para los interesados en formarse en esta nueva versión de este servidor, incluye:

  • Contenidos Técnicos.
  • Laboratorios: “Build Your First Web Application with SQL Server 2012 and ASP.NET”, “Exploring Transact-SQL Improvements in SQL Server 2012” y “Managing Rich Unstructured Data in SQL Server 2012”.
  • Demostraciones: “A First Look at SQL Server Developer Tools Codename "Juneau"”.
  • Presentaciones.

Con el fin de ayudarnos a aprender a desarrollar exitosas Bases de Datos y Sistemas de Información OLTP así como OLAP con MS SQL Server 2012.

Todos los contenidos son nuevos y algunos se encuentran actualizados desde sus bases. A su vez, los mismos estarán siendo actualidos a medida que vayan siendo liberados nuevas bondades de este exitos servidor y manejador de bases de datos.

Este Training Kit puede ser descargado on-demand con la vista previa de la instalación web.

Puedes descargarlo completamente gratis a través de este enlace en ingles.

A continuación les muestro la pantallas mas representativas para que tengan una guía de como proceder a instalarlo.

PANTALLA INICIAL DE INSTALACIÓN

1

 

PRE-REQUISITOS DE INSTALACIÓN

Prerequisitos

 

CONTENIDO DEL MATERIAL YA INSTALADO

Contenido

 

Espero que les ayude muchisimo a engrandecer sus conocimientos para con esta nueva versión de unos de los mejores productos de gestión y administración de datos en la actualidad “MS SQL SERVER 2012”.

Disfrutenlo, ;).