Diveria

Mi empresa

lunes, 28 de mayo de 2012

Generar Scripts de datos en SQL 2008 - 2008 r2 y 2012

Generar Scripts de datos en SQL 2008 - 2008 r2 y 2012
Es común tener que generar scripts con objetos o datos, hay mucha gente que no conoce de la capacidad de SQL Server para realizar esta tarea.
Simplemtente tenemos que iniciar desde Management Studio la opción "Generar Scripts"

Luego podremos configurar las opciones de generación dentro de las más importantes podemos mencionar:
- Genera un único archivo o varios
- Tipos de datos a incluir: esta opción es muy importante y permitirá seleccionar (solo esquema, esquema y datos, solo datos)




sábado, 17 de septiembre de 2011

Business Intelligence - Parte 2


Hace un tiempo escribí un artículo sobre BI al que llamé Business Intelligence - Parte 1, bueno pasó bastente timpo, mis planes era llegar antes a escribir la segunda parte pero en fin... aquí estamos, más vale tarde que nunca :-)


En el gráfico que se muestra en este artículo, veremos una alternativa de herramientas para las diferentes capas, si bien es posible utilizar distintas herramientas dado que cada capa posee interfaces (APIs) deifinidas las que nos permiten conectarnos con una u otra herraminta.

La siguiente propuesta, es basada en en SQL Server 2008 R2 y considerando un ambiente Microsoft, con usuarios finales (preferentemente gerenciales) amigados con dichas tecnologías.

  • Origenes de datos: los origenes de datos dependerán de los que la empresa disponga, en la práctica suele ser heterogeneos podríamos tranquilamente considerar SQL Server, My SQL, DBFs, Excels, Archivos Planos, Oracle, etc.
  • ETL: Con SQL Server podremos utilizar el Business Intelligence Developer para diseñar paquetes de Integration Services (SSIS), está es una excelente herramienta (la evolución de los viejos DTS) que permite implementar diferentes transformaciónes y métododos masivos de carga de datos. Luego estos paquetes podrán ser implementados en neustro server y scheduleados para que se ejecuten de forma díaria.
  • Datawarehouse: este será nuestro almacen de datos, donde contaremos con diferentes estrellas de datos (modelos optimizados para reportes), este almacen si será SQL Server, en esta instancia nos habremos independizado de los diferentes origenes heterogeneos, habremos limpieado los datos aplicando diferentes transformaciones y ejecutado la lógica de negocio que normalizará la información.
  • OLAP: una vez que nuestras estrellas están diseñadas, cargadas podremos utilizar Analysis Services ( SSAS) para diseñar nuestros cubos, esta herramienta es muy sencilla la programación requerida es mínima y cuenta con muchos asistentes, lo que nos permite generár todas las dimensiones y nuestros cubos con solo algunos clics. Estos cubos también serán procesados luego de procesar la carga de los ETL.
  • Portal: bien ya contamos con un modelo estrella donde nuestros datos están ordenados, tambíen contamos con cubos de SSAS que poseen información calculada de los indicadores de neustro negocio y que nos permiten mediante MDX realizar interesentas análisis. Como mencionamos las alternativas son muchas pero vamos a simplificar la oferta, dentro de las tecnologías MS lo más simple es optar por dos caminos uno muy simple y rápido es habilitar el portal de Reporting Services (SRSS) el que permitirá publicar reportes y realizar suscripciones de forma muy simple, la de máxima sería implmentar Sharepoint e integrarlos a SSRS, aqui además de toda la potencia que ya conocemos de Sharepoint podremos usarlo para explotar nuestrá infraestructura de BI.
  • Clientes OLAP: En este caso si que tenemos muchisima oferta, pero voy a simplificar drásticamente la recomendación, dado que todo el ambiente gerencial posee conocimientos en Excel podremos utilizar esta herramienta perfectamente como cliente BI y para tableros de comandos simples, para tableros de comando más complejos contamos con otras ofertas dentro de Microsoft mismo.
Esto es todo, espero hacer tiempo para escribir otros artículos pronto.

Algunos enlaces relacionados:




sábado, 9 de abril de 2011

Material del Curso de SQL Server 2008 R2

Enlaces de referencia:

Descarga de Material:

  • Módulo 1: Introducción a SQL Server (Descargar PDF)
  • Módulo 2: Instalación, configuración del acceso en la red, uso del Manager Studio (Descargar PDF)
  • Módulo 3: Creación de bases de datos, Bases de Sistema, Tipos de Datos, Creación de Tablas, Diagramas, Relaciones (Descargar PDF)
  • Módulo 4 - Nociones de administración: Backups, Restauración, Backups Diferenciales, Índices, Propiedades del servidor SQL (Descargar PDF)
  • Módulo 5- Programación: Generación y ejecución de scripts, variables, operadores, consultar datos, Insertar/Borrar/Actualizar datos, Tablas temporales y variables de tablas.
  • Cursores, control de errores, control del flujo de programas, funciones y funciones definidas por el usuario, merge de t-sql (Descargar PDF parte 1)
  • Módulo 6- SSIS: creación de paquetes SSIS, las principlaes tareas, desplegar paquetes SSIS (Descargar PDF)
  • Módulo 7- Business Intelligence: Diseño de DWH, Fases del proceso de desarrollo, esquemas, cubos, opereaciones en los cubos, data mining, MDX.
  • Módulo 8- Buenas Prácticas: detalle de buenas prácticas en la programación de SQL, concideraciones de diseño de bases de datos (Descargar PDF)

jueves, 9 de septiembre de 2010

Business Intelligence - Parte 1


Existe un tema denominado BI (Business Intelligence) que es de mucho interés para mi y que tuve la posibilidad de implementar diferentes soluciones las cuales desde algún u otro modo siempre resultaron atractivas, particularmente en los últimos días hemos desarrollado en Diveria una aplicación particular .... digamos hibrida que carga transacciones de forma directa en un modelo estrella (Data warehouse) y permitirá explotar los datos desde una base de datos OLAP, las tecnologías involucradas fueron:
  • Visual Studio 2008 - C# - Linq
  • SQL Server 2008 R2 Standard
  • SSAS - Analysis Services 2008
Antes entrar en detalle en la arquitectura/funcionamiento de esta aplicación (será para un próximo post), me gustaría comentar algunos conceptos de base de BI para luego derivar y realizar un mapeo con las herramientas que Microsoft propone para este tipo de soluciones.

¿Que es Business Intelligence?
Básicamente es una de las principales herramientas con las cuales los empresarios pueden tomar decisiones basadas en elementos válidos y no hacerlo solamente por su experiencia e intuición.
Definidos los indicadores (KPI) con BI es posible y se acostumbra a analizar los valores recientes de los indicadores, los valores históricos y las proyecciones de los mismos, del mismo modo se establecen los objetivos y se realizan comparaciones de los valores reales con los objetivos bajo distintos criterios.


¿Qué áreas cubre?
Por lo general una
  • Colaboración: plataforma de base que permite exponer y compartir los elementos de la solución, principalmente reportes controlando el acceso a los mismo en base a políticas de seguridad y facilitando la localización de elementos por medio de búsquedas empresariales.
  • Reportes empresariales: son reportes ya establecidos que se repiten en un periodo de tiempo manteniendo su formato. Estos son reportes mucho más ligados a las áreas operacionales de la empresa que a las áreas de toma de decisión.
  • Reportes Ad hoc: las áreas usuarias siempre tiene la necesidad de variar un reporte, muchas veces es simplemente agregarle un nuevo dato o un nuevo filtro otras veces la necesidad tiene que ver con realizar un nuevo reporte totalmente desde cero, es por ello que las soluciones BI cuentan con la posibilidad de armar un reportes desde cero, persistir para más tarde utilizarlo o continuar modificandolo con herramientas totalmente amigables para el usuario final.
  • Reportes analíticos: en este grupo encontramos a los dashboard (tableros de comandos) lo que permiten visualizar de forma gráfica y rápida indicadores de negocios que a la alta dirección de la empresa (gerencias) le interesa conocer y controlar. Dependiendo de las necesidades de la empresa los indicadores pueden incluír costos, tiempos, satistacción del cliente etc.

Las tecnologías se BI en la mayoría de los casos proveen: análisis de datos, (BPM) business performace management, consultas ad hoc, análisis predictivo, data mining, entre otras.

Enlaces relacionados:

miércoles, 17 de febrero de 2010

El diseño de UI


Hay un famoso mito que dice que para ser un buen programador hay que hacer feas intefaces, desde mi punto de vista la UI de una aplicación no es solo una cuestión de estética, todo lo contrario, es el primer elemento que un usuario evalúa en cuanto a la calidad de una aplicación, mantener calidad en un código perfecto, eficiente, libre de errores pero con una UI pobre no hace a la calidad global de un producto de software.

Lograr una UI atractiva no es cuestión sencilla y si no somos Apple o Microsoft lo más probable es que nos apeguemos a un estilo ya definido tratando de personalizarlo o adecuarlo a cada situación, por ejemplo es muy común desarrollar una aplicación de escritorio con un estilo office 2007/2010 extendiendo la iconografía y respetando los patrones gráficos y los layouts.

Existen técnicas y herramientas que nos pueden acompañar en cada una de las etapas, así como hay patrones de diseño que solucionan problemas comunes al desarrollo de software, también existen patrones de diseño de UI ( Ejemplo ).
Estos patrones de diseño de UI como todos los patrones buscan dar las mejores soluciones a problemas recurrentes pero especificos a las interefaces.

A la hora de diseñar la UI que más ajusta a los deseos del usuario, debemos encontrar herramientas que agreguen valor a nuestro trabajo, que simplifiquen etapas y que maximicen el tiempo invertido. Para ello contamos con interesantes herramientas para el prototipado, como siempre en todas sus opción las free, las no tanto y las pagas...
Este tipo de herramientas ayudan no solo a crear la UI si no tambien son un elemento fundamental para levantar requerimientos.

Algunas que podemos mencionar:




¿Qué hay de nuevo en VS 2010?




Que lejos que quedan los viejos entornos de desarrollo donde no teniamos la posibilidad de ver ni la sintaxis en colores, donde un debbug era muy complejo....

Que imponente es la obra de Microsoft, hasta donde estan llegando con este entorno de desarrollo cuantas características les están sumando a una arquitectura bien lograda como fue este framework con su correspondiente IDE y herramientas para trabajar en equipo....

Bueno llego la hora de la versión 2010, será la que marque la mitad de la vida de este maravilloso .Net, los especialiastas dicen que los entornos de desarrollo tienen un ciclo de 10 años.... si es así seguro que estamos en la mejor etapa de la vida de esta plataforma....

Pero.... ¿qué trae de nuevo esta versión?
Tengamos en cuenta que MS liberó una RC y las características con respecto a la versión final pueden variar, pero a continuación incluyo las características más destacadas (en inglés), en los links que les dejo podrán verlas de forma detallada:


Framework 4.0
  • Call Hierarchy of methods
  • A New Quick Search
  • Multi-targeting more accurate
  • Parallel Programming and Debugging
  • XSLT Profiling and Debugging
  • The XSD Designer
ASP.NET
  • Static IDs for ASP.NET Controls
  • The Chart control
  • Web.config transformation
VB.NET
  • Auto Implemented Properties for VB.NET
  • Collection Initializers
  • Implicit Line Continuations
  • Statements in Lambda Expressions
C#
  • Dynamic Types
  • Optional parameters
  • Named and Optional Arguments

Links relacionados