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 son los que se describen a continuación.
Se propone que el estudiante en caso de tener
alguna inquietud o necesidad de aprender mas sobre algún modelo de base de datos
utilice la Web o cualquier bibliografía disponible en la Biblioteca para avanzar
sobre la profundización de algún modelo que necesite.
Si no cuenta con material también puede recurrir
al docente y solicitárselo en formato digital y este le será suministrado sin
problemas. los modelos son:
Bases de datos jerárquicas:
|
Éstas son bases de datos que, como su nombre
indica, almacenan su información en una estructura 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.
É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
|
É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 dBASE produjo
una revolución en los lenguajes de programación y sistemas de administración de
datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base
para su gestión.
Bases de
datos multidimensionales
|
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
|
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
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.
El Lenguaje que utiliza es 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.
Este tipo de bases de datos tiene ventajas,
desventajas como así también fases, interpretacion y mecanismos que se enumeran
brevemente a continuación:
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 de una base de datos
deductiva
-
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:
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.
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.
|