Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Características
Base de Datos I
1
Introducción al modelo relacional
Origen del Modelo Relacional y sus Características
El medio estaba próximo a vivir un cambio dado por un Matemático Ingles, Edgar
Codd, ex piloto de la Real Fuerza Aérea durante la Segunda Guerra Mundial, que
emigró a EEUU, para trabajar como Investigador en IBM. En los años 70 publica un
paper que logró la adhesión de otros expertos porque facilitaba un camino,
respaldado en la teoría de conjuntos, para resolver el problema de grandes bases
de datos compartidas. Dicho paper, publicado en Junio de 1970, se llamó “A
Relational Model of Data for Large Shared Data Banks”, algo así como Un modelo
de datos relacional para grandes bancos de datos compartidos.
Así es que el enfoque usado con los archivos, con las sentencias del lenguaje usado,
como COBOL, C, u otro generaba eficacia por un lado e ineficiencias, como la
REDUNDANCIA, cuya definición es importante destacar, según la Real Academia
Española:
2
Otra definición que nos acerca a la aplicación en este contexto…
Para entender que esto es un problema, se debe hacer el siguiente ejercicio mental:
si se guarda en varios registros el domicilio de un cliente, se puede afirmar que será
más fácil de acceder por que tengo una copia de esa información “a mano”. Pero
este acceso fácil enseguida muestra desventajas: si el cliente cambia de domicilio,
se tendrá que buscar todas las repeticiones para modificarlas, de otro modo, si no
se actualizan TODAS las repeticiones de este domicilio, repetido en el modelo de
datos general de la empresa, estaremos provocando inconsistencia, lo que hará
perder confianza en la información almacenada, ya que cuando consulto en un
lugar, me devuelve una dirección y si consulto en otro, me figura una diferente,
¿Cuál de las dos es la correcta? Este problema genera procesos extra de validación
y en el peor de los casos se produce la pérdida de la confianza y pese a tener un
sistema informático, se recurre a alternativas menos eficientes, por esta falta de
confianza.
El primer sistema de Administración de Base de datos (DBMS, por el título Data Base
Management System) aparece durante los años 60 en un momento en que los
proyectos tenían una escala significativa, y éstos eran estudiados, planificados por
los ingenieros. Nunca antes tales grandes grupos de datos habían sido grabados en
esta nueva tecnología. Los problemas iniciales y sus soluciones fueron identificados,
a veces en Tiempo Real, es decir, cuando aparecían eran estudiados y solucionados.
Los DBMS se hicieron necesarios debido a que los datos eran más volátiles de lo
planeado y por que había cada vez más limitaciones en los costos asociados a los
medios de almacenamiento de datos. Los datos crecieron como una colección, y esto
hizo necesario administrarlos en cada una de las transacciones realizadas. En los
años 70 cada proveedor de sistemas de hardware lo suficientemente capaz de
soportar las necesidades demandantes de los clientes, incorporaban sus propios
sistemas DBMS.
3
Los primeros eran específicos de cada uno de los proveedores. IBM lideraba el
campo, pero había un gran número de competidores que ofrecían soluciones de
Sistemas de almacenamiento de Registros.
Codd propuso que los sistemas de bases de datos deberían presentarse a los
usuarios con una visión de los datos organizados en estructuras llamadas relaciones
(tablas), definidas como conjuntos de tuplas (filas) y no como series o secuencias
de objetos, con lo que el orden no es importante. Por tanto, detrás de una relación
puede haber cualquier estructura de datos compleja que permita una respuesta
rápida a una variedad de consultas. Codd hizo entonces énfasis en que el usuario
de un sistema relacional sólo debía preocuparse por el qué consultar y no el cómo
de las estructuras de almacenamiento (lo que ahora se conoce como modelo físico).
Aún hoy se consideran validas sus afirmaciones, especialmente la siguiente:
Puede parecer extraño, pero las ideas de Codd no fueron “recibidas con los brazos
abiertos” en IBM, donde realizaba sus labores de investigación, según afirma
Harlwood Kolsky, un físico y antiguo compañero de Codd; “fue un enfoque
revolucionario”, recuerda Kolsky. El nuevo enfoque de Codd, basado en la teoría
matemática de conjuntos, no tuvo eco inmediato en IBM, que prefirió a IMS, un
producto al que se le había invertido una fuerte cantidad de esfuerzo y dinero.
[Quiroz, 2003]
4
System R con características de multiusuario y un lenguaje de consulta
estructurado, el SEQUEL que luego pasaría a llamarse SQL (Structured Query
Language). Para entonces Larry Ellison, un empresario del Valle del Silicón, había
tomado ventajas de los escritos de Codd para crear un nuevo producto y una nueva
empresa que hasta la fecha se conoce como Oracle.
En 1985 Codd publicó sus famosas 12 reglas sobre el modelo relacional de bases de
datos, un resumen de sus características fundamentales. Es preciso resaltar que
todavía hoy algunas de estas reglas son de difícil implementación para los
fabricantes de manejadores de bases de datos relacionales. Además de ser
considerado como el padre del modelo relacional, Codd también incursionó en el
modelo multidimensional de análisis de datos conocido como OLAP (On Line
Analytical Processing) y en 1993 Codd y algunos de sus colegas publicaron las “12
reglas para OLAP”.
5
En Wikipedia encontramos la siguiente definición que permite ampliar la idea:
“En este modelo todos los datos son almacenados en relaciones, y como
cada relación es un conjunto de datos, el orden en el que estos se almacenen
no tiene mayor 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 por un usuario no experto. La información puede ser
recuperada y mostrada por medio de «consultas» que ofrecen una amplia
flexibilidad y poder para administrar la información”. [Wiki,2009a]
Aunque una relación es más conocida como tabla, las tuplas como filas y los
atributos como columnas, en este apartado usaremos la terminología original y de
donde deriva el nombre del modelo. Las tuplas en una relación son un conjunto en
el sentido matemático del término, es decir, una colección no ordenada de
elementos diferentes.
Para distinguir una tupla de otra, se recurre al concepto de "clave primaria", o sea
un atributo o conjunto de atributos que permiten identificar unívocamente una
tupla en una relación (en el ejemplo, el atributo DNI cumple con esta función).
Naturalmente, en una relación puede haber más combinaciones de atributos que
permitan identificar unívocamente una tupla ("claves candidatas"), pero entre
éstas se elegirá una sola para utilizar como clave primaria. Los atributos de la clave
primaria no pueden asumir el valor nulo (que significa un valor no determinado),
en tanto que ya no permitirían identificar una tupla concreta en una relación.
6
El motor de datos se ocupará de controlar que en los atributos de las relaciones se
incluyan sólo los valores permitidos por sus dominios. Característica fundamental
de los dominios de una base de datos relacional es que sean "atómicos", es decir
que los valores contenidos en los atributos no se puedan separar en valores de
dominios más simples. Más formalmente se dice que no es posible tener atributos
con valores múltiples o multivaluados.
Junto con el modelo, el Dr. Codd también propuso el álgebra relacional, un lenguaje
formal con una serie de operadores que trabajan sobre una o varias relaciones para
obtener otra relación resultado, sin que cambien las relaciones originales. Tanto los
operadores como los resultados son relaciones, por lo que la salida de una
operación puede ser la entrada de otra operación. Esto permite anidar expresiones
del álgebra del mismo modo que se pueden anidar las expresiones aritméticas.
Codd originalmente propuso ocho operadores pero sólo cinco son fundamentales:
restricción, proyección, producto cartesiano, unión y diferencia, que permiten
realizar la mayoría de las operaciones de obtención de datos. Los operadores no
fundamentales son la concatenación o reunión (join), la intersección y la división,
que se pueden expresar a partir de los cinco operadores fundamentales. La
restricción y la proyección son operaciones unarias porque operan sobre una sola
relación. El resto de las operaciones son binarias porque trabajan sobre pares de
relaciones. Ampliaremos este tema mas adelante.
Partiendo del cálculo relacional, el Dr. Codd desarrolló el primer lenguaje relacional
llamado ALPHA el cual formó el fundamento para el desarrollo subsecuente de
lenguaje SQL (original SEQUEL). Otros lenguajes relacionales de consulta, tales
como el QBE (Query By Example, consulta a través de ejemplos), se basaron en el
álgebra relacional definida por el Dr. Codd.
7
Durante las fases de desarrollo del modelo relacional, el comité ANSI/SPARC
(American National
Como consecuencia, el mundo de las bases de datos cambió para siempre. A partir
del modelo relacional el usuario no tendría porqué preocuparse de los aspectos
técnicos de la base de datos: simplemente sus necesidades de información se
satisfarían de acuerdo a su perspectiva de los datos.
8
nueva y mejor. Se encuentran entonces Bases de Datos llamadas Objeto-Relacional,
porque permiten crear objetos con las características de la Orientación a Objetos,
como encapsulamiento, algún grado de herencia, para facilitar el desarrollo de
aplicaciones que tengan este paradigma y que no sea necesario una capa de
conversión de Relacional a Objetos.
El Dr. Codd, al recibir el premio Turing en 1981, declaró que una verdadera
base de datos relacional puede:
9
10