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 |