Reglas de Normalización en el modelo de Base de Datos.

 Wilmary Hernández.

Reglas de Normalización en el modelo de Bases de Datos.

Las bases de datos relacionales son un tipo de base de datos que cumplen con el modelo relacional (El modelo actualmente más utilizado para implementar las Bases de Datos).

En la teoría de Bases de Datos, las formas normales (NF) proporcionan los criterios para determinar el grado de vulnerabilidad de una tabla a inconsistencias y anomalías lógicas. Cuanto más alta sea la forma normal aplicable a una tabla, menos vulnerable será a inconsistencias y anomalías.
 
Cada tabla tiene una forma normal más alta (HNF) por su definición, una tabla siempre satisface los requisitos de su HNF y de todas las formas normales más bajas que su HNF; También por definición, una tabla no puede satisfacer los requisitos de ninguna forma normal mas alta que su HNF.
Normalización es el proceso de simplificación de los datos. 
La normalización nos servirá para optimizar nuestra Base de Datos, para ocupar el menor espacio posible y para tener los datos necesarios y no repetirlos. Aquí organizaremos nuestra Base de Datos de una manera que los datos no se repitan pero que de igual manera permanezcan relacionados y para que no perdamos información.
Cada forma normal hace que la base de datos se encuentre en un estado determinado, y para lograrlo, se han de cumplir ciertas condiciones:

1. Los datos se deben tener almacenados con el menor espacio posible.
2. Se deben eliminar los errores lógicos.
3. Se Elimina la redundancia de datos. 
4. Se deben tener los datos ordenados.

Las formas normales:

Primera Forma Normal (1FN):

Una tabla en una Base de Datos relacional pertenece a la primera forma normal cuando se cumplen algunas funciones que son:
  • Todos los datos son atómicos.
  • Todas las columnas contienen el mismo tipo de datos.
por ejemplo: un registro se le considera atómico cuando a cada asunto se le reserva una celda propia.

Vamos a explicarlo con tablas
👇👇
si nos damos cuenta, todas los datos están realizados igual y los únicos datos que cambian son la materia y el numero materia. por eso lo que hacemos es separar esta tabla y convertirlas en 2 tablas.

Quedaría de la siguiente manera:👇👇

En la tabla Alumno-Materia se debe poner la matricula para no perder la relación que hay entre una tabla y otra.
por ejemplo en la tabla Alumno-Materia, yo se que el Alumno con matrícula 1 (Sergio) está cursando la materia de Base de Datos y así podemos organizar mejor nuestra Base de Datos.

Segunda Forma Normal (2FN):

En la segunda Forma Normal vamos a ver 2 tipos de Dependencias que son:
  • La Dependencia Funcional: se trata que vamos a tener varios atributos por ejemplo (A, B y C) donde A va a ser el atributo primario o clave primaria, pero B y C dependerán funcionalmente y totalmente de A; es decir que para que exista B necesita existir A y para que exista C también necesita existir A.
  • La Dependencia Transitiva: Se trata de algo distinto, imaginen que tenemos los mismos tres atributos (A, B y C), tenemos que A es la clave primaria, B depende total y funcionalmente de A, pero C depende de B. Entonces por eso generamos una dependencia transitiva porque como C depende de B y B depende de A, entonces C tiene una Dependencia Transitiva con A
Vamos a explicarlo con las tablas
👇👇
Si nos damos cuenta en la tabla alumno-materia, materia depende funcionalmente del número de materia ya que materia no tendría razón de ser sin un número de materia, por esto número de materia es la clave primaria, sin embargo materia no depende absolutamente de nada con matrícula por lo que son cosas independientes. Entonces como materia no tiene ninguna dependencia con matrícula, pero sí depende de número de materia, entonces no podemos tener en esta tabla Matrícula, Materia y número de materia juntas, entonces ahora separamos de nuevo en 2 tablas distintas:
    
Quedaría de la siguiente manera 👇👇
Ahora tenemos 3 tablas, la tabla de alumnos que se queda igual y las otras dos tablas.
En una tenemos la matrícula con el número de materia (ósea las 2 claves primarias que estamos trayendo como claves foráneas) (esta no seria una tabla fuerte, sería una tabla intermedia porque tendría 2 claves foráneas, ósea las claves primarias de 2 tablas anteriores). 
Por otra parte tenemos la materia con el número de materia (Esta cada vez se convierte en una tabla fuerte porque tiene su clave primaria que es el número de materia con sus atributos), de igual manera la de alumnos es una tabla fuerte porque tiene su clave primaria que es matrícula con sus atributos. 

Tercera Forma Normal (3FN):

Esta se caracteriza por evitar totalmente la redundancia de datos al evitar la repetición de los datos en varias tablas, para evitar el uso de campos innecesarios en una tabla pudiendo ser ubicados en una nueva tabla. 
 
Veamos el ejemplo con las tablas:👇👇 
Si nos damos cuenta en la tabla Alumnos la carrera depende del alumno, es decir el alumno estudia una carrera, entonces podríamos decir que esa es la razón por la cual la carrera esta en la tabla alumnos, sin embargo el nombre del alumno no es una clave primaria (recordemos que las dependencias funcionales y transitivas se deben analizar sobre claves primarias, siempre deben de haber atributos que dependan de claves primarias únicamente), entonces la clave primaria del alumno es la matrícula, es decir que estamos teniendo una dependencia transitiva entre carrera y matrícula. 

Ahora lo que debemos hacer es sacar carrera de esa tabla y ponerla en otra tabla aparte.

Quedaría de esta manera:👇👇
Ahora tenemos nuestra tabla carrera donde número de carrera es la clave primaria de esta tabla y es clave foránea en la tabla Alumnos.
Con esto estamos evitando redundancia de datos, estamos reduciendo el espacio de almacenamiento y estamos normalizando nuestra Base de Datos. 

Forma Normal de Boice Codd (FNBC): 

Esta promueve que la base de datos es mas funcional siempre que se elimine la redundancia de datos, utilizando poco espacio de almacenamiento, eliminando errores lógicos y datos ordenados debidamente, creando las tablas suficientes para que los datos se puedan relacionar con mayor facilidad y claridad.  











 


 

No hay comentarios.:

Publicar un comentario

Introducción

El mundo de las bases de datos El presente trabajo versará en implementar en equipos de 2 o 3 todos los contenidos impartidos por nuestra ma...