12.176 cursos gratis
8.741.926 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Capítulo 3:

 Sistemas de gestión de bases de datos. Concepto. Diseño (MER) y Normalización (3/3)

Primera Forma Normal (1FN)

Se dice que una relación está en la primera forma normal si, y solo sí, satisface la limitación de que contenga apenas valores atómicos. No tiene grupos repetitivos

Dependencia funcional

Dado una relación R, se dice que el atributo Y de R es funcionalmente dependiente del atributo X de R si y solo si a cada valor de X en R tiene asociado a él, precisamente un valor de Y en R, en cualquier momento del tiempo.

Dependencia funcional completa: El atributo y es dependiente funcional y totalmente del atributo X si es funcionalmente dependiente de X y no es funcionalmente dependiente de algún subconjunto de X.

Podemos decir entonces que un atributo es funcionalmente dependiente de la llave primaria si y solo si para cada valor de la llave primaria, tiene asociado a él un valor en cualquier momento del tiempo.

Segunda Forma Normal (2FN)

Una relación está en 2FN si y solo si, estuviera en 1FN y cada atributo no llave fuera totalmente dependiente de la llave primaria. Las únicas relaciones que pueden violar las 2FN son las que tienen llaves compuestas. Para ello se crea:

  1. Una relación para todos los atributos que dependen funcional y completamente de la llave.
  2. Una relación para los atributos que dependan de parte de la llave.

Tercera Forma Normal

Una relación R está en 3FN si y solo si estuviera en 2FN y  todo otro atributo no llave fuera independiente de cualquier otro atributo no llave primaria, o fuera dependiente no transitivo de la llave primaria.

La 3FN es una extensión de la 2FN. La 2FN elimina las dependencias funcionales respecto a un subconjunto de la llave.

Este paso se ejecuta examinando todas las relaciones para ver si hay atributos no llaves que dependan unos de otros. Si se encuentran, se forma una nueva relación para ellos. Eliminar las dependencias transitivas

Forma Normal Boyce Codd

Una relación R esta en FNBC si y solo si cada determinante de la relación es una super llave de R.

Para que una relación no este en FNBC hay tres condiciones necesarias mas no suficientes:

  • La relación tenga llaves candidatas múltiples, donde
  • Estas llaves candidatas son compuestas, y
  • Las llaves candidatas se solapan (tengan por lo menos un atributo en común).

Ejemplo:

Se desea diseñar una BD para controlar la disponibilidad de materiales de construcción.

De cada proveedor de materiales se conoce su código (cprov), que lo identifica, su nombre (nomprov) y el municipio en que radica (mun). De cada material se sabe su código (cmat), que lo identifica, su descripción (desc), la unidad de medida que se aplica al material (um) y el precio por unidad de medida (precio). Para guardar estos materiales hasta su posterior distribución existen diversos almacenes. De cada almacén se conoce su código (calm), que lo identifica, su dirección (diralm) y la capacidad de almacenaje (capac). Un proveedor puede suministrar varios materiales y un material puede ser suministrado por diferentes proveedores. Se sabe que un material suministrado por un proveedor está en un solo almacén y además, se sabe qué cantidad de un material suministrado por un proveedor se encuentra en el almacén (cantmat). En un almacén sólo se guarda un tipo de material, aunque puede proceder de distintos proveedores y pueden existir varios almacenes donde se guarde un mismo material.

Veamos las dependencias funcionales que se derivan de esta situación:

Como cprov identifica al proveedor,

1) cprov --> nomprov   mun    es el determinante de nomprov y mun

2) cmat --> desc   um    precio  análogo al anterior, pero para materiales

3) calm --> diralm  capac  cmat  desc  um  precio

                   1         2          3        4      5       6

Esta última dependencia funcional tiene la siguiente explicación:

Los atributos 1 y 2 dependen funcionalmente de calm, pues calm identifica al almacén. Pero se sabe que en un almacén sólo se guarda un material, por lo que conocido calm se conoce cmat y, por lo tanto, el atributo 3 depende funcionalmente de calm, pero como 4, 5 y 6 dependen funcionalmente de 3, ellos están incluidos también en la dependencia funcional 3)expresada anteriormente.

                           1         2       3      4        5          6         7          8           9

4) cprov cmat --> nomprov  mun  desc  um  precio  calm  diralm  capac  cantmat

Se incluyen en esta dependencia funcional los atributos:

1 y 2: por lo explicado para 1)

3,4 y 5: por lo explicado para 2)

6: porque, dado un proveedor y un material, se conoce en qué almacén se guarda ese material suministrado por ese proveedor.

7 y 8: porque 6 se incluye y entonces vale lo explicado para 3)

9: porque, dado un proveedor y un material, se conoce también en qué cantidad se guarda en el almacén correspondiente.

                              1           2         3          4      5       6      7       8          9

5) cprov calm --> nomprov  mun  diralm  capac  cmat  desc um  precio  cantmat

Se incluyen en esta dependencia funcional los atributos:

1 y 2: por lo explicado para 1)

3, 4, 5, 6, 7 y 8: por lo explicado para 3)

9: porque se incluyen en los atributos implicados el atributo 5, y cprov y 5 determinan 9, según lo explicado para el atributo 9 en 4)

Entonces:

cprov cmat   y    cprov calm   son ambas llaves candidatas ya que todos los atributos dependen funcionalmente de ellas y no existe ningún subconjunto propio del cual todos los atributos dependan.

Escojamos como llave primaria cprov cmat

R  (cprov, cmat, nomprov, mun, desc, um, precio, calm, diralm, capac, cantmat)

1FN

La relación original está en 1FN, pues no existen grupos repetitivos. Siempre que se escoja bien la llave, la relación estará en 1FN, pues ello implica que, para un valor de la llave, habrá un único valor de cada atributo.

2FN

No está en 2FN pues existen dependencias funcionales incompletas de atributos no llaves respecto a la llave primaria (según se aprecia en las dependencias funcionales 1) y 2) ) por lo que se separan las relaciones siguientes:

(I)   proveedor  (cprov, nomprov, mun)

(II)  material  (cmat, desc, um, precio)

3FN

Las relaciones anteriores (I y II) están en 3FN, pero la relación restante de la original, no, ya que existe dependencia transitiva respecto a la llave primaria pues:

     cprov  cmat  -->  calm   y

            calm  -->  diralm  capac

por lo que se separa la siguiente relación:

(III)  almacén (calm, diralm, capac)

FNBC

Luego de haberse obtenido, es decir, separado, las relaciones I, II y III al analizarse la 2FN y la 3FN, resta la relación:

(1)  suministro  (cprov, cmat, calm, cantmat)

que está en 3FN. Analicemos las dependencias funcionales que existen en esta relación:

a. cprov cmat --> calm cantmat

b. cprov calm --> cmat cantmat

c. calm  -->  cmat

Luego no está en FNBC, pues existe un determinante (calm) que no es superllave.

Para llevarla a FNBC hay que separar la dependencia funcional problemática (c.), obteniéndose de la relación suministro las siguientes:

(2)  suministro (cprov, calm, cantmat)         ß (en esta relación  no puede aparecer ya cmat)

(3)  distribución (calm, cmat)

Ahora bien, debe señalarse que al descomponerse la relación suministro (1) de esta manera (suministro (2) y distribución) deja de poder expresarse el hecho de que el calm depende del conjunto cprov, cmat.

Finalmente, analizando la relación distribución (3) y la relación almacén (III) puede apreciarse que ambas pueden unirse: tienen la misma llave y tiene sentido la unión de ambas. Entonces las relaciones obtenidas son:

   proveedor  (cprov, nomprov, mun)

   material  (cmat, desc, um, precio)

   almacén  ( calm, diralm, capac, cmat)

   suministro  (cprov, calm, cantmat)

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratará tus datos para realizar acciones promocionales (vía email y/o teléfono).
En la política de privacidad conocerás tu derechos y gestionarás la baja.

Cursos similares a Diseño y creación de bases de datos



  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. SGBD. Sistemas gestores de bases de datos (primera parte)
SGBD, Sistemas gestores de bases datos, en un curso de informática serio, pero... [21/10/08]
8.228  
2. SGBD. Sistemas gestores de bases de datos (segunda parte)
En este curso de informática sobre los SGBD o Sistema gestores de bases de datos,... [21/10/08]
5.030  
3. Diseño de base de datos relacionales
Aprende a diseñar bases de datos relacionales.Conocer el origen, historia y la... [13/04/05]
24.659  

¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail