Base de datos en Excel
Una base datos es un conjunto de datos que ha sido
organizado bajo un mismo contexto y cuya información está almacenada y
lista para ser utilizada en cualquier momento. Las bases de datos pueden
almacenar información sobre personas, productos, ventas o cualquier
otra cosa.
Una base de datos organiza la información relacionada en tablas las
cuales están compuestas por columnas y filas. Una tabla tendrá un número
específico de columnas, pero tendrá cualquier número de filas.
Si observas con detenimiento la imagen anterior, notarás que una
tabla se asemeja mucho a una hoja de Excel la cual también está dividida
en columnas y filas. Por esa razón Excel ha sido utilizado por mucho
tiempo, y por muchas personas, como un repositorio de datos.
Diseño de bases de datos en Excel
Si diseñas y organizas adecuadamente la información dentro de tu
libro de Excel podrás consultar tus datos de una manera fácil y
eficiente, así que en esta ocasión hablaremos sobre las mejores
prácticas para crear una base de datos en Excel que te permitirán organizar y estructurar adecuadamente la información.
Como ejemplo analizaremos el caso de una pequeña librería que desea
crear un catálogo de sus libros en Excel así como tener una lista de sus
clientes y las órdenes de compra. Antes de crear la base de datos en
Excel comenzaremos por crear el diseño siguiendo los pasos descritos en
el artículo Diseño de bases de datos.
Paso 1: Identificar las tablas de la base de datos
Nuestro primer paso en el diseño de una base de datos en Excel será
identificar las tablas que ocuparemos para organizar la información.
Para nuestro ejemplo de la librería podemos mencionar las siguientes
tablas:
Para identificar adecuadamente las tablas de una base de datos debes
poner atención en las agrupaciones naturales de la información, es
decir, en los sujetos que interactúan en la problemática analizada. En
este caso los sujetos principales son los libros, los clientes y las
órdenes.
Paso 2: Determinar los campos de las tablas
Una vez que hemos identificado las tablas debemos indicar el nombre
de cada una de sus columnas (campos). El nombre del campo deberá ser
descriptivo y nos ayudará a identificar cada una de las propiedades de
un elemento de la tabla.
Por ejemplo, para cada libro en venta en la librería guardaremos su
código ISBN, el título, el autor y el precio por lo que dicha tabla
quedará definida de la siguiente manera:
Los campos de cada tabla dependerán de la información que está a tu
disposición para ser ingresada en la base de datos. Por ejemplo, algunas
empresas o negocios tendrán interés en capturar más información sobre
sus clientes lo cual hará que su tabla de Clientes tenga más campos que
los mostrados en el ejemplo anterior.
Paso 3: Identificar la llave primaria de cada tabla
Una llave primaria nos permitirá identificar de manera única cada uno
de los registros de las tablas. En el caso de la tabla Libros, el ISBN
será la llave primaria ya que es un código único internacional para cada
libro publicado por lo que dicho número jamás se repetirá.
En el caso de las tablas para Órdenes y Clientes crearemos un número
consecutivo que identificará de manera única cada una de las filas.
Paso 4: Identificar las relaciones entre tablas
Este paso es de utilidad para asegurarnos que podremos vincular la
información de las tablas a través de la relación que existe entre dos
de sus campos. Por ejemplo, si para una determinada orden de compra
quiero saber el título del libro que ha sido vendido, bastará con
relacionar la columna ISBN de la tabla Órdenes con la columna ISBN de la
tabla Libros para conocer el título.
De manera similar, si deseo conocer el cliente para una determinada
orden de compra, solo deberé seguir la relación indicada por el campo
IDCliente en ambas tablas.
Paso 5: Identificar datos repetidos en tablas
Aun cuando pensemos que hemos terminado con el diseño de nuestra base
de datos, es importante hacer un breve ejercicio con algunos datos
reales para identificar la posible existencia de datos repetidos y tomar
las decisiones adecuadas para evitarlos.
Por ejemplo, considera el caso de la tabla Libros donde podríamos
tener uno o más títulos escritos por el mismo autor. En ese caso,
estaríamos repitiendo el nombre y apellido del autor en varios registros
de la tabla.
Para evitar la repetición de datos lo recomendable es crear una nueva
tabla que almacene la información de los autores y hacer referencia a
dicha tabla a través de su campo llave tal como se muestra en la
siguiente imagen:
De esta manera evitaremos la repetición en el nombre de los autores y
también se evitará la captura de un sin número de variantes del mismo.
Para seguir con nuestro análisis, haremos una captura de datos de prueba
de una orden, por ejemplo:
Estos son los datos de la orden de compra número 1 donde el cliente
ha comprado 3 libros, siendo dos de esas copias del mismo título. El
problema con estos datos es que se repite el número de orden y eso no
sería posible ya que esa es nuestra llave primaria en la tabla y no
puede repetirse. Además para cada registro se repite la Fecha, así como
las columnas IDCliente y TipoPago. Para resolver este problema debemos
crear una tabla adicional que almacenará los libros de cada orden de
compra de la siguiente manera:
Es así como el haber identificado datos repetidos en las tablas nos
ha hecho tomar la decisión de agregar tablas adicionales a nuestro
diseño para minimizar el espacio utilizado por nuestra base de datos que
será de gran importancia al momento de que los datos crezcan. De esta
manera nuestro diseño final queda de la siguiente manera:
Crear la base de datos en Excel
Una vez que tenemos el diseño de la base de datos podemos crearla fácilmente en Excel siguiendo dos recomendaciones:
- Cada tabla del diseño será una tabla de Excel.
- Colocar cada tabla en su propia hoja de Excel.
El motivo para utilizar tablas de Excel es que existen múltiples beneficios de utilizar tablas
entre los cuales están los filtros y el reconocimiento automático de
nuevas filas y columnas. Por otro lado, la razón por la cual colocar
cada tabla en su propia hoja de Excel es para facilitar el crecimiento
de los datos ya que si colocas varias tablas en una misma hoja
probablemente tendrás que moverlas o redefinirlas cada vez que alguna de
ellas aumente de tamaño y se sobrepongan entre sí.
Consultar la base de datos en Excel
Una vez que se ha creado la base de datos en Excel y comiencen a
crecer los datos, seguramente te encontrarás con la necesidad de
relacionar la información de diferentes tablas para obtener datos
complementarios. Por ejemplo, considera las siguientes dos tablas:
La Hoja.Ordenes contiene una tabla llamada Ordenes y la Hoja.Clientes
contiene la tabla Clientes. Si al consultar la tabla Ordenes deseo
conocer el Email del cliente que ha efectuado dicha compra, puedo
utilizar funciones de Excel para obtener dicha información. Ya que estoy
utilizando tablas de Excel, puedo hacer uso de las referencias estructuradas, por ejemplo:
=BUSCARV(Ordenes[IDCliente], Clientes, 5,FALSO)
Esta fórmula buscará el valor de la columna IDCliente, que pertenece a
la tabla Ordenes, dentro de la tabla Clientes y devolverá la columna 5
de esta última tabla. Observa el resultado de la fórmula:
El resultado de la fórmula es correcto ya que la orden número 1 fue
hecha por el cliente con un IDCliente igual a 5 y que corresponde a Luis
cuyo Email es el mostrado en la celda F2. De esta manera puedes
relacionar la información de las diferentes tablas en tu base de datos en Excel, ya sea utilizando la función BUSCARV o la combinación de funciones INDICE/COINCIDIR ya que ambas nos permite crear fórmulas para buscar datos.
Si quieres practicar un poco más con este tipo de fórmulas, descarga el libro de trabajo
que contiene el ejemplo que acabamos de realizar. Antes de finalizar
este artículo, es necesario hacer algunas aclaraciones importantes sobre
las bases de datos en Excel, pero para eso necesito explicar un poco sobre los sistemas de gestión de bases de datos.
Sistemas de gestión de bases de datos (DBMS)
Varias décadas atrás, cuando las computadoras comenzaron a hacerse
más rápidas y eficientes en el manejo de información, se hizo necesaria
la creación de un sistema que se encargase de las operaciones con los
datos. Desde la década de los años sesenta se crearon los primeros sistemas de gestión de bases de datos (DBMS por sus siglas en inglés), cuya finalidad era facilitar el almacenamiento, modificación y extracción de los datos.
El objetivo principal de un DBMS es coordinar y proteger el acceso a
la información y dicho objetivo se logra porque los usuarios o
aplicaciones solo pueden obtener datos utilizando alguna interfaz o
lenguaje de alto nivel como SQL y el sistema de gestión de bases de datos se encargará de devolver la información solicitada ya que el usuario, o aplicación, jamás tiene contacto directo con los datos.
Es muy común que en el campo de la informática se hable de que una
base de datos debe tener un DBMS para ser considerada como una verdadera
base de datos. Un ejemplo de un DBMS es el producto de Microsoft
conocido como SQL Server que es un motor de base de datos diseñado para el ambiente empresarial.
Excel no es un DBMS
Aunque exista una gran cantidad de personas que utilizamos Excel para almacenar información, eso no lo convierte en un sistema de gestión de bases de datos.
Excel no tiene un servicio que controle la inserción o eliminación de
los datos sino que el mismo usuario puede hacerlo directamente en la
aplicación.
Algunas desventajas que tenemos al utilizar Excel para almacenar nuestros datos son las siguientes:
- Solo un usuario puede acceder a la información al mismo tiempo.
- Excel comenzará a ponerse lento cuando la base de datos crezca en gran manera.
- No es posible establecer un nivel de seguridad avanzado como para proteger ciertos datos de ciertos usuarios.
.