Está en la página 1de 26

NORMALIZACIÓN

Introducción
El diseño tiene como objetivo obtener una serie de esquemas
que permitan almacenar información, sin redundancia y de fácil
acceso.

Las formas normales permiten lograr un buen diseño

Para esto se necesita información acerca del problema que se


esté modelando. Parte de esta información se encuentra en un
diagrama E-R, pero se necesita información adicional.
Historia
El modelo entidad-relación es el modelo de datos más ampliamente usado
para el diseño de bases de datos.

Fue creado por Peter Chen en el año 1976, y desde entonces se ha vuelto
muy popular. En 1988 el ANSI(Instituto Nacional Estadounidense de
Estándares) seleccionó el modelo ER como el modelo estándar para los
sistemas de diccionarios de recursos de información (IRDS).

Originalmente el modelo ER sólo incluía conceptos básicos como entidad,


relación y atributos.
Elementos
Los elementos básicos del modelo E-R original son:
 
 ENTIDAD (entity)

 ATRIBUTO (attribute)

 RELACION (relationship)
Entidad Relación
Entidad: Representa una “cosa” u "objeto" del mundo real con
existencia.

Ejemplos:
Una persona. (Se diferencia de cualquier otra persona, incluso
siendo gemelos).

Un automóvil. (Aunque sean de la misma marca, el mismo


modelo,..., tendrán atributos diferentes, por ejemplo, el número
de chasis).
Entidad Relación
Relación: Vínculo que permite definir una dependencia entre
los conjuntos de dos o más entidades.

Esto es la relación entre la información contenida en los


registros de varias tablas.

Describe cierta dependencia entre entidades o permite la


asociación de las mismas.
Entidad Relación
Atributos: son características o propiedades asociadas a la entidad que toman
valor en una instancia particular.

Son las características, rasgos y propiedades de una entidad, que toman como
valor una instancia particular. Es decir, los atributos de una tabla son en realidad
sus campos descriptivos, el predicado que permite definir lo que decimos de un
determinado sujeto. Por ejemplo de una entidad o tabla catálogo, se pueden
determinar los atributos título, subtítulo, título paralelo, otras formas del título, autor
principal, otras menciones de responsabilidad, edición, mención de edición,
editorial, lugar de publicación, fecha de publicación,...

Ejemplo:
cédula
nombre
teléfono
Entidad relación
Clave principal o primaria

El atributo o conjunto mínimo de atributos (uno o más campos) que


permiten identificar en forma única cada instancia de la entidad, es
decir, a cada registro de la tabla.

Las claves principales se utilizan cuando se necesita hacer referencia


a registros específicos de una tabla desde otra tabla.

Identifica inequívocamente un solo atributo no permitiendo que se


repita en la misma entidad. Como sería la matrícula o el número de
chasis de un coche (no puede existir dos veces el mismo).
Entidad relación
Clave foránea: (también llamada externa o secundaria) es un atributo que
es clave primaria en otra entidad con la cual se relaciona.

Este campo tiene que estar estrictamente relacionado con la clave


primaria de otra entidad, para así exigir que exista previamente ese clave.

Anteriormente hemos hablado de ello cuando comentábamos que un


empleado indispensablemente tiene que tener un cargo (que lo hemos
representado numéricamente), por lo cual si intentásemos darle un cargo
inexistente el gestor de bases de datos nos devolvería un error.
NORMALIZACION
■ El proceso de normalización de una base de datos consiste en aplicar
una serie de reglas a las relaciones obtenidas en el (entidad-relación).

■ Las bases de datos relacionales se normalizan para:


 Evitar la redundancia de los datos.
 Evitar problemas de actualización de los datos en las tablas.
 Proteger la integridad de los datos.

■ En el modelo relacional es frecuente llamar tabla a una relación, la cual


tiene que cumplir con algunas restricciones:
 Cada columna debe tener su nombre único.
 No puede haber dos renglones iguales.
 No se permiten los duplicados.
Porque hacer una normalización
bases de datos relacionales se normalizan para:

• Evitar la redundancia de los datos.

• Evitar problemas de actualización de los datos en las tablas

• Proteger la integridad de los datos.


Pasos para Realizar y modelo entidad relación
Identificar las entidades

Determinar las claves primarias

Describir los atributos de las entidades

Establecer relaciones entre las entidades(llave foránea)

Dibujar el modelo de datos

Realizar comprobaciones
Cardinalidad
Es el numero de entidades con la cual otra entidad puede asociar
mediante una relación.

Tipos de relación

Uno a uno

Uno a muchos

Muchos a uno

Muchos a muchos
Ejemplo
Estamos en un servicio de biblioteca queremos llevar el control del
préstamo que incluya los siguientes datos:

 Información sobre el usuario del servicio,


 datos del libro y
 la información sobre el préstamos que se realiza.
Diagrama E-R para el ejemplo
Estamos en un servicio de biblioteca y queremos llevar el control del
préstamo que incluya los siguientes datos:
Información sobre el usuario del servicio, datos del libro y la
información sobre el préstamos que se realiza.

usuario libro

Existe una relación muchos a muchos que hay que romper.


Relaciones
Estamos en un servicio de biblioteca y queremos llevar el control del
préstamo que incluya los siguientes datos:
Información sobre el usuario del servicio, datos del libro y la
información sobre el préstamos que se realiza.

usuario libro

Hay que romper la relación muchos a muchos, creando una relación intermedia

usuario Codigo_libro libro


Identificar la formas normales

■ Identificar entidad(es): Definir objetos como personas, lugares o


conceptos sobre los que se quiere tener información.
■ Determinar llave primaria
■ Identificar atributos: Definir las “propiedades” de cada entidad
■ Identificar llave foránea
■ Diccionario de datos.
Identificar Entidades

alumno
Entidad
Cod_alunmo

Atributos

Cardinalidad
Llave
primaria libro
Cod_libro

libro
Cod_alum_libro
Cod_libro
Cod_alunmo
Llaves
foraneas
Normalización de Bases de Datos
Para mejorar el desempeño de una base de datos, así como evitar redundancia en la información que contiene y, en
consecuencia, generar condiciones para un mejor diseño, el analista de sistemas debe conocer las formas de
normalización y condiciones en las que la desnormalización es recomendable.

En este tema se abordarán aspectos conceptuales básicos relacionados con las formas de normalización, generalmente
utilizadas en el análisis, desarrollo e implementación de sistemas de bases de datos (1FN, 2FN y 3FN); además,
particularidades y consideraciones que el analista deberá evaluar para decidir normalizar a mayor grado una base de
datos, mantener su forma normal actual o la desnormalización en un modelo relacional.

La normalización es la transformación de las vistas de usuario complejas y del almacén de datos a un juego de
estructuras de datos más pequeñas y estables. Además de ser más simples y estables, las estructuras de datos son más
fáciles de mantener que otras estructuras de datos. (Kendall, 2005)
Nueva estructura
1. Cuando diseñan una nueva estructura de bases de datos fundamentada en las necesidades de negocios de
usuarios finales.

Análisis de relaciones entre atributos


2. Después de que el diseño inicial está completo, el diseñador puede usar normalización para analizar las
relaciones que existen entre los atributos dentro de cada entidad, para determinar si la estructura se puede mejorar por
medio de normalización.

Mejora en el diseño
3. Por medio de un análisis de relaciones entre los atributos o campos de la estructura de datos, el diseñador puede
usar el proceso de normalización para mejorarla, a fin de crear un diseño apropiado de bases de datos.

Modificación de estructura
4. Para diseñar una nueva estructura de datos o modificar una ya existente, el proceso de normalización es el
mismo.
Reglas de normalización
Primera forma normal (1FN)
La primera regla de normalización se expresa generalmente en forma de dos indicaciones separadas.
1. Todos los atributos, valores almacenados en las columnas, deben ser indivisibles.
2. No deben existir grupos de valores repetidos.
El valor de una columna debe ser una entidad atómica, indivisible, excluyendo así las dificultades que podría conllevar el
tratamiento de un dato formado de varias partes.
Supongamos que tienes en una tabla una columna Dirección para almacenar la dirección completa, dato que se
compondría del nombre de la calle, el número exterior, el número interior (puerta), el código postal, el estado y la capital.

Figura 1. Tabla con un atributo divisible en varias partes


Una tabla con esta estructura plantea problemas a la hora de recuperar información. Imagina que necesitas conocer todas
las entradas correspondientes a una determinada población, o que quieres buscar a partir del código postal. Al ser la
dirección completa una secuencia de caracteres de estructura libre no resultaría nada fácil.
Existirán más columnas, pero cada una de ellas contendrá un valor simple e indivisible que facilitará la realización de las
operaciones antes mencionadas.
En cuanto a la segunda indicación, se debe evitar la repetición de los datos de la población y provincia en cada una de las
filas. Siempre que al muestrear la información de una tabla aparezcan datos repetidos, existe la posibilidad de crear una
tabla independiente con ellos.
Si el diseño de nuestra base de datos cumple estas premisas, está preparada para pasar de la primera a la segunda
forma normal.
Figura 2. Aislamiento de los datos repetitivos de una tabla en otra independiente
1FN
El término primera forma normal (1FN) describe el formato tabular en el que:
 Todos los atributos llave están definidos.
 No hay grupos repetidos en la tabla. En otras palabras, cada intersección de renglón/columna contiene un solo valor,
no un conjunto de ellos.
 Todos los atributos son dependientes de la llave primaria

Segunda forma normal (2FN)


 Además de cumplir con las dos reglas del punto previo, la segunda forma normal añade la necesidad de que no
existan dependencias funcionales parciales. Esto significa que todos los valores de las columnas de una fila deben
depender de la clave primaria de dicha fila, entendiendo por clave primaria los valores de todas las columnas que la
formen, en caso de ser más de una.

Las tablas que están ajustadas a la primera forma normal, y además disponen de una clave primaria formada por
una única columna con un valor indivisible, cumplen ya con la segunda forma normal. Ésta afecta exclusivamente a
las tablas en las que la clave primaria está formada por los valores de dos o más columnas, debiendo asegurarse,
en este caso, que todas las demás columnas son accesibles a través de la clave completa y nunca mediante una
parte de esa clave.
2FN
Una tabla está en segunda forma normal (2FN) cuando:
 Está en 1FN.
 Y también cuando no incluye dependencias parciales, esto es, ningún atributo es dependiente de sólo una parte de la
llave primaria.

Debe considerarse que todavía es posible que una tabla en 2FN exhiba dependencia transitiva; esto es, la llave primaria
puede apoyarse en uno o más atributos no primos para determinar funcionalmente otros atributos no primos, como está
indicado por una dependencia funcional entre los atributos no primos.

Tercera forma normal (3FN)


 En cuanto a la tercera forma normal, ésta indica que no deben existir dependencias transitivas entre las columnas de
una tabla, lo cual significa que las columnas que no forman parte de la clave primaria deben depender sólo de la
clave, nunca de otra columna no clave.
3FN
Una tabla está en tercera forma normal (3FN) cuando:
 Está en 2FN.
 Y también cuando no contiene dependencias transitivas.
Desnormalización
Las reglas de normalización no consideran el rendimiento. En algunos casos es necesario considerar la desnormalización
para mejorar el rendimiento. La desnormalización es la duplicación intencionada de columnas en varias tablas, lo cual
aumenta la redundancia de datos.

La normalización crea más tablas al avanzar hacia formas normales más altas, sin embargo, a mayor número de tablas,
mayor número de combinaciones al recuperar los datos; lo que contribuye a la ralentización de las consultas. Por esta
razón, para mejorar la velocidad de determinadas consultas, se pueden anular las ventajas de la integridad de datos y
devolver la estructura de los datos a una forma normal inferior.
Adicionalmente, Coronel, Morris y Rob (2011), al referir al proceso de desnormalización, señalan que la unión de muchas
tablas requiere operaciones de entrada/salida (I/O) y lógica de procesamiento adicional en el disco, con lo que se reduce
la velocidad del sistema. Por lo tanto, pueden existir circunstancias fortuitas que permitan algún grado de
desnormalización para incrementar la velocidad de procesamiento. Debemos tomar en cuenta que la ventaja de una
mayor velocidad de procesamiento debe evaluarse cuidadosamente contra la desventaja de datos anómalos.

También podría gustarte