viernes, 7 de noviembre de 2008
sábado, 25 de octubre de 2008
Comando SQL UNION
El propósito del comando SQL UNION es combinar los resultados de dos consultas juntas. En este sentido, UNION es parecido a Join, ya que los dos se utilizan para información relacionada en múltiples tablas. Una restricción de UNION es que todas las columnas correspondientes necesitan ser del mismo tipo de datos. También, cuando utilizamos UNION, sólo se seleccionan valores distintos (similar a SELECT DISTINCT).
El propósito del Comando SQL UNION ALL es también combinar los resultados de dos consultas juntas. La diferencia entre UNION ALL y UNION es que, mientras UNION sólo selecciona valores distintos, UNION ALL selecciona todos los valores.
La sintaxis para UNION ALL es la siguiente:
[Instrucción SQL 1]
UNION ALL
[Instrucción SQL 2]
Utilicemos el mismo ejemplo de la sección anterior para ilustrar la diferencia. Supongamos que tenemos las siguientes dos tablas,
Tabla Store_Information
| store_name | Sales | Date |
| Los Angeles | 1500 € | 05-Jan-1999 |
| San Diego | 250 € | 07-Jan-1999 |
| Los Angeles | 300 € | 08-Jan-1999 |
| Boston | 700 € | 08-Jan-1999 |
Tabla Internet_Sales
| Date | Sales |
| 07-Jan-1999 | 250 € |
| 10-Jan-1999 | 535 € |
| 11-Jan-1999 | 320 € |
| 12-Jan-1999 | 750 € |
y deseamos encontrar las fechas en donde se realizó una operación de venta en un negocio como así también las fechas donde hay una venta a través de Internet. Para hacerlo, utilizamos la siguiente instrucción SQL:
SELECT Date FROM Store_InformationUNION ALL
SELECT Date FROM Internet_Sales
Caracteristicas del Metadata de un Datawherehouse
Metadata
Otro aspecto de la arquitectura de data warehouse es crear soporte a la metadata. Metadata es la información sobre los datos que se alimenta, se transforma y existe en el data warehouse. Metadata es un concepto genérico, pero cada implementación de la metadata usa técnicas y métodos específicos.
Estos métodos y técnicas son dependientes de los requerimientos de cada organización, de las capacidades existentes y de los requerimientos de interfaces de usuario. Hasta ahora, no hay normas para la metadata, por lo que la metadata debe definirse desde el punto de vista del software data warehousing, seleccionado para una implementación específica.
Típicamente, la metadata incluye los siguientes ítems:
- Las estructuras de datos que dan una visión de los datos al administrador de datos.
- Las definiciones del sistema de registro desde el cual se construye el data warehouse.
- Las especificaciones de transformaciones de datos que ocurren tal como la fuente de datos se replica al data warehouse.
El modelo de datos del data warehouse (es decir, los elementos de datos y sus relaciones).
Un registro de cuando los nuevos elementos de datos se agregan al data warehouse y cuando los elementos de datos antiguos se eliminan o se resumen.
Los niveles de sumarización, el método de sumarización y las tablas de registros de su data warehouse.
Algunas implementaciones de la metadata también incluyen definiciones de la(s) vista(s) presentada(s) a los usuarios del data warehouse. Típicamente, se definen vistas múltiples para favorecer las preferencias variadas de diversos grupos de usuarios. En otras implementaciones, estas descripciones se almacenan en un Catálogo de Información.
Los esquemas y subesquemas para bases de datos operacionales, forman una fuente óptima de entrada cuando se crea la metadata. Hacer uso de la documentación existente, especialmente cuando está disponible en forma electrónica, puede acelerar el proceso de definición de la metadata del ambiente data warehousing.
La metadata sirve, en un sentido, como el corazón del ambiente data warehousing. Crear definiciones de metadata completa y efectiva puede ser un proceso que consuma tiempo, pero lo mejor de las definiciones y si usted usa herramientas de gestión de software integrado, son los esfuerzos que darán como resultado el mantenimiento del data warehouse.
Rollup
Cuando tenemos que mostrar información de nuestra base de datos a los usuarios
habitualmente creamos informes con Visual Basic, con Crystal Reports, con los Analysis
Services de Microsoft SQL Server 2000 o con lo que queramos. Con estas herramientas
podemos realizar cualquier tipo de cálculo sobre los datos almacenados, y especialmente
calcular sumas, totales, promedios…
Pero el lenguaje SQL también nos proporciona herramientas para hacer la mayor parte del
trabajo en el servidor (ahorrándonos posteriores problemas). Como ya conoceréis tenemos
cláusulas como GROUP BY para agrupar, las funciones de agregado para contar, sumar,
promediar… y la cláusula COMPUTE BY para hacer resúmenes.
¿Y si queremos calcular subtotales y totales generales en una misma consulta? Pues también
existen las cláusulas CUBE y ROLLUP que son las que vamos a tratar aquí.
GROUPING (Transact-SQL)
Indica si una expresión de columna especificada en una lista GROUP BY es agregada o no. GROUPING devuelve 1 para agregado y 0 para no agregado, en el conjunto de resultados. GROUPING sólo se puede usar en la lista de SELECT
Argumentos
Es una columna o una expresión que contiene una columna en una cláusula GROUP BY.
Tipos de valor devueltos
tinyint
Notas
GROUPING se utiliza para distinguir entre los valores NULL devueltos por ROLLUP, CUBE o GROUPING SETS y los valores NULL normales. El valor NULL devuelto como resultado de una operación ROLLUP, CUBE o GROUPING SETS es un uso especial de NULL.Actúa como marcador de posición de columna en el conjunto de resultados y significa "todos".
domingo, 19 de octubre de 2008
Alianza entre SAP e IBM por una mejor educación en América Latina
Se trata del Programa “IBM Reading Companion”, que se apoya en un software de reconocimiento de voz, desarrollado por IBM Research y al cual se accede a través del sitio www.readingcompanion.org. El otro, llamado “MUAN”, es un software desarrollado por una organización no gubernamental de Brasil, también con propósitos educativos y que permite la rápida creación, edición, manipulación y visualización de animaciones, utilizando cámaras de video o webcams conectadas a la computadora.
SAP e IBM seleccionaron una organización no gubernamental (ONG) en cada uno de los países donde, en un principio, se llevará a cabo este proyecto: Argentina (AFS Programas Interculturales), Colombia (Dividendo por Colombia), México (Centro Juvenil Promoción Integral, CEJUV) y Brasil (Associacão para Valorização e Promoção de Excepcionais, AVAPE). IBM será responsable de implementar la aplicación para cada uno de esos territorios y SAP patrocinará esa tarea, al tiempo que dispondrá de empleados para que desarrollen proyectos de voluntariado junto con las ONGs
SAP es el líder mundial en software de negocios*. Ofrece aplicaciones y servicios que permiten a compañías de todos los tamaños en más de 25 sectores de industria gestionar sus procesos de negocio de manera más eficiente. Con alrededor de 75.000 clientes (incluyendo clientes de Business Objects) en más de 120 países, la compañía cotiza sus acciones en diversas bolsas de valores del mundo, incluyendo la Bolsa de Valores de Frankfurt y la Bolsa de Valores de Nueva York (NYSE), bajo el símbolo "SAP". (Para más información, visite www.sap.com)
Es un programa basado en Web (http://www.readingcompanion.org) que ayuda a niños y adultos a mejorar su conocimiento y pronunciación del idioma inglés, mediante una tecnología de reconocimiento de voz. El software provee una respuesta instantánea a los lectores y los ayuda a mejorar su desenvolvimiento en el idioma. El secreto de IBM Reading Companion está en su simplicidad. Los lectores son equipados con audífonos y ellos pueden seleccionar un libro virtual (e-book) de la biblioteca que posee el programa, y empezar a leer. Luego de haber leído en voz alta una oración o palabra, “escucha” un reconocimiento instantáneo por parte del Software anunciándole el acierto o desacierto en la pronunciación.
miércoles, 8 de octubre de 2008
Microsoft creará "gusanos benignos" para poder entrar en nuestros pcs
En Inglaterra un equipo de Microsoft trabaja en gusanos buenos que la compañía utilizara para distribuir las actualizaciones a sus usuarios sin que estos tengan que molestarse en descargar las actualizaciones la finalidad de estos gusanos es expandirse en las cajas con el fin de actualizar y tapar vulnerabilidades antes de que dicha caja sea atacada por los gusanos o virus malos. el equipo de desarrollo afirma que estos gusanos serán más inteligentes que los malignos además de que tendrán la capacidad de aprender de experiencias pasadas el ciclo de infección del gusano será el siguiente empieza instalándose en una caja no infectada y después se dirige a otras cajas de la misma red.
El problema que le encuentro a esta nueva forma de actualizar cajas es que no existiría la forma de saber cuáles son los gusanos que pueden afectar o no a nuestras aplicaciones además de que el mundo de los virus avanza a pasos increíbles y es posible que mientras se esté creando este tipo de gusanos benignos también se estén creando este mismo tipo de gusanos craqueados con código perjudicial para nuestra caja