1. Descomposición y
Normalización
2. Dependencia
3.
Normalización
5. Segunda Forma
Normal
6. Tercera Forma
Normal
7. Cuarta Forma
Normal
1. Descomposición y
Normalización
Siempre que un analista de sistemas de base
de datos arma una
base de datos,
queda a su cargo descomponer dicha base en grupos y
segmentos de registros. Este
proceso es la
descomposición; el mismo es necesario independientemente
de la arquitectura de
la base de datos –
relacional, red o jerárquica-.
Sin embargo, para la base de datos relacional, la acción
correspondiente puede dividirse y expresarse en términos
formales y se denomina normalización a la misma.
La normalización convierte una relación
en varias sub-relaciones, cada una de las cuales obedece a
reglas. Estas reglas se describen en términos de
dependencia. Una vez que hayamos examinado las distintas formas
de dependencia, encontraremos procedimientos a
aplicar a las relaciones de modo tal que las mismas puedan
descomponerse de acuerdo a la dependencia que prevalece. Esto no
llevará indefectiblemente a formar varias subrelaciones a
partir de la única relación
preexistente.
Significado :
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.
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.
Dominio (A) es el
dominio para
el atributo cuyo nombre es A.
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.
La dependencia es una relación funcional que
penetra en el universo de
posibilidades. La dependencia no puede deducirse solamente de los
datos de nuestra, ya que éstos son necesariamente
incompletos, sino que debe ser inherente al comportamiento
del sistema. Por
ejemplo, si los datos revelan que cada uno de nuestros proveedores
tiene exactamente una planta y que todas estas plantas
están en diferentes ciudades, podemos asumir una
dependencia total entre proveedor, planta y ciudad. Es decir,
dada una ciudad, la misma está asociada con un proveedor;
y dado este proveedor estará asociado con una ciudad. En
la práctica, solamente cuando un nuevo proveedor se
incorpore con una planta en la misma ciudad que uno de nuestro
antiguos proveedores,
resultará claro que no existe dicha dependencia total,
Esto no podría ser deducido a partir de los datos
previos.
Dependencia Total
Consideremos los atributos x e y. Cada valor de x tiene
uno y solo un valor de y asociados a el; 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 o tanto se denomina
dependencia total. Otra forma de expresar lo mismo es decir que x
e y son sinónimos; ambas expresiones son
equivalentes.
Ejemplo con clave
Si 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.
Si el número de empleado es al clave de la
relación, el número de seguridad social
es sinónimo de aquel. Podemos en consecuencia decir que el
número de seguridad social, el campo no clave, es
totalmente dependiente de la clave, y es una clave
candidata.
Si los nombres de todos nuestros empleados son
únicos, también pueden, ser claves candidatas. Sin
embargo puede existir alguna duplicación, dos personas
llamadas John Smith, por ejemplo. Dado que esta es una
posibilidad, no puede establecerse una dependencia total con
respecto total con respecto al nombre. Puede incorporarse a la
firma un nuevo empleado y este puede tener el mismo nombre que
uno de nuestros empleados actuales.
Ejemplo con estado Consideremos una relación que
contiene información sobre estado en dos
formas :
• Una identificación de estado con dos
letras, tal como CA para California.
• Una designación con un número de
dos dígitos tal como 12 para
California.
Estas dos formas de información sobre estado ilustran una
dependencia total. Debe notarse sin embargo que muchas tuplas
pueden contener la misma identificación de Estado, dado
que muchos de nuestros clientes pueden
provenir de California. En consecuencia resulta claro que la
dependencia total no significa unicidad.
Dependencia Completa
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 variables
independientes.
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)
Ejemplo con orden de compra
Como un ejemplo de dependencia completa, consideremos el
caso de una orden de compra. Supongamos que esta orden de compra
describe mediante tres variables que son de interés para
nosotros:
• El número de orden de compra (PON) designa
la orden completa;
• El número de parte de pieza designa una
de las partes ordenadas por el pedido;
• La cantidad de piezas es el número de
unidades de dicha pieza requerida para satisfacer el
pedido.
Los pedidos describen en consecuencia una orden por
medio de varias partes diferentes, y para cada una distinta
asociada. El sistema contable
ve varios pedidos diferentes. La misma parte puede aparecer en
distintos pedidos y, cuando ello sucede, puede estar asociadas
distintas cantidades con la misma parte.
Un tupla de la base de datos relacional contendrá
un PON un número de parte y una cantidad. La cantidad es
completamente dependiente del PON y del número de parte.
Resulta claro que el número de pedido no es suficiente
para determinar la cantidad todas las partes de un determinado
pedido no tiene la misma cantidad). Análogamente, un
número de parte no es suficiente para determinar la
cantidad ordenada, dado que diferentes pedidos pueden requerir
distintas cantidades de dicha parte. Por lo tanto, es nuestro
ejemplo, la cantidad no es dependiente solamente del PON o del
número de parte; es completamente dependiente de
ambos.
Puede imaginarse, aunque no es muy probable el caso de
que cada vez ordenados una parte la ordenamos solamente por una
cantidad como una docena, o tres gruesas o cualquier otro valor
fijo. Si esto ocurre para todas las partes y para todos los
pedidos de nuestro sistema, en consecuencia no existirá
dependencia completa. En efecto podemos decir que hay dependencia
total entre cantidad y número de partes – condición
improbable-.
Hemos examinado anteriormente un ejemplo
académico y las variables profesor, clase y
sección. Tenemos en esta caso una dependencia completa de
profesor respecto de clase y sección. Si en nuestra
facultad está establecido existirá dependencia
completa. Esto existiría que un profesor enseñe
siempre a todas las secciones de una clase particular – una
condición no muy factible con un curso de 20
secciones-.
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))
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.
Ejemplo
Consideramos un ejemplo que asocia cursos con
departamento y con escuela. En
consecuencia, canto será dictado por el departamento de
música en
la escuela de Artes
y Ciencias;
hidráulica será dictada por ingeniería civil en la Escuela de Ingeniería; impuestos
será dictado por el departamento contable en la Escuela de
Administración.
Llamemos
• S al curso
• T al departamento
• V a la escuela
Por lo tanto
S —-> T —-> V
la descomposición consiste en la
asociación de un curso con un departamento en una
relación. Otras relación identifica a cada
departamento con una escuela. Esta segunda relación es
necesariamente menor tanto en grado como en cardinalidad y
aquí reside el ahorro de
espacio.
¿Qué es normalización?
Normalización es un proceso que
clasifica relaciones, objetos, formas de relación y
demás elementos en grupos, en base a
las características que cada uno posee. Si se
identifican ciertas reglas, se aplica un categoría; si se
definen otras reglas, se aplicará otra
categoría.
Estamos interesados en particular en la
clasificación de las relaciones BDR. La forma de efectuar
esto es a través de los tipos de dependencias que podemos
determinar dentro de la relación. Cuando las reglas de
clasificación sean más y más restrictivas,
diremos que la relación está en una forma normal
más elevada. La relación que está en la
forma normal más elevada posible es que mejor se adapta a
nuestras necesidades debido a que optimiza las condiciones que
son de importancia para nosotros:
• La cantidad de espacio requerido para almacenar
los datos es la menor posible;
• La facilidad para actualizar la relación
es la mayor posible;
• La explicación de la base de datos es la
más sencilla posible.
Página siguiente |