Contenido 1.2

A) Elaboración del modelo relacional basado en el modelo entidad/relación.

Consultar: https://civil.fe.up.pt/acruz/access/modeloER.htm

 

B) Normalización del modelo relacional, partiendo de una relación universal.

La normalización se podría definir de una manera sencilla como el proceso de organizar y estructurar los datos de forma que se minimice la redundancia. Este proceso se basa en un conjunto de pautas, las reglas de normalización, que disminuyen el riesgo de tener un diseño de base de datos defectuoso. En cierta medida, se podría establecer un paralelismo entre la normalización y otros principios de diseño como la programación defensiva o el fail early.

Estas reglas se aplican al modelo relacional de la base de datos, obtenido (si eres disciplinado) a partir del modelo entidad-relación. La verdad es que son bastante sencillas de entender y aplicar, aunque a veces parece que la percepción que se tiene respecto a ellas es que son complejas y algo enrevesadas.

Objetivos

Aunque ya he adelantado la importancia de las formas normales y los beneficios que aporta, vamos a enumerar los principales objetivos que persigue el proceso de normalización:

  • Evitar la redundancia de datos.
  • Proteger y dar un mejor soporte a la integridad de los datos.
  • Eliminar las anomalías en los datos, tanto en las actualizaciones como en las inserciones y los borrados.
  • Reducir en la medida de lo posible el rediseño de la base de datos cuando ésta se amplía.
  • Hacer más entendible el modelo de datos a quienes vayan a utilizarlo, puesto que se modeliza mejor la realidad, el dominio del problema.
  • Huir de las ataduras con lenguajes específicos para la consulta de datos (algo que preocupaba bastante  a Codd, al que parece ser no le gustaba demasiado el SQL).

Formas Normales

Las primeras tres formas normales son suficientes para cubrir las necesidades de la mayoría de las bases de datos. El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd, éste introdujo la normalización en un artículo llamado A Relational Model of Data for Large Shared Data Banks.

Primera Forma Normal (1FN)

Sea α un conjunto de atributo perteneciente (Є) a la relación R, en donde R está en la Primera Forma Normal si todos los atibutos α[n] son atómicos, es decir no pueden seguir dividiéndose. Por ejemplo:

La Relación:

cursos: nombre, código, vacantes, horario, bibliografía

Queda después de aplicar la Forma Normal 1 de la siguiente manera:

cursos1: nombre, código, vacantes horario1: código, día, módulo bibliografia1: código, nombre, autor

Segunda Forma Normal (2FN): Dependencia completa. Esta en 2FN si esta en 1FN y si sus atributos no principales dependen de forma completa de la clave principal.

Tercera Forma Normal (3FN): Está en segunda forma normal y todo atributo no primo es implicado por la clave primaria en una secuencia no transitiva.Se eliminan las dependencias transitivas.

Forma normal de Boyce-Codd (FNBC): Una tabla está en FNBC sí y sólo sí las únicas dependencias funcionales elementales son aquellas en las que la clave primaria determinan un atributo.

Cuarta Forma Normal (4FN): Está en forma normal de Boyce-Codd y se eliminan las dependencias multivaluadas y se generan todas las relaciones externas con otras tablas u otras bases de datos.

Quinta Forma Normal (5FN): Está en cuarta forma normal y toda dependencia-join viene implicada por claves candidatas.