LA BASE DE DATOS
Una base de datos o banco de datos
(en ocasiones abreviada con la sigla BD o con la abreviatura b. d.)
es un conjunto de datos pertenecientes a un mismo contexto y almacenados
sistemáticamente para su posterior uso. En este sentido, una biblioteca puede
considerarse una base de datos compuesta en su mayoría por documentos y textos
impresos en papel e indexados para su consulta. Actualmente, y debido al
desarrollo tecnológico de campos como la informática y la electrónica, la
mayoría de las bases de datos están en formato digital (electrónico), que
ofrece un amplio rango de soluciones al problema de almacenar datos.
Existen programas denominados sistemas gestores de
bases de datos, abreviados SGBD, que permiten almacenar y posteriormente
acceder a los datos de forma rápida y estructurada. Las propiedades de estos
SGBD, así como su utilización y administración, se estudian dentro del ámbito
de la informática.
Las aplicaciones más usuales son para la gestión de
empresas e instituciones públicas. También son ampliamente utilizadas en
entornos científicos con el objeto de almacenar la información experimental.
Aunque las bases de datos pueden contener muchos
tipos de datos, algunos de ellos se encuentran protegidos por las leyes de
varios países. Por ejemplo, en España los datos personales se encuentran protegidos
por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD).
Tipos de base de datos
Las bases de datos pueden clasificarse de varias
maneras, de acuerdo al contexto que se esté manejando, la utilidad de las
mismas o las necesidades que satisfagan.
Según la variabilidad de los datos almacenados
Bases de datos estáticas
Son bases de datos de sólo lectura, utilizadas
primordialmente para almacenar datos históricos que posteriormente se pueden
utilizar para estudiar el comportamiento de un conjunto de datos a través del
tiempo, realizar proyecciones, tomar decisiones y realizar análisis de datos para inteligencia empresarial.
Bases de datos dinámicas
Éstas son bases de datos donde la información
almacenada se modifica con el tiempo, permitiendo operaciones como
actualización, borrado y adición de datos, además de las operaciones
fundamentales de consulta. Un ejemplo de esto puede ser la base de datos
utilizada en un sistema de información de un supermercado, una farmacia, un
videoclub o una empresa.
Según el contenido
Bases de datos bibliográficas
Sólo contienen un subrogante (representante) de la
fuente primaria, que permite localizarla. Un registro típico de una base de
datos bibliográfica contiene información sobre el autor, fecha de publicación,
editorial, título, edición, de una determinada publicación, etc. Puede contener
un resumen o extracto de la publicación original, pero nunca el texto completo,
porque si no, estaríamos en presencia de una base de datos a texto completo (o
de fuentes primarias —ver más abajo). Como su nombre lo indica, el contenido
son cifras o números. Por ejemplo, una colección de resultados de análisis de
laboratorio, entre otras.
Bases de datos de texto completo
Almacenan las fuentes primarias, como por ejemplo,
todo el contenido de todas las ediciones de una colección de revistas
científicas.
Directorios
Un ejemplo son las guías
telefónicas en formato electrónico.
Bases de datos o "bibliotecas" de
información química o biológica
Son bases de datos que almacenan diferentes tipos
de información proveniente de la química, las ciencias de la vida o médicas.
Se pueden considerar en varios subtipos:
- Las que almacenan secuencias de nucleótidos o proteínas.
- Las bases de datos de rutas metabólicas.
- Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas-
- Bases de datos clínicas.
- Bases de datos bibliográficas (biológicas, químicas, médicas y de otros campos): PubChem, Medline, EBSCOhost.
Modelos de bases de datos
Además de la clasificación por la función de las
bases de datos, éstas también se pueden clasificar de acuerdo a su modelo de
administración de datos.
Un modelo de datos es básicamente una
"descripción" de algo conocido como contenedor de datos (algo
en donde se guarda la información), así como de los métodos para almacenar y
recuperar información de esos contenedores. Los modelos de datos no son cosas
físicas: son abstracciones que permiten la implementación de un sistema
eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos.
Algunos modelos con frecuencia utilizados en las
bases de datos:
Bases de datos jerárquicas
Artículo
principal: Base de datos jerárquica.
En este modelo los datos se organizan en una forma
similar a un árbol (visto al revés), en donde un nodo padre de
información puede tener varios hijos. El nodo que no tiene padres es
llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente
útiles en el caso de aplicaciones que manejan un gran volumen de información y
datos muy compartidos permitiendo crear estructuras estables y de gran
rendimiento.
Una de las principales limitaciones de este modelo
es su incapacidad de representar eficientemente la redundancia de datos.
Base de datos de red
Artículo
principal: Base de datos de red.
Éste es un modelo ligeramente distinto del
jerárquico; su diferencia fundamental es la modificación del concepto de nodo:
se permite que un mismo nodo tenga varios padres (posibilidad no permitida en
el modelo jerárquico).
Fue una gran mejora con respecto al modelo
jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de
datos; pero, aun así, la dificultad que significa administrar la información en
una base de datos de red ha significado que sea un modelo utilizado en su
mayoría por programadores más que por usuarios finales.
Bases de datos transaccionales
Son bases de datos cuyo único fin es el envío y
recepción de datos a grandes velocidades, estas bases son muy poco comunes y
están dirigidas por lo general al entorno de análisis de calidad, datos de
producción e industrial, es importante entender que su fin único es recolectar
y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia
y duplicación de información no es un problema como con las demás bases de
datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de
conectividad a bases de datos relacionales.
Un ejemplo habitual de transacción es el traspaso
de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza
mediante dos operaciones distintas, una en la que se decrementa el saldo de la
cuenta origen y otra en la que incrementamos el saldo de la cuenta destino.
Para garantizar la atomicidad del sistema (es decir, para que no aparezca o
desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el
sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída
del sistema), el resultado final es que, o bien se han realizado las dos
operaciones, o bien no se ha realizado ninguna.
Bases de datos relacionales
Artículo
principal: Modelo relacional.
Artículo
principal: Base de datos relacional.
Éste es el modelo utilizado en la actualidad para
modelar problemas reales y administrar datos dinámicamente. Tras ser postulados
sus fundamentos en 1970 por
Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como
un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el
uso de "relaciones". Estas relaciones podrían considerarse en forma
lógica como conjuntos de datos llamados "tuplas". Pese a que
ésta es la teoría de las bases de datos relacionales creadas por Codd, la
mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto
es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que
representarían las tuplas, y campos (las
columnas de una tabla).
En este modelo, el lugar y la forma en que se
almacenen los datos no tienen relevancia (a diferencia de otros modelos como el
jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil
de entender y de utilizar para un usuario esporádico de la base de datos. La
información puede ser recuperada o almacenada mediante "consultas"
que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las
consultas a bases de datos relacionales es SQL,
Structured Query Language o Lenguaje Estructurado de Consultas,
un estándar implementado por los principales motores o sistemas de gestión de
bases de datos relacionales.
Durante su diseño, una base de datos relacional
pasa por un proceso al que se le conoce como normalización
de una base de datos.
Durante los años 80 la aparición de BASE produjo una
revolución en los lenguajes de programación y sistemas de administración de
datos. Aunque nunca debe olvidarse que Base no utilizaba SQL como lenguaje base
para su gestión.
Bases de datos multidimensionales
Artículo
principal: Base de datos multidimensional.
Son bases de datos ideadas para desarrollar
aplicaciones muy concretas, como creación de Cubos
OLAP. Básicamente no se diferencian demasiado de las bases de datos
relacionales (una tabla en una base de datos relacional podría serlo también en
una base de datos multidimensional), la diferencia está más bien a nivel
conceptual; en las bases de datos multidimensionales los campos o atributos de
una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla,
o bien representan métricas que se desean estudiar.
Bases de datos orientadas a objetos
Artículo
principal: Base de datos orientada a objetos.
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de
almacenar en la base de datos los objetos completos (estado y
comportamiento).
Una base de datos orientada a objetos es una base
de datos que incorpora todos los conceptos importantes del paradigma de
objetos:
- Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.
- Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.
- Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.
En bases de datos orientadas a objetos, los
usuarios pueden definir operaciones sobre los datos como parte de la definición
de la base de datos. Una operación (llamada función) se especifica en dos
partes. La interfaz (o signatura) de una operación incluye el nombre de la
operación y los tipos de datos de sus argumentos (o parámetros). La implementación
(o método) de la operación se especifica separadamente y puede modificarse sin
afectar la interfaz. Los programas de aplicación de los usuarios pueden operar
sobre los datos invocando a dichas operaciones a través de sus nombres y
argumentos, sea cual sea la forma en la que se han implementado. Esto podría
denominarse independencia entre programas y operaciones.
SQL:2003, es el
estándar de SQL92 ampliado, soporta los conceptos orientados a objetos y
mantiene la compatibilidad con SQL92.
Bases de datos documentales
Permiten la indexación a texto completo, y en
líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de
índices optimizado para este tipo de bases de datos.
Bases de datos deductivas
Un sistema de base de datos deductiva, es un
sistema de base de datos pero con la diferencia de que permite hacer
deducciones a través de inferencias. Se basa principalmente en reglas y hechos
que son almacenados en la base de datos. Las bases de datos deductivas son
también llamadas bases de datos lógicas, a raíz de que se basa en lógica
matemática. Este tipo de base de datos surge debido a las limitaciones de la
Base de Datos Relacional de responder a consultas recursivas y de deducir
relaciones indirectas de los datos almacenados en la base de datos.
Lenguaje
Utiliza un subconjunto del lenguaje Prolog llamado
Datalog el cual es declarativo y permite al ordenador hacer deducciones para
contestar a consultas basándose en los hechos y reglas almacenados.
Ventajas
- Uso de reglas lógicas para expresar las consultas.
- Permite responder consultas recursivas.
- Cuenta con negaciones estratificadas
- Capacidad de obtener nueva información a través de la ya almacenada en la base de datos mediante inferencia.
- Uso de algoritmos de optimización de consultas.
- Soporta objetos y conjuntos complejos.
Desventajas
- Crear procedimientos eficaces de deducción para evitar caer en bucles infinitos.
- Encontrar criterios que decidan la utilización de una ley como regla de deducción.
- Replantear las convenciones habituales de la base de datos.
Fases
- Fase de Interrogación: se encarga de buscar en la base de datos informaciones deducibles implícitas. Las reglas de esta fase se denominan reglas de derivación.
- Fase de Modificación: se encarga de añadir a la base de datos nuevas informaciones deducibles. Las reglas de esta fase se denominan reglas de generación.
Interpretación
Encontramos dos teorías de interpretación de las
bases de datos deductivas:
- Teoría de Demostración: consideramos las reglas y los hechos como axiomas.
Los hechos son axiomas base que se consideran como
verdaderos y no contienen variables. Las reglas son axiomas deductivos ya que
se utilizan para deducir nuevos hechos.
- Teoría de Modelos: una interpretación es llamada modelo cuando para un conjunto específico de reglas, éstas se cumplen siempre para esa interpretación. Consiste en asignar a un predicado todas las combinaciones de valores y argumentos de un dominio de valores constantes dado. A continuación se debe verificar si ese predicado es verdadero o falso.
Mecanismos
Existen dos mecanismos de inferencia:
- Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas de inferencia.
- Descendente: donde se parte del predicado (objetivo de la consulta realizada) e intenta encontrar similitudes entre las variables que nos lleven a hechos correctos almacenados en la base de datos.
Gestión de bases de datos distribuida (SGBD)
La base de datos y el software SGBD pueden estar
distribuidos en múltiples sitios conectados por una red. Hay de dos tipos:
1. Distribuidos homogéneos: utilizan el mismo SGBD
en múltiples sitios.
2. Distribuidos heterogéneos: Da lugar a los SGBD
federados o sistemas multibase de datos en los que los SGBD participantes
tienen cierto grado de autonomía local y tienen acceso a varias bases de datos
autónomas preexistentes almacenados en los SGBD, muchos de estos emplean una
arquitectura cliente-servidor.
Estas surgen debido a la existencia física de
organismos descentralizados. Esto les da la capacidad de unir las bases de
datos de cada localidad y acceder así a distintas universidades, sucursales de
tiendas, etcétera.