Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SEMESTRE: 4°
Estos nos sirven para mejorar el desempeño de una base de datos, así como también evitar la
redundancia en la información que contiene y, en consecuencia, poder generar condiciones
para así tener un mejor diseño.
¿Qué es la normalización de base de datos?
Objetivos generales.
A Nivel Base:
A Nivel Tabla:
• Cada tabla debe representar sólo un tipo de entidad (como una persona, un lugar, un
pedido de cliente o un producto).
• Eliminar repetición de columnas.
• Definir una clave primaria por tabla.
• Eliminar el uso de claves compuestas.
• Separar los campos que no sean de esa tabla y/o clave primaria y ubicarlos en la
tabla/entidad correcta.
• Crear una nueva tabla para mover la repetición de grupos de la tabla original.
(generación de catálogos)
• Cada registro debe de tener una clave primaria única e irrepetible.
A Nivel Campo:
Para que las tablas de nuestra BD estén normalizadas deben cumplir las siguientes reglas:
Formas Normales.
La primera forma normal significa que los datos están en un formato de entidad, lo que
significa que se han cumplido las siguientes condiciones:
• Eliminar grupos repetidos en tablas individuales
• Crear una tabla independiente para cada conjunto de datos relacionados
• Identificar cada conjunto de relacionados con la clave principal
No utilice varios campos en una sola tabla para almacenar datos similares
Ejemplo de Normalización
Los registros no deben depender de otra cosa que la clave principal de la tabla, incluida la
clave compuesta si es necesario
Al pasar a la segunda forma normal vamos a eliminar los datos redundantes, y para lograrlo
vamos a crear dos tablas. Una tabla se llamará Estudiantes donde eliminaremos los datos
redundantes quedándonos con los datos únicos (Estudiante, Tutor y Habitación) y en una
segunda tabla que llamaremos Registro para el numero de estudiante y las clases que llevará
en el ejemplo el estudiante 1606 y 2602 llevará cada uno tres clases. El contenido de la (1FN)
Primera Forma Normal que estaba en una tabla ha sido divido en dos tablas para eliminar los
datos redundantes e introducirlo a la (2FN) Segunda Forma Normal.
La tercera forma normal comprueba las dependencias transitivas, eliminando campos que
no dependen de la clave principal.
La cuarta forma normal también se llama la forma normal de Boyce Codd (BCNF) y la quinta
forma normal existe, pero rara vez se consideran en el diseño práctico.
1FN:
• Solo debe de existir un solo valor atómico (indivisible) por columna, el cual hay que
evitar que sea nulo(null).
• No se deben almacenar campos calculados (como el promedio).
2FN:
3FN:
4FN:
5FN:
Codd se dio de cuenta que existían bases de datos en el mercado las cuales decían ser
relacionales, pero lo único que hacían era guardar la información en las tablas, sin estas tablas
estar literalmente normalizadas; entonces éste publicó 12 reglas que un verdadero sistema
relacional debería de tener, en la práctica algunas de ellas son difíciles de realizar. Un sistema
podrá considerarse "más relacional" cuanto más siga estas reglas.
Toda la información en un RDBMS está explícitamente representada de una sola manera por
valores en una tabla. Cualquier cosa que no exista en una tabla no existe del todo.
Cada ítem de datos debe ser lógicamente accesible al ejecutar una búsqueda que combine el
nombre de la tabla, su clave primaria, y el nombre de la columna.
Esto significa que dado un nombre de tabla, dado el valor de la clave primaria, y dado el
nombre de la columna requerida, deberá encontrarse uno y solamente un valor. Por esta razón
la definición de claves primarias para todas las tablas es prácticamente obligatoria.
Un RDBMS (Sistema Gestor de Bases de Datos Relacionales) debe ser capaz de soportar el
uso de valores nulos en el lugar de columnas cuyos valores sean desconocidos o inaplicables.
Regla No. 4 - La regla de la descripción de la base de dato s
La información de tablas, vistas, permisos de acceso de usuarios autorizados, etc., debe ser
almacenada exactamente de la misma manera: En tablas. Estas tablas deben ser accesibles
igual que todas las tablas, a través de sentencias de SQL.
Debe haber al menos un lenguaje que sea integral para soportar la definición de datos,
manipulación de datos, definición de vistas, restricciones de integridad, y control de
autorizaciones y transacciones.
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.
Todas las vistas que son teóricamente actualizables, deben ser actualizables por el sistema
mismo.
La mayoría de las RDBMS permiten actualizar vistas simples, pero deshabilitan los intentos
de actualizar vistas complejas.
La capacidad de manejar una base de datos con operandos simples aplica no solo para la
recuperación o consulta de datos, sino también para la inserción, actualización y borrado de
datos.
Esto significa que las cláusulas SELECT, UPDATE, DELETE e INSERT deben estar
disponibles y operables sobre los registros, independientemente del tipo de relaciones y
restricciones que haya entre las tablas.
Regla No. 8 - La regla de independencia física
Los programas de aplicación y las actividades de acceso por terminal deben permanecer
lógicamente inalteradas cuando quiera que se hagan cambios (según los permisos asignados)
en las tablas de la base de datos.
La independencia lógica de los datos especifica que los programas de aplicación y las
actividades de terminal deben ser independientes de la estructura lógica, por lo tanto los
cambios en la estructura lógica no deben alterar o modificar estos programas de aplicación.
Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el
catálogo, no en el programa de aplicación.
• Ningún componente de una clave primaria puede tener valores en blanco o nulos.
(esta es la norma básica de integridad).
• Para cada valor de clave foránea deberá existir un valor de clave primaria
concordante. La combinación de estas reglas aseguran que haya Integridad
referencial.
Regla No. 11 - La regla de la distribució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.
El soporte para bases de datos distribuidas significa que una colección arbitraria de
relaciones, bases de datos corriendo en una mezcla de distintas máquinas y distintos sistemas
operativos y que esté conectada por una variedad de redes, pueda funcionar como si estuviera
disponible como una única base de datos en una sola máquina.
Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera pueden ser
usados para violar la integridad de las reglas y restricciones expresadas en un lenguaje de
alto nivel (como SQL).
Algunos productos solamente construyen una interfaz relacional para sus bases de datos No
relacionales, lo que hace posible la subversión (violación) de las restricciones de integridad.
Esto no debe ser permitido.
Desnormalización
La normalización crea más tablas al avanzar hacia formas normales más altas, sin embargo,
a mayor número de tablas, mayor número de combinaciones al recuperar los datos; lo que
contribuye a la ralentización de las consultas. Por esta razón, para mejorar la velocidad de
determinadas consultas, se pueden anular las ventajas de la integridad de datos y devolver la
estructura de los datos a una forma normal inferior.
Adicionalmente, Coronel, Morris y Rob (2011), al referir al proceso de desnormalización,
señalan que la unión de muchas tablas requiere operaciones de entrada/salida (I/O) y lógica
de procesamiento adicional en el disco, con lo que se reduce la velocidad del sistema. Por lo
tanto, pueden existir circunstancias fortuitas que permitan algún grado de desnormalización
para incrementar la velocidad de procesamiento. Debemos tomar en cuenta que la ventaja de
una mayor velocidad de procesamiento debe evaluarse cuidadosamente contra la desventaja
de datos anómalos.
Conclusión.
Podemos observar que la normalización es una técnica utilizada para el diseño de tablas en
las que las redundancias de los datos se reducen al mínimo.
Todo esto es muy importante para poder realizar y editar correctamente una base de datos,
esto es debido a que si no se toma en cuenta esto, nuestra base de datos presentaría muchos
errores y tendría un pésimo funcionamiento.
Bibliografía
Anonimo. (s.f.). EcuRed. Obtenido de
https://www.ecured.cu/Normalizaci%C3%B3n_de_una_base_de_datos
CVVA WEBLOG. (s.f.). Obtenido de
https://cvva.wordpress.com/2007/12/04/normalizacion-de-bases-de-datos-las-3-
formas-normales/
EDteam. (s.f.). Obtenido de https://ed.team/blog/normalizacion-de-bases-de-datos
Microsoft. (s.f.). Obtenido de https://docs.microsoft.com/es-
es/office/troubleshoot/access/database-normalization-description
Normalización de Bases de Datos. (s.f.). Obtenido de
https://programas.cuaed.unam.mx/repositorio/moodle/pluginfile.php/872/mod_reso
urce/content/1/contenido/index.html
Sarmiento, M. (s.f.). Obtenido de
http://www.marcossarmiento.com/2017/06/28/normalizacion-de-base-de-datos/
VIDELCLOUD. (s.f.). Obtenido de https://videlcloud.wordpress.com/2017/01/06/las-
reglas-de-normalizacion-explicadas-facilmente/