Normalización de bases de datos

Las bases de datos relacionales se normalizan para: En el modelo relacional es frecuente llamar «tabla» a una relación; para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones: Los términos Relación, Tupla y Atributo derivan del álgebra y cálculo relacional, que constituyen la base teórica del modelo de base de datos relacional.Sin embargo, suele haber algunas diferencias con la analogía matemática, ya que algunos RDBMS permiten filas duplicadas, entre otras cosas.Finalmente, una tupla puede razonarse matemáticamente como un elemento del producto cartesiano entre los dominios.El proceso de normalización se basa en relaciones que se conocen que mantienen los datos, principalmente dependencias funcionales, multivaluadas y de join.Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera: FechaDeNacimientoEdad De la normalización (lógica) a la implementación (física o real) puede ser sugerible tener estas dependencias funcionales para lograr la eficiencia en las tablas.Una clave primaria es el conjunto mínimo de columnas que identifica unívocamente a cada fila.La clave primaria es un identificador que va a ser siempre único para cada fila.Se acostumbra a poner la clave primaria como la primera columna de la tabla, pero es más una conveniencia que una obligación.Muchas veces la clave primaria es numérica auto-incrementada, es decir, generada mediante una secuencia numérica incrementada automáticamente cada vez que se inserta una fila.La visualización de todas las posibles claves candidatas en una tabla ayudan a su optimización.Decir que una base de datos está en la forma normal N es decir que todas sus tablas están en la forma normal N. En general, las primeras tres formas normales son el mínimo que deben cubrir la mayoría de las bases de datos.El creador de estas 3 primeras formas normales (o reglas) fue Edgar F.En otras palabras, podríamos decir que la segunda forma normal está basada en el concepto de dependencia completamente funcional.que pueden ser eliminados de X y la dependencia todavía se mantiene, esto es[2]​ La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva en los atributos que no son clave.Un ejemplo de este concepto sería que, una dependencia funcional Xestá en 3 Forma Normal Elmasri-Navâthe,[3]​ si para toda dependencia funcional, se cumple al menos una de las siguientes condiciones: Además el esquema debe cumplir necesariamente, con las condiciones de segunda forma normal., se cumple que De esta forma, todo esquemaque cumple FNBC, está además en 3FN; sin embargo, no todo esquemaUna tabla se encuentra en 5FN si: Edgar Frank Codd se percató de que existían bases de datos en el mercado que decían ser relacionales, pero lo único que hacían era guardar la información en las tablas, sin estar literalmente normalizadas dichas tablas; entonces Codd publicó doce (12) reglas que un verdadero sistema relacional debería tener, en la práctica algunas de ellas son difíciles de realizar.Toda la información en un RDBMS está explícitamente representada de una sola manera por valores en una tabla.Las tablas que contienen tal información constituyen el Diccionario de datos.Por tanto los metadatos (diccionario, catálogo) se representan exactamente igual que los datos de usuario.Estas tablas deben ser accesibles igual que todas las tablas, a través de sentencias de SQL (o similar).Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien definida que pueda ser usado para administrar completamente la base de datos.Esto significa que las cláusulas para leer, escribir, eliminar y agregar registros (SELECT, UPDATE, DELETE e INSERT en SQL) deben estar disponibles y operables, independientemente del tipo de relaciones y restricciones que haya entre las tablas o no.Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catálogo, no en el programa de aplicación.El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos esté distribuida físicamente en distintos lugares sin que esto afecte o altere a los programas de aplicación.
Figura 1.0: Trabajo (Código, Nombre, Posición, Salario), donde Código es la Clave Primaria.
B es funcionalmente dependiente de A .
Dependencia funcional transitiva.
Diagrama de inclusión de todas las formas normales.