Vous êtes sur la page 1sur 41

TÉCNICAS

DE

DES CIÓN

NOR ZA
MALI

ING. WILLIAMS MUÑOZ ROBLES


DESNORMALIZACIÓN

Las técnicas de desnormalización se ejecutan para


obtener beneficios en el rendimiento de las funciones de
generación de informes. Describiremos cada una de estas
técnicas y mostraremos ejemplos.
1.- CAMPOS TOTAL
REDUNDANTE
TÉCNICA 1: CAMPOS TOTAL REDUNDANTE

Si bien estos diseños son de la Tercera Forma Normal en la práctica


son lentos, lo que se podría hacer entonces es una desnormalización
de las tablas, podremos satisfacer este requisito añadiendo una
columna stock en el maestro de artículos entonces cada vez que me
solicitan ese dato no debo ir a la tabla, lo mismo podría suceder con la
factura donde en su cabecera pondríamos el total.
TÉCNICA 1: CAMPOS TOTAL REDUNDANTE

AÑADIREMOS UNA COLUMNA A LA TABLA EL


CUAL SERA NUESTRO VALOR DESNORMALIZADO.
TÉCNICA 1: CAMPOS TOTAL REDUNDANTE

Lo primero que haremos para


nuestro ejemplo es crear dos
tablas (una para el articulo y
la otra para los movimientos
de inventario) en la primera
tendremos un campo llamado
Stock
TÉCNICA 1: CAMPOS TOTAL REDUNDANTE

Insertamos algunos registros en nuestra tabla


ARTICULOS
TÉCNICA 1: CAMPOS TOTAL REDUNDANTE

Creamos los trigger’s en la tabla movimientos para que cuando se haga


un insert o delete se actualice el campo Stock de la tabla artículos.
TÉCNICA 1: CAMPOS TOTAL REDUNDANTE

Probamos la solución
-Consultamos el STOCK actual
TÉCNICA 1: CAMPOS TOTAL REDUNDANTE

-Insertamos un registro para el ARTÍCULO 1

-Consultamos el STOCK
TÉCNICA 1: CAMPOS TOTAL REDUNDANTE

-Insertamos más de un registro

-Consultamos el STOCK
TÉCNICA 1: CAMPOS TOTAL REDUNDANTE

-Borramos la TRANSACCION 1 de I=100 -Borramos todo

-Consultamos el STOCK
Esta solución para la desnormalización es la más
aconsejada ya que se independiza del proceso y no importa
de dónde hagan un movimiento de inventario ya que el
trigger al estar en la base se disparara y actualizara el
Stock.
2.- ATRIBUTOS REDUNDANTES
EN LA FILA DE UN TABLA
TÉCNICA 2: ATRIBUTOS REDUNDANTES EN LA FILA DE
UNA TABLA

Para facilitar la búsqueda de información textual


se suele crear una columna redundante, que es,
simplemente, una transformación a mayúsculas
de los datos originales (mayus).
TÉCNICA 2: ATRIBUTOS REDUNDANTES EN LA FILA DE
UNA TABLA

PARA RESOLVER ESTE PROBLEMA SE PUEDE UTILIZAR EL


SIGUIENTE ALGORITMO.
 
1.- Convertir la dirección a mayúsculas.
2.- Eliminar todos los caracteres extraños, tales como tabuladores,
espacios, retornos duros de línea, signos de puntuación.
3.- Homogeneizar las abreviaturas de todas las palabras (por ejemplo,
Oeste se convertirá en O u Oest).
4.- Sustituir texto del tipo “1º” por “PRIMERO” para crear consistencia.
5.- Coger únicamente los diez primeros caracteres.
TÉCNICA 2: ATRIBUTOS REDUNDANTES EN LA FILA DE
UNA TABLA

Este método derrocha bastante espacio en el


disco. Sin embargo, el cuello de botella de las
aplicaciones no suele encontrarse en el espacio
de disco, sino en su rendimiento.
EJEMPLO:
TÉCNICA 2: ATRIBUTOS REDUNDANTES EN LA FILA DE
UNA TABLA

Para este ejemplo creamos la tabla persona y como vemos existe un campo
redundante que es el NOMBRE_COMP_INDICE, esta columna nos servirá
para ser el índice.
TÉCNICA 2: ATRIBUTOS REDUNDANTES EN LA FILA DE
UNA TABLA

Aquí ingresamos los datos de la persona y como vemos, el campo redundante esta
lo mismo, pero en mayúsculas, este campo se rellena en MAYUS
automáticamente gracias a la función UPPER
TÉCNICA 2: ATRIBUTOS REDUNDANTES EN LA FILA DE
UNA TABLA

Aquí asemos una consulta con el índice que hemos creado, y buscamos a juan.
Y como observamos busco a los todos los juanes que avían, esto hace que la
consulta se mas rápido.
3.- COLUMNAS ADICIONALES DE
CLAVES EXTERNAS EN EL LUGAR
EL QUE NO PERTENECEN
TÉCNICA 2: COLUMNAS ADICIONALES DE CLAVES EXTERNAS EN EL LUGAR EL
QUE NO PERTENECEN

En este ejemplo queremos realizar búsquedas por nombre en un


subconjunto de los detalles de la reclamación. Tradicionalmente,
deberíamos unir tablas para lograr este objetivo. En cambio, al
introducir una referencia de objeto o una clave externa en Detalle de
reclamaciones que apunte a Grupo, podremos recuperar con rapidez
los detalles de la reclamación que se encuentren asociados con el
grupo. Esta introducción de columnas redundantes de clave primaria
puede simplificar en gran medida la codificación de los informes y
aplicaciones.
DETALLE RECLAMACIONES RECLAMACIONES
RECLAM_ID RECLAM_DTL_ID DESCR_TX GRP_ID RECLAM_ID PACIENTE_APELL POLIZA_ID FECHA

R01 RD01 Descr1. GR01 RD01 Echevarría P01 05/04/96

1..*
RD02 Calderón P02 05/04/89
R02 RD02 Descr2 GR02 1..* 1..*

1..*
POLIZA_ID DESCR_TX COSTE_ID

1..*
P01 Descr1. C01
PÓLIZA

1..*
P02 Descr2 C02
EJEMPLO:
COSTE_ID CANT PLAN_ID

COSTE C01 300.00 PL01

1..*
C02 400.00 PL02

1..*
1..*
GRUPO
GRP_ID DESCR_TX PLAN_ID DESCR_TX CRP_ID

GR01 Descr1. PL01 Descr1. GR01

1..*
PLAN
GR02 Descr2 PL02 Descr2 GR02

1..*
1..*
TÉCNICA 2: COLUMNAS ADICIONALES DE CLAVES EXTERNAS EN EL LUGAR EL
QUE NO PERTENECEN

El código de nuestro ejemplo.


4.- COLUMNAS REDUNDANTES
PARA EL HISTÓRICO
TÉCNICA 4: COLUMNAS REDUNDANTES PARA EL HISTÓRICO

Se podrá desarrollar las columnas redundantes


para el histórico en la misma forma que
utilizamos la técnica de la desnormalización
para las columnas adicionales de claves
externas no necesitara información adicional.
EJEMPLO:

ID NOMBRE

C01 Carlos Enrique


Cliente
C02 Luis Alberto

ID NOMBRE FECHA DESCRIPCIÓN


C01 Carlos Enrique 02/10/14 Eliminación
ClienteDeleted
C02 Luis Alberto 02/10/15 Eliminación
TÉCNICA 4: COLUMNAS REDUNDANTES PARA EL
HISTÓRICO
El código nuestro ejemplo
5.- VIOLACIÓN DE LA
PRIMERA FORMA NORMAL.
TÉCNICA 5: VIOLACIÓN DE LA PRIMERA FORMA
NORMAL
Si se tiene un campo multivariado, se puede crear campos en la tabla
origen para poder minimizar el tiempo de respuesta en la consulta
que queramos realizar, se debe manejar con cuidado ya que muchas
veces no se tiene en si los campos necesarios, así que no siempre se
puede aplicar esta técnica en muchos casos.
TÉCNICA 5: VIOLACIÓN DE LA PRIMERA FORMA
NORMAL

EJEMPLO:

Tenemos la siguiente
base de datos totalmente
normalizada
Con su creación respectiva en el SQL SERVER
Cada tabla tiene su respectivo contenido
Cada tabla tiene su respectivo contenido
TÉCNICA 5: VIOLACIÓN DE LA PRIMERA FORMA
NORMAL
Para que podamos hacer la consulta de consulta de cuantos cursos lleva cada
uno de los alumnos tendríamos que hacer la consulta de tablas cruzadas
TÉCNICA 5: VIOLACIÓN DE LA PRIMERA FORMA
NORMAL
Veremos en el plan de ejecución cuanto ha demorado la consulta
Se busca minimizar el tiempo de
respuesta.
Si se daría el caso que cada alumno
tenga que hacer 2 cursos cual sea la
carrera, entonces tendríamos que añadir
esos campos en una sola tabla, los
campos de los cursos, así
maximizaríamos la respuesta, violando la
primera regla de normalización que nos
dice que separemos los grupos de
repetición.
Agregamos un campo mas en la tabla
origen para que sea solo una
Crearemos los triggers para poder unir esas columnas en la tabla
principal, insertando los valores en los campos que se crearon.
Una vez que tengamos ya los elementos, ejecutaremos la consulta de la tabla
resultante

Y esto nos demoro menos tiempo de consulta, en el plan de ejecución


El tiempo de respuesta será menor. Siempre en cuando la tabla que estamos generando
SOLO nos muestre un máximo de 2 cursos que llevaran cada uno de los estudiantes.

Haciendo que nos sea mas fácil unir las dos tablas

Vous aimerez peut-être aussi