Las bases de datos y las hojas de cálculo

Es muy posible que ya haya utilizado aplicaciones de hojas de cálculo como Calligra Sheets, LibreOffice Calc o Microsoft® Excel. Si es así, probablemente se preguntará: ya que tanto las hojas de cálculo como las bases de datos tienen tablas, ¿por qué debería utilizar una base de datos y no una hoja de cálculo?

Al comparar las hojas de cálculo y las bases de datos se pueden encontrar las siguientes cuestiones que se verán en mayor detalle después.

¿En qué se diferencia una base de datos de una hoja de cálculo?

Excediendo gradualmente la capacidad de un teléfono móvil, expanda su tabla Contactos añadiendo una columna (campo) Dirección. Añada más números de teléfono (oficina, hogar) para cada persona y añada apellidos a los nombres. Para hacerlo más sencillo, supondremos lo siguiente:

  • La tabla está limitada a dos personas (obviamente, podrían ser cientos e incluso miles en una base de datos real)

  • Hay dos personas con el mismo nombre y apellido

Tabla 6.2. Tabla de contactos

Nombre y apellidosTelDirección

Juana Salgado

799 23 43 12

Calle Larga 1, Córdoba

Adán García

711 19 77 21

Mérida, Paseo Marítimo 5

Juana Salgado

110 98 98 00

Calle Larga 1

Salgado Juana

312 43 42 22

Sevilla, Calle Larga 1

ADÁN García

231 83 02 04

Paseo Marítimo 5, Mérida


Una tabla así puede existir tanto en una hoja de cálculo como en una base de datos. Utilizar una hoja de cálculo es muy fácil, por supuesto. ¿Qué problemas hay en esta fase?

Integridad de los datos de referencia

Suponga que está utilizando una hoja de cálculo y que necesita cambiar la dirección de al menos una persona. Tiene un pequeño problema: tiene que cambiar la dirección en muchas filas. Por ejemplo, Juana aparece en tres filas. Pero aparecerá un problema de verdad si olvida cambiar una de las filas - la dirección asignada a esta persona se volverá ambigua, y por tanto sus datos perderán integridad.

Además, no hay una forma sencilla de eliminar una única persona de la tabla, porque tiene que borrar todas las filas relativas a esa persona.

Redundancia de datos

Está directamente conectado con el problema anterior. En los campos «nombre» y «apellido» y «dirección» se ha introducido el mismo dato varias veces. Esto es típico del inefectivo modo de las hojas de cálculo de almacenar los datos puesto que la base de datos crece innecesariamente, y por tanto requiere más recursos del equipo (un tamaño mayor de los datos y un acceso más lento).

¿Cómo puede solucionar estos problemas con una base de datos? Puede dividir la información en trozos más pequeños creando una tabla adicional Personas con solo dos columnas: Nombre y apellido y Dirección:

Tabla 6.3. Tabla de personas

Nombre y apellidosDirección

Juana Salgado

Calle Larga 1, Córdoba

Adán García

Paseo Marítimo 5, Mérida


Cada fila de la tabla Personas corresponde a una única persona. La tabla Contactos está desde ahora relacionada con la tabla Personas.

Integridad y validez de los datos

Observe la forma en que se introducen los datos en los campos Nombre y apellido y Dirección. La gente que introduce los datos puede cometer errores, algunas veces incluso negligentes. En nuestros datos de ejemplo tenemos diversas secuencias de introducción del nombre y el apellido (Joan Smith y Smith Joan; Adam y ADAM) y muchas más formas de introducir la misma dirección. Seguramente usted puede discurrir muchas otras maneras.

El problema anterior muestra que por ejemplo cuando se busca el número de teléfono de una persona cuya dirección es Puerta Occidental 1, Varsovia no se conseguirá un resultado completo. Solo se obtendrá una fila en lugar de tres. Por otra parte, tampoco encontrará todos los números de teléfono buscando por el valor Joan Smith en el campo Nombre y apellido, porque Smith Joan no encaja con Joan Smith.

¿Cómo puede solucionar estos problemas utilizando una base de datos? Puede lograrlo cambiando el diseño de la tabla Personas:

  1. Separando los datos del campo Nombre y apellido en dos campos independientes: Nombre y Apellido.

  2. Separando los datos del campo Dirección en tres campos independientes: Calle, Número de casa y Ciudad.

  3. Garantizando la corrección de los datos: asegurándose de que no hay ningún campo vacío, por ejemplo debe introducir siempre un número de casa.

Una tabla modificada tiene un aspecto parecido a:

Tabla 6.4. Tabla de personas

NombreApellidosCalleNúmero de la casaCiudad

Juan

Ejemplo

Calle Larga

1

Córdoba

Adán

Prueba

Paseo Marítimo

5

Mérida

Condiciones

    

campo obligatorio

campo obligatorio

campo obligatorio

campo obligatorio

campo obligatorio


Gracias a la introducción del campo requerido condición podemos estar seguros de que los datos introducidos están completos. Por supuesto, en el caso de otras tablas, puede permitir omitir ciertos campos durante la introducción de los datos.

Limitar la visualización de los datos

Una hoja de cálculo muestra todas las líneas y las columnas de la tabla, que a veces puede ser molesto en las hojas enormes de datos. Por supuesto, puede filtrar y ordenar las líneas de la hoja de cálculo, aunque debe extremar los cuidados cuando vaya a hacerlo. Los usuarios de la hoja de cálculo pueden olvidar que la vista de datos se ha filtrado, lo que puede inducir a cometer errores. Por ejemplo, para calcular las sumas puede pensar que tiene 100 filas de datos aunque, de hecho, hay 20 filas ocultas más.

Si desea trabajar sobre un pequeño subconjunto de los datos, por ejemplo para enviárselo a otros para que lo editen, puede copiarlo y pegarlo en otra hoja de cálculo y después de la edición pegar los datos modificados devueltos a la hoja de cálculo principal. Estas ediciones manuales pueden provocar pérdida de datos o cálculos incorrectos.

Para limitar la visualización de los datos, las aplicaciones de bases de datos ofrecen consultas, formularios e informes.

Un modo muy práctico de limitación es la siguiente versión extendida de la anteriormente descrita tabla Personas:

Tabla 6.5. Tabla de personas

NombreApellidosCalleNúmero de la casaCiudadSueldo

Juan

Ejemplo

Calle Larga

1

Córdoba

2300

Adán

Prueba

Paseo Marítimo

5

Mérida

1900


Vamos a suponer que la columna recientemente introducida «Sueldo» contiene datos confidenciales. ¿Cómo puede compartir por ejemplo detalles de contacto de las personas con sus compañeros de trabajo pero sin revelar sus sueldos? Es posible si comparte solo una consulta y no la tabla completa. La consulta puede seleccionar todas las columnas excepto la columna «Sueldo». En el mundo de las bases de datos una consulta de este tipo se suele conocer como una «vista».

Rendimiento y capacidad

Su computador probablemente sea bastante rápido. Sin embargo, puede ralentizarse algo si utiliza hojas de cálculo muy grandes. Su baja eficiencia reside en primer lugar en la carencia de índices que aceleren el proceso de búsqueda de los datos (las bases de datos sí que ofrecen índices). Además, si va a realizar operaciones como copiar al portapapeles del sistema, incluso la copia de datos puede resultar problemática en algunas ocasiones.

Las hojas de cálculo que contienen conjuntos de datos muy grandes tardan mucho tiempo en abrirse. Una hoja de cálculo carga multitud de datos en la memoria del computador al abrirse. La mayor parte de los datos que se cargan posiblemente sean innecesarios y no se utilicen en ese momento. Las bases de datos, a diferencia de las hojas de cálculo, cargan los datos almacenados en el computador solo cuando los necesita.

En la mayor parte de las ocasiones, no tendrá que preocuparse de cómo se almacenan los datos en la base de datos. Esto significa que, a diferencia de las hojas de cálculo, las bases de datos no se preocupan de:

  • La secuencia de las filas, porque puede ordenar las líneas según sus necesidades. Además, puede ver los mismos datos en diversas vistas con diferente ordenación.

  • Lo mismo se aplica también a las columnas (campos) de la tabla.

Junto con la Limitación de la vista de datos descrita en el párrafo anterior, estas cualidades constituyen la ventaja de las bases de datos.

Entrada de datos

Las últimas ediciones de las aplicaciones de creación de hojas de cálculo le permiten diseñar formularios para introducir datos. Este tipo de formularios son los más utilizados cuando los datos no se pueden visualizar adecuadamente en la vista de tabla, por ejemplo, si el texto ocupa demasiadas líneas o si todas las columnas no caben en la pantalla.

En este caso, la forma en la que funciona la hoja de cálculo es problemática. Los campos para la entrada de la base de datos presentan dificultades para ubicarlos en la hoja de cálculo, y suelen ser poco seguros frente a la manipulación (intencionada o accidental) del usuario.

Informes

Las bases de datos activan la agrupación, la limitación y resumen de datos en un formulario de un informe. Las hojas de cálculo normalmente se imprimen en un formulario de pequeñas tablas sin control completamente automático sobre las divisiones de las páginas o la disposición de los campos.

Programación

Las aplicaciones para crear bases de datos suelen ofrecer lenguajes de programación. Las hojas de cálculo más recientes también tienen estas capacidades, pero reducen la capacidad de modificar los campos de la hoja de cálculo y la copia de datos sencilla, sin olvidar la relevancia de las reglas de identidad que se mencionaron en los párrafos anteriores.

El procesamiento de datos en la hoja de cálculo se suele hacer mediante una interfaz gráfica de usuario, que puede reducir la velocidad de procesamiento de los datos. Las bases de datos pueden trabajar en segundo plano, fuera de las interfaces gráficas.

Multiuso

Es difícil imaginar varios usos para una hoja de cálculo. Aunque es técnicamente posible en las aplicaciones más recientes, necesita mucha disciplina, atención y conocimientos por parte de los usuarios, algo que no se puede garantizar.

Una forma clásica de compartir los datos almacenados en una hoja de cálculo con otras personas es enviar un archivo completo (normalmente, por correo electrónico) o proporcionar un archivo de hoja de cálculo en una red de computadores. Esta forma de trabajar en poco eficaz para grupos de muchas personas: los datos que pueden ser necesarios en un momento los puede tener bloqueados otra persona.

Por otro lado, las bases de datos se han diseñado pensando que puede haber varios usuarios accediendo a los datos. Incluso en la versión más simple, es posible bloquear una fila de un tabla en concreto, lo que hace posible compartir los datos de la tabla.

Seguridad

Asegurar una hoja de cálculo o alguna de sus secciones con una contraseña es una mera actividad simbólica. Después de distribuir un archivo de hoja de cálculo por una red de computadores, la gente puede copiar el archivo e intentar averiguar la contraseña. A veces no es tan difícil, porque la contraseña está almacenada en el mismo archivo que la hoja de cálculo.

Las características para editar los bloqueos o para bloquear la copia de una hoja de cálculo (o parte de ella) es igual de fácil de eludir.

Las bases de datos (salvo que estén almacenadas en un archivo en lugar de en un servidor) no suelen estar disponibles en un único archivo. Se suele acceder a ellas usando una red de computadores, normalmente proporcionando un nombre de usuario y una contraseña. Obtiene acceso solo a esas áreas (tablas, formularios o incluso filas y columnas seleccionadas) que le han sido asignadas para definir los adecuados derechos de acceso.

Los derechos de acceso pueden afectar a la capacidad para editar datos o para acceder a los datos. Si hay datos a los que no puede acceder, y no se los han enviado al computador, no tiene la posibilidad de hacer una copia de los datos de una forma tan fácil como en los archivos de hoja de cálculo.