Ene.26
Concepto y Normalizacion de Base de Datos

El proceso de normalización de bases de datos consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.
Las bases de datos relacionales se normalizan para:
- Evitar la redundancia de los datos.
- Disminuir problemas de actualización de los datos en las tablas.
- Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:
- Cada tabla debe tener su nombre único.
- No puede haber dos filas iguales. No se permiten los duplicados.
- Todos los datos en una columna deben ser del mismo tipo.
Paso 1: Crear la primera forma estándar (1NF)
El proceso de normalización de base de datos consiste en la obtención de datos para ajustarse a las formas estándares progresivas, y un mayor nivel de normalización de base de datos no puede ser logrado a menos que los niveles anteriores se han cumplido. La primera forma estándar es el nivel básico de la normalización de la base de datos.
Para 1NF, asegúrese de que los valores de cada columna de una tabla son atómicas; lo que significa que son únicos, y no contiene conjuntos de valores. En nuestro caso, Autor y Tema no cumplen.
Uno de los métodos para llevar una tabla a 1NF es separar las entidades que figuran en la tabla en tablas separadas. En nuestro caso, esto se traduciría en tablas Libro, Autor, Tema y Editorial.
Tabla Libro:
ISBN | Título | Páginas |
1590593324 | Beginning MySQL Database Design and Optimization |
520 |
Tabla Autor:
Autor_ID | Nombre | Apellido |
1 | Chad | Russell |
2 | Jon | Stephens |
3 | Mike | Hilyer |
Tabla Tema:
Tema _ID |
Apellido |
1 | Russell |
2 | Stephens |
Tabla Editorial:
Editorial_ID | Nombre | Dirección | Ciudad | Estado | ZIP |
1 | Apress | 2 580, Ninth street, station 219 | Berkeley | California | 94710 |
Paso 2: Definir relaciones
ISBN |
Tema_ID |
1590593324 | 1 |
1590593324 | 2 |
Tabla Tema_Libro:
ISBN | Tema_ID |
1590593324 | 1 |
1590593324 | 2 |
Uno-a-muchos en nuestro ejemplo será Libros a Editorial. Cada libro tiene solo una Editorial, pero una Editorial puede tener muchos libros. Podemos lograr relaciones ‘uno-a-muchos’ con una clave externa. Una clave externa es un mecanismo en sistemas de gestión de bases de datos (DBMS) que define las relaciones y crea restricciones entre los segmentos de datos. No es posible examinar lo que no está relacionado con el libro específico. No es posible tener un libro sin un autor o editorial.
Al borrar una editorial, todos los libros relacionados pueden necesitar ser eliminados junto con las opiniones de esos libros. No sería necesario eliminar los autores.
La clave externa se introduce en la tabla que representa los «muchos», apuntando a la clave primaria en la tabla «uno». Ya que la tabla «Libro» representa la porción de muchos de la relación uno-a-muchos, se añade el valor de la clave primaria de la Editorial como en una columna Editorial_ID como clave externa
ISBN | Título | Páginas | Editorial_ID |
1590593324 | Beginning MySQL Database Design and Optimization | 520 | 1 |
Paso 3: Hacer la segunda forma estándar (2NF)
ISBN | Revisor ID | Resumen | Revisor_URL |
1590593324 | 3 | ¡Un gran libro! | http://www.openwin.org |
Paso 4: Tercera forma estándar (3NF)
Editorial_ID | Nombre | Dirección | Ciudad | Estado | ZIP |
1 | Apress | 2 580, Ninth street, station 219 | Berkeley | California | 94710 |
Para cumplir con la 3NF tenemos que mover estas fuera de la tabla Editorial:
ZIP | Ciudad | Estado |
94710 | Berkeley | California |
A través del proceso de normalización de las bases de datos ponemos las tablas de nuestro esquema en conformidad con las formas estándares progresivas. Como resultado, las tablas representan cada una una única entidad (un libro, un autor, un tema, etc.) y nos beneficiamos de la disminución de la redundancia, menos anomalías y una mejora de la eficiencia.