ANALISTA PROGRAMADOR UNIVERSITARIO
UNIDAD 5: DEPENDENCIAS FUNCIONALES Y NORMALIZACION
BASE DE DATOS I
Directrices Informales en el diseño de Base de Datos
Antes de tratar la teoría formal, veremos cuatro medidas
informales de calidad para el diseño de un esquema de
relación:
▪ La semántica de los atributos.
▪ La reducción de información redundante en las tuplas.
▪ La reducción de los valores nulos en las tuplas.
▪ Prohibición de la posibilidad de generar tuplas falsas.
BASE DE DATOS I
Semántica de los atributos
Impartir una semántica clara a los atributos de las relaciones
La semántica de una relación hace referencia a la
interpretación de los valores de un atributo en una tupla.
En general, cuanto más sencillo es explicar la semántica de
la relación, mejor será el diseño del esquema de relación.
BASE DE DATOS I
Semántica de los atributos
Directriz 1
▪ Diseñar un esquema de relación para que sea fácil explicar su
significado.
▪ No combine atributos de varios tipos de entidad y tipo de
vínculos en una única relación.
▪ Si un esquema de relación corresponde a un tipo de entidades
o a un tipo de vínculos, el significado tiene que ser claro.
BASE DE DATOS I
Semántica de los atributos
Ejemplo
La facilidad con la que se pueda explicar el
significado de los atributos de una relación es una
medida informal de lo bien que está diseñada esa
relación.
BASE DE DATOS I
Semántica de los atributos
A partir del ejemplo, podría decirse que:
▪ Los esquemas tienen una interpretación bien definida
y sin ambigüedad.
▪ Por consiguiente, todo el esquema de relaciones
de la figura podría considerarse como fácil de
explicar.
▪ Por tanto, es bueno desde el punto de vista de
contar con una semántica clara.
BASE DE DATOS I
Información redundante en tuplas
Información redundante en tuplas y anomalías en la
actualización
Uno de los objetivos de un esquema de diseño es
reducir el espacio de almacenamiento utilizado por las
relaciones.
El agrupamiento de atributos en esquemas de
relación tiene un efecto significativo sobre el espacio
de almacenamiento.
BASE DE DATOS I
Información redundante en tuplas
Directriz 2
▪ Diseñar los esquemas de relación de forma que no se
presenten anomalías de inserción, borrado o actualización
en las relaciones.
▪ En caso de que aparezca alguna de ellas, anótela
claramente y asegúrese de que los programas que
actualicen la base de datos operaren correctamente.
BASE DE DATOS I
Información redundante en tuplas
Puede existir anomalías
de inserción
BASE DE DATOS I
Información redundante en tuplas
Puede existir anomalías
de actualización
BASE DE DATOS I
Información redundante en tuplas
Puede existir anomalías
de eliminación
BASE DE DATOS I
Reducción de valores nulos en las tuplas
Valores nulos en las tuplas
▪ En relaciones grandes, si muchos de los atributos no
se aplican a todas las tuplas de la relación, nos
encontraremos con muchos nulos en esas tuplas, lo
que puede desperdiciar espacio de
almacenamiento.
▪ Otro problema con los nulos es cómo
contabilizarlos cuando se aplican operaciones
de agregación como COUNT o SUM.
▪ NULL múltiples interpretaciones.
▪ En comparaciones los resultados serán impredecibles
BASE DE DATOS I
Reducción de valores nulos en las tuplas
Directriz 3
▪ Hasta donde sea posible, evite incluir en una relación
base atributos cuyos valores sean frecuentemente
nulos.
▪ En caso de no poderse evitar, asegúrese de que se
aplican sólo en casos excepcionales y no los aplique a
la mayor parte de las tuplas de una relación.
BASE DE DATOS I
Tuplas falsas
Generación de tuplas falsas
▪ Debido a un mal diseño de las relaciones pueden
generarse problemas a la hora de obtener los datos
desde varias de ellas.
▪ En estos casos, las tuplas que representan
información que no es válida reciben el nombre
de tuplas falsas.
BASE DE DATOS I
Tuplas falsas
Directriz 4
▪ Diseñar los esquemas de relación de forma que puedan
concatenarse con condiciones de igualdad en los
atributos que sean clave principal y clave foránea de
forma que se garantice que no se van a generar tuplas
falsas.
▪ Evite las relaciones que contienen atributos
coincidentes que no son combinaciones de clave
foránea y clave principal porque la concatenación de
estos atributos puede producir tuplas falsas.
BASE DE DATOS I
Normalización
Es un proceso reversible mediante el que se realiza una
descomposición progresiva de un conjunto de relaciones dadas
en sucesivos conjuntos caracterizados por presentar relaciones
cada vez más sencillas y regulares, alcanzando la estructura
óptima para su implementación, gestión y explotación desde
diferentes futuras aplicaciones.
“El objetivo de la normalización es eliminar las anomalías
detectadas en un esquema relacional de una BD cuando éste
presenta una estructura no satisfactoria.”
BASE DE DATOS I
Normalización
Después de transformar el modelo entidad-relación al modelo
relacional, es preciso normalizar dicho modelo relacional
aplicando una serie de reglas.
El proceso de normalización se hace necesario para:
▪ Evitar la redundancia de los datos y las inconsistencias.
▪ Evitar la incapacidad de almacenar ciertos datos.
▪ Evitar la ambigüedades y pérdida de información.
▪ Evitar problemas de actualización (anomalías de inserción,
borrado y modificación)de los datos en las tablas.
▪ Proteger la integridad de los datos.
BASE DE DATOS I
Normalización
Las ventajas de la Normalización de datos:
Facilidad de uso: Los datos se encuentran agrupados en tablas que
identifican claramente un objeto o una relación.
Facilidad de gestión: Los lenguajes manipulan la información d forma sencilla
mediante operaciones de álgebra y cálculo relacional aplicadas sobre las
tablas.
Integridad: Las interrelaciones establecidas entre elementos de diferentes
tablas permiten asegurar la integridad de la información almacenada.
Mínima redundancia: La información no aparece duplicada
innecesariamente dentro de las diferentes estructuras constituyentes de la BD.
Máximo rendimiento de las aplicaciones: Cada aplicación únicamente “ve”
aquella parte de la información que le sirve de utilidad.
BASE DE DATOS I
Normalización
En 1970 Codd definió la Primera, la segunda y la tercera forma
normal (INF, IINF, IIINF respectivamente).
Boyce y Codd en 1974 definieron una versión mejorada de la
IIINF, conocida como BCNF ( Boyce-Codd Normal Form), ésta
fue depurada con la definición de la cuarta forma normal
(IVNF), (Fagin 1977) y la quinta forma normal, VNF, (Fagin 1979).
BASE DE DATOS I
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.
Se lee: X determina o implica a Y
Y depende funcionalmente de X
Por ejemplo el nombre de una persona depende
funcionalmente del DNI, para un DNI concreto sólo hay un
nombre posible.
Al conjunto X del que depende funcionalmente el conjunto Y se
le llama determinante. Al conjunto Y se le llama implicado.
BASE DE DATOS I
Dependencia funcional
Las dependencias funcionales tienen las siguientes
características:
▪ Son propiedades inherentes al contenido semántico de los
datos, que se han de cumplir para cualquier extensión del
esquema de relación.
▪ Se trata de restricciones de integridad que permiten
conocer qué interrelaciones existen entre los atributos del
mundo real.
▪ Existen otras restricciones de integridad que no se pueden
expresar por medio de dependencias.
▪ Siempre se estudian en el ámbito de una relación.
▪ Son invariantes en el tiempo.
BASE DE DATOS I
Primera forma Normal
La primera forma normal (1FN) es una restricción Inherente al
modelo relacional, por lo que su cumplimiento es obligatorio y
afecta al número de valores que pueden tomar los atributos
de una relación.
Una relación R se encuentra en primera forma normal (1FN)
▪ si y sólo si todos los dominios simples subyacentes contienen
solo valores atómicos.
BASE DE DATOS I
Primera Forma Normal
1º Se localizan los atributos que construyen la Clave primaria de
la relación
2° Se descompone la relación realizando una proyección:
a) Se crea una relación con la clave y los atributos
monovaluados y simples. Dicha relación permanece con el
nombre que identifica a la relación a normalizar.
b) Se crea una nueva relación por cada uno de los atributos múltiples,
estando formada por la clave de la relación y dicho atributo. La
clave de esta nueva relacion proyectada esta formada por ambos
atributos.
BASE DE DATOS I
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.
BASE DE DATOS I
La segunda forma normal (2FN) está basada en el concepto
de dependencia plena y en la relaciones existentes entre los
atributos principales y no principales de una relación.
Una relación R se encuentra en segunda forma normal (2FN)
▪ si y sólo si está en primera forma normal
▪ y todos los atributos no clave, dependen funcionalmente
de forma completa de la clave primaria.
BASE DE DATOS I
Segunda Forma Normal
En el ejemplo para que esté en
2FN, se debe descomponer
la relación R en dos relaciones
DNI → Nombre Apellido
DNI,CodCurso → Nota
BASE DE DATOS I
Se 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)
BASE DE DATOS I
La tercera forma normal (3FN) está basada en el concepto
de dependencia transitiva.
Se dice que una relación está en tercera forma normal
▪ si y sólo si está en segunda forma normal
▪ ningún atributo que no sea clave depende
transitivamente de las claves de la relación. Es decir no
ocurre cuando algún atributo depende funcionalmente
de atributos que no son clave
BASE DE DATOS I
Tercera Forma Normal
En el ejemplo para que esté
en 3FN, se debe descomponer
la relación R en dos relaciones
DNI → Nombre, Apellido, CodProvincia
CodProvincia→ Provincia