En este artculo se explica la terminologa de normalizacin de bases de datos para principiantes. Tener un conocimiento bsico de esta terminologa resulta til al tratar el diseo de una base de datos relacional.
La normalizacin es el proceso de organizar los datos de una base de datos. Se incluye la creacin de tablas y el establecimiento de relaciones entre ellas segn reglas diseadas tanto para proteger los datos como para hacer que la base de datos sea ms flexible al eliminar la redundancia y las dependencias incoherentes.
Los datos redundantes desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que cambiar datos que existen en ms de un lugar, se deben cambiar de la misma forma exactamente en todas sus ubicaciones. Un cambio en la direccin de un cliente es mucho ms fcil de implementar si los datos slo se almacenan en la tabla Clientes y no en algn otro lugar de la base de datos.
Qu es una "dependencia incoherente"? Aunque es intuitivo para un usuario mirar en la tabla Clientes para buscar la direccin de un cliente en particular, puede no tener sentido mirar all el salario del empleado que llama a ese cliente. El salario del empleado est relacionado con el empleado, o depende de l, y por lo tanto se debera pasar a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar o estar interrumpida.
Hay algunas reglas en la normalizacin de una base de datos. Cada regla se llama "forma normal". Si se cumple la primera regla, se dice que la base de datos est en "primera forma normal". "Si se observan las tres primeras reglas, se considera que la base de datos est en "tercera forma normal". Aunque son posibles otros niveles de normalizacin, la tercera forma normal se considera el nivel ms alto necesario para la mayora de las aplicaciones.
Al igual que con otras muchas reglas y especificaciones formales, los escenarios del mundo real no siempre permiten un cumplimiento perfecto. En general, la normalizacin requiere tablas adicionales y algunos clientes consideran ste un trabajo considerable. Si decide infringir una de las tres primeras reglas de la normalizacin, asegrese de que su aplicacin se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes.
No use varios campos en una misma tabla para almacenar datos similares. Por ejemplo, para realizar el seguimiento de un elemento del inventario que proviene de dos orgenes posibles, un registro del inventario puede contener campos para el Cdigo de proveedor 1 y para el Cdigo de proveedor 2.
Qu ocurre cuando se agrega un tercer proveedor? Agregar un campo no es la respuesta; requiere modificaciones del programa y de la tabla y no se adapta sin problemas a un nmero dinmico de proveedores. En su lugar, coloque toda la informacin de los proveedores en una tabla independiente denominada Proveedores y despus vincule el inventario a los proveedores con el nmero de elemento como clave, o los proveedores al inventario con el cdigo de proveedor como clave.
Los registros no deben depender de nada ms que de la clave principal de una tabla (una clave compuesta, si es necesario). Por ejemplo, considere la direccin de un cliente en un sistema de contabilidad. La direccin se necesita en la tabla Clientes, pero tambin en las tablas Pedidos, Envos, Facturas, Cuentas por cobrar y Colecciones. En lugar de almacenar la direccin de un cliente como una entrada independiente en cada una de estas tablas, almacnela en un lugar, ya sea en la tabla Clientes o en una tabla Direcciones independiente.
Los valores de un registro que no forman parte de la clave de ese registro no pertenecen a la tabla. En general, siempre que el contenido de un grupo de campos pueda aplicarse a ms de un nico registro de la tabla, considere colocar estos campos en una tabla independiente.
Por ejemplo, en una tabla Contratacin de empleados, puede incluirse el nombre de la universidad y la direccin de un candidato. Pero necesita una lista completa de universidades para enviar mensajes de correo electrnico en grupo. Si la informacin de las universidades se almacena en la tabla Candidatos, no hay forma de enumerar las universidades que no tengan candidatos en ese momento. Cree una tabla Universidades independiente y vinclela a la tabla Candidatos con el cdigo de universidad como clave.
EXCEPCIN: cumplir la tercera forma normal, aunque en teora es deseable, no siempre es prctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles entre los campos, debe crear tablas independientes para las ciudades, cdigos postales, representantes de venta, clases de clientes y cualquier otro factor que pueda estar duplicado en varios registros. En teora, la normalizacin merece la pena. Sin embargo, muchas tablas pequeas pueden degradar el rendimiento o superar la capacidad de memoria o de archivos abiertos.
Puede ser ms factible aplicar la tercera forma normal slo a los datos que cambian con frecuencia. Si quedan algunos campos dependientes, disee la aplicacin para que pida al usuario que compruebe todos los campos relacionados cuando cambie alguno.
La cuarta forma normal, tambin llamada Forma normal de Boyce Codd (BCNF, Boyce Codd Normal Form), y la quinta forma normal existen, pero rara vez se consideran en un diseo real. Si no se aplican estas reglas, el diseo de la base de datos puede ser menos perfecto, pero no debera afectar a la funcionalidad.
Las tablas slo deben tener dos dimensiones. Puesto que un alumno tiene varias clases, estas clases deben aparecer en una tabla independiente. Los campos Clase1, Clase2 y Clase3 de los registros anteriores son indicativos de un problema de diseo.
Las hojas de clculo suelen usar la tercera dimensin, pero las tablas no deberan hacerlo. Otra forma de considerar este problema es con una relacin de uno a varios y poner el lado de uno y el lado de varios en la misma tabla. En su lugar, cree otra tabla en la primera forma normal eliminando el grupo repetido (N. clase), segn se muestra a continuacin:
Observe los diversos valores de N. clase para cada valor de N. alumno en la tabla anterior. El N. clase no depende funcionalmente de N. alumno (la clave principal), de modo que la relacin no cumple la segunda forma normal.
En el ltimo ejemplo, Despacho-Tut (el nmero de despacho del tutor) es funcionalmente dependiente del atributo Tutor. La solucin es pasar ese atributo de la tabla Alumnos a la tabla Personal, segn se muestra a continuacin:
La gestin de los datos constituye una parte importante de los negocios. Ya sea para el registro de clientes, para la agenda privada de direcciones, para la contabilidad o para el inventario de existencias, debido a la creciente digitalizacin cada vez es ms importante clasificar y gestionar conjuntos de datos de la manera ms rpida, flexible y clara posible. Esto se logra a travs de los Sistemas de Gestin de Bases de Datos (SGBD), con los que se pueden clasificar y mostrar datos relativos a caractersticas determinadas (por ejemplo, la clasificacin del domicilio de los contactos en funcin del cdigo postal o de las mercancas segn el grupo de productos).
Uno de los SGBD ms extendidos es Microsoft Access, tambin conocido como MS Access. El programa se utiliza tanto en pequeas y medianas empresas como en el mbito domstico y se puede aplicar para el trabajo con conjuntos de datos abarcables. La ventaja frente a otros SGBD es que no se necesitan conocimientos sobre programacin para utilizar Microsoft Access.
Sin embargo, adems de MS Access tambin existen otros sistemas de gestin de bases de datos tiles con los que se puede trabajar de una manera similar, algunos de ellos compatibles con otros sistemas operativos como macOS o GNU/Linux; tambin existen algunas alternativas gratuitas a Microsoft Access. En la presente gua puedes familiarizarte con tres de las mejores alternativas a Microsoft Access, descargables de forma gratuita.
Cul es el motivo para recurrir a una alternativa a Microsoft Access? La gran difusin del software indica que se trata de un SGBD avanzado. De hecho, MS Access tiene muchas ventajas y es apto tanto para principiantes como para personas con conocimientos avanzados en bases de datos. Sin embargo, solo est diseado para Windows y no es gratuito.
Microsoft Access es un Sistema de Gestin de Bases de Datos (SGBD) relacional con el que se pueden insertar, almacenar, editar, evaluar y presentar datos. El modelo relacional usado por el software imita la forma ms usada para los sistemas de gestin de bases de datos, y es que con un sistema de gestin relacional se pueden establecer conexiones entre los conjuntos de datos de diferentes tablas.
Para la administracin de las bases de datos, el software ofrece una interfaz grfica de usuario, en la cual no solo se pueden consultar datos, sino que estos pueden modificarse directamente o tambin crear datos nuevos. MS Access guarda los conjuntos de datos en su backend por defecto, para lo que emplea el motor de bases de datos Microsoft Jet. Microsoft Access tambin puede conectarse a una base de datos en SQL Server, donde Access solo hace las veces de frontend/GUI (Graphical User Interface).
A diferencia de muchos sistemas de gestin de bases de datos que trabajan a partir del principio cliente-servidor (como MySQL o los proyectos derivados MariaDB, PostgreSQL, Microsoft SQL Server, Oracle Database, etc.), Microsoft Access es un sistema de gestin de bases de datos de escritorio. Esto significa que para trabajar en una base de datos con MS Access no se requiere necesariamente un servidor conectado a la red.
Las bases de datos pueden crearse ntegramente como aplicaciones de escritorio, aunque tambin existe la posibilidad de elaborar bases de datos como web apps y que estas se alojen en Microsoft a travs de una aplicacin web SharePoint, aunque esta ofrece menos posibilidades que la aplicacin de escritorio. Se puede acceder y editar las bases de datos desarrolladas con MS Access a travs del navegador.
d3342ee215