Tema9

14
1 ING. IVAN IMAN AGURTO INGENIERIA DE SISTEMAS BASE DE DATOS I NORMALIZACION DE BASE DE DATOS Normalización La normalización, consiste en verificar el cumplimiento de cierta' reglas que aseguran la eliminación de los riesgos de diseño de una Base de Datos. Esto se hace mediante la aplicación de ciertas reglas llamadas Formas Normales, que en ocasiones producen la separación de datos en diferentes relaciones. Las relaciones resultantes deben cumplir ciertas caractesticas: Conservar la información: Conservar atributos y tuplas. Conservarlas dependencias. Pasos de la normalización: Descomponer todos los grupos de datos en registros bidimensionales. Eliminar todas las relaciones en la que los datos no dependan completamente de la clave primaria del registro. Eliminar todas las relaciones que contengan dependencias transitivas.

Transcript of Tema9

1 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

NORMALIZACION DE BASE DE DATOS Normalización

La normalización, consiste en verificar el cumplimiento de cierta' reglas que

aseguran la eliminación de los riesgos de diseño de una Base de Datos. Esto se

hace mediante la aplicación de ciertas reglas llamadas Formas Normales, que en

ocasiones producen la separación de datos en diferentes relaciones.

Las relaciones resultantes deben cumplir ciertas características:

Conservar la información: Conservar atributos y tuplas.

Conservarlas dependencias.

Pasos de la normalización:

Descomponer todos los grupos de datos en registros bidimensionales.

Eliminar todas las relaciones en la que los datos no dependan

completamente

de la clave primaria del registro.

Eliminar todas las relaciones que contengan dependencias transitivas.

INGENIERIA DE SISTEMAS BASE DE DATOS I

2 ING. IVAN IMAN AGUR

Formas Normales

Son las técnicas para prevenir las anomalías en las tablas. Dependiendo de su

estructura, una tabla puede estar en primera forma normal, segunda forma normal

o en cualquier otra.

Aplicación de la Normalización

Consideremos que deseamos crear una base de datos para crear una base de datos

para registrar las entradasde suministrosal almacén de una organización; dichas

entradas se controlanpor mediode órdenes de recepción las cuales deberán

contener los siguientes datos:

Orden de Recepción

NumOrden

Fecha : XX/XX/XXXX

RucProv :XXXXXXXXXX

RazonsocialProv:XXXXXXXXXX

DireccionProv :XXXXXXXXXX TelefonoProv : 99999999

Relacion de suministros

Codigo Descripcion Medida Cantidad Precio Importe

Totalimporte

IGV

Totalbruto

Descuento

Datos

repetitivos

TO

3 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

La lista de los atributos sería: Recepción

NumOrden

Fecha

RucProv

RazProv

DireccionProv

TelefProv

Codigo

Descripción

Medida

Precio

TotalImporte

TotalBruto

Primera Forma Normal (lNF)

La Primera Forma Normal está orientada a separar en dos o más relaciones

los grupos de datos repetitivos.

Ejemplo:

4 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

La clave concatenada, es aquella que está formada por dos atributos.

Segunda Forma Normal (2NF)

La Segunda Forma Normal, está orientada a separar en otra tabla los datos que

son funcionalmente dependientes de la clave concatenada.

Ejemplo

No se aplica

5 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

Tercera Forma Normal (3NF)

Consiste en separar en otra tabla los datos que no dependan de la clave primaria.

En esta 3NF, hemos eliminado tódos los campos que se pueden calcular, como por

ejemplo:

En Recepcion TotalImporte

IGV

TotalBruto

Descuento

TotalNeto

En Deta_recep

Importe

6 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

Forma Normal de Boyce Codd (BCNF)

Una relación está en BCNF si cada determinante es una clave candidata.

Determinante, es uno o más atributos que, de manera funcional,

(A,B), son los determinantes.

Ejemplo:

Asesoría

Esta es una relación en 3NF

Asesoría (Codigo_alumno, curso, nombre_docente)

Clave (primaria): Codigo_alumno, curso

Clave (candidata): Codigo_alumno, nombre_docente

Dependencia Funcional: nombre_docente a curso

Si decidimos eliminar al código de alumno 103, se perderá el hecho de que oza

Ante este problema, es que aplicamos BCNF.

Alumno_Docente (codigo_alumno, nombre_docente)

Clave: codigo_alumno, nombre_docente

7 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

8 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

Docente_curso(nombre_docente, curso)

Clave: nombre_docente

Si decidimos borrar el codigo de alumno 100, eliminaría solo un alum que está

9 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

Cuarta Forma Normal (4NF)

Una relación está en 4NF, si está en BCNF y no tiene dependencias valores

múltiples.

Relación con Dependencias de Valores Múltiples (DVM)

Alumno (codigo_alumno, curso, actividad)

Clave (codigo_alumno, curso, actividad)

10 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

DVM: Codigo_alumno curso

Codigo_alumno actividad

Ejemplo

Eliminación de una DVM

Alumno_curso (codigo_alumno, curso)

Clave: (codigo_alumno, curso)

Alumno_actividad (codigo_alumno, actividad)

Clave: (codigo_alumno, actividad)

11 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

12 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

Cuando eliminamos una DVM, recién se forma la 4NF.

Forma Normal Dominio ­ Clave (DKlNF)

Una relación está en DKlNF sino tiene anomalías de modificación; entonces por

definición una relación está en DKlNF si cada restricción en la relación es una

consecuencia lógica de la definición de las claves y dominios.

Restricciones: Se definen como el conjunto de reglas aplicadas a los atributos

estáticos y que es precisa para establecer si es V o F.

Clave: Único identificador de un registro (tupla)

Dominio: Descripción de los valores permitidos para el producto.

De manera informal,una relaciónesta en DK/NF, si al ejecutarlas restricciones de la

clave y el dominio provoca que se cumplan todas las restricciones.

Ejemplo:

Alumno (codigo_alumno,ciclo, universidad,pension)

Clave: codigo_alumno

Definición de Relación y clave

Alumno (codigo_alumno,ciclo, universidad,pension)

Clave:codigo_alumno

Universidad_pension (universidad, pension)

Clave:edificio

Quinta Forma Normal (SNF)

Es otro nivel de normalización que se aplica a veces, en la mayoría de los casos, no

es necesario para obtener la mejor funcionalidad de una estructura de datos o aplicación.

Sirve para elimina dependencias de proyección o reunión, que raramente se

encuentran en las Bases de Datos que manejamos.

13 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

¿Qué tan lejos debe llevar la Normalización?

La normalización es una ciencia subjetiva. Determinar las necesidades de simplificación

depende de nosotros. Si nuestra base de datos va a proveer informacióna un

solousuariopara un propósitosimpley existenpocasposibilidades de expansión,

normalizar los datos hasta la 3FN quizá sea algo exagerado. Las

14 ING. IVAN IMAN AGURTO

INGENIERIA DE SISTEMAS BASE DE DATOS I

reglas de normalización existen como guías para crear tablas que sean fáciles de

manejar, así como flexibles y eficientes. A veces puede ocurrir que normalizar

los datos hasta el nivel más alto no tenga sentido.