SlideShare uma empresa Scribd logo
1 de 19
Capítulo 1 Desnormalización (Parte 2)
Tablas Pre-joined Si dos o más tablas necesitan unirse de forma regular por una aplicación, pero el costo del join es prohibitivo, considere la creación de tablas pre-joined. Estas deberían: no contener columnas redundantes  contener sólo las columnas que sean absolutamente necesarias para la aplicación para cumplir con sus necesidades de procesamiento ser creadas periódicamente usando SQL para unir las tablas normalizadas  El costo del join se va a efectuar una sola vez cuando las tablas pre-joined sean creadas. Una tabla pre-joined se puede consultar de manera muy eficiente porque cada nueva consulta no incurre en la sobrecarga del proceso de join de la tabla.
Tablas de Reportes Muchas veces es imposible desarrollar un informe para el usuario final utilizando solo SQL.  Si algunos informes críticos deben ser vistos en un entorno en línea, considere la creación de una tabla que represente el informe.  La tabla de informe debería: Contener una columna para cada columna del informe Tener un índice de agrupamiento en las columnas que proporcionan la secuencia de presentación de informes no subvertir principios relacionales (por ejemplo, 1FN y los elementos atómicos de datos) Este tipo de informes requieren un formato especial o manipulación de datos.  Los reportes de tablas son ideales para llevar a los resultados de los outerjoins u otras sentencias SQL complejas. Si un outerjoin se ejecuta y se carga a continuación en una tabla, una instrucción SELECT simple puede ser utilizada para recuperar los resultados del outerjoin.
MirrorTables Si un sistema de aplicación es muy activo, puede ser necesario dividir el procesamiento en dos (o más) componentes distintos.  Esto requiere la creación de duplicados, o tablas espejo.  Diferentes decisiones de definición de datos tales como indexación y clustering pueden ser usadas para las tablas de espejo. Considere un sistema de aplicación que tiene el tráfico en línea muy pesado durante la mañana y primeras horas de la tarde. Este tráfico se compone tanto de consulta y actualización de datos. Procesamiento de soporte de decisiones también se realiza en las tablas de la misma aplicación durante la tarde. El trabajo de producción de la tarde siempre parece alterar el procesamiento de apoyo a las decisiones que causando time outs y deadlocks.
Repetición de Grupos Considere una aplicación que almacena información de grupos de repetición en la siguiente tabla normalizada: 	CREATE TABLE SALDOS_PERIODICOS 			(ID_CLIENTE		CHAR(11), 			PERIODO_SALDO		INT, 			SALDO			DECIMAL(15,2), 		PRIMARY KEY(ID_CLIENTE, PERIODO_SALDO) ) En esta tabla se puede almacenar un número infinito de los saldos por cliente, sólo limitada por el almacenamiento disponible y los límites de almacenamiento de los RDBMS.
CREATE TABLE SALDOS_PERIODICOS 			(ID_CLIENTE		CHAR(11), 			SALDO_PERIODO1	DECIMAL(15,2), 			SALDO_PERIODO2	DECIMAL(15,2), 			SALDO_PERIODO3	DECIMAL(15,2), 			SALDO_PERIODO4	DECIMAL(15,2), 			SALDO_PERIODO5	DECIMAL(15,2), 			SALDO_PERIODO6	DECIMAL(15,2), 		PRIMARY KEY(ID_CLIENTE) ) Un ejemplo de esto después de desnormalización se muestra. En este ejemplo, sólo seis saldos pueden ser almacenadas por cualquier cliente. El número seis no es importante, pero el concepto de que el número de valores es limitado es importante. Esto reduce la flexibilidad del almacenamiento de datos y debe evitarse a menos que las necesidades de rendimiento disponga lo contrario.
Antes de decidir la implementación de grupos de repetición como columnas en lugar de filas, hay que estar seguros de que se cumplan los siguientes requisitos: los datos son rara vez o nunca agregados, promediados, o comparados dentro de la fila los datos se producen en un patrón estadísticamente de buen comportamiento  los datos tienen un número estable de apariciones los datos suelen ser accesados en conjunto los datos tienen un patrón predecible de inserción y eliminación Si cualquiera de estos criterios no se cumplen, SQL SELECT puede ser difícil de codificar. Esto debe ser evitado porque, en general, los datos sin normalizar es sólo para hacerlos disponibles más fácilmente.
Datos Derivados Si el costo de obtener datos mediante fórmulas complicadas es prohibitivo considere el almacenamiento de los datos obtenidos en una columna en lugar de calcularlo.  Sin embargo, cuando los valores subyacentes que componen el valor calculado cambian, es imperativo que los datos almacenados derivados también cambien para no reportar información inconsistente. Esto repercutirá negativamente en la eficacia y la fiabilidad de la base de datos. A veces no es posible actualizar de inmediato los elementos derivados de datos cuando las columnas de los que dependen cambian.  Esto puede ocurrir cuando las tablas que contienen los elementos derivados están fuera de línea. En esta situación, el tiempo de la actualización de los datos derivados debe producirse inmediatamente cuando la tabla está disponible para su actualización.
Select 	titulo, sum(avance) FromtituloAutorta, titulos t Whereta.idTitulo=t.idTitulo GroupbyidTitulo tituloAutor titulos join Select 	titulo, sum_adv Fromtitulos tituloAutor titulos
Puede crear y mantener una columna de datos derivados en la tabla de títulos, eliminando la unión y el sum en tiempo de ejecución. Esto aumenta las necesidades de almacenamiento, y requiere un mantenimiento de la columna derivada cuando se realizan cambios en la tabla de títulos.
Jerarquías Una jerarquía es una estructura que es fácil de soportar usando una base de datos relacionales, pero es difícil recuperar información de manera eficiente.  Las aplicaciones que se basan en jerarquías muy a menudo presentan tablas desnormalizadas para hacer veloz la recuperación de datos.
Jerarquías de Departamentos Tabla Departamento La tabla que se muestra es la aplicación clásica relacional de una jerarquía. Hay dos columnas departamento, una del padre y otra para el hijo.
A pesar de que la implementación registra efectivamente toda la jerarquía, la creación de una consulta para reportar todos los departamentos a cargo de cualquier otro departamento puede tomar mucho tiempo para codificar e ineficiente para procesar.
	SELECT	NODEPT 	FROM 	DEPARTAMENTO 	WHERE	NODEPTPADRE=‘123456’ 	UNION 	SELECT	NODEPT 	FROM 	DEPARTAMENTO 	WHERE	NODEPTPADRE IN 			(SELECT	NODEPT 			FROM 	DEPARTAMENTO 			WHERE	NODEPTPADRE=‘123456’) 	UNION 	SELECT	NODEPT 	FROM 	DEPARTAMENTO 	WHERE	NODEPTPADRE IN 			(SELECT	NODEPT 			FROM 	DEPARTAMENTO 			WHERE	NODEPTPADRE IN 			(SELECT	NODEPT 			FROM 	DEPARTAMENTO 			WHERE	NODEPTPADRE=‘123456’)) Ejemplo de consulta que devolverá todos los departamentos que informe al nodo empresarial 123456. Sin embargo, esta consulta sólo se puede construir si usted sabe de antemano el número total de posibles niveles que la jerarquía puede lograr. Si hay n niveles en la jerarquía, entonces necesitará n-1 UNIONs.
Una tabla de "velocidad” puede ser construida.  Esta tabla muestra el departamento de los padres y todos los departamentos debajo del mismo, independientemente del nivel.  Contraste esto con la tabla anterior, que sólo se registra los hijos inmediatos para cada padre.  La "velocidad" tabla también comúnmente contiene otra información pertinente que se necesita por el uso dado. La información típica incluye el nivel dentro de la jerarquía para el nodo dado, si el nodo dado de la jerarquía es un nodo de detalle (en la parte inferior del árbol), y, en caso de pedido corresponde a su nivel es importante, la secuencia de los nodos en el nivel determinado.
NODEPTPADRE          NODEPTHIJO            NIVEL                          DETALLE
Luego que la speedtable se ha implementado, consultas rápidas se pueden escribir en contra de esta aplicación de una jerarquía.  La tabla de "velocidad" ​​suele ser construida con un programa escrito en otro lenguaje de alto nivel. SQL solo es por lo general demasiado ineficiente o poco práctico para la creación de una porque el número de niveles en la jerarquía es desconocido o cambiando constantemente.
Se muestran diferentes consultas informativas que pueden ser muy ineficaces a ejecutar en la jerarquía relacional clásica.  	SELECT 	NODEPTHIJO 	FROM	DEPARTAMENTO 	WHERE	NODEPTPADRE=‘123456’; 	SELECT 	NODEPTHIJO 	FROM	DEPARTAMENTO 	WHERE	NODEPTPADRE=‘123456’ 	AND 	DETALLE=‘Y’; 	SELECT 	NODEPTPADRE, NODEPTHIJO, NIVEL 	FROM	DEPARTAMENTO 	WHERE	NODEPTPADRE=‘123456’; 	ORDER BY	NIVEL;
Resumen Tablas Pre-Joined -> usadas cuando el costo del join es muy alto Tablas de Reportes -> Usadas cuando reportes críticos especializados son necesarios Tablas Espejo -> Usadas cuando son requeridas tablas concurrentemente por dos tipos diferentes de ambientes Tablas Divididas -> Usadas cuando grupos distintos usan diferentes partes de una tabla Tablas Combinadas -> Usadas cuando existen relaciones de uno a uno Datos Redundantes -> Usadas para reducir el numero de joins de tablas requeridos Grupos Repetidos -> Usadas para reducir I/O y posiblemente DASD Datos Derivados _> Usadas para eliminar cálculos y algoritmos Tablas de “Velocidad” -> Usadas para soportar jerarquías

Mais conteúdo relacionado

Mais procurados

Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesossistoperativos
 
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)Enzo D'Amario
 
CONCEPTOS Y FUNDAMENTOS DE LÓGICA DIFUSA
CONCEPTOS Y FUNDAMENTOS    DE LÓGICA DIFUSACONCEPTOS Y FUNDAMENTOS    DE LÓGICA DIFUSA
CONCEPTOS Y FUNDAMENTOS DE LÓGICA DIFUSAESCOM
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 
Logica Difusa Introduccion
Logica Difusa IntroduccionLogica Difusa Introduccion
Logica Difusa IntroduccionESCOM
 
Tabla comparativa de estilos de gestión en los equipos de trabajo.
Tabla comparativa de estilos de gestión en los equipos de trabajo.Tabla comparativa de estilos de gestión en los equipos de trabajo.
Tabla comparativa de estilos de gestión en los equipos de trabajo.Jhoel Dgez Garcia
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbujaOscar Mora
 
Producto medio para generar números aleatorios.
Producto medio para generar números aleatorios.Producto medio para generar números aleatorios.
Producto medio para generar números aleatorios.Leopoldo N. Chavez
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractoserwin_alexander
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
Redes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaRedes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaLevy GT
 
*Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1**Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1*venusprinz583
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekkernerexi
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos GenéticosESCOM
 
UNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busquedaUNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busquedaMaiky Kobatakane
 

Mais procurados (20)

Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesos
 
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
 
CONCEPTOS Y FUNDAMENTOS DE LÓGICA DIFUSA
CONCEPTOS Y FUNDAMENTOS    DE LÓGICA DIFUSACONCEPTOS Y FUNDAMENTOS    DE LÓGICA DIFUSA
CONCEPTOS Y FUNDAMENTOS DE LÓGICA DIFUSA
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Logica Difusa Introduccion
Logica Difusa IntroduccionLogica Difusa Introduccion
Logica Difusa Introduccion
 
Algoritmo de dekker
Algoritmo de dekker Algoritmo de dekker
Algoritmo de dekker
 
Tabla comparativa de estilos de gestión en los equipos de trabajo.
Tabla comparativa de estilos de gestión en los equipos de trabajo.Tabla comparativa de estilos de gestión en los equipos de trabajo.
Tabla comparativa de estilos de gestión en los equipos de trabajo.
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
 
Producto medio para generar números aleatorios.
Producto medio para generar números aleatorios.Producto medio para generar números aleatorios.
Producto medio para generar números aleatorios.
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Redes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaRedes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapa
 
*Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1**Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1*
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekker
 
Procesos e hilos_parte_3
Procesos e hilos_parte_3Procesos e hilos_parte_3
Procesos e hilos_parte_3
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
UNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busquedaUNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busqueda
 

Destaque

Ca Erwin Data Modeling - Presentado por SAM sistemas
Ca Erwin Data Modeling - Presentado por SAM sistemasCa Erwin Data Modeling - Presentado por SAM sistemas
Ca Erwin Data Modeling - Presentado por SAM sistemasCA RMDM Latam
 
Monitorización y optimización del sistema final
Monitorización y optimización del sistema finalMonitorización y optimización del sistema final
Monitorización y optimización del sistema finalpaalvarador85
 
Cuarta forma normal y quinta forma normal
Cuarta forma normal y quinta forma normalCuarta forma normal y quinta forma normal
Cuarta forma normal y quinta forma normalMemo Wars
 
Modelador de base de datos ERwin
Modelador de base de datos ERwinModelador de base de datos ERwin
Modelador de base de datos ERwinXeberth MendoZa
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalizacióncintiap25
 
MÉTODO PARA LA EXTRACCIÓN DE REGLAS DE NEGOCIO APLICADOS A CASOS DE USO EN PR...
MÉTODO PARA LA EXTRACCIÓN DE REGLAS DE NEGOCIO APLICADOS A CASOS DE USO EN PR...MÉTODO PARA LA EXTRACCIÓN DE REGLAS DE NEGOCIO APLICADOS A CASOS DE USO EN PR...
MÉTODO PARA LA EXTRACCIÓN DE REGLAS DE NEGOCIO APLICADOS A CASOS DE USO EN PR...Harold Adrian Bolaños Rodriguez
 
Modelado con erwin
Modelado con erwinModelado con erwin
Modelado con erwinLuis Jherry
 
Formas normales
Formas normalesFormas normales
Formas normalesdidachos1
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)claudiachiri
 

Destaque (18)

Desnormalizacion
DesnormalizacionDesnormalizacion
Desnormalizacion
 
Ca Erwin Data Modeling - Presentado por SAM sistemas
Ca Erwin Data Modeling - Presentado por SAM sistemasCa Erwin Data Modeling - Presentado por SAM sistemas
Ca Erwin Data Modeling - Presentado por SAM sistemas
 
DISEÑO FISICO DE BASE DATOS
DISEÑO FISICO DE BASE DATOSDISEÑO FISICO DE BASE DATOS
DISEÑO FISICO DE BASE DATOS
 
Monitorización y optimización del sistema final
Monitorización y optimización del sistema finalMonitorización y optimización del sistema final
Monitorización y optimización del sistema final
 
Cuarta forma normal y quinta forma normal
Cuarta forma normal y quinta forma normalCuarta forma normal y quinta forma normal
Cuarta forma normal y quinta forma normal
 
Tercera forma normal
Tercera forma normalTercera forma normal
Tercera forma normal
 
Modelador de base de datos ERwin
Modelador de base de datos ERwinModelador de base de datos ERwin
Modelador de base de datos ERwin
 
Manual de Erwin
Manual de ErwinManual de Erwin
Manual de Erwin
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalización
 
MÉTODO PARA LA EXTRACCIÓN DE REGLAS DE NEGOCIO APLICADOS A CASOS DE USO EN PR...
MÉTODO PARA LA EXTRACCIÓN DE REGLAS DE NEGOCIO APLICADOS A CASOS DE USO EN PR...MÉTODO PARA LA EXTRACCIÓN DE REGLAS DE NEGOCIO APLICADOS A CASOS DE USO EN PR...
MÉTODO PARA LA EXTRACCIÓN DE REGLAS DE NEGOCIO APLICADOS A CASOS DE USO EN PR...
 
Modelado con erwin
Modelado con erwinModelado con erwin
Modelado con erwin
 
Ejercicios normalización
Ejercicios normalizaciónEjercicios normalización
Ejercicios normalización
 
Reglas Negocio
Reglas NegocioReglas Negocio
Reglas Negocio
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
Formas normales
Formas normalesFormas normales
Formas normales
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Guía de ejercicios de normalizacion
Guía de ejercicios de normalizacionGuía de ejercicios de normalizacion
Guía de ejercicios de normalizacion
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)
 

Semelhante a Desnormalizacion bases datos 2

Semelhante a Desnormalizacion bases datos 2 (20)

Creación de base de datos
Creación de base de datosCreación de base de datos
Creación de base de datos
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Data werehousing
Data werehousingData werehousing
Data werehousing
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Taller2
Taller2Taller2
Taller2
 
Ventajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molapVentajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molap
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Data Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdfData Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdf
 
Lenguaje Transact sql
Lenguaje Transact sqlLenguaje Transact sql
Lenguaje Transact sql
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Consideraciones de diseño
Consideraciones de diseñoConsideraciones de diseño
Consideraciones de diseño
 
Expo
ExpoExpo
Expo
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 

Mais de Velmuz Buzz

Ecuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenEcuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenVelmuz Buzz
 
Lenguajes de Programacion
Lenguajes de ProgramacionLenguajes de Programacion
Lenguajes de ProgramacionVelmuz Buzz
 
Capa de Aplicacion
Capa de AplicacionCapa de Aplicacion
Capa de AplicacionVelmuz Buzz
 
Capa de Transporte
Capa de TransporteCapa de Transporte
Capa de TransporteVelmuz Buzz
 
Estructura Organizacional
Estructura OrganizacionalEstructura Organizacional
Estructura OrganizacionalVelmuz Buzz
 
Inteligencia artificial sistema experto
Inteligencia artificial sistema expertoInteligencia artificial sistema experto
Inteligencia artificial sistema expertoVelmuz Buzz
 
Electronica transistores
Electronica transistoresElectronica transistores
Electronica transistoresVelmuz Buzz
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadoresVelmuz Buzz
 
Electronica polarizacion
Electronica polarizacionElectronica polarizacion
Electronica polarizacionVelmuz Buzz
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo hVelmuz Buzz
 
Electronica introduccion y repaso
Electronica introduccion y repasoElectronica introduccion y repaso
Electronica introduccion y repasoVelmuz Buzz
 
Electronica funcion de transferencia
Electronica funcion de transferenciaElectronica funcion de transferencia
Electronica funcion de transferenciaVelmuz Buzz
 
Electronica ejercicios
Electronica ejerciciosElectronica ejercicios
Electronica ejerciciosVelmuz Buzz
 
Electronica aplicaciones de diodos
Electronica aplicaciones de diodosElectronica aplicaciones de diodos
Electronica aplicaciones de diodosVelmuz Buzz
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fetVelmuz Buzz
 
Electronica modelaje de transitores bipolares
Electronica  modelaje de transitores bipolaresElectronica  modelaje de transitores bipolares
Electronica modelaje de transitores bipolaresVelmuz Buzz
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fetVelmuz Buzz
 

Mais de Velmuz Buzz (20)

Ecuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenEcuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er Orden
 
Ruby
Ruby Ruby
Ruby
 
Lenguajes de Programacion
Lenguajes de ProgramacionLenguajes de Programacion
Lenguajes de Programacion
 
Capa de Aplicacion
Capa de AplicacionCapa de Aplicacion
Capa de Aplicacion
 
Capa de Transporte
Capa de TransporteCapa de Transporte
Capa de Transporte
 
Capa Red
Capa RedCapa Red
Capa Red
 
Capa Enlace
Capa Enlace Capa Enlace
Capa Enlace
 
Estructura Organizacional
Estructura OrganizacionalEstructura Organizacional
Estructura Organizacional
 
Inteligencia artificial sistema experto
Inteligencia artificial sistema expertoInteligencia artificial sistema experto
Inteligencia artificial sistema experto
 
Electronica transistores
Electronica transistoresElectronica transistores
Electronica transistores
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadores
 
Electronica polarizacion
Electronica polarizacionElectronica polarizacion
Electronica polarizacion
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo h
 
Electronica introduccion y repaso
Electronica introduccion y repasoElectronica introduccion y repaso
Electronica introduccion y repaso
 
Electronica funcion de transferencia
Electronica funcion de transferenciaElectronica funcion de transferencia
Electronica funcion de transferencia
 
Electronica ejercicios
Electronica ejerciciosElectronica ejercicios
Electronica ejercicios
 
Electronica aplicaciones de diodos
Electronica aplicaciones de diodosElectronica aplicaciones de diodos
Electronica aplicaciones de diodos
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fet
 
Electronica modelaje de transitores bipolares
Electronica  modelaje de transitores bipolaresElectronica  modelaje de transitores bipolares
Electronica modelaje de transitores bipolares
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fet
 

Desnormalizacion bases datos 2

  • 2. Tablas Pre-joined Si dos o más tablas necesitan unirse de forma regular por una aplicación, pero el costo del join es prohibitivo, considere la creación de tablas pre-joined. Estas deberían: no contener columnas redundantes contener sólo las columnas que sean absolutamente necesarias para la aplicación para cumplir con sus necesidades de procesamiento ser creadas periódicamente usando SQL para unir las tablas normalizadas El costo del join se va a efectuar una sola vez cuando las tablas pre-joined sean creadas. Una tabla pre-joined se puede consultar de manera muy eficiente porque cada nueva consulta no incurre en la sobrecarga del proceso de join de la tabla.
  • 3. Tablas de Reportes Muchas veces es imposible desarrollar un informe para el usuario final utilizando solo SQL. Si algunos informes críticos deben ser vistos en un entorno en línea, considere la creación de una tabla que represente el informe. La tabla de informe debería: Contener una columna para cada columna del informe Tener un índice de agrupamiento en las columnas que proporcionan la secuencia de presentación de informes no subvertir principios relacionales (por ejemplo, 1FN y los elementos atómicos de datos) Este tipo de informes requieren un formato especial o manipulación de datos. Los reportes de tablas son ideales para llevar a los resultados de los outerjoins u otras sentencias SQL complejas. Si un outerjoin se ejecuta y se carga a continuación en una tabla, una instrucción SELECT simple puede ser utilizada para recuperar los resultados del outerjoin.
  • 4. MirrorTables Si un sistema de aplicación es muy activo, puede ser necesario dividir el procesamiento en dos (o más) componentes distintos. Esto requiere la creación de duplicados, o tablas espejo. Diferentes decisiones de definición de datos tales como indexación y clustering pueden ser usadas para las tablas de espejo. Considere un sistema de aplicación que tiene el tráfico en línea muy pesado durante la mañana y primeras horas de la tarde. Este tráfico se compone tanto de consulta y actualización de datos. Procesamiento de soporte de decisiones también se realiza en las tablas de la misma aplicación durante la tarde. El trabajo de producción de la tarde siempre parece alterar el procesamiento de apoyo a las decisiones que causando time outs y deadlocks.
  • 5. Repetición de Grupos Considere una aplicación que almacena información de grupos de repetición en la siguiente tabla normalizada: CREATE TABLE SALDOS_PERIODICOS (ID_CLIENTE CHAR(11), PERIODO_SALDO INT, SALDO DECIMAL(15,2), PRIMARY KEY(ID_CLIENTE, PERIODO_SALDO) ) En esta tabla se puede almacenar un número infinito de los saldos por cliente, sólo limitada por el almacenamiento disponible y los límites de almacenamiento de los RDBMS.
  • 6. CREATE TABLE SALDOS_PERIODICOS (ID_CLIENTE CHAR(11), SALDO_PERIODO1 DECIMAL(15,2), SALDO_PERIODO2 DECIMAL(15,2), SALDO_PERIODO3 DECIMAL(15,2), SALDO_PERIODO4 DECIMAL(15,2), SALDO_PERIODO5 DECIMAL(15,2), SALDO_PERIODO6 DECIMAL(15,2), PRIMARY KEY(ID_CLIENTE) ) Un ejemplo de esto después de desnormalización se muestra. En este ejemplo, sólo seis saldos pueden ser almacenadas por cualquier cliente. El número seis no es importante, pero el concepto de que el número de valores es limitado es importante. Esto reduce la flexibilidad del almacenamiento de datos y debe evitarse a menos que las necesidades de rendimiento disponga lo contrario.
  • 7. Antes de decidir la implementación de grupos de repetición como columnas en lugar de filas, hay que estar seguros de que se cumplan los siguientes requisitos: los datos son rara vez o nunca agregados, promediados, o comparados dentro de la fila los datos se producen en un patrón estadísticamente de buen comportamiento los datos tienen un número estable de apariciones los datos suelen ser accesados en conjunto los datos tienen un patrón predecible de inserción y eliminación Si cualquiera de estos criterios no se cumplen, SQL SELECT puede ser difícil de codificar. Esto debe ser evitado porque, en general, los datos sin normalizar es sólo para hacerlos disponibles más fácilmente.
  • 8. Datos Derivados Si el costo de obtener datos mediante fórmulas complicadas es prohibitivo considere el almacenamiento de los datos obtenidos en una columna en lugar de calcularlo. Sin embargo, cuando los valores subyacentes que componen el valor calculado cambian, es imperativo que los datos almacenados derivados también cambien para no reportar información inconsistente. Esto repercutirá negativamente en la eficacia y la fiabilidad de la base de datos. A veces no es posible actualizar de inmediato los elementos derivados de datos cuando las columnas de los que dependen cambian. Esto puede ocurrir cuando las tablas que contienen los elementos derivados están fuera de línea. En esta situación, el tiempo de la actualización de los datos derivados debe producirse inmediatamente cuando la tabla está disponible para su actualización.
  • 9. Select titulo, sum(avance) FromtituloAutorta, titulos t Whereta.idTitulo=t.idTitulo GroupbyidTitulo tituloAutor titulos join Select titulo, sum_adv Fromtitulos tituloAutor titulos
  • 10. Puede crear y mantener una columna de datos derivados en la tabla de títulos, eliminando la unión y el sum en tiempo de ejecución. Esto aumenta las necesidades de almacenamiento, y requiere un mantenimiento de la columna derivada cuando se realizan cambios en la tabla de títulos.
  • 11. Jerarquías Una jerarquía es una estructura que es fácil de soportar usando una base de datos relacionales, pero es difícil recuperar información de manera eficiente. Las aplicaciones que se basan en jerarquías muy a menudo presentan tablas desnormalizadas para hacer veloz la recuperación de datos.
  • 12. Jerarquías de Departamentos Tabla Departamento La tabla que se muestra es la aplicación clásica relacional de una jerarquía. Hay dos columnas departamento, una del padre y otra para el hijo.
  • 13. A pesar de que la implementación registra efectivamente toda la jerarquía, la creación de una consulta para reportar todos los departamentos a cargo de cualquier otro departamento puede tomar mucho tiempo para codificar e ineficiente para procesar.
  • 14. SELECT NODEPT FROM DEPARTAMENTO WHERE NODEPTPADRE=‘123456’ UNION SELECT NODEPT FROM DEPARTAMENTO WHERE NODEPTPADRE IN (SELECT NODEPT FROM DEPARTAMENTO WHERE NODEPTPADRE=‘123456’) UNION SELECT NODEPT FROM DEPARTAMENTO WHERE NODEPTPADRE IN (SELECT NODEPT FROM DEPARTAMENTO WHERE NODEPTPADRE IN (SELECT NODEPT FROM DEPARTAMENTO WHERE NODEPTPADRE=‘123456’)) Ejemplo de consulta que devolverá todos los departamentos que informe al nodo empresarial 123456. Sin embargo, esta consulta sólo se puede construir si usted sabe de antemano el número total de posibles niveles que la jerarquía puede lograr. Si hay n niveles en la jerarquía, entonces necesitará n-1 UNIONs.
  • 15. Una tabla de "velocidad” puede ser construida. Esta tabla muestra el departamento de los padres y todos los departamentos debajo del mismo, independientemente del nivel. Contraste esto con la tabla anterior, que sólo se registra los hijos inmediatos para cada padre. La "velocidad" tabla también comúnmente contiene otra información pertinente que se necesita por el uso dado. La información típica incluye el nivel dentro de la jerarquía para el nodo dado, si el nodo dado de la jerarquía es un nodo de detalle (en la parte inferior del árbol), y, en caso de pedido corresponde a su nivel es importante, la secuencia de los nodos en el nivel determinado.
  • 16. NODEPTPADRE NODEPTHIJO NIVEL DETALLE
  • 17. Luego que la speedtable se ha implementado, consultas rápidas se pueden escribir en contra de esta aplicación de una jerarquía. La tabla de "velocidad" ​​suele ser construida con un programa escrito en otro lenguaje de alto nivel. SQL solo es por lo general demasiado ineficiente o poco práctico para la creación de una porque el número de niveles en la jerarquía es desconocido o cambiando constantemente.
  • 18. Se muestran diferentes consultas informativas que pueden ser muy ineficaces a ejecutar en la jerarquía relacional clásica. SELECT NODEPTHIJO FROM DEPARTAMENTO WHERE NODEPTPADRE=‘123456’; SELECT NODEPTHIJO FROM DEPARTAMENTO WHERE NODEPTPADRE=‘123456’ AND DETALLE=‘Y’; SELECT NODEPTPADRE, NODEPTHIJO, NIVEL FROM DEPARTAMENTO WHERE NODEPTPADRE=‘123456’; ORDER BY NIVEL;
  • 19. Resumen Tablas Pre-Joined -> usadas cuando el costo del join es muy alto Tablas de Reportes -> Usadas cuando reportes críticos especializados son necesarios Tablas Espejo -> Usadas cuando son requeridas tablas concurrentemente por dos tipos diferentes de ambientes Tablas Divididas -> Usadas cuando grupos distintos usan diferentes partes de una tabla Tablas Combinadas -> Usadas cuando existen relaciones de uno a uno Datos Redundantes -> Usadas para reducir el numero de joins de tablas requeridos Grupos Repetidos -> Usadas para reducir I/O y posiblemente DASD Datos Derivados _> Usadas para eliminar cálculos y algoritmos Tablas de “Velocidad” -> Usadas para soportar jerarquías