Tema 8 - Normalización de Bases de Datos Relacionales PDF

Title Tema 8 - Normalización de Bases de Datos Relacionales
Course Sistemas De Bases De Datos I
Institution Universidad Pontificia de Salamanca
Pages 3
File Size 86.3 KB
File Type PDF
Total Downloads 14
Total Views 137

Summary

Apuntes del tema 8...


Description

Sistemas de Bases de Datos

8.1. 8.2. 8.3.

Tema 8. Normalización de Bases de Datos Relacionales El Proceso de Normalización Formas Normales Normalización por medio de Dependencias Funcionales

8.1.

El Proceso de Normalización

Tema 8

El Proceso de Normalización surge cuando las bases de datos aparecen para mejorar el rendimiento de las aplicaciones que manejaban diferentes subconjuntos de datos. Este proceso de normalización busca ayudar a diseñar las bases de datos con el objetivo de tener un diseño óptimo tanto para las necesidades actuales como para las necesidades futuras. Este proceso de normalización consiste en aplicar una serie de normas tras las cuales generará un conjunto de tablas que conformará la utilización óptima de la base de datos. En función de las normas que vayan cumpliendo los datos, podremos clasificar cada tabla en lo que se conoce como formas normales, que no es más que una tabla cumpla una normativa. Son: 1ª forma normal, 2ª forma normal, 3ª forma normal, Forma Normal Boyce Codd (FNBC), 4ª forma normal y 5ª forma normal. Para aplicar este proceso de normalización basamos en que los datos son independientes de las aplicaciones y que cada una de las tablas sólo estén los atributos indispensables. 8.2.

Formas normales

Una tabla se encuentra en una forma normal cuando cumple una serie de características. Se dice que una tabla está en 1ª forma normal si tiene una clave y todos sus atributos tienen un valor elemental (no hay dos mails, o dos nombres, …). (Expte, NomAl, Dir, Mail) Una tabla está en 2ª forma normal cuando está en 1ª forma normal y los atributos que no forman parte de la tabla dependen de toda la clave de la tabla. Si la clave es simple y está en 1ª forma normal también estará en 2ª forma normal. La 3ª forma normal elimina la transitividad entre los atributos que no forman parte de la clave. Tiene que estar también en 2ª forma normal. Las otras tres formas normales surgen ante anomalías en el funcionamiento de las bases de datos. La forma normal de Boyce Codd evita que cuando la clave está compuesta haya un atributo que determine parte de la clave.

1

Sistemas de Bases de Datos

Tema 8

La 4ª forma normal precisa que cuando existan dependencias multivaluadas se creará una tabla sin atributos que tendrá por clave los atributos que participan en las dependencias. La 5ª forma normal establece que en el modelo relacional para evitar inconsistencias las uniones deben de hacerse a través de las claves de los esquemas. Para optimizar el rendimiento de la base de datos se considera que todos los esquemas deben estar en la 3ª forma normal. Hay autores que incluyen la forma normal de Boyce Codd como punto de referencia.

8.3.

Normalización por medio de Dependencias Funcionales

Una dependencia funcional se expresa de la forma X -> Y que quiere decir que conocido el valor de x conoceremos un único valor de y. Para representar un problema de base de datos, éste se reduce a encontrar T {los atributos que quiero obtener en la base de datos} y L {las dependencias funcionales}. Llamaremos cierre de un conjunto de dependencias funcionales y lo representaremos por L+ al conjunto de dependencias funcionales que se puede hallar a partir de él. Definimos descriptor como X a un subconjunto de atributos incluido en T. Definimos cierre de un descriptor, X+, al conjunto de atributos que puedo conocer utilizando las dependencias funcionales L. Defino clave como un descriptor cuyo cierre me proporciona todos los atributos de T. Definimos dependencia funcional elemental como la dependencia funcional X -> A donde A es un atributo único no incluido en X que depende de todo X. A la hora de modelizar un problema, es posible que dos personas lo vean de forma diferente. Sin embargo, ante ambas visiones, la forma de unificarlas es calculando su recubrimiento minimal (minimal cover). Este recubrimiento minimal este permite disponer en L de un conjunto de dependencias funcionales que no sean redundantes y que sean dependencias funcionales elementales de manera que esta transformación sea una tranformación conocida como una descomposición sin pérdida de información, cuyo término es lossless join decomposition. Los pasos a seguir para alcanzar un recubrimiento minimal son: 1. Transformamos las dependencias funcionales compuestas en simples. 2. Elimino redundancia a través de dependencias funcionales, para lo cuál observo si puedo eliminar una dependencia funcional X ->. Para ver si la puedo eliminar calculo el cierre de X sin esa dependencia y si encuentro la misma información la elimino.

2

Sistemas de Bases de Datos

Tema 8

3. Observo la redundancia a nivel de atributos. Cuando la parte izquierda de una dependencia funcional tenga más de un elemento, se observa si podemos obtener la información final sin alguno de sus atributos. En cuyo caso, se transforma la dependencia funcional. Cálculo de claves: Una vez conocido el recubrimiento minimal, el siguiente paso para diseñar una base de datos normalizada es conocer la clave del esquema relacional. Todo esquema relacional va a tener siempre una clave que será la clave universal que estará formada por todos los atributos del esquema relacional. Sin embargo, existen diversos algoritmos que permiten obtener una clave con un menor número de atributos al objeto de poder alcanzar todo el conocimiento del esquema relacional con el menor subconjunto de información. Uno de estos algorítmos simplifica el problema de calcular las claves de un esquema DTL en calcular las clvaes de esquemas más pequeños y luego unir los mismos. Para ejecutar esta descomposición, nos vamos a apoyar en dos relaciones entre dependencias funcionales. Por una parte, la relación de adyacencia que estima que dos dependencias funcionales son adyacentes si tiene al menos un atributo común. En cuyo caso, la relación obtendrá un 1. Si no fuese así, obtendríamos un 0. Por otra parte, la relación de conexión que calcula el cierre transitivo de la relación de adyacencia y contendrá un 1 en aquellas dependencias funcionales que estén conectadas. A partir de esta relación de conexión, procederemos a particionar el esquema general tomando para confeccionar los subesquemas aquellas dependencias funcionales que presenten las mismas filas o columnas. Obtenida la partición, procederemos a calcular sus claves y facilitaremos la clave total. Algoritmo de Ullman: proporciona … de alcanzar un diseli en tercera forma normal pariendo de un recubrimiento binimal y de una clave del esquema. Para realizar este diseño, el algoritmo asocia un subesquema a cada una de las dependencias funcionales; uniendo aquellos subesquemas que presenten la misma parte izquierda. Cada subesquema configurará un esquema relacional que tendrá por clave la parte izquierda de la dependencia y por atributos los que conformen la parte derecha. Finalmente, el algoritmo comprueba si toda la clave está incluida en algún subesquema. En caso contrario, creará un nuevo subesquema con todos los atributos de la clave.

3...


Similar Free PDFs