Normalizacion

42
Normaliza ción Albino Quiroz Cercado. Jonathan Menor More

Transcript of Normalizacion

Page 1: Normalizacion

Normalización Albino Quiroz Cercado.

Jonathan Menor More

Page 2: Normalizacion

1.DEFINICION

La normalización es el proceso de elaborar, aplicar y mejorar las normas que se aplican a distintas actividades científicas, industriales o económicas con el fin de ordenarlas y mejorarlas. La asociación estadounidense para pruebas de materiales (ASTM) define la normalización como el proceso de formular y aplicar reglas para una aproximación ordenada a una actividad específica para el beneficio y con la cooperación de todos los involucrados.

Page 3: Normalizacion

Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Disminuir 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, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:

Cada tabla debe tener su nombre único. No puede haber dos filas iguales. No se permiten los

duplicados. Todos los datos en una columna deben ser del mismo tipo.

Page 4: Normalizacion

1.DEPENDENCIAS 

Antes de entrar en el tópico principal de dependencia, vamos a rever algunos conceptos acerca de los individuos y acerca de las tuplas que los describen en la base de datos relacional (BDR). Restringiremos la discusión a la BDR, si bien la misma se aplica igualmente a las otras arquitecturas. Los individuos tienen muchos atributos que pueden ser de interés a diferentes personas en diferentes momentos. Nuestro problema actual es con una sola aplicación o conjunto de aplicaciones: solemne son de interés algunos de los atributos. 

Page 5: Normalizacion

Los símbolos aplicables a la relación han sido introducidos previamente. 

R es una tupla general o vector que describe a un individuo. R es una relación, una matriz o un conjunto de vectores que pertenecen la población de

interés. U es el universo consistente en todas las posibles descripciones individuales, obtenido

mediante una combinación exhaustiva de los valores a atributos. La tupla general toma la siguiente forma 

R = (a, b, c, ...., n)  La pertenencia con respecto a relaciones, tuplas y universos se indica mediante. Con respecto a los atributos: 

A es el símbolo del nombre de un atributo a es el símbolo de un valor del atributo.

Page 6: Normalizacion

Campo de aplicación Estamos interesados en relaciones dependientes entre atributos de los individuos en una o varias poblaciones. Consideramos a los atributos D, E, y F. La dependencia es una relación funcional tal que los valores de una (o más de una) de las variables determina y fija el valor de las otras variables en la relación dependiente. Consideramos el caso en el que E y F dependen de D. Esto se describe más brevemente en forma simbólica: 

e = e (d) f = f(d)Existen tres tipos distintos de dependencia. 

Total uno-uno-sinónimo. Completa – subtupla. Transitiva - múltiple.

Page 7: Normalizacion

Dependencia Total Consideremos los atributos x e y. Cada valor de x tiene uno y solo un valor de y asociados a él; e inversamente, dado un valor de y existe solamente un valor de x asociado a éste. Se trata de una función unitaria de una variable tanto en sentido directo como inverso y por lo tanto se denomina dependencia total. Otra forma de expresar lo mismo es decir que x e y son sinónimos; ambas expresiones son equivalentes.

Page 8: Normalizacion

Ejemplo con claveSi una de las variables es al mismo tiempo la clave, como consecuencia todo valor de ambas variables es único en cualquier tupla de la relación. Por ejemplo, consideremos un archivo de personal donde cada uno de los empleados es identificado de tres maneras.

Su nombre Su número de seguridad social Su número de empleado

 Los tres pueden representar una dependencia total. Tanto el número de seguridad social como el número de empleado identifican al individuo en forma única. El número de seguridad social atañe a la población completa de trabajadores de los Estados Unidos. El número de empleado se aplica solamente al personal de una empresa en particular. El nombre puede no ser totalmente único y la dependencia total existe solamente cuando cada empleado tiene un nombre único.

Page 9: Normalizacion

El concepto de dependencia completa se aplica solamente cuando: 

Tenemos más de dos variables, y Una variable dependiente depende de dos o más variablesindependientes.

 Consideramos una relación que abarca las variables P, Q y R. Supongamos que P es la variable dependiente. Si el valor de P está determinado por una función de Q y R combinados, se trata de una dependencia completa. Esto es, el valor de P no depende únicamente ni de Q ni de R.Vamos a repetir esto simbólicamente. El valor de P es completamente dependiente de los valores de q y r. 

p = p (q,r)

Page 10: Normalizacion

Dependencia transitiva La dependencia transitiva se aplica o tres o más variables. Consideremos el caso de solo tres variables y llamémoslas S, T y V.Diremos que S es la variable independiente si los valores de S determinan tanto a T como a V, y se simbolizará así: 

S ----> T; S ----> V Sin embargo, sería deseable encontrar una relación más restrictiva o definida.Tenemos dependencia transitiva cuando S determina a T y V, pero los valores de V pueden considerarse siempre como dependiendo de los valores de T. Esto puede escribirse como

S ----> T; T ---->o alternativamente como

v = v(t); t = t(s) v = v(t(s))

Page 11: Normalizacion

Reducción Si podemos manejar las dependencias transitivas, podremos reducir el espacio total requerido para almacenar los datos. Varios valores de S pueden generar un único valor de T. De modo similar, pueden existir varios valores de T asociados solamente con un valor de V. La separación de estas relaciones permite conservar espacios. Esto puede observarse mejor con respecto al ejemplo que se describe más abajo.

Page 12: Normalizacion

1.FORMAS DE NORMALIZACIONPRIMERA FORMA NORMAL (1FN)

La primera forma normal (1FN o forma mínima) es una forma normal usada en normalización de bases de datos. Una tabla de base de datos relacional que se adhiere a la 1FN es una que satisface cierto conjunto mínimo de criterios. Estos criterios se refieren básicamente a asegurarse que la tabla es una representación fiel de una relación1 y está libre de "grupos repetitivos".2

Page 13: Normalizacion

Un diseño que está inequívocamente en 1FN hace uso de dos tablas: una tabla de cliente y una tabla de teléfono del cliente.

ClienteID Cliente

Nombre Apellido

123 Rachel Ingram456 James Wright789 Cesar Dure

Teléfono del clienteID Cliente Teléfono123 555-861-

2025456 555-403-

1659456 555-776-

4100789 555-808-

9633

Page 14: Normalizacion

SEGUNDA FORMA NORMAL (2FN) 

La segunda forma normal (2NF) es una forma normal usada en normalización de bases de datos. La 2NF fue definida originalmente por E.F. Codd1 en 1971. Una tabla que está en la primera forma normal (1NF) debe satisfacer criterios adicionales para calificar para la segunda forma normal. Específicamente: una tabla 1NF está en 2NF si y solo si, dada una clave primaria y cualquier atributo que no sea un constituyente de la clave primaria, el atributo no clave depende de toda la clave primaria en vez de solo de una parte de ella.

Page 15: Normalizacion

Habilidades de los empleados

Empleado Habilidad Lugar actual de trabajo

Jones Mecanografía 114 Main Street

Jones Taquigrafía 114 Main Street

Jones Tallado 114 Main Street

Bravo Limpieza ligera 73 Industrial Way

Ellis Alquimia 73 Industrial Way

Ellis Malabarismo 73 Industrial Way

Harrison Limpieza ligera 73 Industrial Way

Page 16: Normalizacion

Una alternativa 2NF a este diseño representaría la misma información en dos tablas:

EmpleadosEmpleado

Lugar actual de trabajo

Jones 114 Main StreetBravo 73 Industrial WayEllis 73 Industrial WayHarrison

73 Industrial Way

Habilidades de los empleadosEmpleado

Habilidad

Jones MecanografíaJones TaquigrafíaJones TalladoBravo Limpieza ligeraEllis AlquimiaEllis MalabarismoHarrison

Limpieza ligera

Page 17: Normalizacion

Las anomalías de actualización no pueden ocurrir en estas tablas, las cuales están en 2NF.

Sin embargo, no todas las tablas 2NF están libres de anomalías de actualización. Un ejemplo de una tabla 2NF que sufre de anomalías de actualización es:

Ganadores del torneoTorneo Año Ganador Fecha de nacimiento del

ganadorDes Moines

Masters1998 Chip Masterson 14 de marzo de 1977

Indiana Invitational 1998 Al Fredrickson 21 de julio de 1975Cleveland Open 1999 Bob Albertson 28 de septiembre de 1968

Des Moines Masters

1999 Al Fredrickson 21 de julio de 1975

Indiana Invitational 1999 Chip Masterson 14 de marzo de 1977

Page 18: Normalizacion

TERCERA FORMAL NORMAL (3FN)

La tercera forma normal (3NF) es una forma normal usada en la normalización de bases de datos. La 3NF fue definida originalmente por E.F. Codd1 en 1971. La definición de Codd indica que una tabla está en 3NF si y solo si las tres condiciones siguientes se cumplen: La tabla está en la segunda forma normal (2NF) Ningún atributo no-primario de la tabla es dependiente transitivamente de

una clave primaria Es una relación que no incluye ningún atributo claveUn atributo no-primario es un atributo que no pertenece a ninguna clave candidata. Una dependencia transitiva es una dependencia funcional X → Z en la cual Z no es inmediatamente dependiente de X, pero sí de un tercer conjunto de atributos Y, que a su vez depende de X. Es decir, X → Z por virtud de X → Y e Y → Z.

Page 19: Normalizacion

Una formulación alternativa de la definición de Codd, dada por Carlo Zaniolo2 en 1982, es ésta: Una tabla está en 3NF si y solo si, para cada una de sus dependencias funcionales X → A, por lo menos una de las condiciones siguientes se mantiene: X contiene A, ó X es una superclave, ó A es un atributo primario (es decir, A está contenido dentro de

una clave candidata)La definición de Zaniolo tiene la ventaja de dar un claro sentido de la diferencia entre la 3NF y la más rigurosa forma normal de Boyce-Codd (BCNF). La BCNF simplemente elimina la tercera alternativa ("A es un atributo primario").

Page 20: Normalizacion

Ganadores del torneoTorneo Año Ganador Fecha de nacimiento

del ganadorIndiana Invitational

1998 Al Fredrickson

21 de julio de 1975

Cleveland Open 1999 Bob Albertson

28 de septiembre de 1968

Des Moines Masters

1999 Al Fredrickson

21 de julio de 1975

Indiana Invitational

1999 Chip Masterson

14 de marzo de 1977

Un ejemplo de una tabla 2NF que falla en satisfacer los requerimientos de la 3NF es:

Page 21: Normalizacion

La única clave candidata es {Torneo, Año}.

La violación de la 3NF ocurre porque el atributo no primario Fecha de nacimiento del ganador es dependiente transitivamente de {Torneo, Año} vía el atributo no primario Ganador. El hecho de que la Fecha de nacimiento del ganador es funcionalmente dependiente en el Ganador hace la tabla vulnerable a inconsistencias lógicas, pues no hay nada que impida a la misma persona ser mostrada con diferentes fechas de nacimiento en diversos registros.

Para expresar los mismos hechos sin violar la 3NF, es necesario dividir la tabla en dos:

Page 22: Normalizacion

Ganadores del torneoTorneo Año GanadorIndiana Invitational

1998 Al Fredrickson

Cleveland Open 1999 Bob AlbertsonDes Moines Masters

1999 Al Fredrickson

Indiana Invitational

1999 Chip MastersonFecha de nacimiento del jugadorGanador Fecha de nacimientoChip Masterson

14 de marzo de 1977

Al Fredrickson 21 de julio de 1975Bob Albertson 28 de septiembre de 1968Las anomalías de actualización no pueden ocurrir en estas tablas, las cuales están en 3NF.

Page 23: Normalizacion

FORMA NORMAL BOYCE-CODD 

La Forma Normal de Boyce-Codd (o FNBC) es una forma normal utilizada en la normalización de bases de datos. Es una versión ligeramente más fuerte de la Tercera forma normal (3FN). La forma normal de Boyce-Codd requiere que no existan dependencias funcionales no triviales de los atributos que no sean un conjunto de la clave candidata. En una tabla en 3FN, todos los atributos dependen de una clave, de la clave completa y de ninguna otra cosa excepto de la clave (excluyendo dependencias triviales, como A→A{\displaystyle A\to A}). Se dice que una tabla está en FNBC si y solo si está en 3FN y cada dependencia funcional no trivial tiene una clave candidata como determinante. En términos menos formales, una tabla está en FNBC si está en 3FN y los únicos determinantes son claves candidatas. 

Page 24: Normalizacion

CUARTA FORMA NORMAL (4FN) La cuarta forma normal (4NF) es una forma normal usada en la normalización de bases de datos. La 4NF se asegura de que las dependencias multivaluadas independientes estén correctas y eficientemente representadas en un diseño de base de datos. La 4NF es el siguiente nivel de normalización después de la forma normal de Boyce-Codd(BCNF). Una tabla está en 4NF si y solo si esta en Tercera forma normal o en BCNF (Cualquiera de ambas) y no posee dependencias multivaluadas no triviales. La definición de la 4NF confía en la noción de una dependencia multivaluada. Una tabla con una dependencia multivaluada es una donde la existencia de dos o más relaciones independientes muchos a muchos causa redundancia; y es esta redundancia la que es suprimida por la cuarta forma normal.

Page 25: Normalizacion

Permutaciones de envíos de pizzasRestaurante Variedad de Pizza Área de envíoVincenzo's Pizza Corteza gruesa SpringfieldVincenzo's Pizza Corteza gruesa ShelbyvilleVincenzo's Pizza Corteza fina SpringfieldVincenzo's Pizza Corteza fina ShelbyvilleElite Pizza Corteza fina Capital CityElite Pizza Corteza rellena Capital CityA1 Pizza Corteza gruesa SpringfieldA1 Pizza Corteza gruesa ShelbyvilleA1 Pizza Corteza gruesa Capital CityA1 Pizza Corteza rellena SpringfieldA1 Pizza Corteza rellena ShelbyvilleA1 Pizza Corteza rellena Capital City

Page 26: Normalizacion

Para satisfacer la 4NF, debemos poner los hechos sobre las variedades de pizza ofrecidas en una tabla diferente de los hechos sobre áreas de envío:

Variedades por restauranteRestaurante Variedad de

pizzaVincenzo's Pizza

Corteza gruesa

Vincenzo's Pizza

Corteza fina

Elite Pizza Corteza finaElite Pizza Corteza rellenaA1 Pizza Corteza gruesaA1 Pizza Corteza rellena

Áreas de envío por restaurante

Restaurante Área de envíoVincenzo's Pizza SpringfieldVincenzo's Pizza ShelbyvilleElite Pizza Capital CityA1 Pizza SpringfieldA1 Pizza ShelbyvilleA1 Pizza Capital City

Page 27: Normalizacion

QUINTA FORMA NORMAL (5FN) La quinta forma normal (5FN), también conocida como forma normal de proyección-unión (PJ/NF), es un nivel de normalización de bases de datos diseñado para reducir redundancia en las bases de datos relacionales que guardan hechos multi-valores aislando semánticamente relaciones múltiples relacionadas. Una tabla se dice que está en 5NF si y sólo si está en 4NF y cada dependencia de unión (join) en ella es implicada por las claves candidatas.

Page 28: Normalizacion

Psiquiatra-para-Asegurador-para-CondiciónPsiquiatra Asegurador CondiciónDr. James Healthco AnsiedadDr. James Healthco DepresiónDr. Kendrick FriendlyCare OCDDr. Kendrick FriendlyCare AnsiedadDr. Kendrick FriendlyCare DepresiónDr. Lowenstein FriendlyCare EsquizofreniaDr. Lowenstein Healthco AnsiedadDr. Lowenstein Healthco DemenciaDr. Lowenstein Victorian Life Trastorno de

conversión

Page 29: Normalizacion

Con estas restricciones es posible dividir la relación en tres partes

Psiquiatra para Condición

Psiquiatra CondiciónDr. James AnsiedadDr. James DepresiónDr. Kendrick

OCD

Dr. Kendrick

Ansiedad

Dr. Kendrick

Depresión

Dr. Lowenstein

Esquizofrenia

Dr. Lowenstein

Ansiedad

Dr. Lowenstein

Demencia

Dr. Lowenstein

Trastorno de conversión

Psiquiatra para Asegurador

Psiquiatra Asegurador

Dr. James Healthco

Dr. Kendrick

FriendlyCare

Dr. Lowenstein

FriendlyCare

Dr. Lowenstein

Healthco

Dr. Lowenstein

Victorian Life

Asegurador para Condición

Asegurador CondiciónHealthco AnsiedadHealthco DepresiónHealthco DemenciaFriendlyCare

OCD

FriendlyCare

Ansiedad

FriendlyCare

Depresión

FriendlyCare

Trastorno emocional

FriendlyCare

Esquizofrenia

Victorian Life

Trastorno de conversión

Page 30: Normalizacion

1. RESUMEN 

La normalización son una serie de reglas que se aplican al modelo relacional para evitar problemas como redundancia, ambigüedades, pérdida de restricciones de integridad, anomalías de operaciones de modificación de datos.  Redundancia. Se llama así a los datos que se repiten continua e

innecesariamente por las tablas de las bases de datos. Ambigüedades. Datos que no clarifican suficientemente el registro al

que representan. Pérdida de restricciones de integridad. Anomalías en operaciones de modificación de datos. El hecho de

que al insertar un solo elemento haya que repetir tuplas en una tabla para variar unos pocos datos. O que eliminar un elemento suponga eliminar varias tuplas.

Page 31: Normalizacion

FORMAS NORMALES Las formas normales se corresponden a una teoría de normalización. Codd definió en 1970 la primera forma normal, desde ese momento aparecieron la segunda, tercera, la Boyce-Codd, la cuarta y la quinta forma normal.Una tabla puede encontrarse en primera forma normal y no en segunda forma normal, pero no al contrario. Es decir los números altos de formas normales son más restrictivos (la quinta forma normal cumple todas las anteriores).

Page 32: Normalizacion

Primera forma normalUn esquema cumple con la primera forma normal si cualquier atributo de la tabla pueda tomar más de un valor.

Como puede observarse en la tabla anterior, el atributo Departamento guarda dos valores en la segunda tupla, por esta razón no se encuentra la tabla en la primera forma normal. La siguiente tabla si cumple con la primera forma normal.

Page 33: Normalizacion

Dependencia funcional

Se dice que un conjunto de atributos (Y) depende funcionalmente de otro conjunto de atributos (X) si para cada valor de X hay un único valor posible para Y. Simbólicamente se denota por X→Y.Por ejemplo el nombre de una persona depende funcionalmente del DNI, para un DNI concreto sólo hay un nombre posible. En la tabla ejemplo anterior, el departamento no tiene dependencia funcional, ya que para un mismo DNI puede haber más de un departamento posible.Al conjunto X del que depende funcionalmente el conjunto Y se le llama determinante. Al conjunto Y se le llama implicado.

Page 34: Normalizacion

Dependencia funcional completa

Un conjunto de atributos (Y) tiene una dependencia funcional completa sobre otro conjunto de atributos (X) si Y tiene dependencia funcional de X y además no se puede obtener de X un conjunto de atributos más pequeño que consiga una dependencia funcional de Y.Por ejemplo en una tabla de clientes, el conjunto de atributos formado por el nombre y el DNI producen una dependencia funcional sobre el atributo apellidos. Pero no es plena ya que el DNI sólo también produce una dependencia funcional sobre apellidos. El DNI sí produce una dependencia funcional completa sobre el campo apellidos.Una dependencia funcional completa se denota como X=>Y

Page 35: Normalizacion

Dependencia funcional elementalSe produce cuando X e Y forman una dependencia funcional completa y además Y es un único atributo. Es más compleja de explicar, pero tiene también utilidad. Dependencia funcional transitivaSe produce cuando tenemos tres conjuntos de atributos X, Y y Z. Y depende funcionalmente de X (X→Y), Z depende funcionalmente de Y (Y→Z). Además X no depende funcionalmente de Y. Entonces ocurre que X produce una dependencia funcional transitiva sobre Z. Esto se denota como: (X-→Z) Por ejemplo si X es el atributo Número de Clase de un instituto, e Y es el atributo Código Tutor. Entonces X→Y (el tutor depende funcionalmente del número de clase). Si Z representa el Código del departamento, entonces Y→Z (el código del departamento depende funcionalmente del código tutor, cada tutor sólo puede estar en un departamento). Como no ocurre que Y→X (el código de la clase no depende funcionalmente del código tutor, un código tutor se puede corresponder con varios códigos de clase).

Page 36: Normalizacion

Segunda forma normalOcurre si una tabla está en primera forma normal y además cada atributo que no sea clave, depende de forma funcional completa respecto de cualquiera de las claves. Toda la clave principal debe hacer dependientes al resto de atributos, si hay atributos que depende sólo de parte de la clave, entonces esa parte de la clave y esos atributos formarán otra tabla. Tercera forma normalOcurre cuando una tabla está en 2FN y además ningún atributo que no sea clave depende transitivamente de las claves de la tabla. Es decir no ocurre cuando algún atributo depende funcionalmente de atributos que no son clave. Forma normal de boyce coddOcurre si una tabla está en tercera forma normal y además todo determinante es una clave candidata.

Page 37: Normalizacion

Dependencia multivaluadaPara el resto de formas normales (las diseñadas por Fagin, mucho más complejas), es importante definir este tipo de dependencia, que es distinta de las funcionales. Si las funcionales eran la base de la segunda y tercera forma normal (y de la de Boyce-Codd), éstas son la base de la cuarta forma normal. Una dependencia multivaluada de una tabla con atributos X, Y, Z de X sobre Z (es decir X->>Z) ocurre cuando los posibles valores de Y sobre cualquier par de valores X y Z dependen sólo del valor de X y son independientes de Z. Cuarta forma normalOcurre esta forma normal cuando una tabla está en forma normal de Boyce Codd y toda dependencia multivaluada es una dependencia funcional. Un teorema de Fagin indica cuando hay tres pares de conjuntos de atributos X, Y y Z si ocurre X->>Y|Z (Y y Z tienen dependencia multivaluada sobre X), entonces las tablas X,Y y X,Z reproducen sin perder información lo que poseía la tabla original. Este teorema marca la forma de dividir las tablas hacia una 4FN

Page 38: Normalizacion

Quinta forma normalEs la más compleja y polémica de todas. Polémica pues no está claro en muchas ocasiones que sea una solución mejor que el no llegar a este nivel de normalización. Fue definida también por Fagin. Es raro encontrarse este tipo de problemas cuando la normalización llega a 4FN. Se deben a restricciones muy concretas.

Page 39: Normalizacion

1. RECOMENDACIONES 

Principalmente vemos la necesidad de conocer cada día más el entorno de las bases de datos. Aprender de manera didáctica y autodidactica con mayor dedicación.

Es necesario conocer que la implementación del código debe estar bien estructurado para evitar algunas redundancias innecesarias.

Conocer las especificaciones que nos presenta cuando estructuramos las tablas de cada base de datos, realizando nuestro trabajo más práctico y sencillo.

Page 40: Normalizacion

1. CONCLUSIONES 

A través del desarrollo de las prácticas en laboratorio he conocido las ventajas de las bases de datos que se superponen a los sistemas de archivos del pasado, como sabemos todo evoluciona es así como el modelo relacional que implementa SQL, nos da una excelente herramienta en la administración, seguridad y fiabilidad de los datos.

Por lo tanto se sabe que conocer el proceso interno, la estructura he implementación de base de datos nos muestra la importancia que realizan en el mundo laboral, y como cada ente que las utiliza es dependiente de ellas.

Page 41: Normalizacion

1. APRECIACION DEL EQUIPO Sirve para desarrollar y modelar problemas reales y administrar datos dinámicamente.La idea principal es el uso de las relaciones. 

2. LINKOGRAFIA 

https://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos https://es.wikipedia.org/wiki/Normalizaci%C3%B3n http://www.monografias.com/trabajos5/norbad/norbad.shtml https://es.wikipedia.org/wiki/Primera_forma_normal https://es.wikipedia.org/wiki/Segunda_forma_normal https://es.wikipedia.org/wiki/Tercera_forma_normal https://es.wikipedia.org/wiki/Forma_normal_de_Boyce-Codd https://es.wikipedia.org/wiki/Cuarta_forma_normal https://es.wikipedia.org/wiki/Quinta_forma_normal http://bdaranda.blogspot.pe/2011/10/resumen-normalizacion.html https://portafoliobd.wordpress.com/conclusiones-y-recomendaciones/

 

Page 42: Normalizacion

Gracias