Conceptos básicos sobre bases de datos

Nivel del post no aplicainicialintermedioavanzado
Tiempo de lectura aproximado 9min

Descubre qué es una base de datos, cómo funcionan los sistemas gestores (SGBD) y cuáles son sus principales ventajas y modelos. Explora su terminología clave, características esenciales y los diferentes tipos de usuarios que interactúan con ellos en este desglose completo.
Conceptos básicos sobre bases de datos

Aunque en la entrada de introducción a las bases de datos dimos una definición de las mismas, creo que es un buen punto de partida recordarlo y establecer una base sólida antes de avanzar en los siguientes conceptos.

Definición de una base de datos

Si queremos dar una definición más técnica, diremos que una base de datos es un conjunto de datos relacionados entre sí, entendiendo por datos hechos conocidos, que podemos registrar y que tienen un significado implícito. Por ejemplo: la lista de nombres, direcciones y teléfonos de todos nuestros familiares y amigos. Esto es una colección de datos relacionados (todos pertenecen a nuestros contactos), con significado implícito (información personal) y que podemos registrar (en una agenda o un móvil). Podemos decir entonces que este listado es una base de datos.

Para que una colección de datos relacionados y registrables se puedan considerar una base de datos, deben cumplir también que:

  • Sea un conjunto coherente de datos relacionados. Es decir, un conjunto aleatorio de datos no puede considerarse una base de datos.
  • Tener utilidad. Una base de datos se diseña y construye para un propósito específico, está destinada a un grupo de usuarios concretos y tiene algunas aplicaciones en las que están interesados dichos usuarios.

Quizás sea importante resaltar también la definición de dato: cualquier elemento informativo que tenga relevancia para un usuario.

Pero, ¿cómo gestionamos el almacenamiento de estos datos?

Sistemas gestores de bases de datos

Un Sistema Gestor de Bases de Datos (SGBD), abreviado en inglés como DBMS (Data Base Management System) es un conjunto de programas que nos permiten crear y mantener una base de datos. Es, por tanto, un software de propósito general que nos ayuda con los procesos de definición, construcción y manipulación de bases de datos para otras diferentes aplicaciones.

La definición de una base de datos consiste en declarar los tipos de datos, las estructuras que los contendrán y las restricciones que se impondrán a estos al almacenarlos.

La construcción es el proceso de almacenar los datos concretos sobre algún medio de almacenamiento que controlará el SGBD.

La manipulación de la base de datos incluye procesos como consultarla para obtener datos específicos, actualizarla con nuevos registros o modificar los existentes, etc.

En adelante, cuando mencionemos un SGBD nos estaremos refiriendo a uno de propósito general, aunque también podríamos codificar nuestro propio conjunto de programas para crear y mantener la base de datos. Pero, en cualquier caso, fuese uno de propósito general (los comerciales) o uno específico, podremos crear software de aplicación (con algún lenguaje de programación como C, Java o Python) que interactúe con la base de datos para mostrar, por ejemplo, un aspecto específico de los datos consultados.

Sistema de base de datos

Vamos a llamar Sistema de base de datos al conjunto formado por la base de datos propiamente dicha, el SGBD que la controle y los posibles programas de aplicación que interactúen con el SGBD.

Esto podríamos representarlo gráficamente de la siguiente forma:

Características del enfoque de bases de datos

Cuando en la introducción sobre las bases de datos vimos la evolución histórica, mencionamos que a partir de los 70 surge el enfoque de bases de datos para paliar el problema con el procesamiento de ficheros tradicionales, así como la búsqueda de un estándar en la propia gestión de los datos.

Vamos a ver a continuación las principales características de este enfoque.

Separación de los datos y su estructura

Una característica fundamental del enfoque de bases de datos es que el sistema no solo contiene la base de datos en si, sino también la descripción completa de la estructura de la misma y las restricciones para esos datos. Esta descripción se almacena aparte, en el denominado catálogo del sistema, que contiene la información sobre la estructura de cada fichero que compone la base de datos, el tipo y formato de almacenamiento de los datos, etc.

La información contenida en el catálogo recibe el nombre de metadatos, que describe la base de datos almacenada.

Separación de los datos y los programas

A diferencia de los sistemas tradicionales de archivos (donde la estructura de los datos depende del código del programa), el enfoque de bases de datos almacena dicha estructura por separado en el catálogo del sistema. Esta separación se denomina independencia entre programas y datos o abstracción de datos.

Gracias a este principio, los usuarios trabajan con una representación conceptual de la información sin preocuparse por su organización física. El SGBD se encarga de consultar los detalles técnicos del catálogo en segundo plano.

Ventajas de los SGBD

Control de redundancia

Un SGBD salvaguarda uno de los problemas en el desarrollo tradicional de software con procesamiento de ficheros: la redundancia. Piensa que cada usuario o grupo de estos mantiene sus propios ficheros para manejar aplicaciones del procesamiento de datos. Por tanto, es muy probable que gran parte de estos se almacenen varias veces o, lo que es lo mismo, son datos redundantes. Esto provoca varios problemas: actualización de datos en cada uno de los lugares de almacenamiento con el aumento de trabajo que conlleva, desperdicio de espacio de almacenamiento y, lo más importante, mayor posibilidad de inconsistencia de los datos almacenados.

Control de acceso

Todos los SGBD comerciales cuentan con sistemas de seguridad y autorización, para permitir a distintos usuarios de la base de datos tener acceso a distintos elementos de la misma.

Gestión multiusuario

La mayoría de los SGBD ofrecen la posibilidad de ser accedidos por varios usuarios simultáneamente, lo que se conoce como SGBD multiusuario. Por ello, el sistema debe incluir un control de concurrencia, asegurando así que cuando varios usuarios intenten actualizar los mismos datos, lo hagan de manera controlada.

Un ejemplo muy ilustrativo para esto sería la reserva de plazas en un vuelo o en una sesión de cine. El SGBD debe garantizar que, en un momento dado, tan solo un usuario tenga acceso a la reserva del asiento y así asignárselo.

Este tipo de aplicaciones se denominan OLTP (OnLine Transaction Processing o Procesamiento de Transacciones OnLine) y son un ejemplo de utilización concurrente.

Soporte de múltiples vistas de los datos

Dado que un SGBD puede tener muchos usuarios accediendo simultáneamente a la base de datos, lo normal es que no todos deseen o deban tener la misma perspectiva de los datos requeridos. Pues los SGBD suelen permitir la recuperación de información con múltiples vistas, de modo que esta se adapte mejor a las necesidades de cada usuario.

Usuarios de una base de datos

Cuando disponemos de una pequeña base de datos, que bien pudiera ser para gestionar nuestra biblioteca personal, lo normal es que una sola persona defina, construya y manipule dicha base de datos.

En cambio, cuando se trata de una base de datos en entornos profesionales, suelen ser distintas personas las que participan en el proceso de vida y mantenimiento.

Administrador/a (DBA)

Se encargan de autorizar el acceso a la BD, coordinar y vigilar su uso y solicitar los recursos de hardware y software necesarios. Son los máximos responsables de garantizar el buen funcionamiento, dando respuesta a lentitud del sistema o accesos indebidos.

Diseñador/a o arquitecto/a

Se encargan de identificar los datos que se almacenarán en la base de datos, así como de elegir las estructuras apropiadas para almacenarlos. La tarea de diseño requiere constante comunicación con el cliente y futuros usuarios de la base de datos con el fin de analizar o comprender lo mejor posible sus necesidades.

Aunque antiguamente el diseñador formaba parte del equipo de administración, hoy en día los requisitos vienen dados directamente por el equipo de arquitectura o ingeniería del propio cliente, conocedores de las necesidades reales.

Programador/a

Profesionales que diseñan e implementan los programas y aplicaciones que interactúan con la base de datos, escribiendo las consultas necesarias para consultar o modificar la información.

Usuarios/as finales

Son las personas y/o aplicaciones que requerirán acceso a la BD para consultarla, actualizarla, generar informes, etc. Aunque hay varias categorías de estos usuarios, en función de sus puestos, conocimientos, etc, podemos decir que son la razón de ser de la base de datos.

Modelos de datos

Denominamos modelo de datos a la forma de describir la estructura de una base de datos. Esto es, la forma de describir los tipos de datos, las relaciones entre ellos y las restricciones que deben cumplir.

A lo largo del tiempo se han propuesto varios modelos, existiendo así modelos de datos de alto nivel o conceptuales, que usan conceptos muy cercanos al modo en el que la mayoría de usuarios perciben los datos, y modelos de datos de bajo nivel o físicos, que usan conceptos para describir los detalles sobre como se almacenan los datos. Estos últimos suelen estar dirigidos a especialistas informáticos, no a usuarios finales.

Entre estos dos modelos están los modelos de datos de representación o implementación, cuyos conceptos pueden ser entendidos por usuarios finales sin estar demasiado lejos de la forma en la que los datos se organizan. Estos modelos usan conceptos como entidad, relación (o vínculo) y atributo, entre otros.

Una entidad representa un objeto o concepto del mundo real sobre el que vamos a guardar información, como un alumno de un instituto o un libro de una biblioteca.

Una relación (o vínculo) describe una relación e interacción entre dos o más entidades o, dicho de otra forma, en como se conectan entre ellas. En el caso de una biblioteca, tendríamos una entre la entidad libro y la entidad autor, por ejemplo.

Por último, un atributo representa alguna propiedad de interés de una entidad. Por ejemplo, el nombre de un alumno o su fecha de nacimiento.

Todos estos conceptos están más detallados en la entrada dedicada al Modelo Entidad-Relación.

Los modelos de datos de representación son los más utilizados en los SGBD actuales, encontrando el mayoritariamente utilizado Modelo Relacional, en contraposición a los modelos jerárquicos y en red que se usaron en el pasado.

En el modelo relacional, el lenguaje estándar de implementación es el lenguaje SQL, el cual estudiaremos en futuras entradas.

Terminología de bases de datos

En cualquier modelo de datos es muy importante distinguir entre la descripción de la base de datos y la base de datos en sí misma.

Durante el diseño de la base de datos se determina la descripción de la misma, que se conoce como esquema de la base de datos. Este esquema se suele representar mediante un diagrama llamado diagrama de esquema. Por ejemplo, podríamos representar el diagrama de esquema de una base de datos de un instituto tal que así:

Es decir, en un diagrama de esquema solo visualizamos algunos aspectos de este, tales como las entidades y sus atributos, pero no los tipos de datos de estos ni las relaciones entre entidades.

Cuando la base de datos ya contiene datos que se han introducido en los campos de los registros, se habla de estado de la base de datos en un momento dado, instantánea de la BD o conjunto actual de instancias. A veces, se denomina al esquema intensión, mientras que a un estado de la base de datos se le conoce como extensión del esquema.

Cuando se diseña una base de datos solo se especifica su esquema y debemos ser cuidados en su diseño, dedicándole el tiempo previo que sea necesario para evitar un alto número de cambios en el futuro. El SGBD almacena la descripción de los elementos del esquema y las restricciones en su catálogo, de forma que el software del SGBD pueda consultarlo cuando lo necesite.

Conclusión

Y llegamos al final de esta nueva entrada, donde hemos explicado los conceptos básicos sobre bases de datos: una definición concisa y profesional, que es un SGBD y sus ventajas, un sistema de base de datos, las características del enfoque, los usuarios que la usan, los modelos de datos y una terminología de las bases de datos.

¿Me ayudas a difundir este post por redes sociales? Tienes los botones justo abajo.

Si te apasionan las bases de datos, recuerda que tengo un portal dedicado única y exclusivamente a la administración de estas: Como ser DBA.

Recuerda suscribirte a nuestra newsletter para no perderte ninguna novedad en nuestra web. Tienes el formulario justo aquí debajo y en el pie de página. Solo recibirás la notificación de que hemos publicado una nueva entrada, ¡nada más!

Hasta la próxima, ¡un saludo!

Extra para estudiantes

Cuando quieras poner a prueba lo aprendido, aquí tienes el test de este tema. O si prefieres practicar antes, estos son los ejercicios propuestos.

Compartir entrada

¡Extra, extra!

Suscríbete a mi newsletter para no perderte nada de mi nuevo contenido sobre bases de datos, administración de sistemas, programación…

pablo_delgado_avatar

Pablo Delgado Flores

Auténtico apasionado por la informática, especialmente por las bases de datos, administración de sistemas y desarrollo web.

Empecé a trabajar como técnico informático mucho antes de obtener una titulación oficial (sysadmin). Actualmente trabajo como DBA Oracle, aunque manejo otros motores como MySQL/MariaDB, PostgreSQL y Amazon Redshift.

También escribo sobre Bases de Datos en Como ser DBA, la terminal de Linux/Unix en #Sudosu y  desarrollo web con Woocoomerce/WordPress en DesarrolloWoo.

Subscribirse
Notificar de
guest
0 Comentarios
Antiguos
Nuevos Más votados
Scroll al inicio