12
LSCA30 1 Sistemas Computacionales Administrativos. Universidad Veracruzana Facultad de Contaduría y Administración Campus Coatzacoalcos Ensayo sobre: Dependencia funcional y Normalización de Base de Datos. Elaborado por: Víctor Manuel Urbano Martínez. Programa: Sistemas Computacionales Administrativos. Profesor: Ing. Luis Ángel Alarcón Aguirre. Coatzacoalcos Veracruz a 18 de Septiembre de 2011.

normalizacion base de datos

Embed Size (px)

DESCRIPTION

en este ensayo se da una breve explicacion de la dependencia funcional y las formas de normalizacion utilizadas como bases al momento de realizar el diseño de un modelo relacional a partir de un modelo entidad- relación

Citation preview

Page 1: normalizacion base de datos

LSCA301

Sistemas Computacionales Administrativos.

Universidad Veracruzana

Facultad de Contaduría y Administración

Campus Coatzacoalcos

Ensayo sobre:

Dependencia funcional y Normalización de Base de Datos.

Elaborado por:

Víctor Manuel Urbano Martínez.

Programa:

Sistemas Computacionales Administrativos.

Profesor:

Ing. Luis Ángel Alarcón Aguirre.

Coatzacoalcos Veracruz a 18 de Septiembre de 2011.

Dependencia funcional y Normalización de Base de Datos.

Page 2: normalizacion base de datos

Sistemas Computacionales Administrativos.

El uso de las bases de datos permite a los usuarios organizar grupos de informaciones que son tratadas a través de tablas, que a su vez proporcionan estructuras capaces de decidir o tomar decisiones en relación a la información contenidas en las mismas.

Por ello, los diseñadores y administradores de las bases de datos se enfrentan a retos de diseño como la velocidad de acceso, el tamaño o tipo de la información a tratar, la facilidad de acceder a la misma y extraer dicha información, así como el comportamiento que debe tener la BD al trabajar con cada tipo de información.

Pero gracias a la experiencia de trabajar con las Bases de Datos se ha podido establecer criterios o estándares de diseño que garantizan un elevado nivel de eficiencia en cuanto al almacenamiento y recuperación de la información.

En esta ocasión nos enfocaremos solamente en la dependencia funcional y las formas de normalización que se pueden definir como teorías o reglas aplicadas a las relaciones obtenidas de paso del modelo entidad-relación al modelo relacional.

Como observamos en la imagen anterior cumplimos ciertos criterios al elaborar el modelo relacional (parte inferior de la imagen), esto es existe una dependencia de la entidad muestra a la entidad estación a través de una relación 1 a muchos.

Tomando de referencia la imagen anterior podemos establecer que una DEPENDENCIA FUNCIONAL se presenta cuando el valor de un conjunto de atributos(X) en una relación determina el valor de otros atributos (Y) en cada tupla1 en el que aparecen.

1 Tupla (registro): cada una de las filas de una relación. Contiene la información relativa a una única entidad.

Page 3: normalizacion base de datos

Sistemas Computacionales Administrativos.

En otras palabras, es un conjunto determinado de atributos que dependen de otro, representado a través de una flecha ( ). Por ejemplo:

Si conocemos el valor de la FechaDeNacimiento de un individuo podemos conocer el valor de su Edad, por lo tanto la dependencia funcional se puede representar de la siguiente manera:

donde Fecha de nacimiento se le denomina el determinante, mientras edad es denominado Implicado.

Cabe mencionar que las dependencias funcionales presentan ciertas propiedades que son representadas a través de tres axiomas denominados de Armtrong2, estas son:

Dependencia Funcional Reflexiva: se establece a partir del criterio; si “x” está incluido en “x” entonces “x” depende de “x”, esto indica que a partir de cualquier atributo o conjunto de atributos se logra determinar el mismo.

Dependencia funcional aumentativa: establece que si X depende de Y, los atributos que contenga X también estarán en Y, tal como se ejemplifica a continuación:

Si con el DNI (documento nacional de identificación) se determina el nombre de una persona, entonces con el DNI más la dirección también se determina el nombre o su dirección.

Dependencia funcional transitiva: Sean X, Y, Z tres atributos (o grupos de atributos) de la misma entidad. Si Y depende funcionalmente de X y Z de Y, pero X no depende funcionalmente de Y, se dice que Z depende transitivamente de X.

Esta dependencia la podemos representar a través del ejemplo de la fecha de nacimiento anteriormente usado, es decir, imaginemos que se nos pide establecer la relación para determinar si una persona es apta a conducir un automóvil (en México legalmente es a partir de los 18 años) y de esta manera pueda obtener su licencia de manejo la representación aplicada sería:

2 Axiomas de Armstrong: reglas de inferencia que permiten deducir todas las dependencias funcionales que tienen lugar entre un conjunto de atributos dados.

Page 4: normalizacion base de datos

Sistemas Computacionales Administrativos.

La interpretación seria que a partir de la fecha de nacimiento determinamos la edad de la persona e indirectamente podríamos saber si a esta persona se le puede otorgar una licencia de manejo (atributo conducir).

Los axiomas anteriores son los básicos pero no los únicos y tal como se observó en ejemplos son fáciles de demostrar, pero que en conjunto con las reglas de Normalización Estaremos en la posibilidad de erradicar los errores anteriormente planteados a los que se enfrenta cada diseñador:

Aplicando los criterios que deben poseer las Base de datos llegamos a la aplicación de las reglas de normalización, o el proceso de organización de datos en una base de datos que incluye la creación de tablas, estableciendo además relaciones entre las mismas tablas de acuerdo a reglas establecidas con la intención de proteger los datos y hacer flexibles la base de datos; ya que permite entre otras cosas eliminar la redundancia y dependencias incoherentes. Permitiendo con ello desperdiciar espacio en disco y problemas de mantenimiento.

Las formas normales son aplicadas a las tablas de una base de datos, cumpliendo condiciones que se denotan en cada una de ellas, es decir en cada forma normal se deben cumplir ciertas restricciones encaminadas a eliminar anomalías asociadas a las relaciones entre las mismas.

Es preciso mencionar que las formas normales fueron creadas por Edgar F. Cood y colaboración de Boyce siendo presentadas de la siguiente manera:

PRIMERA FROMA NORMAL (1FN).Establece que una tabla se encuentra en Primera Forma Normal si:

PRIMERA FORMA

NORMAL(1FN)

SEGUNDA FROMA

NORMAL(2FN)

TERCERA FORMA

NORMAL(3FN)

FORMA NORMAL DE

BOYCE -COOD(4FN)

QUINTA FORMA

NORMAL(5FN)

PRESENTADAS POR COODPRESENTADAS POR

BOYCE - COOD

Page 5: normalizacion base de datos

Sistemas Computacionales Administrativos.

a) todos sus atributos son atómicos, es decir que sean indivisibles y que no contengan múltiples valores (listas); esto incluye a los atributos multivaluados3.

b) La tabla contiene una clave primaria.c) La clave primaria no contiene atributos nulos.d) No debe de existir variación en el número de columnas.

Se debe tener en cuenta que al elaborar una tabla esta debe contener solamente un dato o valor en cada columna de lo contrario no se estaría cumpliendo con esta norma:

Esta forma normal elimina los valores repetidos dentro de una BD y para que se cumpla los datos deberían quedar de esta forma:

Otra interpretación de esta norma establece que los dominios de los atributos deben de ser valores atómicos (no puede haber más de un calor de un atributo en una tupla):

SEGUNDA FORMA NORMAL (2FN).

3 Atributo multivaluado: atributo con más de un valor para la misma entidad, puede tener límites superiores e inferiores del numero de valores por entidad.

No cumple con la norma.

De acuerdo a la 1NF la tabla tiene una clave primaria y el principal en cada columna se observa solamente un dato o valor

indivisible.

Page 6: normalizacion base de datos

Sistemas Computacionales Administrativos.

La segunda forma normal establece que para que una tabla se encuentre en 2FN, si la relación se encuentra dentro de la 1FN, y además todas las dependencias funcionales deben ser completas; es decir, todo atributo debe depender funcional y solamente de la clave al completo no de parte de ella (no existe dependencia parcial).

Es decir, debe cumplir las condiciones establecidas en la norma anterior y además los atributos que no forman parte de ninguna clave dependen de la clave principal, logrando con ello que no existan dependencias parciales.

La tabla siguiente no cumple esta condición por lo establecido anteriormente:

Debido a que Nota es la única con dependencia funcional completa, por lo cual se debe hacerse dependiente lográndose de esta manera dividir o seccionar en dos dichas tablas para cumplir con los requisitos de la norma 1FN:

Si observamos, en la siguiente tabla se distribuye la información de acuerdo al curso permitiendo con ello duplicar nuevamente los datos anteriores, ya que para su relación se utiliza el DNI como clave primaria:

TERCERA FORMA NORMAL (3FN).

Igual que la norma anterior debe contener las características de la norma que le antecede tal como se menciona a continuación: para que una tabla este en 3FN, debe estar en 2FN, además de no tener dependencias transitivas, es decir no ocurre cuando alguno de sus atributos depende funcionalmente de atributos que

Se cumple la norma 1FN.

Page 7: normalizacion base de datos

Sistemas Computacionales Administrativos.

no son claves. En caso de existir dependencias funcionales que no cumplen con esta condición, se deberá proceder a descomponer la tabla como se ilustra:

La Forma Normal de Boyce-Codd (FNBC) requiere que no existan dependencias funcionales no triviales de los atributos que no sean un conjunto de la clave candidata, nos establece que los atributos de una tabla son claves primarias dependiente de una super principal, en el ejemplo anterior sería el DNI.

CUARTA FORMA NORMAL (4FN)

Esta forma asegura que una tabla se encuentra en 4FN si para cada conjunto de dependencias, x y; x es un conjunto de claves candidatas. (Atributos multivaluados (aun habiéndolos eliminados en la primera forma normal debe comprobarse pues puede quedar incoherencias en la tabla resultante)).

No cumple la norma 3FN.

Esto significa que un campo no clave (Provincia) depende transitivamente de la clave (Cod Provincia).

Page 8: normalizacion base de datos

Sistemas Computacionales Administrativos.

Como se observa en la tabla anterior, existen atributos que se pueden separar de la misma sin ningún problema, siendo parte incluso claves primarias por ejemplo el profesor dependerá el del número de curso pero no material y sucesivamente el material se determina a partir del número de curso y no el profesor tal como se ve a continuación:

De acuerdo estas tablas evitamos la redundancia y aunque los atributos como mencione anteriormente, pueden ser claves primarias en esta norma dependen de una super clave la cual ayuda a clasificar en cada tabla sus atributos vistos en las tablas material y profesor cuya dependencia es de N° de curso.

QUINTA FORMA NORMAL (5FN).Conocida además como forma normal de proyección-unión es el nivel más alto de las formas normales y es designado para reducir las redundancias de las base de datos relacionales que guardan hechos multivaluados aislando de manera semántica relaciones múltiples relacionadas.

De manera formal establece que una tabla está en 5NF si y solo si está en 4FN y cada dependencia de unión en ella es implicada por las claves candidatas, además es usualmente usada al momento de utilizar muchos atributos y es casi inmanejable o cuando existen muchos registros y pocos atributos.

En el caso de que existan demasiados atributos se dividirá la tabla en dos empleando la misma clave en ambas tablas como se ha manejado en las primeras normas formales.

En conclusión las bases de datos exigen ciertos criterios o reglas al momento de diseñar y pasar del modelo entidad-relación al modelo relacional con la prioridad de eliminar pérdida de memoria por redundancias y datos irrelevantes o repetidos, además el proceso de normalización nos permite hacer que esos errores que el modelo entidad – relación nos pueden crear, sean inhibidos sin afectar en ningún momento a los datos que en la base se alojarán, además nos permitirá manipular con mayor eficiencia los datos, cabe

Page 9: normalizacion base de datos

Sistemas Computacionales Administrativos.

mencionar que es necesario el uso y aplicación de nuestro propio sentido común para que a los usuarios y operadores de nuestra base de datos les permita trabajar eficientemente.

cabe mencionar que el proceso de normalización nos conducirá a través de cada una de las formar normales, aunque la mayoría de los escritos leídos le da mayor prioridad a las tres primeras formas normales, debido a la complejidad de las dos últimas, algunos autores recomiendan llegar a la última debido a la facilidad que en teoría se presentaría al operar la Base de Datos lo importante de todo ello es saber identificar cada una de las dependencias implicadas4 , quedando a criterio del diseñador.

Trabajos citadosict.udlap.mx. (s.f.). http://ict.udlap.mx. Recuperado el 15 de 09 de 2011, de

http://ict.udlap.mx/people/carlos/is341/bases03.html

luis, u. n. (2006). www.dirinfo.unsl.edu.ar. Recuperado el 13 de 09 de 2011, de http://www.dirinfo.unsl.edu.ar/~oaybd1/organizacion/teorias/DepFunc-06.pdf

mitecnologico.com. (02 de 04 de 2008). www.mitecnologico.com. Recuperado el 13 de 09 de 2011, de http://www.mitecnologico.com/Main/DependenciasFuncionalesBaseDatoRelacional

unalmer.edu.co. (s.f.). www.unalmed.edu.co. Recuperado el 15 de 09 de 2011, de http://www.unalmed.edu.co/~mstabare/Dep_fnal.htm

users.dsic.upv.es. (s.f.). http://users.dsic.upv.es. Recuperado el 15 de 09 de 2011, de http://users.dsic.upv.es/~mapastor/DBD/DBDtema3(3,4,5)_2007.pdf

wikipedia.org. (14 de 09 de 2011). http://es.wikipedia.org. Recuperado el 15 de 09 de 2011, de http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos#Dependencia_funcional

4 Extracto de las consideraciones finales de Eduardo Mora y Martha Zorrilla en Base de datos universidad de Cantabria.pdf