DAI - Ing. Arturo Rozas Huacho1 4.1.7.- Tablas Cruzadas Sistemas de Base de Datos Para entender el concepto de tablas cruzadas, veamos el siguiente ejemplo:

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Advertisements

Composición de Una Tabla de Números a Partir de Una Lista de Números Separada por Comas en Transact SQL Leonel Morales Díaz Ingeniería Simple
Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.
SENTENCIAS SECUENCIALES
Se necesita un PA que muestre la información de todos los clientes registrados de la siguiente forma: Nombre1 Nombre2, Apellido1 Apellido2 bajo el título.
Insercion de datos..
Unidad 2 - Vistas y Funciones
Introducción a Transact-SQL
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a PL/SQL Conceptos básicos.
Programación Estructurada
INTRODUCCION AL SQL PROCEDURAL
Seminario de Actualización - Excel Avanzado y Macros
PL/SQL Francisco Moreno Universidad Nacional.
PL/SQL Francisco Moreno Universidad Nacional.
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
Características Objeto Relacionales en Oracle
PL/SQL Francisco Moreno Universidad Nacional.
MySQL M.C. Pedro Bello López.
PL/SQL Francisco Moreno Universidad Nacional. Introducción al PL/SQL ¿Por qué PL/SQL? A pesar de que SQL tiene mecanismos de control condicional (cláusula.
SQL Básico Prof. Nelliud D. Torres.
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
Dim VARIABLE As TIPODATO Dim int As Integer = 0 VARIABLE= InputBox(“Digite el Documento a buscar") While Not NOMBRETABLA.EOF And int = 0 If NOMBRETABLA.Fields(0).Value.
PL/SQL Francisco Moreno Universidad Nacional.
Análisis dimensional Aplicaciones del Análisis de Datos: –Formular queries –Extraer datos aggregados –Analizar resultados –Visualizar resultados El conjunto.
PL/SQL Francisco Moreno Universidad Nacional.
UNITA - IBARRA TRIGGERS
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
 ANGULO MENDEZ, Angelo  LEVANO CASTILLA, Carlos  PARDO FIGUEROA HERENCIA, Jhonatan  QUISPE ARCOS, Hans  RAMIREZ GAMBOA, Marlon.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Sesión 9 Construcción de cursores.
Bases de Datos 1 Prof. Daniel Obando Fuentes. USE USE {database}; Cambia el contexto de base de datos Es decir, dice cuál es la base de datos que se utilizará.
Características Objeto-Relacionales en Oracle Francisco Moreno Universidad Nacional.
Estructura general de un programa en el servidor de Bases de Datos.
LENGUAJE SQL.
Structured Query Language (Lenguaje Estructurado de Consultas)
Cursores SQL RECORRER CON UN CONJUNTO DE RESULTADOS RECORRER CON UN CONJUNTO DE RESULTADOS.
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
ENCUENTRO 3 Presentación de la sintaxis de las sentencias ALTER Table, DELETE, y UPDATE. Consultas combinadas. Vistas. Aplicación de las sentencias vistas.
Cifrar / Descifrar campos en SQL
LENGUAJE ESTRUCTURADO DE CONSULTAS
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Uso de las herramientas de consulta de Transact-SQL
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
Estructuras de Control
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo SQL en PL/SQL Conceptos básicos.
MULTIPLAN Multiplan es la práctica en grupo que hemos tenido que realizar durante el curso según las especificaciones dadas en la asignatura.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
Unidad 6. Tema 4. Lenguaje de consultas SQL
5 Paquetes ORACLE Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Base de Datos I – Ing. Mary Carlota Bernal J. BASE DE DATOS I PL/SQL.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
3 Cursores ORACLE Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega.
Mtr. Adrián Monge Monge Educación 2015 Maestría, Mención en Administración de Proyectos ULACITMaestría, Mención en Administración de Proyectos 2012 Licenciatura,
INTEGRACION DE LAS TECNOLOGIAS DE LA INFORMACION Y COMUNICACION Implementación de base de datos (Lenguaje de manipulación de datos) Ing. Linda Masias Morales.
DLM Transact SQL Sesión II Recuperación de información.
Base de Datos I – Ing. Mary Carlota Bernal J.  Cada instrucción PL/SQL tiene asociado internamente un cursor  Los cursores en PL/SQL pueden ser de dos.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
Consultas a mysql desde PHP índice 1. Introducción 5. Ejemplo 4. Tratamiento de datos 2. Instrucción SQL 3. Pasos C o n s u l t a s a m y s q l d e s d.
Diapositivas PLSQL ORACLE – Semana 2 Especialización en Desarrollo de soluciones Informáticas Universidad del Cauca Miguel Ángel Niño Zambrano.
Ing. Sanchez Castillo Eddye Arturo Escuela Académica Profesional de Ingeniería de Sistemas.
6 Copyright © 2004, Oracle. Todos los derechos reservados. Trabajar con Tipos de Dato Compuestos.
6 Triggers ORACLE - III Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
Transcripción de la presentación:

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas Sistemas de Base de Datos Para entender el concepto de tablas cruzadas, veamos el siguiente ejemplo: Supongamos que se desea Analizar las ventas por tipo de prenda y color. En un proceso previo se obtuvo la siguiente tabla. CrossTable1

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas Sistemas de Base de Datos CrossTable1 Atributos de Medición Atributos de Dimensión

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas Sistemas de Base de Datos CrossTable1 Los valores del atributo de la dimensión Color se utilizan como columnas en la nueva tabla. Este tipo de resúmenes es el primer nivel de análisis de la información y es una necesidad frecuente en el apoyo a la toma de decisiones.

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas… Sistemas de Base de Datos Paso 1.- Supongamos que ya se tiene la siguiente tabla: CrossTable1 (Prenda, Color, Cantidad) A partir de ésta, generar una tabla temporal con las siguientes Columnas: Resultado(Prenda, Blanco, Claro, Oscuro) select Prenda, "Blanco" = case when Color = 'Blanco' then Cantidad else 0 end, "Claro" = case when Color = 'Claro' then Cantidad else 0 end, "Oscuro" = case when Color = 'Oscuro' then Cantidad else 0 end into #Prenda from CrossTable1

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas… Sistemas de Base de Datos select Prenda, "Blanco" = case when Color = 'Blanco' then Cantidad else 0 end, "Claro" = case when Color = 'Claro' then Cantidad else 0 end, "Oscuro" = case when Color = 'Oscuro' then Cantidad else 0 end into #Prenda from CrossTable1 CrossTable1#Prenda

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas… Sistemas de Base de Datos Paso 2.- Totalizar cada columna, considerando la prenda como criterio de grupo. select Prenda, "Blanco" = sum(Blanco), "Claro" = sum(Claro), "Oscuro" = sum(Oscuro) from #Prenda group by Prenda #Prenda Resultado

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas… Sistemas de Base de Datos Algoritmo genérico en un solo paso. select Prenda, "Blanco" = sum(case when Color = 'Blanco' then Cantidad else 0 end), "Claro" = sum(case when Color = 'Claro' then Cantidad else 0 end), "Oscuro" = sum(case when Color = 'Oscuro' then Cantidad else 0 end) from CrossTable1 group by Prenda Resultado CrossTable1

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas Dinámicas… Sistemas de Base de Datos En este tipo de tablas cruzadas no se conoce de antemano el número de columnas. En consecuencia no se puede aplicar el algoritmo anterior. CrossTable1 Por ejemplo, de la anterior tabla se desea analizar las unidades Vendidas de todos los tipos de Prenda y de todos los colores.

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas Dinámicas… Sistemas de Base de Datos -- Generar tabla temporal con solo Color select distinct cast(Color as varchar(2000)) Color into #Color from CrossTable1 order by Color; -- Concatenar los Colores en la varchar(2000); = ''; update #Color = Color -- Quitar primera coma = -- Construir sentencia SQL que permita generar el Cross Table varchar(2000); int; varchar(12);

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas Dinámicas… Sistemas de Base de Datos = 'SELECT Prenda ' <> '' begin -- Extraer Color = > 0 begin = = end else begin = ''; end; -- Crear sentencia SQL para Color + when Color = then Cantidad else '''' end)'; end; -- while

DAI - Ing. Arturo Rozas Huacho Tablas Cruzadas Dinámicas… Sistemas de Base de Datos + ' FROM CrossTable1 GROUP BY Prenda'; -- Ejecutar SQL El contenido de la es: select Prenda, "Blanco" = sum(case when Color = 'Blanco' then Cantidad else 0 end), "Claro" = sum(case when Color = 'Claro' then Cantidad else 0 end), "Oscuro" = sum(case when Color = 'Oscuro' then Cantidad else 0 end) from CrossTable1 group by Prenda