SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 1
Fundamentos de la normalización
La normalización es el proceso de organizar los datos de una base de
datos. Se incluye la creación de tablas y el establecimiento de relaciones entre
ellas según reglas diseñadas tanto para proteger los datos como para hacer que la
base de datos sea más flexible al eliminar la redundancia y las dependencias
incoherentes.
La normalización es un proceso que consiste en aplicar una serie de reglas
que nos permitirán organizar nuestra base de datos evitando la redundancia,
garantizando la integridad de nuestra información. Para avanzar en el proceso de
la normalización, debemos ir dividiendo nuestras tablas en dos o más (sin perder
la relación entre ellas).
Tener nuestra base de datos correctamente relacionada y normalizada nos
evitará redundancia de datos (en términos prácticos, datos repetidos) y nos
ayudará a tener una base de datos más "ligera", más correcta y tiempos de
ejecución menores.
Las bases de datos se normalizan para:
• Evitar la redundancia de datos.
• Proteger la integridad de los datos (integridad referencial).
• Evitar problemas de actualización de los datos en las tablas.
Objetivos de la normalización de base de datos
Al proceder a la normalización de base de datos hay que plantearse 4
metas:
1. Organizar los datos en grupos lógicos, de tal manera que cada grupo
describa una pequeña parte del todo.
2. Minimizar la cantidad de datos duplicados almacenados en una base de
datos.
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 2
3. Perfeccionar la organización de los datos de tal manera que, cuando se
necesite introducir modificaciones, el cambio sólo deba aplicarse en un
lugar.
4. Construir una base de datos a la que se pueda acceder de forma rápida
y donde sea posible manipular los datos con la máxima eficiencia y sin
comprometer su integridad.
La normalización de base de datos es especialmente importante en el
entorno del procesamiento transaccional, sobre todo en el que se lleva a cabo en
línea. Esto es debido a la agilidad con que se llevan a cabo las modificaciones de
datos que, además, suelen darse de forma aleatoria. Inserciones, eliminaciones o
actualizaciones afectan a los datos almacenados pudiendo disminuir el
rendimiento de la base de datos si ésta no se ha normalizado.
No obstante, antes de poder empezar a normalizar una base de datos es
preciso realizar un análisis de requisitos, que servirá para determinar las políticas
y procedimientos a aplicar. De esta investigación resultará un compendio de reglas
de negocio.
Consecuencias de la falta de normalización de base de datos
• Inexactitud de los sistemas de bases de datos.
• Ralentización de los procesos.
• Ineficiencia en las operaciones.
La normalización de base de datos ayuda a evitar estos efectos negativos
ya desde el diseño de nuevas bases de datos y permite también comprobar si las
existentes garantizan la integridad de datos o referencial necesaria. Lo más
recomendable es proceder a normalizar los datos antes de crear las tablas de la
base de datos, aunque siempre es preferible asegurar su integridad y, aunque ya
se cuente con las bases de datos y no sean de nueva creación, utilizar estas
técnicas para ponerlas a prueba, teniendo claros los objetivos a alcanzar en el
proceso.
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 3
Formas normales
Hay algunas reglas en la normalización de una base de datos. Cada regla
se denomina una "forma normal". Si se cumple la primera regla, se dice que la
base de datos está en la "primera forma normal". Si se cumplen las tres primeras
reglas, la base de datos se considera que está en la "tercera forma normal".
Aunque son posibles otros niveles de normalización, la tercera forma normal se
considera el máximo nivel necesario para la mayor parte de las aplicaciones.
Primera Forma Normal (1NF)
En esta etapa debemos asegurarnos de que todos nuestras campos son
únicos (atómicos) e indivisibles y eliminar todos los datos que sean repetidos o
que tengan una dependencia funcional, como por ejemplo edad y fecha de
nacimiento.
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.
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 4
No utilice varios campos en una sola tabla para almacenar datos similares.
En el ejemplo tenemos una tabla No Normalizada que contiene Estudiantes,
Tutor, Habitación y las Clases 1,2 y 3. Al aplicarle la primera forma normal
eliminamos los grupos repetidos quedándonos con una sola columna de clases y
repitiendo los datos del estudiante tutor y habitación y ahora no tenemos grupos
repetidos porque aplicamos la primera forma normal (1FN).
Para identificar si lo hemos hecho de manera correcta debemos considerar
los siguientes aspectos:
• Todos los atributos son atómicos. Un atributo es atómico si los
elementos del dominio son indivisibles, mínimos.
• La tabla contiene una clave primaria única.
• La clave primaria no contiene atributos nulos.
• No debe existir variación en el número de columnas.
• Los campos no clave deben identificarse por la clave (dependencia
funcional).
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 5
• Debe existir una independencia del orden tanto de las filas como de las
columnas, es decir, si los datos cambian de orden no deben cambiar sus
significados.
• Una tabla no puede tener múltiples valores en cada columna.
• Los datos son atómicos (a cada valor de X le pertenece un valor de Y e
viceversa).
Segunda Forma Normal (2NF)
En la segunda forma normal debemos eliminar la redundancia que se
pueda observar, esto lo hacemos si al revisar las dependencias funcionales
existentes notamos que un subconjunto de nuestra tabla no depende de la clave
en su totalidad (dependencia parcial de la llave). Para lograr esto debemos crear
una tabla independiente para estos valores incluyendo algún campo que nos
permita relacionarlo con la tabla original.
La segunda forma normal asegura que cada atributo describe la entidad.
Crear tablas separadas para el conjunto de valores y los registros múltiples,
estas tablas se deben relacionar con una clave externa.
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 número de estudiante y las clases que llevará en el
ejemplo cada estudiante; 1606 y 2602 llevará cada uno tres clases. El contenido
de la 1FN que estaba en una tabla ha sido divido en dos tablas para eliminar los
datos redundantes e introducirlo a la Segunda Forma Normal (2FN).
Sabremos si nuestra base de datos está en la 2FN si ésta previamente
cumple con las normas de la 1FN y si sus atributos no principales dependen de
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 6
forma completa de la clave principal. Es decir que no existen dependencias
parciales.
Tercera Forma Normal (3FN)
En la tercera forma normal, debemos eliminar de las tablas los datos que no
dependan directamente de la clave de la tabla.
Los valores que no dependen de la clave principal no pertenecen a la tabla.
Los campos que no pertenecen a la clave principal colóquelos en una tabla
aparte y relacionen ambas tablas por medio de una clave externa.
Para pasar a la tercera forma normal tenemos que eliminar los campos que
NO dependen de la clave y para lograrlo dividimos la tabla Estudiantes en dos
tablas y creamos la tabla Facultad, donde trasladaremos la columna habitación
que no depende de la clave que es la columna estudiante, el nombre del tutor será
el enlace con la tabla Estudiantes aunque también podría ser la columna
estudiante.
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 7
Otras formas de normalización
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.
El no tener en cuenta estas dos reglas de normalización adicionales puede
resultar en un diseño de base de datos menos perfecto pero no debería afectar a
la funcionalidad.
La normalización de base de datos es un punto muy importante que
deberíamos de tomar muy en serio para establecer cimientos sólidos sobre los
cuales podemos construir aplicaciones robustas que en el futuro no presenten
problemas de base de datos difíciles de solucionar.
Ejemplo
Supongamos que necesitamos hacer una base de datos para una biblioteca
que llevará el control de préstamos de libros. Las operaciones mínimas serían:
• "Un usuario solicita un préstamo".
• "Un préstamo incluye uno o varios libros".
Estas frases tiene dos objetivos muy claros, el primero es identificar las
entidades y relaciones. Definimos una entidad como todo aquello que tiene vida
propia (sustantivo) y relación como la forma en que una entidad interactúa como
otros (verbos).
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 8
Entidades Relaciones
Usuarios
Libros
Préstamo
El segundo objetivo es identificar la forma en que interactúan las entidades
con las relaciones, observemos las palabras "UNO" o "VARIOS". Dos entidades
pueden participar en una relación en cualquiera de las siguientes formas:
1. Uno a uno (1:1). Cada entidad A se relaciona solo con 1 entidad B
2. Uno a varios (1:N) Cada entidad A se relaciona con Muchas entidades B
3. Varios a uno (N:1) Muchas entidades A se relacionan con 1 entidad B
4. Varios a varios. (N:N) Muchas entidades A se relacionan con Muchas
entidades B
Con esto en mente podemos identificar los elementos que nos permitirán
diferenciar un dato de otro, nuestras claves primarias.
USUARIOS -> Id_usuario
LIBROS -> ISBN
PRÉSTAMOS -> Id_prestamo
Los atributos de nuestras tablas serían para el ejemplo:
USUARIOS: id_usuario, nombre, edad, fecha de nacimiento, correo
electrónico, dirección, teléfono casa, teléfono móvil.
PRESTAMOS: id_prestamo, id_usuario, fecha, ISBN, fecha de entrega.
LIBROS: ISBN, título, materia, autor, nacionalidad_autor.
Identificar las DEPENDENCIAS es clave para normalizar. Estas
dependencias son de muchos tipos pero por el momento basta con buscar de qué
manera dependen unos atributos de otros. Por ejemplo, en USUARIOS tenemos
dos campos que tienen una DEPENDENCIA FUNCIONAL que es el tipo de
dependencia más común a identificar: edad y fecha de nacimiento. Al saber la
fecha de nacimiento podemos identificar la edad de una persona; este segundo
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 9
atributo (edad) puede ser eliminado sin que eso represente una alteración
importante ni la pérdida de información.
Primera Forma Normal (1NF)
En nuestra tabla de usuarios deberíamos.
1. Eliminar el atributo edad, pues depende directamente de fecha de
nacimiento.
2. Como puedes notar tenemos dos campos para almacenar teléfonos:
teléfono de casa y teléfono móvil. ¿Qué pasaría si después tenemos la
necesidad de almacenar un tercer teléfono, por ejemplo un fax? En lugar
de tener que modificar la tabla, deberíamos agregar entonces una tabla
más denominada "Teléfonos" en donde identificaríamos el número de
teléfono, el tipo, y el id del usuario relacionado a cada caso (relación
1:N). Nuestra tabla de usuarios se dividiría como sigue:
TABLA 'USUARIOS':
id_usuario nombre fecha_de_nacimiento correo_electronico direccion
TABLA 'TELEFONOS':
id_telefono id_usuario telefono Tipo
Nota que ahora en la tabla "Teléfonos" tienes dos tipos de clave: una
principal o maestra y una foránea que te ayudará a identificar a qué usuario
pertenece cada teléfono.
Segunda Forma Normal (2FN)
En nuestro ejemplo tenemos la tabla PRÉSTAMOS. Ya aplicada la 1FN,
nuestra tabla tendría los siguientes campos con algunos registros de ejemplo.
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 10
TABLA 'PRESTAMOS' 1NF
id_prestamo id_usuario ISBN fecha fecha_entrega
1 1 00001 2019-01-01 2019-01-15
1 1 00032 2019-01-01 2019-01-15
1 1 0005 2019-01-01 2019-01-15
2 2 00001 2019-01-18 2019-01-30
Si observamos, identificamos cada préstamo con un id único, pero éste se
repite, pues si recordamos la relación, un usuario puede solicitar 1 o varios libros
en cada préstamo (los datos solo sirven para mostrar la redundancia, no debemos
olvidar que es importante validar que esto es cierto verificando las reglas del
negocio de nuestro desarrollo en general). Si almacenamos esto en una sola tabla,
tenemos redundancia. La solución es crear tablas independientes, una con los
datos del préstamo y otra con los libros de ese préstamo:
TABLA ‘PRESTAMOS’ 2FN
id_prestamo id_usuario fecha fecha_entrega
1 1 2019-01-01 2019-01-13
2 2 2019-01-18 2019-01-30
TABLA ‘REGISTROS_PRESTAMOS’ 2FN
id_registro id_prestamo ISBN
1 1 00001
2 1 00032
3 1 0005
4 2 00001
Tercera Forma Normal (3FN)
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 11
Si la tabla contiene datos sobre un libro debemos quitar de la tabla los datos
que no correspondan directamente con el libro, por ejemplo:
La tabla LIBROS contiene los campos: ISBN, titulo, materia, autor,
nacionalidad_autor.
Aplicando 1FN y 2FN tendremos tres tablas.
TABLA ‘LIBROS’ 2FN
ISBN titulo id_materia id_autor nacionalidad_autor
TABLA ‘MATERIAS’ 2FN
id_materia nombre_materia
TABLA ‘AUTORES’ 2FN
id_autor nombre_autor
Si notas, la nacionalidad del autor no es un campo que dependa
directamente de libro, sino que es una dependencia del autor por lo que en
nuestra tercera forma normal tendríamos que mover ese campo a una nueva
tabla, aunque en este caso ya tenemos la tabla a la que corresponde:
TABLA ‘LIBROS’ 3FN
ISBN titulo id_materia id_autor
TABLA ‘AUTORES’ 3FN
id_autor nombre_autor nacionalidad
TABLA ‘MATERIAS’ 3FN
id_materia nombre_materia
Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 12
Si observamos nuestra base de datos vemos que de tres tablas que
teníamos originalmente terminamos con 7:
• USUARIOS
• TELÉFONOS
• PRÉSTAMOS
• REGISTROS_PRESTAMOS
• LIBROS
• AUTORES
• MATERIAS
Y podríamos ir más lejos, si por ejemplo descomponemos el campo
‘dirección’ de la tabla USUARIOS pensando que el usuario podría tener más de
una dirección y a su vez cada dirección contendría un país (de una tabla de
países), un estado (extraído de una tabla de estados), etc. Depende mucho, desde
luego, de las necesidades de cada desarrollo.
Infografía
https://platzi.com/blog/normalizar-una-base-de-datos-y-no-morir-en-el-intento/
https://support.microsoft.com/es-ve/help/283878/description-of-the-database-
normalization-basics
http://www.marcossarmiento.com/2017/06/28/normalizacion-de-base-de-datos/
https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/por-que-se-necesita-la-
normalizacion-de-base-de-datos
https://www.cs.upc.edu/~bcasas/docencia/pfc/NormalitzacioBD.pdf
https://blog.bi-geek.com/modelo-relacional-formas-normales/
https://magazine.joomla.org/es/ediciones-anteriores/noviembre-2103/item/1610-
desarrollo-de-componentes-normalizacion-de-la-base-de-datos

Más contenido relacionado

La actualidad más candente

Documentos de analisis de requerimientos
Documentos de analisis de requerimientosDocumentos de analisis de requerimientos
Documentos de analisis de requerimientosMilton Garzon
 
Administración de memoria virtual.
Administración de memoria virtual.Administración de memoria virtual.
Administración de memoria virtual.Juan Anaya
 
Ejercicios bjt electronica
Ejercicios bjt electronicaEjercicios bjt electronica
Ejercicios bjt electronicaclara cano
 
Proyecto De Base De Datos
Proyecto De Base De DatosProyecto De Base De Datos
Proyecto De Base De Datosguesta67b7c
 
Catalogo de motores monofásicos
Catalogo de motores monofásicosCatalogo de motores monofásicos
Catalogo de motores monofásicosPablo Hernandez
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Estructura de datos, pilas, árboles, colas, listas
Estructura de datos, pilas, árboles, colas, listasEstructura de datos, pilas, árboles, colas, listas
Estructura de datos, pilas, árboles, colas, listasGuiro Lin
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Ejercicios resueltos de flujo de potencia
Ejercicios resueltos de  flujo de potenciaEjercicios resueltos de  flujo de potencia
Ejercicios resueltos de flujo de potenciaJOe Torres Palomino
 
Trabajo familias logicas
Trabajo familias logicasTrabajo familias logicas
Trabajo familias logicaswm_black
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAdamari Cortes
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++EdsonRc
 
8 1 convertidor-digital-analogico
8 1 convertidor-digital-analogico8 1 convertidor-digital-analogico
8 1 convertidor-digital-analogicoRonald_Paul
 

La actualidad más candente (20)

Documentos de analisis de requerimientos
Documentos de analisis de requerimientosDocumentos de analisis de requerimientos
Documentos de analisis de requerimientos
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Examen de compiladores i parcial
Examen de compiladores i parcialExamen de compiladores i parcial
Examen de compiladores i parcial
 
Administración de memoria virtual.
Administración de memoria virtual.Administración de memoria virtual.
Administración de memoria virtual.
 
Modelo de entidad relación extendido
Modelo de entidad relación extendidoModelo de entidad relación extendido
Modelo de entidad relación extendido
 
Ejercicios bjt electronica
Ejercicios bjt electronicaEjercicios bjt electronica
Ejercicios bjt electronica
 
Proyecto De Base De Datos
Proyecto De Base De DatosProyecto De Base De Datos
Proyecto De Base De Datos
 
Catalogo de motores monofásicos
Catalogo de motores monofásicosCatalogo de motores monofásicos
Catalogo de motores monofásicos
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
BASE DE DATOS
BASE DE DATOSBASE DE DATOS
BASE DE DATOS
 
Estructura de datos, pilas, árboles, colas, listas
Estructura de datos, pilas, árboles, colas, listasEstructura de datos, pilas, árboles, colas, listas
Estructura de datos, pilas, árboles, colas, listas
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Ejercicios resueltos de flujo de potencia
Ejercicios resueltos de  flujo de potenciaEjercicios resueltos de  flujo de potencia
Ejercicios resueltos de flujo de potencia
 
Trabajo familias logicas
Trabajo familias logicasTrabajo familias logicas
Trabajo familias logicas
 
Calidad de la energia.
Calidad de la energia.Calidad de la energia.
Calidad de la energia.
 
Restador completo
Restador completoRestador completo
Restador completo
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacio
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++
 
Normas sobre cableado estructurado
Normas sobre cableado estructuradoNormas sobre cableado estructurado
Normas sobre cableado estructurado
 
8 1 convertidor-digital-analogico
8 1 convertidor-digital-analogico8 1 convertidor-digital-analogico
8 1 convertidor-digital-analogico
 

Similar a Fundamentos de normalizacion

Similar a Fundamentos de normalizacion (20)

diseño de salidas de pantallas. sesión 15.
diseño de salidas de pantallas. sesión 15.diseño de salidas de pantallas. sesión 15.
diseño de salidas de pantallas. sesión 15.
 
Normalizacion base de datos
Normalizacion base de datosNormalizacion base de datos
Normalizacion base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Infonorma
InfonormaInfonorma
Infonorma
 
Normalización
NormalizaciónNormalización
Normalización
 
Informacion sobre la normalizacion
Informacion sobre la normalizacionInformacion sobre la normalizacion
Informacion sobre la normalizacion
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Diseño de una Base de Datos
Diseño de una Base de DatosDiseño de una Base de Datos
Diseño de una Base de Datos
 
Informe de eliana
Informe de elianaInforme de eliana
Informe de eliana
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Normalizacion base de datos I
Normalizacion base de datos INormalizacion base de datos I
Normalizacion base de datos I
 
Modulo 01 base
Modulo 01   baseModulo 01   base
Modulo 01 base
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Actividad 1 tema 5 modulo 4
Actividad 1 tema 5 modulo 4Actividad 1 tema 5 modulo 4
Actividad 1 tema 5 modulo 4
 
Bases de datos 16112009
Bases de datos 16112009Bases de datos 16112009
Bases de datos 16112009
 
Trabajo de informatica.pptx yusssyy
Trabajo de informatica.pptx yusssyyTrabajo de informatica.pptx yusssyy
Trabajo de informatica.pptx yusssyy
 
Trabajo de informatica.pptx yusssyy
Trabajo de informatica.pptx yusssyyTrabajo de informatica.pptx yusssyy
Trabajo de informatica.pptx yusssyy
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 

Más de vinceq

Guiaparaensamblarunacomputadora
GuiaparaensamblarunacomputadoraGuiaparaensamblarunacomputadora
Guiaparaensamblarunacomputadoravinceq
 
Estructuralogicadeundiscoduro
EstructuralogicadeundiscoduroEstructuralogicadeundiscoduro
Estructuralogicadeundiscodurovinceq
 
Guia basica de MySQL 2
Guia basica de MySQL 2Guia basica de MySQL 2
Guia basica de MySQL 2vinceq
 
Guia basica de MySQL parte 1
Guia basica de MySQL parte 1Guia basica de MySQL parte 1
Guia basica de MySQL parte 1vinceq
 
POO con PHP
POO con PHPPOO con PHP
POO con PHPvinceq
 
Arquitectura Cliente-Servidor
Arquitectura Cliente-ServidorArquitectura Cliente-Servidor
Arquitectura Cliente-Servidorvinceq
 
Resumen HTML5, PHP, MySQL
Resumen HTML5, PHP, MySQLResumen HTML5, PHP, MySQL
Resumen HTML5, PHP, MySQLvinceq
 
Guía resumen JavaScript
Guía resumen JavaScriptGuía resumen JavaScript
Guía resumen JavaScriptvinceq
 

Más de vinceq (8)

Guiaparaensamblarunacomputadora
GuiaparaensamblarunacomputadoraGuiaparaensamblarunacomputadora
Guiaparaensamblarunacomputadora
 
Estructuralogicadeundiscoduro
EstructuralogicadeundiscoduroEstructuralogicadeundiscoduro
Estructuralogicadeundiscoduro
 
Guia basica de MySQL 2
Guia basica de MySQL 2Guia basica de MySQL 2
Guia basica de MySQL 2
 
Guia basica de MySQL parte 1
Guia basica de MySQL parte 1Guia basica de MySQL parte 1
Guia basica de MySQL parte 1
 
POO con PHP
POO con PHPPOO con PHP
POO con PHP
 
Arquitectura Cliente-Servidor
Arquitectura Cliente-ServidorArquitectura Cliente-Servidor
Arquitectura Cliente-Servidor
 
Resumen HTML5, PHP, MySQL
Resumen HTML5, PHP, MySQLResumen HTML5, PHP, MySQL
Resumen HTML5, PHP, MySQL
 
Guía resumen JavaScript
Guía resumen JavaScriptGuía resumen JavaScript
Guía resumen JavaScript
 

Último

FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdfLA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdfJAVIER SOLIS NOYOLA
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 

Último (20)

FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdfLA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 

Fundamentos de normalizacion

  • 1. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 1 Fundamentos de la normalización La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. La normalización es un proceso que consiste en aplicar una serie de reglas que nos permitirán organizar nuestra base de datos evitando la redundancia, garantizando la integridad de nuestra información. Para avanzar en el proceso de la normalización, debemos ir dividiendo nuestras tablas en dos o más (sin perder la relación entre ellas). Tener nuestra base de datos correctamente relacionada y normalizada nos evitará redundancia de datos (en términos prácticos, datos repetidos) y nos ayudará a tener una base de datos más "ligera", más correcta y tiempos de ejecución menores. Las bases de datos se normalizan para: • Evitar la redundancia de datos. • Proteger la integridad de los datos (integridad referencial). • Evitar problemas de actualización de los datos en las tablas. Objetivos de la normalización de base de datos Al proceder a la normalización de base de datos hay que plantearse 4 metas: 1. Organizar los datos en grupos lógicos, de tal manera que cada grupo describa una pequeña parte del todo. 2. Minimizar la cantidad de datos duplicados almacenados en una base de datos.
  • 2. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 2 3. Perfeccionar la organización de los datos de tal manera que, cuando se necesite introducir modificaciones, el cambio sólo deba aplicarse en un lugar. 4. Construir una base de datos a la que se pueda acceder de forma rápida y donde sea posible manipular los datos con la máxima eficiencia y sin comprometer su integridad. La normalización de base de datos es especialmente importante en el entorno del procesamiento transaccional, sobre todo en el que se lleva a cabo en línea. Esto es debido a la agilidad con que se llevan a cabo las modificaciones de datos que, además, suelen darse de forma aleatoria. Inserciones, eliminaciones o actualizaciones afectan a los datos almacenados pudiendo disminuir el rendimiento de la base de datos si ésta no se ha normalizado. No obstante, antes de poder empezar a normalizar una base de datos es preciso realizar un análisis de requisitos, que servirá para determinar las políticas y procedimientos a aplicar. De esta investigación resultará un compendio de reglas de negocio. Consecuencias de la falta de normalización de base de datos • Inexactitud de los sistemas de bases de datos. • Ralentización de los procesos. • Ineficiencia en las operaciones. La normalización de base de datos ayuda a evitar estos efectos negativos ya desde el diseño de nuevas bases de datos y permite también comprobar si las existentes garantizan la integridad de datos o referencial necesaria. Lo más recomendable es proceder a normalizar los datos antes de crear las tablas de la base de datos, aunque siempre es preferible asegurar su integridad y, aunque ya se cuente con las bases de datos y no sean de nueva creación, utilizar estas técnicas para ponerlas a prueba, teniendo claros los objetivos a alcanzar en el proceso.
  • 3. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 3 Formas normales Hay algunas reglas en la normalización de una base de datos. Cada regla se denomina una "forma normal". Si se cumple la primera regla, se dice que la base de datos está en la "primera forma normal". Si se cumplen las tres primeras reglas, la base de datos se considera que está en la "tercera forma normal". Aunque son posibles otros niveles de normalización, la tercera forma normal se considera el máximo nivel necesario para la mayor parte de las aplicaciones. Primera Forma Normal (1NF) En esta etapa debemos asegurarnos de que todos nuestras campos son únicos (atómicos) e indivisibles y eliminar todos los datos que sean repetidos o que tengan una dependencia funcional, como por ejemplo edad y fecha de nacimiento. 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.
  • 4. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 4 No utilice varios campos en una sola tabla para almacenar datos similares. En el ejemplo tenemos una tabla No Normalizada que contiene Estudiantes, Tutor, Habitación y las Clases 1,2 y 3. Al aplicarle la primera forma normal eliminamos los grupos repetidos quedándonos con una sola columna de clases y repitiendo los datos del estudiante tutor y habitación y ahora no tenemos grupos repetidos porque aplicamos la primera forma normal (1FN). Para identificar si lo hemos hecho de manera correcta debemos considerar los siguientes aspectos: • Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos. • La tabla contiene una clave primaria única. • La clave primaria no contiene atributos nulos. • No debe existir variación en el número de columnas. • Los campos no clave deben identificarse por la clave (dependencia funcional).
  • 5. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 5 • Debe existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados. • Una tabla no puede tener múltiples valores en cada columna. • Los datos son atómicos (a cada valor de X le pertenece un valor de Y e viceversa). Segunda Forma Normal (2NF) En la segunda forma normal debemos eliminar la redundancia que se pueda observar, esto lo hacemos si al revisar las dependencias funcionales existentes notamos que un subconjunto de nuestra tabla no depende de la clave en su totalidad (dependencia parcial de la llave). Para lograr esto debemos crear una tabla independiente para estos valores incluyendo algún campo que nos permita relacionarlo con la tabla original. La segunda forma normal asegura que cada atributo describe la entidad. Crear tablas separadas para el conjunto de valores y los registros múltiples, estas tablas se deben relacionar con una clave externa. 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 número de estudiante y las clases que llevará en el ejemplo cada estudiante; 1606 y 2602 llevará cada uno tres clases. El contenido de la 1FN que estaba en una tabla ha sido divido en dos tablas para eliminar los datos redundantes e introducirlo a la Segunda Forma Normal (2FN). Sabremos si nuestra base de datos está en la 2FN si ésta previamente cumple con las normas de la 1FN y si sus atributos no principales dependen de
  • 6. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 6 forma completa de la clave principal. Es decir que no existen dependencias parciales. Tercera Forma Normal (3FN) En la tercera forma normal, debemos eliminar de las tablas los datos que no dependan directamente de la clave de la tabla. Los valores que no dependen de la clave principal no pertenecen a la tabla. Los campos que no pertenecen a la clave principal colóquelos en una tabla aparte y relacionen ambas tablas por medio de una clave externa. Para pasar a la tercera forma normal tenemos que eliminar los campos que NO dependen de la clave y para lograrlo dividimos la tabla Estudiantes en dos tablas y creamos la tabla Facultad, donde trasladaremos la columna habitación que no depende de la clave que es la columna estudiante, el nombre del tutor será el enlace con la tabla Estudiantes aunque también podría ser la columna estudiante.
  • 7. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 7 Otras formas de normalización 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. El no tener en cuenta estas dos reglas de normalización adicionales puede resultar en un diseño de base de datos menos perfecto pero no debería afectar a la funcionalidad. La normalización de base de datos es un punto muy importante que deberíamos de tomar muy en serio para establecer cimientos sólidos sobre los cuales podemos construir aplicaciones robustas que en el futuro no presenten problemas de base de datos difíciles de solucionar. Ejemplo Supongamos que necesitamos hacer una base de datos para una biblioteca que llevará el control de préstamos de libros. Las operaciones mínimas serían: • "Un usuario solicita un préstamo". • "Un préstamo incluye uno o varios libros". Estas frases tiene dos objetivos muy claros, el primero es identificar las entidades y relaciones. Definimos una entidad como todo aquello que tiene vida propia (sustantivo) y relación como la forma en que una entidad interactúa como otros (verbos).
  • 8. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 8 Entidades Relaciones Usuarios Libros Préstamo El segundo objetivo es identificar la forma en que interactúan las entidades con las relaciones, observemos las palabras "UNO" o "VARIOS". Dos entidades pueden participar en una relación en cualquiera de las siguientes formas: 1. Uno a uno (1:1). Cada entidad A se relaciona solo con 1 entidad B 2. Uno a varios (1:N) Cada entidad A se relaciona con Muchas entidades B 3. Varios a uno (N:1) Muchas entidades A se relacionan con 1 entidad B 4. Varios a varios. (N:N) Muchas entidades A se relacionan con Muchas entidades B Con esto en mente podemos identificar los elementos que nos permitirán diferenciar un dato de otro, nuestras claves primarias. USUARIOS -> Id_usuario LIBROS -> ISBN PRÉSTAMOS -> Id_prestamo Los atributos de nuestras tablas serían para el ejemplo: USUARIOS: id_usuario, nombre, edad, fecha de nacimiento, correo electrónico, dirección, teléfono casa, teléfono móvil. PRESTAMOS: id_prestamo, id_usuario, fecha, ISBN, fecha de entrega. LIBROS: ISBN, título, materia, autor, nacionalidad_autor. Identificar las DEPENDENCIAS es clave para normalizar. Estas dependencias son de muchos tipos pero por el momento basta con buscar de qué manera dependen unos atributos de otros. Por ejemplo, en USUARIOS tenemos dos campos que tienen una DEPENDENCIA FUNCIONAL que es el tipo de dependencia más común a identificar: edad y fecha de nacimiento. Al saber la fecha de nacimiento podemos identificar la edad de una persona; este segundo
  • 9. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 9 atributo (edad) puede ser eliminado sin que eso represente una alteración importante ni la pérdida de información. Primera Forma Normal (1NF) En nuestra tabla de usuarios deberíamos. 1. Eliminar el atributo edad, pues depende directamente de fecha de nacimiento. 2. Como puedes notar tenemos dos campos para almacenar teléfonos: teléfono de casa y teléfono móvil. ¿Qué pasaría si después tenemos la necesidad de almacenar un tercer teléfono, por ejemplo un fax? En lugar de tener que modificar la tabla, deberíamos agregar entonces una tabla más denominada "Teléfonos" en donde identificaríamos el número de teléfono, el tipo, y el id del usuario relacionado a cada caso (relación 1:N). Nuestra tabla de usuarios se dividiría como sigue: TABLA 'USUARIOS': id_usuario nombre fecha_de_nacimiento correo_electronico direccion TABLA 'TELEFONOS': id_telefono id_usuario telefono Tipo Nota que ahora en la tabla "Teléfonos" tienes dos tipos de clave: una principal o maestra y una foránea que te ayudará a identificar a qué usuario pertenece cada teléfono. Segunda Forma Normal (2FN) En nuestro ejemplo tenemos la tabla PRÉSTAMOS. Ya aplicada la 1FN, nuestra tabla tendría los siguientes campos con algunos registros de ejemplo.
  • 10. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 10 TABLA 'PRESTAMOS' 1NF id_prestamo id_usuario ISBN fecha fecha_entrega 1 1 00001 2019-01-01 2019-01-15 1 1 00032 2019-01-01 2019-01-15 1 1 0005 2019-01-01 2019-01-15 2 2 00001 2019-01-18 2019-01-30 Si observamos, identificamos cada préstamo con un id único, pero éste se repite, pues si recordamos la relación, un usuario puede solicitar 1 o varios libros en cada préstamo (los datos solo sirven para mostrar la redundancia, no debemos olvidar que es importante validar que esto es cierto verificando las reglas del negocio de nuestro desarrollo en general). Si almacenamos esto en una sola tabla, tenemos redundancia. La solución es crear tablas independientes, una con los datos del préstamo y otra con los libros de ese préstamo: TABLA ‘PRESTAMOS’ 2FN id_prestamo id_usuario fecha fecha_entrega 1 1 2019-01-01 2019-01-13 2 2 2019-01-18 2019-01-30 TABLA ‘REGISTROS_PRESTAMOS’ 2FN id_registro id_prestamo ISBN 1 1 00001 2 1 00032 3 1 0005 4 2 00001 Tercera Forma Normal (3FN)
  • 11. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 11 Si la tabla contiene datos sobre un libro debemos quitar de la tabla los datos que no correspondan directamente con el libro, por ejemplo: La tabla LIBROS contiene los campos: ISBN, titulo, materia, autor, nacionalidad_autor. Aplicando 1FN y 2FN tendremos tres tablas. TABLA ‘LIBROS’ 2FN ISBN titulo id_materia id_autor nacionalidad_autor TABLA ‘MATERIAS’ 2FN id_materia nombre_materia TABLA ‘AUTORES’ 2FN id_autor nombre_autor Si notas, la nacionalidad del autor no es un campo que dependa directamente de libro, sino que es una dependencia del autor por lo que en nuestra tercera forma normal tendríamos que mover ese campo a una nueva tabla, aunque en este caso ya tenemos la tabla a la que corresponde: TABLA ‘LIBROS’ 3FN ISBN titulo id_materia id_autor TABLA ‘AUTORES’ 3FN id_autor nombre_autor nacionalidad TABLA ‘MATERIAS’ 3FN id_materia nombre_materia
  • 12. Material recopilado con fines didácticos por: Ing. Esp. Vincenzo Quagliano 12 Si observamos nuestra base de datos vemos que de tres tablas que teníamos originalmente terminamos con 7: • USUARIOS • TELÉFONOS • PRÉSTAMOS • REGISTROS_PRESTAMOS • LIBROS • AUTORES • MATERIAS Y podríamos ir más lejos, si por ejemplo descomponemos el campo ‘dirección’ de la tabla USUARIOS pensando que el usuario podría tener más de una dirección y a su vez cada dirección contendría un país (de una tabla de países), un estado (extraído de una tabla de estados), etc. Depende mucho, desde luego, de las necesidades de cada desarrollo. Infografía https://platzi.com/blog/normalizar-una-base-de-datos-y-no-morir-en-el-intento/ https://support.microsoft.com/es-ve/help/283878/description-of-the-database- normalization-basics http://www.marcossarmiento.com/2017/06/28/normalizacion-de-base-de-datos/ https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/por-que-se-necesita-la- normalizacion-de-base-de-datos https://www.cs.upc.edu/~bcasas/docencia/pfc/NormalitzacioBD.pdf https://blog.bi-geek.com/modelo-relacional-formas-normales/ https://magazine.joomla.org/es/ediciones-anteriores/noviembre-2103/item/1610- desarrollo-de-componentes-normalizacion-de-la-base-de-datos