Pedir presupuesto

Normalización de base de datos

La normalización de base de datos se adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataba de manipular los datos.

La normalización se introdujo como remedio del estilo de antaño de poner todos los datos en un solo lugar, ya fuese un archivo o una tabla ya que era ineficiente y con errores de lógica cuando se manipulaban los datos.

El proceso de normalización de base de datos nos ayuda a tener los datos de nuestras tablas sin registro duplicados.

Esto como mejor se ve sin lugar a dudas es con un ejemplo. Vamos a imaginarnos que tenemos una base de datos donde almacenemos información sobre “Artitas con sus respectivos albums” en una tabla.

Lo que hariamos sin tener en cuenta la normalización es crear la base de datos de la siguiente manera:

[Mysql]
CREATE TABLE `albums` (
`id_album` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`album` VARCHAR( 100 ) NOT NULL ,
`artista` VARCHAR( 100 ) NOT NULL
) ENGINE = MYISAM ;
[/Mysql]

Si ejecutamos este código dentro de nuestra base de datos, en la pestaña SQL de nuestro PhpMyAdmin, obtendremos la tabla con la siguiente estructura:

Normalización de tablas

Vamos a introducir datos de albums con sus correspondientes artistas:

[Mysql]

— Volcar la base de datos para la tabla `albums`

INSERT INTO `albums` VALUES (1, ‘Lunático’, ‘Gotan Project’);
INSERT INTO `albums` VALUES (2, ‘La Revancha del Tango’, ‘Gotan Project’);
INSERT INTO `albums` VALUES (3, ‘Tango 3.0’, ‘Gotan Project’);
INSERT INTO `albums` VALUES (4, ‘X&Y’, ‘Coldplay’);
INSERT INTO `albums` VALUES (5, ‘Ursuladélica’, ‘Ursula 1000’);
[/Mysql]

Una vez hemos introducido estos valores, podemos apreciar que hay registros repetidos de Gotan Project, es decir, en el campo «artista» tenemos a Gotan Project en 3 ocasiones, y nos puede ocurrir tantos albums insertemos si dejásemos la estructura de la tabla de esta forma ya que un artista suele tener varios Discos.

Normalización de tablas

Para solucionarlo, se hace lo que se denomina «Normalización de la tabla» y así eliminaríamos posibles datos duplicados almacenando estos en otra tabla que podríamos llamar «artistas». Con lo que tendríamos dos tablas: «artistas» y «albums» que podemos relacionar por un campo numérico «id_artista».

Por tanto la tabla «albums» la modificaremos de la siguiente manera (Fijaros en la línea donde definíamos «artista» que ha sido modificada por «id_artista»:

[Mysql]

— Estructura de tabla para la tabla `albums`

CREATE TABLE `albums` (
`id_album` int(5) NOT NULL auto_increment,
`album` varchar(100) NOT NULL,
`id_artista` int(5) NOT NULL,
PRIMARY KEY (`id_album`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
[/Mysql]

Y para terminar con la normalización, creamos la tabla «artistas» de la siguiente manera:

[Mysql]

— Estructura de tabla para la tabla `artistas`

CREATE TABLE `artistas` (
`id_artista` int(5) NOT NULL auto_increment,
`artista` varchar(100) NOT NULL,
PRIMARY KEY (`id_artista`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
[/Mysql]

Ahora si hacemos una consulta a la tabla «albums» después de haberle aplicado la normalidad, tendriamos el siguiente resultado:

Normalización de tablas

Normalización de tablas

Como véis ya no tenemos el nombre de artista duplicado. A partir de ahora, hacemos referencia a con el identificador numérico (id_artista) a la tabla «artista».

Espero haberos aclarado que significa normalización de bases de datos.

¿Te ha gustado?, Comparte!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

¡Pide tu presupuesto!

Completa los campos para poder enviarte un presupuesto

Todos y tu presupuesto son a medida y totalmente personalizados, entendemos que dos proyectos online no pueden ser iguales y que cada cliente tiene unos objetivos y necesidades muy diferentes, es por eso que para elaborar un presupuesto, necesitamos saber de ti, tu proyecto y objetivos.

Los campos marcados con (*) son obligatorios.

La comunicación enviada quedará incorporada a un fichero del que es responsable COLORDEU. Esta comunicación se utilizará exclusivamente para tratar sus datos para atender su solicitud, siempre de acuerdo al Reglamento (UE) 2016/679 (RGPD), la Ley Orgánica 15/1999 (LOPD) y el Real Decreto 1720/2007 de desarrollo de la LOPD), sobre protección de datos. Sus datos no se comunicarán a terceros, excepto por obligación legal, y se mantendrán mientras no solicite su cancelación. En cualquier momento usted puede ejercer los derechos de acceso, rectificación, portabilidad y oposición, o si procede, a la limitación y/o cancelación del tratamiento, comunicándolo por escrito, indicando sus datos personales mediante un email a hola@colordeu.es