1 Marco de los sistemas de gestión de bases de datos

Anuncio
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
1 Marco de los sistemas de gestión de
bases de datos
1.1.1 Conceptos
Antes de pasar a estudiar la evolución, el estado actual y las previsiones de
futuro de los sistemas de gestión de bases de datos es necesario introducir
algunos conceptos básicos que se utilizarán a lo largo de los apartados posteriores.
Un sistema de gestión de bases de datos (SGBD) consiste en una colección de datos interrelacionados y un conjunto de programas para gestionar dichos datos. La colección de datos, normalmente denominada base de
datos, contiene información de la parte del mundo que se modela. Las bases
de datos están soportadas en el sistema informático por archivos, colecciones de datos persistentes. Comprender el verdadero alcance de los SGBDs
escapa de la (pobre) definición anterior, siendo objeto la asignatura proporcionar un entendimiento suficientemente profundo de la materia.
1.1.2 Importancia de los sistemas de gestión de
bases de datos
Las bases de datos han aparecido para dar soporte a la (valiosa) información de empresas y organizaciones, y se han manifestado aún más relevantes en la así llamada sociedad de la información. Existen múltiples ámbitos
de aplicación de las bases de datos: banca, líneas aéreas, telecomunicaciones, finanzas, ventas, producción, recursos humanos y un sinnúmero de
otras aplicaciones. Las bases de datos forman parte esencial de casi todas
las empresas actuales.
Los logros conseguidos en sistemas de gestión de bases de datos sirven de soporte a avances fundamentales en sistemas de comunicaciones,
transporte y logística, gestión financiera, sistemas basados en el conoci-
1
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
miento, accesibilidad a fuentes de información y un gran número de aplicaciones civiles y militares. Sirven también como las bases para el considerable progreso en ciencia básica en varios campos que van de la Informática a
la Biología.
El campo de la investigación y desarrollo de sistemas de gestión de
bases de datos ha tenido un gran éxito en sus más de 30 años de historia.
La industria de bases de datos generó en Estados Unidos (el país con más
influencia en el desarrollo de sistemas de gestión de bases de datos) 10.000
millones de dólares en 1997 [SZ97], y ha crecido a un ritmo del 35% anual
[Gray97]. Es, después de la industria de sistemas operativos, el área más
productiva en el mercado informático. No sería posible gestionar la cantidad de información crítica que almacenan las empresas sin el soporte de
los sistemas de gestión de bases de datos.
Es conocida la gran influencia de World Wide Web actualmente
desde su revolución a finales de la última década del siglo pasado. En muchas empresas cambiaron sus conexiones directas mediante modem o radioenlace a interfaces Web con la infraestructura de líneas RDSI o teléfono. El impacto de la comunicación a través de la red ha influenciado el uso
de sistemas de gestión de bases de datos con capacidades Web añadidas.
En cualquier caso, los servidores Web que necesitan información persistente relacionada y cambiante siempre están en conexión con un servidor de
bases de datos subyacente.
La importancia de los sistemas de gestión de bases de datos se puede valorar desde otro punto de vista: actualmente, los desarrolladores de
sistemas de gestión de bases de datos como Oracle se encuentran entre las
empresas informáticas de mayor facturación en el mundo y los sistemas de
gestión de bases de datos forman una parte fundamental de la línea de
productos de muchas empresas de la envergadura de Microsoft e IBM.
Hay otros ejemplos que se benefician de las técnicas de almacenamiento de datos, aunque normalmente no hacen uso intensivo de los productos de bases de datos. Los sistemas de información personal como el PC
puede beneficiarse en gran medida. El correo electrónico es de gran valor
para los usuarios, pero actualmente los mensajes se almacenan en un sistema de archivos. Sería muy útil conseguir capacidades de los sistemas de
gestión de bases de datos como la indexación y la consulta para recuperar
información del correo. Agregar estas capacidades a este ejemplo como a
otros, como las hojas de cálculo y los documentos, supondría un gran valor
añadido a la gestión de información en los sistemas personales.
Finalmente, se ha reconocido la materia de las bases de datos como
uno de los cursos más importantes en el curriculum de Informática tanto
de España como de países extranjeros [AI01], que trata aspectos críticos en
casi todas las áreas en las que se usan computadores. En España se ha demostrado la inquietud tanto sobre la docencia como la investigación en bases de datos, como lo demuestra la serie de congresos nacionales sobre in-
2
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
vestigación y docencia en bases de datos (JIDBD, serie de jornadas sobre
investigación y docencia en bases de datos desde 1996 hasta 1998, y su continuación JISBD, serie de jornadas de ingeniería del software y bases de
datos iniciada en 1999, y JENUI, jornadas de enseñanza universitaria, desde 1995).
Existen diversos congresos internacionales dedicados a los diferentes aspectos sobre las bases de datos, como se listan a continuación (por
orden alfabético). A su vez, estos congresos generan un gran número de
workshop asociados.
•
Active and Real-Time Database Systems (ARTDB, bianual, desde 1995).
•
Advances in Databases and Information Systems (ADBIS, desde 1993).
•
Applications of Natural Language to Data Bases (NLDB, desde 1995).
•
Database and Expert Systems Applications (DEXA, desde 1990).
•
Database Programming Languages (DBPL, congreso bianual desde
1987).
•
Database Systems for Advanced Applications (DASFAA, desde 1989).
•
Engineering Federated Information (Database) Systems (EFIS/EFDBS,
desde 1997).
•
Extending Database Technology (EDBT, desde 1995).
•
IEEE International Conference on Data Mining (ICDM, a partir de
2001).
•
IFIP Working Conference on Database Semantics (DS, desde 1985).
•
International Conference on Conceptual Modeling (ER, desde 1979).
•
International Conference on Database Theory (ICDT, bianual desde
1986).
•
International Conference on Deductive and Object-Oriented Databases
(DOOD, bianual desde 1989).
•
International Conference on Enterprise Information Systems (ICEIS,
desde 1999).
•
International Database Engineering and Applications Symposium
(IDEAS, desde 1997).
•
Knowledge Representation Meets Databases (KRDB, desde 1994).
3
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
•
SIGMOD/PODS (fruto de la unión en 1991 de SIGMOD (Special
Interest Group on Management of Data) y Symposium on Principles of
Database Systems (PODS), desde 1982).
•
Statistical and Scientific Database Management (SSDBM, desde 1981).
•
Symposium on Spatial and Temporal Databases (SSTD, desde 1989,
antes Symposium on Large Spatial Databases (SSD)).
•
Very Large Data Bases (VLDB, desde 1975).
•
Visual Database Systems (VDB, desde 1989).
Aparecen
también
congresos
nacionales
como:
alemán
(Datenbanksysteme in Büro, BTW), inglés (British National Conference on
Databases, BNCOD), italiano, español (JISBD), australiano (Australasian
Database Conference, ADC), francés (Journées Bases de Données
Avancées, BDA), brasileño (Brazilian Symposium on Databases, SBBD).
También hay revistas internacionales relacionadas con las bases de
datos como The VLDB Journal (Springer, desde 1992), ACM Transactions
on Database Systems (TODS, desde 1976), DATA BASE for Advances in
Information Systems (de ACM-SIGMIS, desde 1969), Data Mining and
Knowledge Discovery (Kluwer, desde 1997) y Knowledge and Information
Systems (KAIS, Springer, desde 1999).
Las revistas como ACM SIGCSE Bulletin, IEEE Transactions on
Education, Computer Science Education (Swets & Zeitlinger Publishers),
Computers & Education (Elsevier) y Education and Information
Technologies (IFIP Technical Committee on Education) publican estudios
interesantes sobre la enseñanza de la Informática.
1.1.3 Necesidad de los sistemas de gestión de
bases de datos
El desarrollo de la Informática ha sufrido ciertos escollos y una vez identificados y resueltos se ha impulsado la productividad del desarrollo software. La creación de lenguajes de programación de cada vez mayor nivel de
abstracción para el razonamiento a un nivel más cercano a la especificación
del problema, o la inclusión de tipos con su correspondiente verificación
para asegurar en mayor medida la corrección del programa antes y durante
la ejecución son buena prueba de ello. Este efecto también se ha producido
en el ámbito del almacenamiento persistente de los datos. Según el enfoque
"tradicional" del almacenamiento de datos en archivos, cada aplicación definía y mantenía sus propios datos (Figura 1, arriba), lo cual conduce fundamentalmente a la redundancia e inconsistencia de los datos. La solución
4
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
aportada por los sistemas de gestión de bases de datos ofrece un nuevo
enfoque en el que los datos se definen y administran de forma integrada
(Figura 1, abajo), con la posibilidad de imponer importantes restricciones
de integridad que, análogamente al papel de los tipos de las variables que
restringen su dominio, posibilitan restringir el conjunto de datos admisible
derivado de su naturaleza y de las relaciones entre ellos. Esta nueva orientación tiene como consecuencia la independencia de los datos, por la cual
los programas de aplicación encuentran una interfaz común de acceso a los
datos que implica su independencia de la implementación física de los datos.
Enfoque tradicional
Enfoque orientado a BD
Figura 1. Enfoque tradicional orientado a archivos y enfoque orientado a
bases de datos.
La tecnología de bases de datos ha tenido una gran influencia en el
creciente uso de los computadores. Las bases de datos juegan un papel crítico (y muchas veces no identificado) en casi todas las áreas donde se usan
computadores. La gestión de bases de datos ha pasado de ser una aplicación especializada más a constituir una parte esencial de un entorno informático moderno. Es vital reconocer el ámbito de aplicación de los sistemas de gestión de bases de datos y decidir su aplicación. Por ejemplo, no es
razonable usar un SGBD para almacenar los resultados intermedios de una
ordenación externa, que por naturaleza son datos temporales (desechables
tras la operación), si bien necesitan de almacenamiento secundario debido
a la limitación de la capacidad de la memoria principal 1.
1 Aunque se podría aprovechar la memoria virtual para este propósito, los mejores resultados se consiguen con algoritmos especializados que toman cuenta de las características particulares de la operación a resolver.
5
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
1.1.4 Antes de los sistemas de gestión de bases
de datos
Una primera etapa, hasta mediados de los 60, que presenta la evolución del
concepto de archivo, se podría dividir en varias fases. En una primera fase
no existe aún el concepto de archivo. Los datos sólo tienen sentido dentro
de los programas de aplicación y se incluyen dentro de ellos en forma de
constantes. El uso de los computadores se encuentra restringido al campo
científico.
Posteriormente, en una segunda fase, surgen nuevos soportes para
la información. Las tarjetas perforadas y la cinta perforada dan lugar a la
aparición de los archivos secuenciales. El archivo informático nace básicamente para almacenar las informaciones permanentes (muchas veces de
gran volumen), y está asociado a las memorias secundarias o externas, debido a que las memorias primarias o internas son más caras y además son,
en general, volátiles. El acceso a estos archivos se realiza con instrucciones
en lenguaje máquina y posteriormente en ensamblador. Pronto aparecerán
rutinas programadas de acceso a los archivos y éstas se integrarán dentro
de los sistemas operativos. En 1945 se desarrollan las cintas magnéticas, el
primer medio que permite realizar búsquedas.
Los archivos están organizados de forma secuencial simple, la estructura física de los datos es prácticamente igual a la estructura de los
archivos lógicos. Del mismo archivo existen varias copias porque se guardan las generaciones anteriores de los datos. El software se ocupa sólo de
las operaciones de entrada/salida y el programador de aplicaciones diseña
la distribución física de los datos y la incorpora en los programas de aplicación. Si se cambia la estructura de los datos o los dispositivos de almacenamiento, los programas de aplicación se deben volver a escribir, recompilar y probar. Los datos se diseñan y optimizan por lo general para una única aplicación, de ahí que los mismos datos difícilmente se intercambien
entre aplicaciones. Existe un alto nivel de redundancia entre los archivos
de datos. Los dispositivos de almacenamiento cambiaron con una nueva
tecnología que trajo consigo una sustancial reducción del costo por bit de
almacenamiento y, al mismo tiempo, los volúmenes de los archivos sobrepasaron en gran medida la capacidad de los primitivos dispositivos de almacenamiento.
En esta época se realiza un procesamiento de transacciones por lotes (batch). Las transacciones se introducen en tarjetas o cintas y se incluyen en un lote para su procesamiento posterior. El procesamiento por lotes
aprovechó en gran medida los computadores, pero tuvo dos serios inconvenientes. Si había un error en una transacción, no se detectaba hasta la ejecución de la noche y la corrección de la transacción podía durar días. Más
importante es el hecho de que la empresa no conocía exactamente el estado
de la base de datos (al menos hasta el día siguiente, en que las transaccio-
6
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
nes se hubiesen procesado). Estos sistemas requirieron un nuevo paso en el
procesamiento: los sistemas interactivos (online).
Una tercera fase se inicia a finales de los años 50. En 1957 se instala
el primer computador comercial. En 1959 McGee propone la noción de acceso generalizado a datos almacenados electrónicamente. Ese mismo año
IBM introduce el sistema RAMAC (Figura 2) que permite leer los datos de
forma no secuencial y hace posible el acceso a los datos contenidos en los
archivos. El disco magnético induce la aparición del archivo de acceso directo basado en técnicas de direccionamiento calculado usando primero
direcciones absolutas y más tarde direcciones relativas. Fue el momento en
que el componente hardware posibilitó la aparición de los sistemas de gestión de bases de datos transaccionales interactivos, que procesaban interactivamente las transacciones sobre las bases de datos a las cuales accedían mediante un sistema de gestión de bases de datos en conexión telemática. El hardware para conectar terminales interactivos a un mainframe
evolucionó desde teletipos, pasando por terminales CRT con capacidades
de representación únicamente textual y sin capacidad de procesamiento,
hasta los terminales inteligentes de hoy en día, capaces de asumir parte
del procesamiento en un entorno cliente/servidor. La aparición de estos
últimos supone un gran avance en la productividad y en la comodidad, al
acceder a diferentes aplicaciones concurrentemente desde un único terminal. Los monitores de teleprocesamiento proporcionaron el software especializado para que un modesto computador de la época pudiese servir a
miles de terminales concurrentemente.
Figura 2. RAMAC (Random Access Method of Accounting and Control) de
IBM.
Hasta este momento los archivos que se usaban estaban plenamente
integrados con la aplicación a la que servían y dependían del hardware que
los soportaba. Los programas estaban hechos a la medida de la aplicación y
del computador. Ya en la década de los 60 aparece el archivo secuencial
indexado que al principio sólo permitía una única clave y usaba áreas de
desbordamiento.
Se reconoció la naturaleza cambiante de los archivos y de los dispositivos de almacenamiento. El software hizo posible modificar la distribución física de los datos sin que por ello se alterase su estructura lógica,
7
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
siempre que no se introdujesen cambios en los contenidos de los registros
ni en la estructura fundamental de los archivos. Es posible el acceso secuencial o el acceso directo a los registros. Se distingue la organización
lógica de la organización física pero las relaciones entre ellas son bastante
sencillas. Es posible reemplazar las unidades de almacenamiento sin necesidad de modificar los programas de aplicación. Las estructuras de datos
son, por lo general, de los tipos secuencial, secuencial indexado, o de acceso directo simple. Se admiten ciertos recursos de seguridad pero no son
muy fiables. Aún existe mucha redundancia en los datos. El software provee métodos de acceso pero no de administración de datos.
En 1964 aparece el primer sistema de gestión de bases de datos comercial (Integrated Data Stored de General Electric), que estaba basado en
un modelo de datos de red seminal desarrollado por Bachman [Bach65].
Los diagramas de estructura de datos y la terminología empleada por
Bachman (tipos de registro y tipos de conjunto) se harán muy populares.
Bachman incorpora la estructura de "cadena" o "anillo" a las estructuras
entonces clásicas. Estos hechos sentarán las bases para el posterior desarrollo del modelo de datos de red por el grupo DBTG (DataBase Task
Group) del comité CODASYL (Committee on Data Systems Languages).
Bachman recibió el premio Turing por conducir el esfuerzo de DBTG, que
definió un lenguaje estándar para la definición y manipulación de datos. En
su conferencia Turing describió la evolución de los modelos de archivos
planos al nuevo enfoque en que los programas podía navegar entre los datos siguiendo las relaciones entre los registros [Bach73]. El modelo de
Bachman es reminiscente del sistema Memex de V. Bush [Bush45] o el modelo actual de navegación en Internet.
La comunidad Cobol de bases de datos cristalizó el concepto de esquemas e independencia de datos. Se comprendió la necesidad de ocultar
los detalles físicos de la estructura de los registros. Los programas deberían ver sólo la organización lógica de los registros y las relaciones, de manera que siguiesen funcionando a medida que cambiase la estructura de los
registros. Las primeras bases de datos dieron soporte a tres clases de esquemas de datos. El esquema lógico que definía el diseño lógico global de
los registros de las bases de datos y las relaciones entre ellos. El esquema
físico que describía la estructura física de los registros de la base de datos
en los dispositivos de almacenamiento y en los archivos, y los índices necesarios para dar soporte a las relaciones lógicas. Finalmente, el subesquema
era propio de cada aplicación y definía el subconjunto del esquema lógico
que usaba el programa. El mecanismo de estos tres esquemas proporcionó
la independencia de datos. Realmente, muchos programas escritos en aquella época aún siguen funcionando usando el mismo subesquema con el que
empezaron, incluso aunque los esquemas lógico y físico han evolucionado a
diseños completamente nuevos.
Entre 1965 y 1970 se desarrollan diversos sistemas gestores de archivos generalizados, precursores de las primeras bases de datos. Aparecen en aplicaciones de tipo técnico o militar, para las que se construían
8
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
complicados programas de gestión de archivos interrelacionados que estaban hechos “a la medida” de la aplicación concreta (aún no existía el concepto de independencia de datos). Este primer intento de construir un
software capaz de ser usado por una familia de aplicaciones sin necesidad
de retoques se traduce en los productos BOMP, DBOMP y CMFS que utilizan principalmente técnicas de encadenamiento.
El uso de sistemas de archivo integrados permite tener acceso a los
mismos datos de diferente maneras según los requisitos de la aplicación.
De los mismos datos físicos se derivan múltiples organizaciones lógicas. El
software suministra los medios para disminuir la redundancia y como consecuencia se facilita la conservación de la integridad de los datos. La organización del almacenamiento físico es independiente de los programas de
aplicación. Los datos son direccionables en los niveles de campo y de grupo
y es posible una recuperación por claves múltiples. Se utilizan formas de
organización de datos muy complejas sin que ello se refleje en los programas de aplicación.
Se alcanza un momento en que los sistemas clásicos de archivos se
revelan insuficientes dadas las exigencias de los usuarios, que cada vez
piden más prestaciones a los sistemas de información que manejan, en especial, exigen una mayor flexibilidad y adaptabilidad frente a cambios
[Salt76].
Los principales problemas que presentan los sistemas de archivos
clásicos se pueden resumir en los siguientes puntos:
•
Redundancia. Motivada fundamentalmente por el desarrollo de
aplicaciones separadas para cada sección o departamento de la
empresa. Esto trae consigo un desaprovechamiento de la memoria, un recurso escaso en aquella época, y la posible aparición de
inconsistencias.
•
Dependencia. Los programas dependen completamente de los
datos. Esto implica poca flexibilidad frente a futuras variaciones
en los requisitos de información y un alto coste de mantenimiento de los programas.
•
Carencias expresivas. Debida a que los archivos no pueden representar correctamente todos los objetos que aparecen en el
análisis de los problemas del mundo real.
•
Medidas de seguridad insuficientes. Relacionadas sobre todo con
el control de los accesos concurrentes, la recuperación de archivos y el control de autorizaciones.
9
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
1.1.5 Aparición de los sistemas de gestión de bases de datos
Para superar las limitaciones de los sistemas de archivos surgen las técnicas de bases de datos. El objetivo fundamental es unificar toda la información del sistema para evitar redundancias sin perder las diferentes perspectivas que tienen los distintos usuarios. Los datos se organizan y mantienen como un todo estructurado que no está diseñado para una aplicación
concreta, sino que tiende a satisfacer las necesidades de información de
toda la organización.
En estos momentos se empiezan a establecer los requisitos actuales
para los sistemas de gestión de bases de datos. El software de gestión procura la independencia lógica y física de los datos, permitiendo que exista
una visión lógica global independiente de los posibles cambios en las vistas
de los programas de aplicación o de la distribución física de los datos. Los
datos pueden modificarse sin que se incurra en excesivos costos de mantenimiento. Se suministran medios para que el administrador de datos actúe
como controlador y asegure su mejor organización. Se proporcionan procedimientos eficaces para controlar la privacidad, la seguridad y la integridad de los datos. Las bases de datos se diseñan de forma que sean capaces
de suministrar de forma eficaz respuestas a tipos de preguntas no previstas por el diseñador. Se facilita la migración de los datos y por último el
software suministra un lenguaje para la descripción de datos para el administrador de los datos, un lenguaje de ordenes para el programador de
aplicaciones y a veces un lenguaje de consulta para el usuario.
1.1.5.1 Las bases de datos jerárquicas
A finales de los 60, concurrentemente con el desarrollo de los sistemas gestores de archivos, IBM y North American Aviation (más tarde denominada
Rockwell International) desarrollan el modelo de datos jerárquico. Con la
finalidad de resolver problemas de diseño aerospacial y de producción se
desarrolla Information Management System (IMS) con su lenguaje DL/1.
Fue el primer sistema de gestión de bases de datos comercial basado en el
modelo de jerárquico. Aparece IMS DB/DC (database/data communication),
el primer sistema de base de datos de gran escala. Este sistema permitía
representar vistas con topología de red sobre las jerarquías. Sobre 1969
IMS dio como resultado un sistema de gestión de bases de datos de tipo
jerárquico de propósito general: el IMS/l de IBM que constituye la primera
familia de sistemas de gestión de bases de datos. Aparece una extensión de
PL/1 desarrollada por Dodd en GM que se denomina APL (Associative Programming Language). American Airlines e IBM desarrollan SABRE, el
primer sistema que proporciona acceso a datos compartidos por múltiples
usuarios a través de una red de comunicación.
10
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
1.1.5.2 Las bases de datos de red
En la década de los 70 la tecnología de bases de datos experimenta un rápido crecimiento. Desde 1968 el comité CODASYL establece, inspirado en
el modelo de Bachman, las características básicas que debería poseer un
sistema de gestión de bases de datos y define el modelo de datos de red.
Las primeras recomendaciones del DBTG de CODASYL [CODASYL69] y
[CODASYL71] fueron implementadas por diferentes casas comerciales y
dieron lugar a la segunda familia histórica de sistemas de gestión de bases
de datos. Algunos sistemas, desarrollados a lo largo de los años 70, que siguen las propuestas de CODASYL son: IDS II de HONEYWELL, DMS1.100 de UNIVAC, DMS-II de Burroughs, DMS-170 de CDC, IDMS de BF
Goodrich, PHOLAS de Philips y DBMS-11 de DIGITAL. Sin embargo, ninguna de estas implementaciones desarrolló completamente las propuestas
de CODASYL. Algunos fabricantes desarrollan sus propios modelos en red
y se implementan algunos sistemas integrados de BD y de comunicación de
datos como TOTAL de Cicom System y ENVIRON/1.
El modelo de datos de red siempre tuvo pretensiones de generalización y estandarización, mientras que la familia de sistemas jerárquicos está
constituida por una serie de sistemas de gestión de base de datos de los
que posteriormente se obtuvo la abstracción del modelo de datos jerárquico. Ambos tipos de sistemas de gestión de bases de datos (basados en el
modelo de red y en el jerárquico) eran accesibles desde un lenguaje de programación, usualmente Cobol, usando una interfaz de bajo nivel. Esto hacía
que la creación de una aplicación, el mantenimiento de la base de datos, así
como el ajuste y el desarrollo fuesen controlables, pero aún a costa de una
gran inversión de tiempo. No obstante, hasta 1980 los modelos de red y
jerárquico fueron muy populares. Cullinet, una empresa fundada por
Bachman, fue la mayor empresa de software y con más rápido crecimiento
en el mundo.
1.2 Las bases de datos relacionales
A pesar del éxito del modelo de datos de red, muchos diseñadores de software reconocieron que la interfaz de programación para navegación por los
registros era de demasiado bajo nivel. En 1970 E.F. Codd [Codd70], basándose en el álgebra y en la teoría de conjuntos, propone un nuevo modelo de
datos llamado modelo relacional [Codd70]. Sugiere que todos los datos de
la base de datos se podrían representar como una estructura tabular (tablas con columnas y filas, que denominó relaciones) y que esas relaciones se
podrían acceder con un lenguaje no procedimental (declarativo). En lugar
de escribir algoritmos para acceder a los datos, este enfoque sólo necesitaba un predicado que identificara los registros o combinación de registros
deseados. Es más, integraba los lenguajes de definición, navegación y manipulación en un solo lenguaje unificado. A diferencia de los modelos jerár-
11
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
quico y de red, el modelo relacional estaba orientado a valores y no incluía
la identidad de objeto (la declaratividad es el polo opuesto de la identidad
de objetos).
El modelo relacional encontró inicialmente una gran oposición debido a que requería más recursos informáticos que los SGBD existentes en la
época y sus implementaciones no estaban lo suficientemente refinadas como para competir con el resto de modelos y, por tanto, resultaban demasiado lentos. Los SGBD relacionales no fueron prácticos hasta la década de
los ochenta en que se desarrollaron computadores más rápidos a menor
precio. La tasa precio/rendimiento disminuyó notablemente. El modelo
relacional también se mostró ajeno a los programadores que estaban acostumbrados a procesar los datos de registro en registro, en lugar de procesar simultáneamente datos que podían pertenecer a toda la base de datos.
Los programadores se debieron acostumbrar a una nueva forma de pensar
en el tratamiento de los datos.
Se desarrollaron proyectos de investigación que dieron lugar a algunos prototipos entre los que destacan INGRES de la Universidad de Berkeley (1973-75), System R de IBM (1974-77), System 2000 de la Universidad
de Austin en Texas, el proyecto Sócrates de la Universidad de Grenoble en
Francia y ADABAS de la Universidad técnica de Darmstadt en Alemania.
Durante este periodo se desarrollaron diversos lenguajes de consulta:
SQUARE, SEQUEL (SQL), QBE y QUEL. De fundamental importancia es
el lenguaje SQL, que fue el resultado de la convergencia de muchos de los
prototipos desarrollados en la época. El trabajo de investigación en IBM
(en San Jose Research Laboratory, ahora Almaden Research Center) conducido por Ted (E.F.) Codd, Raymond Boyce y Don Chamberlin [CAEG96] y
el trabajo en la Universidad de Berkeley conducido por Michael Stonebraker, dieron como resultado SQL. Se estandarizó por primera vez en 1986
por el comité ANSI X3H2 como estándar ANSI, que fue denominado SQL86 [ANSI86]. ANSI publicó un estándar extendido en 1989, SQL-89. La siguiente versión del estándar fue SQL-92 y la más reciente es SQL: 1999
(cinco estándares ISO/IEC resumidos en [EM99]), lo que provocó después
de la primera estandarización la desaparición de su más inmediato competidor, QUEL. Sin embargo, QBE ha sobrevivido hasta nuestros días gracias
a las interfaces de usuario amigables, y porque supone un primer contacto
más intuitivo y rápido con las bases de datos relacionales. Posteriormente
a los prototipos aparecieron numerosos sistemas relacionales comerciales,
tales como el INGRES de RTI (1980), SQL/DS de IBM (1981), ORACLE de
RSI (1981), DB2 de IBM (1983), RDB de DIGITAL (1983), etc.
En 1972 el grupo SIGMOD (Special Interest Group on Management
of Data) de la ACM organiza la primera conferencia internacional. En 1975
la fundación VLDB (Very Large Data Base) organiza la primera conferencia internacional. En 1976 el grupo de trabajo 2.6 de IFIPS (International
Federation of Information Processing Society) organiza la primera conferencia internacional. En 1976 Chen presenta el modelo de datos entidadrelación. En 1977 y 78 aparecen las propuestas de ANSI/SPARC y CO-
12
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
DASYL en las que se define una arquitectura en tres niveles para los sistemas de gestión de bases de datos que pretende conseguir una completa
independencia de los datos.
La compañía Software Development Laboratories (hoy Oracle) se
fundó en 1977 y construyó el primer sistema comercial de gestión de bases
de datos relacional.
Durante los años 80 se desarrolla la familia de los “micro” sistemas
de gestión de bases de datos. Éstos permiten al usuario definir sus propios
datos y manipularlos con facilidad y flexibilidad pero carecen del soporte
necesario para la gestión de múltiples vistas y accesos concurrentes. Además no garantizan el aislamiento entre programas y datos (la independencia de los datos).
En la década de los 80 se desarrolla SQL Server en Sybase para sistemas UNIX y posteriormente se transportó a sistemas Windows NT. Desde 1994 Microsoft ha lanzado nuevas versiones de este producto de bases
de datos independientemente de Sybase, que dejó de usar el nombre SQL
Server a finales de los 90. La filosofía de uso de los productos Microsoft
intenta ocultar la complejidad de las aplicaciones a los usuarios a través de
interfaces de usuario gráficas avanzadas y asistentes que guían tareas elaboradas. Analysis Services, parte integral del producto, ofrece actualmente
OLAP (Online Analytical Processing) y capacidades de minería de datos
(data mining).
En 1979 la compañía Ashton-Tate introduce dBase II2 para el mercado microinformático y lo denomina relacional. Fue un éxito comercial y
muchos usuarios lo utilizaron productivamente (se incluyó como software
de base en los microordenadores de Osborne a precio simbólico). Sin embargo, esto confundió los conceptos del procesamiento de bases de datos:
de acuerdo con la definición establecida a finales de 1970, dBase II no era
ni relacional ni siquiera un SGBD. De hecho era simplemente un lenguaje
de programación con procesamiento de archivos generalizado pero sin funcionalidades de procesamiento de bases de datos. El aproximadamente
millón de usuarios de dBase II pensó que estaban usando un SGBD relacional cuando realmente esto no era cierto.
Un estudio realizado por ANSI/SPARC en 1983 revela que a principios de los 80 se han implementado más de 100 sistemas relacionales. En
1985 se publican los preliminares de la estandarización de SQL y el proceso se completa a principios de los 90. En mundo de los negocios se ve fuertemente influenciado por los lenguajes de cuarta generación (4GLs). A finales de los 80 y principios de los 90 junto con los lenguajes de cuarta generación comienzan a utilizarse técnicas de ingeniería del software asistida por
2 II no continuó a ningún I, fue tan sólo una táctica comercial que intentaba
ofrecer un producto consolidado después de una supuesta primera versión.
13
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
computador (CASE). Comienzan a generarse programas de aplicación completos usando como interfaz un lenguaje de alto nivel no orientado a la
programación. Aparecen los primeros sistemas de gestión de bases de datos completos para microcomputadores.
El modelo de datos relacional ha proporcionado beneficios inesperados además del aumento de productividad y la facilidad de uso. Es muy
adecuado para el enfoque cliente/servidor, el procesamiento paralelo y las
interfaces gráficas de usuario.
1.3 Clasificación de los sistemas de gestión
de bases de datos
El Comittee for Advanced DBMS Funcion (del que son miembros, entre
otros, M. Stonebraker y J. Gray) proponen en el manifiesto de sistemas de
bases de datos de tercera generación [SRLG90] que los sistemas de gestión
de bases de datos se pueden clasificar en tres generaciones. La primera
generación corresponde a los sistemas de gestión de bases de datos que
prevalecían en los años 70 (modelos jerárquico y de red), orientados a la
gestión de colecciones de registros. La segunda generación, en la década de
los 80, estaban caracterizados por el uso de un lenguaje de acceso no procedimental y un nivel sustancial de independencia de datos (DB2, INGRES, NON-STOP SQL, ORACLE, etc.). La orientación de estos sistemas
al procesamiento de datos de gestión (orientado a los negocios en el área
de nóminas, contabilidad, facturación, etc.) los ha demostrado ineficaces
para una clase más amplia de aplicaciones, como son el diseño asistido por
computador (CAD), la ingeniería del software asistida por computador o
las aplicaciones multimedia. La respuesta a estas carencias se recogen en
lo que se ha venido a denominar sistemas de gestión de bases de datos de
tercera generación.
1.4 Más allá de las bases de datos relacionales
El modelo de datos relacional se ha constituido en un estándar de facto
pero al mismo tiempo ha demostrado sus carencias. Quizás las más importantes sean los lenguajes de consulta no Turing-completos, tipos de datos
muy limitados, fuertes carencias expresivas del modelo (valores nulos, consultas recursivas) y un soporte escaso de restricciones de integridad. Por
ejemplo, en SQL se añadieron nuevos tipos de datos para las fechas y para
cadenas de caracteres de dos bytes. Pero esto no era suficiente para todos
los usuarios que necesitaban representar fechas anteriores a la era cristiana o caracteres Unicode. De forma que se reconoció que los sistemas de
14
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
gestión de bases de datos debían permitir la construcción de nuevos tipos
de datos para reflejar los datos del especialista en un dominio. Como consecuencia de ello, a partir de 1985, la comunidad investigadora empieza a
buscar diversas extensiones de él en forma de nuevos modelos de datos.
Cada una de estas extensiones intenta evitar alguno de los problemas del
modelo de datos relacional. Dos de las extensiones más extendidas son el
uso de la lógica como un modelo de datos y el uso de modelos de datos
orientados a objetos. Desde 1985 se han desarrollado sistemas para sustituir el modelo relacional o para unificar los sistemas relacional y orientado
a objetos. Al final de la década de los 80 había alrededor de una docena de
productos de sistemas de gestión de bases de datos orientadas a objetos.
Uno de los problemas de los lenguajes de acceso a las bases de datos
es el desajuste de impedancia, que se refiere a la diferencia entre el nivel
de registros de los actuales lenguajes de programación típicos y el nivel de
conjuntos de un lenguaje como SQL. Esta diferencia de niveles se traduce
en problemas prácticos en los productos basados en SQL que pretendan la
persistencia. La solución no pasa por bajar el lenguaje de base de datos al
nivel de registros (como llevan a cabo los lenguajes de programación orientadas a objetos), sino por elevar el nivel de operación (abstracción) de los
lenguajes al nivel de conjuntos. La mayoría de estos lenguajes son de tercera generación por naturaleza y, como consecuencia, difíciles de transformar
al nuevo nivel expresivo.
El conjunto de los problemas mencionados provoca las propuestas
de otros enfoques basados fundamentalmente en modelos de datos diferentes al modelo de datos relacional.
1.4.1 Bases de datos orientadas a objetos
La comunidad que provenía de la programación orientada a objetos vieron
el problema claramente: el diseño de tipos de datos requiere un buen modelo de datos y una unificación de los procedimientos y los datos. En lugar
de construir los objetos en el sistema de gestión de bases de datos se recomienda que los tipos se implementen como una biblioteca de clases con
métodos para manipular y acceder al estado de los objetos. Una vez construida esa biblioteca de clases, se podría conectar a cualquier sistema de
gestión de bases de datos. El sistema de gestión de bases de datos almacenaría los objetos de esa clase y gestionaría los datos desde el punto de vista
de la seguridad, concurrencia, recuperación, indexación, etc., pero no de
las funcionalidades propias y características de los datos. La idea fundamental de estos sistemas sería elevar el nivel de abstracción al permitir
aplicar métodos a objetos sin necesidad de pensar explícitamente en las
relaciones y entidades que soportan el diseño de la base de datos. A finales
de la década de los 80 varios firmas software habían desarrollado sistemas
15
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
de gestión de bases de datos orientadas a objetos (como ObjectDesign, Versant, O2 y Objectivity).
Actualmente podemos distinguir tres enfoques en la integración de
la orientación a objetos en las bases de datos. En primer lugar, de manera
natural aparecen los sistemas de gestión de bases de datos relacionales
orientadas a objetos que son una extensión de las bases de datos relacionales que incluyen la posibilidad de definir clases como un tipo más. En segundo lugar aparecen los sistemas de gestión de bases de datos orientadas
a objetos, en los que desaparece el adjetivo relacional. Finalmente están los
lenguajes de programación persistentes ortogonalmente, que añaden la
persistencia de objetos a lenguajes como Java sin solución de continuidad.
1.4.1.1 Sistemas de gestión de bases de datos relacionales
orientadas a objetos
Los sistemas de gestión de bases de datos relacionales orientadas a objetos
incorporan ciertas características del enfoque orientado a objetos en un
sistema de gestión de bases de datos relacional. Los sistemas de gestión de
bases de datos relacionales orientadas a objetos se basan principalmente
en los criterios establecidos en [SRLG90], que se trata de un manifiesto
enfocado a la orientación a objetos opuesto al de [ABDD89], enfocado a las
bases de datos relacionales. Los primeros proponen extender las capacidades de un sistema relacional para incluir soporte para objetos y reglas pero
abiertos a otros sistemas.
El primer principio enunciado en el manifiesto [SRLG90] se refiere
a objetos enriquecidos y reglas, con características como herencia, tipos de
datos avanzados, nuevos constructores sobre listas y bolsas. Todas las funciones se deberían escribir con un lenguaje de programación de alto nivel
no procedimental para evitar que la programación se dirija a las interfaces
de bajo nivel que dependen de la implementación física de la base de datos.
El segundo principio se refiere al aumento de funciones, a la forma
en que se deberían escribir y a la forma de acceso a los datos. Se deberían
incluir vistas actualizables, enumeración de elementos en colecciones combinado con las capacidades del lenguaje de alto nivel para especificar pertenencia y evitar el acceso de bajo nivel dependiente de la implementación
física. También establece que se debería asegurar la compatibilidad ascendente con los sistemas relacionales para facilitar la migración a los nuevos
sistemas.
El tercer principio se refiere a los sistemas abiertos y a las interfaces de programación de aplicaciones. El sistema de gestión de bases de
datos debería estar abierto a varios lenguajes de alto nivel, que deberían
estar basados en SQL. Los lenguajes de programación persistentes deberían estar soportados sobre un sistema de bases de datos mediante extensiones del compilador y un sistema runtime.
16
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
Dado que no existe ningún estándar establecido (hay diferentes enfoques que se discuten posteriormente), ninguna firma software puede pretender ofrecer un sistema basado en estádar. No obstante, ORACLE, DBE
e Informix han realizado importantes cambios en sus sistemas relacionales
para incluir características relacionales orientadas a objetos.
1.4.1.2 Sistemas de gestión de bases de datos orientadas
a objetos
El paradigma conceptual de los sistemas de gestión de bases de datos
orientadas a objetos ofrece persistencia para los objetos. Atkinson et al.
[ABDD89] proporcionaron una guía de requisitos para estos sistemas, un
manifiesto útil aún. En 1993, el grupo ODMG propusieron ODMG-93
[Cat94] y en 1997 el estándar ODMG 2.0 [CBBB97] que se reveló como el
estándar de facto de modelo de objetos hasta finales de la década de los 90.
En 2000 está ya preparada la siguiente versión, ODMG 3.0 [Cat00]. Este
paradigma se basa en el concepto de persistencia ortogonal y en evitar el
desajuste de impedancia. El estándar ODMG proporciona toda la funcionalidad mediante bibliotecas de clases, sin apenas necesidad de modificar la
sintaxis del lenguaje anfitrión [SKS01].
En 1991 Sun comenzó el desarrollo de un nuevo lenguaje de programación orientado a objetos que estaba basado en cierta forma en C++ llamado Oak (roble3). El grupo de trabajo que desarrolló este lenguaje se convirtió en una empresa de Sun llamada First Person Inc. First Person desarrolló un explorador Web capacitado para ejecutar programas Oak. Sun
decidió distribuir gratuitamente Oak, pero antes de ello le cambió el nombre a Java4 y al explorador lo denominó HotJava. Java estuvo disponible
para millones de personas debido fundamentalmente a la integración de
Java en Netscape.
Desde finales de los 70, Atkinson trabajó en bases de datos, persistencia y sus aplicaciones. Su mayor aportación fue el primer lenguaje persistente ortogonalmente, PS-algol [ABCC83]. Atkinson continuó su trabajo
y actualmente trabaja en la Universidad de Glasgow en el proyecto PJama
(pronunciado “pijama” en inglés), la versión persistente ortogonalmente de
Java.
Persistencia ortogonal
La persistencia ortogonal se puede enunciar como sigue [AM95]:
3
Debido a los árboles que decoraban la vista de la oficina de su diseñador, James
Gosling.
4
Debido a como se conoce el café en el trabajo.
17
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
•
Principio de independencia de la persistencia. La forma de un programa es independiente de la longevidad de los datos que manipula. Los
programas son iguales tanto si manipulan datos de vida corta o larga.
•
Principio de la ortogonalidad de los tipos de datos. Todos los objetos
deberían disfrutar de la persistencia completa independientemente de
su tipo. No hay casos especiales en que a los objetos no se les permita
perdurar indefinidamente o ser temporales.
•
Principio de la identificación de la persistencia. La elección de la forma
de identificar y proporcionar objetos persistentes es ortogonal al universo de discurso del sistema. El mecanismo para identificar objetos
persistentes no está relacionado con el sistema de tipos.
Persistencia por alcanzabilidad
Este tipo de persistencia se refiere a la declaración implícita de persistencia de objetos, dada la persistencia explícita (declarada) de uno o varios
objetos raíz. De esta forma, cualquier objeto es persistente si y sólo si se ha
referenciado, directa o indirectamente, desde un objeto raíz persistente.
Otros tipos de persistencia son la persistencia por clase (la más simple,
que define según la declaración de clase que todos los objetos de esa clase
son persistentes), la persistencia por creación (extiende la sintaxis para
indicar la persistencia o temporalidad en la creación del objeto) y la persistencia por marcado (la persistencia se puede marcar en cualquier momento
de la vida del objeto, que inicialmente es temporal).
La aplicación de los principios que guían la persistencia ortogonal
permite sentar las diferencias entre los lenguajes de programación persistentes ortogonalmente y otros sistemas de gestión de bases de datos. Los
sistemas de gestión de bases de datos orientadas a objetos (propiedad de
los lenguajes de programación persistentes ortogonalmente) se deben comunicar con el lenguaje de programación de manera que cualquier programa pueda mantener datos de corta o larga duración (temporales durante la
ejecución del programa o persistentes en soportes de almacenamiento).
Como resultado, el programa no se debería cambiar para ofrecer la persistencia de objetos, eliminando así el desajuste de impedancia entre el lenguaje y los objetos que maneja en términos de los tipos.
En los sistemas de gestión de bases de datos orientadas a objetos todo lo que se represente como un objeto debería poder ser almacenado en la
base de datos independientemente de su tipo. La mayoría de los sistemas
de gestión de bases de datos manejan tipos simples. El modelo de datos
relacional orientado a objetos define limitaciones para el modelado de datos debido a su organización de tablas. Darwen y Date [DD95] y Stonebraker et. al [SSU91] coinciden en reconocer que el modelo y cálculo relacionales deben ser el fundamento de la próxima generación de sistemas de gestión de bases de datos. Los sistemas de gestión de bases de datos orienta-
18
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
das a objetos sufren de una falta de un modelo común de datos, siendo éste
su mayor punto débil [Date98]. El modelo relacional hacer una clara distinción entre el modelo de datos (lógico) y la implementación (física), mientras
que los sistemas orientados a objeto no. Así, los sistemas orientados a objetos proporcionarían menor independencia de los datos que los sistemas
relacionales (¿qué ocurriría si se cambia el tipo de datos para almacenar a
los empleados de un array a una lista enlazada?).
Conceptos de los sistemas de gestión de bases de datos orientadas a objetos
Actualmente no hay consenso en un modelo de datos orientado a objetos,
aunque existen diversas propuestas ([CBBB97], [TM96] y [SR92]). Estas
propuestas difieren en aspectos tales como la herencia simple o múltiple y
si se deben almacenar los métodos o sólo las definiciones. Estas divergencias nacen de las diferentes características de los lenguajes orientados a
objetos que deben dar soporte a este sistema. Por ejemplo, si los sistemas
de gestión de bases de datos orientadas a objetos dan soporte a varios lenguajes, probablemente sea mejor que se almacene sólo la interfaz de los
métodos pero no su implementación. La ausencia de un modelo de datos y
lenguaje de definición es el motivo que algunos indican como uno de los
mayores problemas de los modelos de datos orientados a objetos [DD95].
ODMG 2.0 soporta un modelo de objetos con funcionalidades de bases de
datos, un lenguaje de consulta orientado a objetos similar a SQL (OQL,
Object Query Language), un lenguaje de definición de datos (ODL, Object
Definition Language) y enlaces a los lenguajes de programación C++, Java
y Smalltalk [CBBB97].
Con el trabajo seminal de Atkinson en el lenguaje PS-Algol se dio
paso a una nueva serie de lenguajes de programación persistentes ortogonalmente: Amber [Card84], Galileo [ACO85], Napier88 [DCBM89] y OPAL
[Serv90]. PS-Algol fue un intento académico de añadir persistencia ortogonal y persistencia por alcanzabilidad en un lenguaje de programación con
el mínimo de añadidos. Este enfoque es más claro que el enfoque general
de sistemas de gestión de bases de datos orientadas a objetos, evitando los
problemas que aparecen cuando se usan diferentes lenguajes para acceder
a la base de datos, en concreto, el desajuste de impedancia. Así, el lenguaje
y la base de datos tendrían las mismas propiedades.
En 1996 se inició con PJama en la Universidad de Glasgow y en colaboración con Sun otro intento para diseñar un lenguaje de programación
con seguridad de tipos, orientado a objetos y persistente ortogonalmente
basado en Java [AJDS96] [ADJP96]. Estos lenguajes de programación consiguen la persistencia usando una técnica de implementación diferente de
la mayoría de los sistemas de gestión de bases de datos orientadas a objetos comerciales. En los primeros, la persistencia ortogonal se asegura en
tiempo de ejecución, mientras que en los segundos se consigue con un pre o
19
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
post-procesamiento del código generado por el compilador, implementando
las llamadas persistentes antes de la ejecución.
PJama elimina totalmente el desajuste de impedancia sin añadir
constructores al lenguaje, la única diferencia entre un objeto temporal y
otro persistente es la alcanzabilidad desde una raíz persistente [AJDS96].
En sistemas de gestión de bases de datos orientadas a objetos se consigue
usando palabras clave específicas. PJama hace la vinculación de objetos
dinámicamente mientras que el otro enfoque lo hace parte dinámicamente
y parte estáticamente. Actualmente se está usando este sistema en aplicaciones bioinformáticas usando constructores para indexar largas secuencias de genoma.
Con ODMG 3.0 se consigue persistencia ortogonal para los lenguajes
Java, C++ y Smalltalk. Se disponen para ellos los lenguajes OML, ODL y
OQL. Como el grupo ODMG anuncia: “ODMG 3.0 se ha diseñado para funcionar como una interfaz para almacenar objetos en cualquier tipo de base
de datos”. EyeDB, POET y Orient son firmas que han desarrollado productos que aseguran el estándar ODMG 3.0.
1.4.1.3 Discusión
Los sistemas de gestión de bases de datos relacionales orientadas a objetos
parten del modelo relacional descrito por primera vez por Codd y deberían
ser capaces de representar características orientadas a objetos como la
herencia, el polimorfismo, conjuntos, listas, bolsas, etc. en las relaciones.
[DD95] defienden que se puede hacer si se usa un lenguaje diferente y discrepan con [SSU91] cuando éstos dicen “for better or worse, SQL is intergalactic dataspeak”. Coinciden en que las bases de datos orientadas a objetos
deberían apoyarse en el modelo relacional, pero no coinciden en si esto
comprometería las capacidades orientadas a objetos. Ninguno de estos enfoques eliminan el desajuste de impedancia referido a lenguajes accediendo
a un sistema de bases de datos.
La falta de un modelo de datos de los sistemas de gestión de bases
de datos orientadas a objetos tiene otro problema asociado: la ausencia de
un cálculo de objetos. SQL se convirtió en el estándar aunque QUEL estaba
mucho más cercano al cálculo de tuplas. Algo parecido ocurre con los sistemas de gestión de bases de datos orientadas a objetos, ODMG 2.0 se está
convirtiendo en estándar de facto porque está siendo apoyado comercialmente, no porque sea lo mejor. De hecho, no elimina el desajuste de impedancia al admitir diferentes lenguajes de programación, pero lo reducen en
algunos casos e incluso lo eliminan.
La diferencia más importante entre sistemas de gestión de bases de
datos orientadas a objetos y sistemas de gestión de bases de datos relacionales orientadas a objetos es la diferencia en el desajuste de impedancia al
manejar objetos complejos. Asimismo, las restricciones y la integridad son
20
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
un aspecto importante del modelo relacional orientado a objetos, mientras
que en el otro enfoque la consistencia se debe asegurar desde la aplicación.
Las relaciones son otro problema que no se gestiona de manera ortogonal
en los sistemas de gestión de bases de datos orientadas a objetos [Date00].
La navegación orientada a registros, que fue eliminada por Codd en 1970
con el modelo relacional, ahora se mantiene en los sistemas de gestión de
bases de datos orientadas a objetos como un sistema de navegación orientado a objetos. Mediante iteradores se recorren las colecciones de objetos
para realizar operaciones sobre ellos. De nuevo, la consistencia depende
más de la aplicación que del sistema subyacente.
1.4.2 Bases de datos deductivas
La intersección de las bases de datos, la lógica y la inteligencia artificial ha
dado lugar a las bases de datos deductivas. Una base de datos deductiva es
un sistema que incluye mecanismos para definir reglas (deductivas) que
pueden inferir o deducir información adicional de los hechos almacenados
en la base de datos. Las reglas se especifican en un lenguaje declarativo y
un motor de inferencia (el mecanismo de deducción) es capaz de deducir
nuevos hechos de la base de datos. El modelo usado para las bases de datos
deductivas está estrechamente relacionado con el modelo de datos relacional y en particular con el formalismo de cálculo relacional de dominios.
Está también relacionado con el lenguaje Prolog y, principalmente, con el
lenguaje Datalog, un subconjunto de Prolog que evita el uso de estructuras
potencialmente infinitas. Aunque se ha investigado activamente y producido muchas propuestas, la semántica operacional de Datalog es aún un
campo de investigación para la consecución de consultas eficaces.
El álgebra relacional se ha mostrado insuficiente en la expresión de
consultas a la base de datos. Un defecto importante es la ausencia de recursión, que impide expresar consultas sencillas como es el cierre transitivo de un grafo. Este tipo de consultas pueden expresarse en la lógica de
predicados de primer orden.
Las bases de datos deductivas no son la primera aportación de la lógica a las bases de datos, de hecho hay que remontarse al revolucionario
artículo de Codd [Codd70] en el que formaliza las bases de datos en términos del cálculo relacional y el álgebra relacional. El cálculo relacional está
basado en el cálculo de predicados, al igual que la programación lógica.
Tanto el cálculo como el álgebra son lenguajes de alto nivel, aunque se
puede matizar que el álgebra es más procedimental que el cálculo, en el
sentido en que en aquélla se razona en términos de operadores relacionales
21
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
y su orden de aplicación5. Aunque las bases de datos relacionales usaron el
lenguaje de la lógica en el cálculo relacional, no se formalizó en términos
de la lógica. La formalización de las bases de datos relacionales en términos de la lógica y sus extensiones son la base de las bases de datos deductivas. Se puede decir que las bases de datos relacionales fueron precursoras
de las bases de datos deductivas.
La lógica ha aportado un gran número de contribuciones a las bases
de datos, entre las que se pueden destacar [Mink96]:
•
Formalización de base de datos, consulta y respuesta a una consulta.
•
El reconocimiento de que la programación lógica extiende las bases de
datos relacionales.
•
Comprensión clara de la semántica de múltiples clases de bases de datos que incluyen formas alternativas de negación y disyunción.
•
Comprensión de las relaciones entre la teoría de modelos, teoría de
punto fijo y procedimientos de demostración.
•
Comprensión de las propiedades que pueden tener semánticas alternativas y su complejidad.
•
Comprensión de las restricciones de integridad y la forma en que se
pueden usar para realizar actualizaciones, optimización semántica de
consultas, respuestas cooperativas y mezcla de bases de datos.
•
Formalización y soluciones a los problemas de la actualización y de la
actualización de vistas.
•
Comprensión de la recursión y la recursión acotada, y la forma en que
pueden ser implementadas prácticamente.
•
Comprensión de las relaciones entre los sistemas basados en la lógica y
los sistemas basados en el conocimiento.
•
Formalización de la gestión de información incompleta en sistemas de
bases de conocimiento.
•
Correspondencia entre formalismos alternativos de razonamiento no
monótono y bases de datos y de conocimiento.
Los orígenes de las bases de datos deductivas se pueden localizar en
la demostración automática de teoremas y posteriormente en la programación lógica. Minker [Mink87] sugiere que Green y Raphael [GR68] fueron
5
No obstante, ambos son semánticamente equivalentes como Codd demostró en
[Codd72].
22
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
los primeros en descubrir la conexión entre la demostración de teoremas y
la deducción en las bases de datos. Desarrollaron una serie de sistemas
pregunta-respuesta que usaba un versión del principio de resolución de
Robinson [Robi65], demostrando que la deducción se podía llevar a cabo
sistemáticamente en un entorno de bases de datos.
Otros sistemas pioneros fueron MRPPS, DEDUCE-2 y DADM. El
primero fue un intérprete desarrollado por el grupo de Minker desde 1970
hasta 1978 que contemplaba varios procedimientos de búsqueda, técnicas
de indexación y optimización semántica de consultas. Uno de los primeros
artículos sobre procesamiento de consultas recursivas fue [MN82], que contenía la primera descripción de las consultas recursivas acotadas (consultas recursivas que se pueden traducir a otras no recursivas equivalentes).
El segundo sistema, DEDUCE-2, se implementó en IBM a mediados de la
década de los 70 [Chan78] y admitía cláusulas de Horn recursivas lineales
por la izquierda (recursión de cola) que se basaba en compilación. DADM
[KT81] insistió en la separación de los conceptos base de datos intensional
(reglas de producción) y base de datos extensional (datos o hechos) y estudió la representación de la base de datos intensional con grafos de conexión para apoyar el desarrollo de planes de consulta.
Gallaire, Minker y Nicolas organizaron un workshop histórico en
1977 (el primero de una serie) y varios artículos seleccionados se recogieron en el libro [GM78]. El artículo de Reiter de la suposición de mundo
cerrado (y otro sobre compilación de reglas) aparecieron en este libro, al
igual que el artículo de Clark sobre negación como fallo y un artículo de
Nicolas y Yazdanian sobre la comprobación de restricciones de integridad.
Este hito supuso reunir a las comunidades investigadoras de la lógica y las
bases de datos.
En 1976 Van Emdem y Kowalski [EK76] demostraron que el menor
punto fijo de un programa lógico de cláusulas de Horn coincidía con su mínimo modelo de Herbrand. Esto proporcionó un fundamento sólido para la
semántica de los programas lógicos y, especialmente, para las bases de datos deductivas, ya que los cómputos de punto fijo es la semántica operacional asociada a las bases de datos deductivas que usan evaluación ascendente (bottom-up).
Se puede distinguir una primera fase en la investigación en bases de
datos deductivas dedicada al desarrollo de los fundamentos semánticos. En
la segunda fase se hace hincapié en las técnicas eficientes de evaluación de
consultas. Henschen y Naqvi propusieron una de las primeras técnicas eficientes de evaluación de consultas recursivas en bases de datos [HN84].
Los primeros sistemas usaron estrategias basadas en la resolución que no
eran muy adecuadas para aplicaciones con grandes conjuntos de datos, o
estrategias demasiado simples. El artículo de Ullman [Ullm85] se centró en
la evaluación eficiente de consultas recursivas e indicó que se deberían
tratar aspectos como la no terminación.
23
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
El área de las bases de datos deductivas y en particular el procesamiento recursivo de consultas se reveló muy activo en 1984 con el inicio de
tres proyectos importantes, dos en Estados Unidos y otro en Europa. Los
proyectos Nail!, en Stanford, LDL, en Austin y EKS de ECRC han producido contribuciones importantes y la construcción de prototipos simples. En
la Universidad de Wisconsin se desarrolló Coral [RSSS94] a finales de los
80.
En 1986 se reconoció que la combinación de Prolog con las bases de
datos relacionales no era una solución satisfactoria y la investigación se
condujo hacia técnicas de evaluación ascendente [TZ86].
El proyecto Aditi [Rama93] comenzó en 1988 en la Universidad de
Melbourne y ha dado como resultado una segunda versión (Aditi 2) que se
inició en 1994 y la versión alfa está disponible desde abril de 2001. Incorpora acceso concurrente, gestión de transacciones, paralelismo a varios niveles y resolución de predicados descendente.
El proyecto VALIDITY [FGLV95] [LMV95] se inició en Bull Corporation de la mano de Jean-Marie Nicolas y Laurent Vieille para desarrollar
un sistema de bases de datos deductivas que integrase características de
orientación a objetos.
En [AB01] se presenta el uso de la programación lógico-funcional
para el diseño de un sistema de bases de datos deductivas lógico funcionales, al que se le está dotando actualmente de un lenguaje denominado INDALOG.
1.4.3 Bases de datos de deductivas orientadas a
objetos
La integración de las bases de datos deductivas y las bases de datos orientadas a objetos ha suscitado un gran interés en la comunidad científica para aunar las ventajas de ambos paradigmas. Del primero, un uso más potente de la lógica que las bases de datos relacionales, y del segundo la introducción de métodos y tipos enriquecidos definidos por el usuario. Existen también puntos compartidos entre ambos, como ofrecer lenguajes de
consulta Turing-completos.
Aparece un primer problema en la integración dada la diferente naturaleza de los lenguajes en ambos paradigmas, declarativos e imperativos.
Aunque se argumenta la declaratividad de la orientación a objetos por la
abstracción que aportan las clases, no hay que confundir ambos términos.
La declaratividad permite expresar las consultas usando constructores del
lenguaje que se manejan directamente por el motor de consultas sin necesidad de especificar el orden de la aplicación de los operaciones. Esta ca-
24
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
racterística es fundamental para la optimización automática de los planes
de ejecución dado que se pueden implementar motores eficientes dado el
conocimiento del modelo de cómputo. Cuanto más se conozca en el nivel
del motor acerca del programa (consulta) que se debe ejecutar, mayor será
la mejora alcanzada. En cambio, los métodos de la programación orientada
a objetos están compuestos de secuencias de operaciones cuyo orden es
crítico en general. Esto añade una sobrecarga para el programador cuando
se razona sobre el planteamiento del problema, además de obstaculizar las
mejoras que automáticamente pueda realizar el motor de ejecución. En
definitiva, las consultas declarativas representan un nivel de abstracción
superior a las imperativas.
Los lenguajes lógicos en los que se basan las bases de datos deductivas poseen una semántica clara y bien fundamentada, a diferencia de los
lenguajes orientados a objetos. Así, el mejor enfoque para la integración de
ambos paradigmas pasaría por añadir características de la programación
orientada a objetos en un lenguaje lógico [Ullm91]. No obstante se pueden
encontrar ambos enfoques en la investigación actual: el que incluye características de orientación a objetos en lenguajes de bases de datos basados
en la lógica, y los que incluyen características lógicas en lenguajes de bases
de datos orientadas a objetos.
Ha habido un gran interés en la integración como lo demuestran las
múltiples propuestas que han aparecido en la década de los 90, como Ologic [KW93], IQL2 [AS95], LOGRES [CCCT90], Datalogmeth [ALUW95],
LLO [LO91], CORAL++ [SRS973, DLT [BB93], ROCK&ROLL [BFPW95] y
Datalog++ [Jami97].
Como ejemplo, el sistema ROCK&ROLL [DPWF95] consta de un
lenguaje de consulta deductivo que opera sobre una base de datos orientada a objetos. ROCK&ROLL es un sistema de bases de datos deductivas
orientadas a objetos que integra un lenguaje lógico de cláusulas de Horn
denominado ROLL con un lenguaje de programación imperativa ROCK. El
lenguaje lógico ROLL incluye características de la programación orientada
a objetos como la encapsulación, la herencia múltiple y la sobrecarga.
1.4.4 Bases de datos de restricciones
La idea de las bases de datos de restricciones (Constraint Databases) se
remonta a 1988 cuando P. Kanellakis visitó el centro de investigación T.J.
Watson de IBM y asistió a una presentación del sistema CLP(R) (la instancia de CLP(X) sobre el dominio de los reales; otra instancia es CLP(FD)
[CD96] sobre un dominio finito). De la misma forma que la programación
lógica condujo a las bases de datos deductivas se planteó un enfoque similar con este nuevo paradigma. La consecuencia directa de esta idea fue el
trabajo sobre lenguajes de consulta de restricciones (CQL, Constraint
25
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
Query Languages) [KKR90] que inició el campo de las bases de datos de
restricciones. La idea clave fue combinar el trabajo existente en Datalog y
la programación lógica con restricciones y reemplazar el concepto de tupla
en las bases de datos relacionales por una conjunción de restricciones de
un lenguaje apropiado (por ejemplo, restricciones aritméticas lineales). En
[KLP00] se puede encontrar una formalización del modelo de bases de datos de restricciones basado en un cálculo relacional de restricciones.
Sin embargo, se reconoció que el estudio de lenguajes de restricciones en un entorno de bases de datos no era muy prometedor. De hecho, la
recursión, incluso para clases simples de restricciones, daba lugar a lenguajes que no eran efectivos. En cambio, los lenguajes de restricciones sin
recursión aparecieron más prometedores.
Se ha realizado una gran labor investigadora como se revela en los
congresos de programación lógica, de restricciones y específicos como la
serie CDB (Constraint Data Bases). Esto ha dado lugar a prototipos como
DEDALE [GRSS97] [GRS98], nacido de la colaboración de INRIA y CNAM,
y basado en restricciones aritméticas lineales, DISCO [Sal98], desarrollado
en la Universidad de Nebraska, basado en restricciones binarias sobre variables de conjuntos finitos e infinitos de enteros, y SQL/TP [Tom98], una
extensión temporal de SQL que incorpora restricciones en el dominio temporal sobre el dominio de los enteros. El sistema DLV es otro proyecto iniciado en 1996 que ha dado lugar a varias contribuciones en conferencias y
actualmente es un prototipo que incorpora disyunción, negación y restricciones fuertes y débiles sobre el universo de Herbrand menos las funciones
(al igual que Datalog). Cuando se imponen las restricciones fuertes, éstas
no se pueden violar, al contrario que las débiles, para las cuales se define
un peso que define la importancia de su violación.
1.4.5 Bases de datos activas
Originalmente las bases de datos relacionales no disponían de mecanismos
como los hoy conocidos disparadores para modelar un comportamiento activo del sistema de gestión de la base de datos conforme a cambios de su
estado o eventos externos. Este enfoque es muy interesante en el sentido
de que intenta acercar la lógica de las aplicaciones al entorno de la base de
datos. Así, el sistema de gestión de bases de datos sería el responsable de
gestionar parte de la lógica de las aplicaciones (la parte reactiva), y, lo que
es más importante, de almacenar la lógica común a todas ellas que permanece invariable6.
6 Con este enfoque se consiguen resultados análogos al enfoque básico de los programas con respecto a los datos. El sistema de gestión de bases de datos aísla los datos
26
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
El modelo evento-condición-acción subyacente al comportamiento
activo de estas bases de datos es reminiscencia de los agentes reactivos del
campo de la inteligencia artificial. La diferencia radica en que los sistemas
de gestión de bases de datos están orientados a la organización del conocimiento, mientras que los sistemas de la inteligencia artificial están orientados a la realización de comportamiento inteligente. Estos enfoques diferentes desembocan en tecnologías diferentes.
El consorcio ACT-Net presenta un manifiesto en 1996 para caracterizar a las bases de datos activas [ACT96]. Actualmente, muchos sistemas
de gestión de bases de datos (tanto relacionales como orientados a objetos)
incorporan disparadores siguiendo el modelo evento-condición-acción, como por ejemplo, ORACLE, DB2, Sybase y SQL Server.
1.5 Impacto de la evolución de la tecnología
en las bases de datos relacionales
El creciente auge de las tecnologías de las comunicaciones y de la informática distribuida (redes de computadores) va a facilitar resolver las insuficiencias técnicas de los sistemas de gestión de bases de datos interconectados en red y va a convertir en una realidad práctica a los sistemas de
gestión de bases de datos distribuidas de propósito general.
Los diseños cliente/servidor dividen la aplicación en dos partes: el
cliente que es responsable de recoger los datos de entrada del usuario y
presentarle los resultados en el dispositivo cliente. El servidor es responsable de almacenar la base de datos, procesar las solicitudes de los clientes
y responder con el resultado. La interfaz relacional es muy adecuada porque intercambia datos a alto nivel. Muchas de las herramientas actuales se
construyen en torno al protocolo ODBC (Open Database Connectivity) que
proporciona una forma estándar a los clientes para realizar solicitudes de
alto nivel a los servidores. Los sistemas de gestión de bases de datos también guardan procedimientos almacenados en lenguajes procedimentales
como Basic o Java que pueden ser invocados desde el cliente para ser ejecutados en el servidor. La necesidad de la integración de lenguajes procedimentales viene dada por el carácter no Turing-completo de SQL, lo que
limita en gran medida, por ejemplo, la confección de informes con los resultados de las consultas.
El aprovechamiento del procesamiento paralelo es otra de las ventajas añadidas del modelo relacional. El modelo relacional consiste en operadores cerrados bajo composición: cada operador toma como entrada rela-
de las aplicaciones. El desafío que aparece es conseguir independizar la lógica de las aplicaciones de la especificación.
27
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
ciones y produce como resultado también una relación. Como consecuencia,
los operadores relacionales presentan de forma natural paralelismo segmentado (pipeline). No es frecuente encontrar largas cadenas de segmentación, pero sí es posible dividir las relaciones y aplicar simultáneamente el
mismo operador sobre cada uno de los trozos divididos de las relaciones.
Estas ideas surgieron inicialmente en el mundo académico y en Teradata
Corporation (ahora NCR).
Finalmente, los datos relacionales son adecuados para las interfaces
gráficas de usuario. Es muy intuitivo presentar una relación como un conjunto de datos en una representación similar a las hojas de cálculo, en la
que pueden ser examinados y manipulados cómodamente. Así se pueden
manejar incluso en aplicaciones diferentes de los sistemas de gestión de
bases de datos, como los procesadores de texto y las hojas de cálculo. Las
interfaces gráficas de usuario permiten expresar complejas consultas de
forma sencilla.
1.6 Avances en la tecnología de las bases de
datos
La mayoría de los avances en la tecnología de las bases de datos desde la
década de los 80 se fundamentaron en dos pilares: los modelos de referencia y los modelos de datos. Las propuestas de ISO y ANSI sobre los modelos de referencia [ANSI86] [ANSI88] [ISO93] influyeron notablemente tanto
a investigadores teóricos como a los desarrollos prácticos. Hay dos conceptos comunes en estos modelos de referencia: la arquitectura de tres capas
(externa, lógica y externa, también propuestas por CODASYL) y la descripción de datos recursivos. La separación de los datos y su implementación física fue una constante en la evolución de los sistemas de gestión de
bases de datos.
En términos de modelos de datos, el modelo relacional ha sido el
que ha influenciado en mayor medida el desarrollo de otros modelos posteriores, reconociéndose sus buenas características declarativas y semánticas. En el manifiesto de sistemas de gestión de bases de datos de tercera
generación [SRLG90] se hace énfasis sobre este aspecto.
Actualmente estamos siendo testigos de un desarrollo extraordinario de la tecnología de las bases de datos. Las áreas que pertenecían al ámbito de la investigación se trasladan al mercado informático (bases de datos
en WWW, multimedia, activas, orientadas a objetos, seguras, temporales,
paralelas, multidimensionales, etc.).
28
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
1.7 Desafíos actuales
Los apartados anteriores han intentado dar una visión de conjunto la la
evolución de las bases de datos hasta nuestros días desde el punto de vista
de su capacidad expresiva y los modelos de datos que la soportan. Desde la
óptica de la investigación académica es uno de los aspectos que con mayores energías se han abordado. No obstante, no podemos olvidar otros aspectos que han surgido bien demandados por la situación tecnológica actual o bien demandados por el mercado. A continuación se comentarán algunos de estos aspectos que hemos destacado.
1.7.1 Avances en hardware
Actualmente se manejan sistemas de disco de capacidades del orden del
TB, memoria del orden del GB, procesadores en número del orden de 102,
memorias caché de primer nivel de 128KB y de segundo nivel de 1MB, y
almacenamiento terciario (en cinta o CD) del orden del PB. Así como se
puede esperar notables incrementos en la memoria principal (TB) y en la
secundaria (PB), no se pueden anticipar aumentos notables de los niveles
de caché porque el tamaño es inversamente proporcional al rendimiento
debido a la estructura de los decodificadores de direcciones (cuanto mayor
espacio de direccionamiento, mayores niveles digitales se deben atravesar), aunque sí podría anticiparse un número mayor de niveles de caché. La
jerarquía de memoria impone un compromiso entre la velocidad, la rapidez
y el coste. Todo ello debe implicar un rediseño de los algoritmos, estructuras de datos y utilidades en el contexto de estas nuevas arquitecturas. Las
redes comunicación de alta velocidad hacen viable las arquitecturas de bases de datos distribuidas aún en el procesamiento de conjuntos de datos
remotos, por lo que, por ejemplo, los protocolos de transacciones distribuidas tendrán que ser rediseñados atendiendo a la velocidad de comunicación entre nodos (que podría variar dinámicamente en términos de la utilización de la red o el uso alternativo de redes de diferente velocidad).
En las últimas décadas hemos presenciado el liderazgo de los sistemas mainframe (grandes sistemas centralizados) en los grandes entornos
de gestión empresarial. Sin embargo, el coste cada vez menor de las plataformas personales y su integración en redes ha hecho peligrar tal liderazgo. Así, se ha observado el cambio de sistemas centralizados a sistemas
distribuidos más económicos por parte de ciertas empresas. No obstante, el
coste oculto que suponen estas operaciones se hace cada vez más evidente
[Comp97a, Comp97b]. La conclusión que se alcanza por la observación de
las distintas necesidades es que diferentes entornos de trabajo demandan
diferentes sistemas de gestión de bases de datos, y, aún más, que las diferentes plataformas pueden llegar a coexistir [Free98a,Free98b].
29
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
La escalabilidad de los sistemas de gestión de bases de datos depende sustancialmente de la tecnología que los soportan. Los sistemas de gestión de bases de datos actuales se han dimensionado bien con sistemas de
memoria distribuida.
Al aumentar la memoria principal se hace posible almacenar tablas
completas en memoria, por lo que se deben pensar sistemas de indexación
diferentes a los árboles B, que no es el mecanismo óptimo cuando se almacenan en memoria principal. De igual forma, aspectos como los búferes, la
recuperación y la concurrencia se deben replantear.
La diferencia creciente que se observa entre la velocidad de transferencia y la velocidad de búsqueda en los discos puede hacer que las arquitecturas como RAID 5 no sean apropiadas en el futuro, puesto que se basan
en un gran movimiento de cabezas con respecto a otras alternativas.
Nuevas aplicaciones, como imágenes de satélite (EOSDIS, Earth Observing System Data and Information Systems, proyecto iniciado en 1998
por la NASA), archivos de imágenes de vídeo y sonido requieren de petabytes a exabytes de almacenamiento. Con el abaratamiento de los discos y
la aparición de nuevas tecnologías (quizás holográficas) se pueda replantear un nuevo nivel en la jerarquía de memoria. Para el proyecto EOS se
utiliza un silo de cintas (sistema robotizado de cambio automático de cintas) de 50 GB por cinta con una tasa de transferencia sostenida de 11 MB/s.
La tecnología utilizada actualmente para conseguir altas densidades de
grabación y un gran ancho de banda pasan por usar pistas transversales en
lugar de longitudinales como se realizaba inicialmente en las cintas de 9
pistas. La tecnología transversal supuso un gran avance inicialmente en la
grabación de vídeo y posteriormente en la grabación de datos digitales.
Originalmente, el recurso más escaso fue la memoria tanto principal
como de disco. Superado este primer obstáculo, el tiempo de procesamiento se mostró como el principal cuello de botella, dado por la velocidad de
procesamiento de la CPU como por la velocidad de procesamiento de las
operaciones de E/S. Actualmente nos encontramos con la tecnología suficiente como para plantearnos un serio recurso escaso: la productividad de
los desarrolladores de aplicaciones. Se demandan aplicaciones a un ritmo
que sin la participación de productos que permitan el razonamiento a alto
nivel no podrían ser abordadas con éxito. Es más importante generar código rápidamente que generar código óptimo. Generalmente la tarea de la
mejora de la eficiencia del producto final se relega al sistema subyacente,
en nuestro caso a los sistemas de gestión de bases de datos. La tendencia
actual requiere que los sistemas informáticos sean autoinstalables, autogestionables, autoreparables y hasta autoprogramables.
Lo último se hace evidente en cuanto reconocemos en el futuro próximo billones de clientes en búsqueda de información. Estos clientes no
provienen sólo de Internet, sino de sistemas como la telefonía celular, los
asistentes personales y los electrodomésticos y edificios “inteligentes”. La
30
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
verdadera implantación de la domótica generará nuevas necesidades de los
sistemas informáticos como las apuntadas en el párrafo anterior.
1.7.2 Web
Lo anterior conecta con el impacto social, educativo, empresarial e investigador demostrado por la red de redes. La red Web ha permitido que el depósito de información sea cómodo, rápido y económico, lo que ha resultado
en un repositorio ingente de información desorganizada. Esto es una buena
noticia para la comunidad investigadora en bases de datos: la red Web se
puede ver como una enorme base de datos. Sin embargo, ha habido poca
contribución en este aspecto y las bases de datos se han usado en papeles
periféricos, como en servidores Web, en servidores de comercio electrónico
y para publicadores.
La red Web se muestra como un gran sistema federado de bases de
datos en la que en un futuro próximo billones de clientes accederán a millones de bases de datos. Es necesario abordar la integración de estas bases
de datos y como resultado aparecen nuevos desafíos. Son necesarios optimizadores de consultas que cuenten con aspectos como que los sistemas de
gestión de bases de datos locales son autónomos (pueden rehusar actuar en
el plan de ejecución de la consulta), las restricciones locales de cada sistema, la carga de trabajo por cada nodo varía dinámicamente y las réplicas.
El razonamiento preciso debe ser sustituido en ciertos casos por razonamiento impreciso, pero aproximado, como para resolver una consulta como
“determinar el salario medio de los empleados en España”. Es obvio que ni
es posible ni siquiera necesario realizar el promedio de absolutamente todos los empleados para obtener una respuesta razonable. De igual modo
ocurre en las aplicaciones desarrolladas con los sistemas de restricciones
con optimización, que renuncian al óptimo (generalmente inabordable para
problemas NP-duros) por una solución razonable, pero alcanzable. La fuente de imprecisión no sólo proviene de la imposibilidad o no necesidad de
contar con todos los datos, sino de plantear una pregunta subjetiva como
“encontrar un buen restaurante a media hora de camino”. El concepto de
bases de datos borrosas (fuzzy), que proviene de la lógica borrosa, aparece
para abordar este último aspecto de imprecisión, un campo que ha suscitado interés investigador en la década pasada.
Las páginas Web en el lenguaje de formato HTML han ido migrando
a XML, un lenguaje que describe mejor los datos estructurados, para añadir contenidos dinámicos. Con XML se retroceden 25 años atrás en los lenguajes de procesamiento de consultas procedimentales. Aún más, permite
memorias caché de datos actualizables en los clientes que generarán problemas de transacciones distribuidas en un contexto ajeno al de las bases
de datos. Desafortunadamente es poca la presencia de la investigación en
este terreno.
31
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
Los portales Web se dirigen a la autoorganización y la clasificación y
estructuración de la información disponible en la red. Los productores de
contenido Web necesitan herramientas para construir económica y rápidamente almacenes de datos enormes con aplicaciones sofisticadas de recuperación, análisis y tratamiento de datos.
La red Web ha potenciado el acceso a nuevos tipos de datos conocidos en conjunto como datos multimedia. Cada clase de información multimedia requiere su propia colección de funciones, estructuras de datos y
métodos de acceso. La integración de los diferentes tipos de datos en un
sistema de bases de datos eficiente es un desafío a la comunidad investigadora. Es necesario aportar nociones aproximadas de la igualdad incorporadas en el motor de procesamiento de consultas como base para la búsqueda
de texto en medios continuos (como audio o vídeo) o en escritos a mano.
En definitiva, los avances en hardware implican la negación de
axiomas sobre los que se fundamentaron la investigación y desarrollo de
sistemas de gestión de bases de datos [Asil98].
1.7.3 Unificación de los procesos y los datos
La idea original de la programación orientada a objetos era encapsular los
métodos junto a los datos. Este objetivo se ha alcanzado parcialmente en
los sistemas de gestión de bases de datos actuales, en el sentido en que se
pueden destacar diferentes componentes en la lógica de las aplicaciones y
no todas ellas se han encapsulado.
En primer lugar se puede pensar en los flujos de trabajo (workflow)
de reglas de negocio (business rules) como posible modelo para la descripción de aplicaciones. Varias firmas disponen de herramientas de diseño de
flujos de trabajo y parece posible compilar los diagramas de flujo de trabajo
en una colección de disparadores de bases de datos y alertas sobre un sistema de gestión de bases de datos activas. Una aplicación práctica necesitaría un sistema activo capaz de dimensionarse con disparadores en un
número del orden de tres órdenes de magnitud. En el mercado de valores
sería una aplicación interesante en la que se involucran los sistemas distribuidos. El soporte eficaz de grandes colecciones de disparadores distribuidos es un problema abierto.
En segundo lugar se considera la lógica de los programas escritos en
un determinado lenguaje de programación. Los componentes son una forma
habitual de expresar la lógica de un programa y estos componentes deberían admitirse en los sistemas de gestión de bases de datos. CORBA
[OHE96] y COM+ son dos estándares para la creación de aplicaciones distribuidas en un enfoque orientado a objetos para el paso de mensajes. El
32
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
soporte de varios modelos de componentes en un sistema de gestión de
bases de datos orientadas a objetos es otro desafío.
En tercer lugar se consideran las metodologías de programación visuales, que permiten diseñar los datos y las aplicaciones desde un entorno
gráfico, de manera que se genera automáticamente bastante código. Estas
tecnologías deberían estar integradas con los sistemas de gestión de bases
de datos orientadas a objetos.
Finalmente, SQL se muestra como el estándar actual de facto para
el acceso a las bases de datos. Es necesario conseguir un lenguaje de programación persistente sin desajuste de impedancia “popular” que permita
complementar las carencias del enfoque relacional.
1.7.4 Nuevos tipos de datos
1.7.4.1 Bases de datos temporales
Las bases de datos temporales contienen información histórica frente a la
información actual que almacenan las bases de datos tradicionales. Desde
mediados de la década de los 70 se inició la investigación en el campo de
bases de datos temporales y sus lenguajes de consulta asociados, lo que ha
producido un gran número de propuestas para extensiones temporales de
SQL. Actualmente, SQL: 1999 Part 7 (SQL/Temporal) es el estándar propuesto para las extensiones temporales de SQL. Sin embargo, ninguna de
estas propuestas se ha usado en sistemas de gestión de bases de datos comerciales ni han llegado a ser la base de los fundamentos de una teoría de
bases de datos temporales. El fallo de estas propuestas es a menudo una
sintaxis compleja y poco clara, ad/hoc y una poco clara o ausencia de semántica.
No obstante, las bases de datos temporales se pueden observar como
una aplicación de las bases de datos de restricciones. El sistema SQL/TP
comentado anteriormente incluye un modelo sólido de bases de datos temporales incluyendo una representación compacta de relaciones temporales
y un lenguaje de consulta completo de primer orden que es un superconjunto de SQL. Alcanzar un sistema eficiente es aún un problema abierto.
1.7.4.2 Bases de datos espaciales y geográficas
Las bases de datos con información espacial (una, dos o tres dimensiones) y
geográfica se pueden considerar como un superconjunto de las bases de
datos temporales, en el sentido de que el razonamiento en ambos contextos
se realiza en términos parecidos. Varios de los operadores de dimensión
tiempo se pueden aplicar a una dimensión espacial, y se pueden extrapo-
33
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
lar, aunque no de manera inmediata, a un mayor número de dimensiones.
Así, el sistema DEDALE se ha probado con una aplicación GIS para el Instituto geográfico nacional francés y también con una aplicación espaciotemporal referida a una estación de esquí y la actividad de un grupo de
personas.
La lógica también hace su aportación desde la programación con restricciones en el dominio temporal para la resolución de problemas de planificación (scheduling) con OPL [Hen99], aunque no se trata de un lenguaje
de programación persistente. No obstante, la integración de este lenguaje
con un sistema de gestión de bases de datos es un problema abierto.
Sin embargo, no existen sistemas de gestión de bases de datos comerciales que integren información temporal, espacial o geográfica en un
modelo de datos con un lenguaje de consulta asociado en un marco formal.
1.7.4.3 Bases de datos multimedia
Las bases de datos multimedia son una aplicación emergente necesitada de
nuevos modelos de datos, que proceden de problemas como los comentados
en los dos apartados anteriores, a los que hay que sumar las bases de vídeo
en las que el espacio y el tiempo se combinan. La lógica protagonizará un
papel importante en el desarrollo de lenguajes de consulta para estos nuevos modelos de datos para permitir razonamiento deductivo y una semántica formal que proporcione una base teórica para ellos.
1.7.5 Bases de datos y sistemas de información
Un sistema de información está compuesto por recursos que posibilitan la
recopilación, gestión, control y diseminación de la información en una empresa. Desde hace tres décadas las empresas han desarrollado sistemas de
información basados en la Informática pero, anteriormente, los recursos
del sistema de información de la empresa eran exclusivamente las personas, las calculadoras, los informes y todo aquello que permitía el manejo de
la información. La Informática no ha reemplazado totalmente a los recursos que se han usado tradicionalmente, es más, se han detectado graves
ausencias que la tecnología aún no ha podido cubrir por la complejidad en
sí misma de la propia información y sus procesos asociados. No obstante, la
comunidad informática ha proporcionado a la empresa recursos valiosos
para dar soporte a los sistemas de información. Algunos objetivos claros de
la Informática fueron descargar de las tareas más rutinarias y burocráticas
basadas en el manejo de datos, como la contabilidad, la facturación o el control de stock. Las primeras herramientas fueron las aplicaciones basadas
en archivos que fueron reemplazadas con la aparición de los sistemas de
gestión de bases de datos. Aunque la tecnología cambió, las ideas funda-
34
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
mentales en el manejo de la información no sufrieron su misma revolución.
Sin embargo, la evolución de la tecnología en diferentes ámbitos, tanto en
el componente hardware como en el propio de las bases de datos, permitió
nuevas herramientas en el contexto de los sistemas de información, como
la gestión de los procesos de la empresa (workflows) y la ayuda a la toma de
decisiones (que se comentarán en apartados posteriores). A pesar de las
nuevas herramientas es un hecho reconocido que las bases de datos son un
componente fundamental de los sistemas de información, y su uso y desarrollo se debe observar de la perspectiva de los requisitos más amplios de
la empresa. En definitiva, los sistemas de gestión de bases de datos son
una herramienta que posibilita crear herramientas más complejas, herramientas que sin embargo deben ser intuitivas y fáciles de usar.
1.7.6 Nuevas aplicaciones
1.7.6.1 Minería de datos (Data Mining)
La minería de datos se refiere a la búsqueda de generalizaciones que se
pueden extraer de un programa o de una base de datos. Estas generalizaciones pueden ser restricciones de integridad que deben ser ciertas para la
base de datos o para un estado dado de la misma. Se entiende como un sistema de ayuda a la toma de decisiones en el sentido de que es el administrador de la base de datos quien decide la clase a la que pertenece cada
generalización inferida. De nuevo, la programación lógica se puede usar
para encontrar inferencias inductivas [MR94].
1.7.6.2 OLAP y los almacenes de datos (Data Warehouses)
Está generalmente aceptado que los almacenes de datos son un buen enfoque para proporcionar el marco de acceso a los recursos de los datos necesarios para los sistemas de ayuda a la toma de decisiones. Existen varias
firmas (entre ellas Microsoft, ORACLE e Informix) que ofrecen servidores
de almacenes de datos y herramientas OLAP (Online Analytical Processing), aunque las enormes bases de datos multidimensionales necesarias
para resolver este tipo de aplicaciones tienen muchos problemas y permanecen aún sin resolver. OLAP no sólo se usa en los almacenes de datos,
pero sí es una fuente muy importante donde el análisis de datos es fundamental.
Los puestos de datos (data marts) son un nuevo concepto que aparece a raíz del uso de los almacenes de datos. La experiencia demuestra que
se aplican las mismas operaciones sobre un conjunto de datos y que incluso
se actualiza la información para los sistemas “what-if”. El resultado son
nuevos datos y datos modificados, e incluso nuevos esquemas que parten de
un subconjunto del almacén de datos.
35
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
1.7.6.3 Sistemas de recuperación de información (Information Retrieval)
El modelado de los propios datos no ha sido una inquietud en las bases de
datos puesto que se asume una estructura asociada a ellos. En cambio, la
recuperación de la información se ocupa principalmente del modelado del
contenido de los documentos textuales (con palabras clave, índices, redes
semánticas, frecuencias de palabras, fonética, etc.) para los que está ausente una estructura. Al modelar el contenido, el sistema puede determinar si
un documento es relevante para una consulta examinando los descriptores
de contenido del documento.
Los sistemas de recuperación de información han evolucionado aisladamente de las bases de datos por su concepción ausente de estructura y
por el carácter no cambiante de los documentos. Mientras que una de las
preocupaciones principales de los sistemas de gestión de bases de datos es
la modificación e inserción de datos, la preocupación principal de los sistemas de recuperación de información es determinar la relevancia de un
documento con respecto a una consulta. La integración de las técnicas de la
recuperación de la información en los sistemas de gestión de bases de datos promete ser una buena característica referida a los nuevos tipos de datos.
1.7.7 Sistemas de información distribuida
Como cajón de sastre se reúnen en este apartado algunas de las funcionalidades que se deberían abordar como consecuencia de los sistemas de información distribuida.
•
Herramientas para consolidar datos contradictorios de fuentes diferentes, que puedan funcionar como ayuda a la toma de decisiones.
•
Modelos de transacciones cooperativos en que se añaden a los conceptos clásicos otros como el compromiso tentativo, la compensación en lugar del aborto de transacciones y el soporte de grupos y flujos de trabajo (groupware y workflow).
•
Capacidad de proporcionar datos en el nivel de resolución del cliente
(teléfonos móviles, asistentes personales, terminales de red, televisión,
etc.).
•
Diferentes criterios en la optimización de consultas. Tradicionalmente
el criterio se ha basado en el tiempo medido como número de accesos a
disco, pero este criterio puede cambiar según se tarifiquen las fuentes
de información y el usuario pueda preferir información imprecisa a menor coste. Puede ser también relevante el número de transferencias ne-
36
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
cesarias para realizar la consulta si se trata de un teléfono móvil, tanto
en coste (actualmente) como en el consumo de batería.
•
Seguridad. Los aspectos relacionados con el control de acceso en sistemas distribuidos incluyen, por ejemplo, la formulación de un modelo de
autorización y la interoperación entre diferentes políticas de seguridad.
1.8 Evolución de las metodologías de diseño
de bases de datos
El modelado de bases de datos es una labor compleja que se basa fuertemente en el modelo de datos usado, por lo que el uso de metodologías de
diseño es esencial. La metodología más conocida y usada es la de transformación del modelo entidad-relación al modelo relacional. El proceso de
normalización introducido por Codd en 1970 y desarrollado posteriormente
es otra metodología basada en el compromiso entre redundancia y rendimiento, y que por tanto ha dado lugar al proceso inverso, la desnormalización.
Según han evolucionado los modelos de datos y los sistemas de gestión de bases de datos también han ido evolucionando las metodologías de
diseño de bases de datos. Los modelos de datos más expresivos dieron lugar a la distinción entre el diseño lógico y el físico.
Al final de 1972, el comité de computadores y procesamiento de la
información (X3) del Instituto nacional americano de normalización (ANSI)
formó un grupo de estudio de sistemas de gestión de bases de datos bajo los
auspicios del comité SPARC. La misión del grupo de estudio era estudiar
la viabilidad de establecer estándares en este área, así como determinar
los aspectos que se deberían estandarizar. El grupo de estudio editó su
primer artículo en 1975 [SPARC75], y su artículo final en 1978 [TK78]. El
marco arquitectónico propuesto en estos artículos se empezó a conocer como la arquitectura ANSI/SPARC. El grupo de estudio propuso que se estandarizaran las interfaces y definió un marco arquitectónico que contenía
43 interfaces, 14 de los cuales tratarían con el subsistema de almacenamiento físico del computador y por tanto no se consideraban parte esencial
de la arquitectura del sistema de gestión de bases de datos. La arquitectura ANSI/SPARC está basada en la organización de los datos y distingue
tres vistas: la vista externa (del usuario programador); la vista interna (del
sistema) y la vista conceptual (de la empresa). Para cada una de estas vistas se requiere una definición apropiada del esquema. Esta arquitectura ha
influenciado notablemente la evolución de las metodologías de diseño.
El modelo entidad-relación propuesto por Chen [Chen76] [Chen77]
introdujo con el modelo conceptual un nuevo paso en el diseño. Esta fase
en el diseño representa el nivel más abstracto, más cercano al universo del
37
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
discurso y más alejado de la implementación concreta del sistema de gestión de bases de datos. El diseño de bases de datos se divide usualmente en
esta fase, una segunda fase de diseño lógico, en el que se adapta el modelo
conceptual al modelo de datos que se vaya a usar, y una última de diseño
físico cuyo objetivo es conseguir el esquema más eficiente en el sistema
informático usado.
A mediados de la década de los 80 se intentó la automatización del
diseño con herramientas CASE, de las que algunas de ellas han conseguido
avances importantes y otras permanecen simplemente como herramientas
de dibujo [PD00]. Aunque proyectos como SECSI y Kheops [BGM85]
[Bouz92] [BM95] resuelven muchos problemas del paso automático del diseño, se observa que los usuarios continúan usando sólo las partes pasivas
de estas herramientas.
En la década de los 90 han aparecido nuevas técnicas de análisis y
diseño orientadas a objetos para bases de datos [BP98] [GHY97] (técnicas
con la de Booch, Coad-Yourdon, OOSE, OMT, etc.). Se diferencian en la
fase del ciclo de vida en la que se centran y son similares en cuanto que
generalmente están guiadas por eventos.
1.9 El impacto del cambio en las organizaciones sobre las bases de datos
Las organizaciones son cada vez más competitivas y exigen productos que
resuelvan eficaz y rápidamente sus necesidades. Al mismo tiempo también
son cooperativas en proyectos comunes con otras, siendo necesario la integración de datos y procesos. Las fusiones de grandes organizaciones (como
las últimas fusiones de entidades bancarias de las que hemos sido testigos)
exigen una total integración. Alta disponibilidad (como el pago con tarjeta
o con teléfono móvil), servicio ininterrumpido (como el necesario en los
cajeros automáticos) y arquitecturas abiertas (para la comunicación con
sistemas diferentes) son algunas de las características más importantes y
desafiantes demandadas por las grandes organizaciones.
1.10 Dimensiones de avance
De lo expuesto anteriormente se pueden distinguir tres dimensiones ortogonales en la evolución de los sistemas de gestión de bases de datos, el
rendimiento, la distribución y la funcionalidad. La Figura 3 muestra estas
dimensiones etiquetadas por los campos de investigación que las dirigen.
38
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
Funcionalidad
Almacenes de datos
BD orientadas a objetos
BD deductivas
BD multimedia
BD activas
BD temporales
BD borrosas
Distribución
BD en memoria principal
BD de tiempo real
BD paralelas
BD distribuidas
BD federadas
BD móviles
Rendimiento
Figura 3. Dimensiones en la evolución de las bases de datos.
Se pueden considerar varios aspectos que guían el avance de las bases de datos en la dimensión del rendimiento. La aparición de nuevas arquitecturas hardware paralelas ha posibilitado el desarrollo de las bases
de datos paralelas que explotan el paralelismo en consultas y entre consultas. Los sistemas de control exigen respuesta del sistema informática acotadas en el tiempo, por lo que aparecen las bases de datos de tiempo real.
En éstas será necesario agregar información de prioridad y tiempos límite
a las transacciones críticas en el tiempo. La caída del precio de la memoria
junto al desarrollo de arquitecturas hardware con un gran espacio de direccionamiento ha provocado la posibilidad de mantener toda la base de
datos en memoria principal, por lo que varios conceptos, como las transacciones, las estructuras de índices y los bloqueos, se deben rediseñar obviando el acceso a disco como un factor de rendimiento en el diseño.
La dimensión distribución de los datos debe estar guiada por la naturaleza geográfica de la distribución de la información. Así, aparecen las
bases de datos distribuidas sobre un conjunto de nodos cooperantes y homogéneos, las bases de datos federadas, que aglutinan diferentes sistemas
de gestión de bases de datos como nodos, y las bases de datos móviles que
cuentan con una topología cambiante en cuanto al tipo de conexión y a la
desaparición y aparición de nodos.
Finalmente, con respecto a la dimensión funcionalidad aparecen los
enfoques tratados anteriormente, tanto los referidos a la funcionalidad
expresiva que aportan los modelos de datos (bases de datos orientadas a
objetos, deductivas, ...), como a las funcionalidades estructurales que otras
ofrecen (activas, almacenes y puestos de datos).
39
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
1.11 La integración de esfuerzos de la Universidad y la Empresa
La LRU atribuye a las Universidades la doble misión de transmisoras de
conocimientos y promotoras de la investigación. En ningún campo puede
parecer esto más necesario que en el de la Informática. Por la misma complejidad y diversidad de los campos que abarca se puede considerar a la
Universidad una fuente importante de conocimientos en Informática, dada
la gran cantidad de conocimientos interdisciplinarios que comprende y su
íntima relación con los últimos avances obtenidos en muchos de ellos. Del
mismo modo, la reunión de los equipos científicos necesarios para la obtención de avances relevantes requiere el concierto de voluntades y la disposición de espíritu que pueden encontrarse en los campus y redes universitarias internacionales.
A menudo queda denostada la posición de la Universidad con el argumento manido de su falta de acercamiento a la realidad actual provocando el aislamiento de la investigación en parcelas cerradas, seguras (la teoría del mundo cerrado evita los detalles que rompen los cimientos de las
teorías) y productivas en el curriculum investigador. No obstante, esto es
una extrapolación en la mayoría de los casos, exagerada por quienes no
conocen la realidad investigadora. La colaboración con las empresas en
proyectos de investigación y desarrollo tanto con financiación privada como pública (habida cuenta de ello, el Ministerio ha promocionado las propuestas investigadoras acompañadas de los denominados "Entes promotores y observadores", EPOs) desmantelan tal tesis. Es cierto que aún queda
camino por cubrir para que la Universidad española adopte ciertas características de otros modelos universitarios que promocionan la contratación
de profesionales con aportaciones (sinergéticas) importantes en la industria y en la universidad. El papel de profesor asociado de la LRU como profesor con experiencia en el campo empresarial se ha mostrado insuficiente
y orientado de facto a la desterrada figura del PNN.
Es necesario admitir el papel "inútil" de ciertas investigaciones como recaba la siguiente metáfora. La investigación es como el agua de un río
con múltiples ramificaciones y afluentes, cuya mayor cantidad acaba en un
océano improductivo; sin embargo, una pequeña proporción baña las simientes que producen fruto.
No obstante lo anterior se debe reconocer la diferencia de velocidad
actual entre la Universidad y la Empresa. Una velocidad enfocada a la obtención de resultados de manera inmediata. Desde nuestro punto de vista
y en el contexto actual entendemos que ello no es precisamente una ventaja, sino un inconveniente que provoca resultados precipitados que abocan
en muchos de los casos en fracaso e inestabilidades de los desarrollos. Los
desarrollos innovadores que generalmente se producen en la Universidad
necesitan de la Empresa para constituir productos comerciales. Sabido es
40
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
el desfase entre la concepción de la idea y su implantación en el mercado.
Sin embargo, el uso de herramientas de desarrollo cada vez más productiva
y la madurez en el desarrollo software hacen que este desfase sea cada vez
menor, como estamos siendo testigos. En particular, el intervalo de tiempo
entre las primeras propuestas y el primer desarrollo comercial de un sistema de programación con restricciones, que se ha demostrado útil en múltiples parcelas de la industria, como la planificación o la asignación de recursos, se ha reducido notablemente, desde la propuesta [JL87] hasta la
comercialización del sistema CHIP [DHSA88]. Precisamente los investigadores originales estuvieron involucrados en el desarrollo de estos sistemas. El sistema OPLStudio no fue dado ni siquiera a conocer a la comunidad científica hasta que no estuvo disponible comercialmente en 1999, y
estaba basado en las ideas seminales de la programación lógica con restricciones (sobre diferentes dominios).
El papel de la Empresa en el desarrollo tecnológico es indudable y
es quien en mayor medida lo impulsa conducido por la demanda cada vez
más exigente del mercado tecnológico, tanto en los productos finales como
en la calidad del proceso (así, entidades como ISO han establecido certificaciones de calidad que cada vez más exigen los clientes).
En el contexto del desarrollo de la tecnología de bases de datos encontramos una íntima relación entre la Universidad y la Empresa. Los encuentros habituales entre personas destacadas en que se discute la agenda
investigadora y de desarrollo concluyen las directrices a seguir en el futuro, como por ejemplo [Fort01] (cuarto encuentro de investigadores sobre
fundamentos), [Gato98] (específico para potenciar el contacto entre los
mundos académico e industrial) y [Asil98] (cuarto encuentro en investigación y desarrollo en bases de datos). NSF (National Science Foundation) de
Estados Unidos subvenciona workshops para el encuentro entre las partes
académica e industrial en este terreno.
Así pues, entendemos fundamental la colaboración entre la Universidad y la Empresa. En nuestra Universidad, la OTRI (Oficina de Transferencia de Resultados de Investigación) se creó en 1989 como organismo de
interfaz entre la Universidad y la Empresa con el objetivo fundamental de
favorecer las relaciones entre ambos sectores, promoviendo la transferencia de la oferta científico-técnica universitaria al sector productivo.
41
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
2 Bibliografía
[AA00]
J.T. Gorgone et al., MSIS 2000: Model Curriculum and
Guidelines for Graduate Degree Programs in Information
Systems, Association for Computing Machinery and
Association for Information Systems, 2000.
[AB01]
J.M. Almedros-Jiménez and A. Becerra-Terón, A
Framework for Goal-Directed Bottom-Up Evaluation of
Functional Logic Programs, Proceedings of FLOPS, LNCS
2024, pp. 153-169, Springer, 2001.
[ABCC83]
Atkinson M P., Bailey P J., Chrisholm K J., Cockshott W P.
And Morrison R., "An approach to Persistent Programming",
Computer Journal 26 (4), 360-365, 1983.
[ABDD89]
Atkinson M.P., Banchilhon F., DeWitt D., Dittrich K., Maier
D. And Zdonik S. 1989. "The Object-Oriented Database
System Manifesto", ALTAIR Technical Report, No. 30-89,
GIP ALTAIR, LeChesnay, France, (September 1989).
[ACM68]
Curriculum Committee on Computer Science, “Curriculum
68: Recommendations for the undergraduate program in
Computer Science”, Communications of the ACM, 11, (3),
Marzo 1968, pp. 151-197.
[ACM79]
ACM Curriculum Committee on Computer Science,
“Curriculum 78. Recommendations for Undergraduate
Program in Computer Science”, Communications of the
ACM, vol. 2, n. 3, marzo, 1979.
[ACM82]
J.F. Nunamaker (Jr.), J.D. Couger, and G.B. Davis,
“Information Systems Curriculum Recommendations for the
80s: Undergraduate and Graduate Programs”,
Communications of the ACM (25:11), pp. 781-805, 1982.
42
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[ACO85]
Albano A, Cardelli L and Orsini R., "Galielio: A StronglyTyped Interactive Conceptual Language", ACM
Transactions on databases 10 (2), 1985.
[ACPT00]
P. Atzeni, S. Ceri, S. Paraboschi y R. Torlone, Database
Systems. Concepts. Languages and Architectures, McGrawHill, 2000.
[ACT96]
The ACT-NET Consortium (K. Dittrich, S. Gatziu, and A.
Geppert, eds.), The Active Database Management System
manifesto: A Rulebase of ADBMS Features”, Sigmod Record
25(3), 40-49, 1996.
[ADA81]
“The Programming Language ADA. Reference Manual”,
LNCS, 106, Springer-Verlag, 1981.
[ADJP96]
Atkinson M P, Daynes L, Jordan M J, Printezis T and
Spence S. 1996b. "An Orthonally Persistent JavaTM",
SIGMOD Record, 25 (4), 68-75, (December 1996)
[AI91]
ACM/IEEE-CS Joint Task Force, Computing Curricula 1991,
ACM Press e IEEE Computer Society Press, 1991.
[AJDS96]
Atkinson M P, Jordan M J, Daynes L and Spence S. 1996a,
"Design Issues for Persistent Java: a type-safe, objectoriented orthogonally persistent system", Proceedings of
POS7, Cape May, New Jersey (May 1996).
[ALUW95]
S. Abiteboul, G. Lausen, H. Uphoff, and E. Waller, Methods
and Rules, Proceedings of the ACM SIGMOD International
Conference on Management of Data, pp. 32-41, 1993.
[ANSI86]
American National Standard for Information Systems:
Database Language SQL. American National Standards
Institute. FDT, ANSI X3, 135-1986, 1986.
[ANSI86]
ANSI, Reference Model for DBMS Standardization: Report
by the DAFTG of the ANSI/X3/SPARC Database Study
Group, SIGMOD Record, Vol. 15, No. 1, 1986.
[ANSI88]
ANSI, Reference Model for DBMS User Facility: Report by
the UFTG of the ANSI/X3/SPARC Database Study Group,
SIGMOD Record, Vol. 17, No. 2, 1988.
[ANSI89]
Database Language SQL With Integrity Enhancements,
ANSI X3, 135-1989. American National Standards Institute,
New York, 1989.
[ANSI92]
Database Language SQL, ANSI X3, 135-1992. American
National Standards Institute, New York, 1992.
43
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[AS95]
S. Abiteboul and C.S. dos Santos, IQL(2): A Model with
Ubiquitous Objects, Proceedings of the International
Workshop on Database Programming Languages, Gubbio,
Italy, 1995.
[Asil98]
The Asilomar Report on Database Research, Laguna Beach
meeting SIGMOD Record 18(1): 17-26, 1998.
[Bach65]
Bachman C W. "Integrated Data Store", DPMA Quartely,
(January 1965).
[Bach73]
Bachman, C.W., "The Programmer as Navigator", CACM
16.11, November, 1973.
[BB93]
R. Bal and H. Balsters, A Deductive and Typed ObjectOriented Language, S. Ceri, K. Tanaka, and S. Tsur (eds.)
Proceedings of the International Conference on Deductive
and Object-Oriented Databases, Phoenix, Arizona, 1993.
[BBCG99]
P. Blesa, N. Brisaboa, V. Canivell, J. Garbajosa, J. Maudes,
M. Piattini, Propuesta de contenidos en bases de datos de
los planes de estudio de Informática, Novatica, núm. 137,
1999.
[BFLS94]
Blakeley, J.A.; Fishman, D.; Lomet, D.; Stonebraker, M.;
Barbara, D. The impact of database research on industrial
products. (panel summary) SIGMOD Record, vol.23,
(no.3):35-40, Sept. 1994.
[BFPW95]
M.L. Barja, A.A. Fernandes, N.W. Paton, M.H. Williams, A.
Dinn, and A.I. Abdelmoty, Design and Implementation of
ROCK&ROLL: A Deductive Object-Oriented Database
System, Information Systems, 20(3):185-211, 1995.
[BGM85]
M. Bouzeghoub, G. Gardarin, and D. Métais, Database
Design Tools: An Expert System Approach, 11th
International Conference on Very Large Data Bases, 1985.
[BJ66]
Bohm, C., G. Jacopini, “Flow Diagrams, Turing Machines
and Languages with Only Two Formation Rules”,
Communications of the ACM, 9, (5), Mayo 1966, pp. 366-371.
[BM95]
M. Bouzeghoub, and E. Métais, Contribution of Expert
Systems in CASE Development: The Secsi Experience, L.M.
Delcambre and F.E. Petry (eds.), Advances in Databases and
Artificial Intelligence, JAI Press Inc., 1995.
[Bouz92]
M. Bouzeghoub, Using Expert Systems in Schema Design, P.
Loucopoulos (ed.), Conceptual Modeling, Databases, and
44
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
CASE: An Integrated View of Information System
Development, Wiley, 1992.
[BP98]
M. Blaha, and W. Premerlani, Object-Oriented Modeling
and Design for Database Applications, Prentice-Hall, 1998.
[Bush45]
V. Bush, "As We May Think", The Atlantic Monthly, July,
1945.
[CADA98]
M.J. Corey, M. Abbey, D.J. Dechichio y I. Abramson, Puesta
a punto de Oracle 8, 1998.
[CAEG76]
D.D. Chamberlin, M.M. Astrahan, K.P. Eswaran, P.P
Griffiths, R.A. Lorie, J.W. Mehl, P. Reisner, and B.W. Wade,
“WQUEL 2: A Unified Approach to Data Definition,
Manipulation, and Control”, IBM Journal of Research and
Development, Volume 20, Number 6 (1976), pp. 560-575.
[Card84]
Cardelli L., "Amber", AT&T Bell Labs Technical
Memorandum 11271-840924-10TM, 1984.
[Catt00]
R. Cattel (ed.), The Object Database Standard: ODMG 3.0,
Morgan Kaufmann Publishers, San Fransisco, California,
2000.
[Catt94]
Object Database Standard: ODMG-93, Morgan Kaufmann
Publishers, San Fransisco, California, 1994.
[CB99]
T. Connolly y C. Begg, Database Systems. A Practical
Approach to Design, Implementation, and Management, 2nd
edition (revised), Addison-Wesley, 1999.
[CB99]
T.M. Connolly y C.E. Begg, Database Systems. A Practical
Approach to Design, Implementation, and Management,
Addison-Wesley, 1999.
[CBBB97]
Cattell R G G., Barry D, Bartels D, Berler M, Eastman J,
Gamerman S, Jordan D, Springer A, Strickland H and Wade
D, The Object Database Standard: ODMG 2.0, Morgan
Kaufmann publishers, San Fransisco, California, 1997.
[CCCT90]
R. Cacace, S. Ceri, S. Crepi-Reghizzi, L. Tanca, and R. Zicari,
Integrating Object-Oriented Data Modeling with a RuleBased Programming Paradigm, Proceedings of the ACM
SIGMOD International Conference on Management of Data,
pp. 225-236, 1990.
[CD96]
P. Codognet and D. Díaz, “Compiling Constraints in
CLP(FD)”, Journal of Logic Programming, vol. 27(3), pp. 185226, 1996.
45
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[CGAC01]
J. Cabot, R. García, Z. Almaleh, P. Cáceres, E. Marcos y M.J.
Vázquez, UML en el diseño de bases de datos relacionales,
Novática, núm. 150, 2001.
[CM85]
Carnegie-Mellon University, The Carnegie-Mellon
Curriculum for Undergraduate Computer Science, New
York, Sprenger-Verlag, 1985.
[Codd70]
Codd E F., "A Relational Model for Large Shared
Databanks", Communications of the ACM, 13 (6), 377-390,
(June 1970).
[Codd72a]
Codd E F., "Relational Completeness of Data Base
Sublanguages", Rustin (ed.), Data base Systems, Courant
Computer Science Symposia Series 6, Englewood Cliffs, N.J.
Prentice-Hall, 1972.
[Codd72b]
Codd E F., "Further Normalization of the Data Base
Relational Model", Rustin (ed.), Data base Systems, Courant
Computer Science Symposia Series 6, Englewood Cliffs, N.J.
Prentice-Hall, 1972.
[Comp97a]
La vuelta al proceso centralizado, Computerworld, nº 732,
pág. 36, Noviembre 1997.
[Comp97b]
La democratización de los Sistemas de Información. Mesa
redonda, Computerworld, nº 707, pág. 4, Abril 1997.
[Chan78]
C.L. Chang, Deduce 2: Further Investigations of Deduction
in Relational Databases, H. Gallaire and J. Minker (eds.),
Logic and Databases, Plenum Press, 1978.
[Chen76]
Chen, P.P., The Entity/Relationship Model: Towards a
Unified View, ACM Transactions on Database Systems, Vol.
1, pp. 9-36, March 1976.
[Chen77]
Chen, P.P., The Entity/Relationship Model: A Basis for the
Enterprise View of Data, AFIPS Conference Proc., Vol. 46,
1977.
[Dani98]
A. Danielsen, The Evolution Of Data Models And
Approaches To Persistence In Database Systems, 1998.
[Date98]
C.J. Date, Why the Object Model Is Not a Data Model, en
Relational Database Writings 1994-1997, Reading,
Massachussets, Addison-Wesley, 1998.
[DCBM89]
Dearle A, Connor R C H, Brown AL and Morrison R.,
"Napier88 - A Database Programming Language?", Proc. 2nd
46
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
International Workshop on Database Programming
Languages, 179-195, 1989.
[DD95]
Darwen H, Date C J. 1995, "The Third Manifesto", SIGMOD
Record, 24 (1), 39-49, (March 1995).
[DGCF97]
G.B. Davis, J.T. Gorgone, J.D. Couger, D.L. Feinstein, and
H.E. Longnecker, IS’97 Model Curriculum and Guidelines
for Undergraduate Degree Programs in Information
Systems, Association of Information Technology
Professionals, 1997.
[DHSA88]
M. Dincbas, P. Van Hentenrick, H. Simonis, A. Aggoun, T.
Graf, and F. Berthier, The Constraint Logic Programming
Language CHIP, Proceedings of the International
Conference on Fifth Generation Computer Systems, 1988.
[Dijk65]
Dijkstra, E.W., “Programming Considered as a Human
Activity”, Proceedings of IFIP Congress, 1965, pp. 213-217.
[Dijk68]
Dijkstra, E.W., “Co-operating Sequential Processes”, en
Genuys, F. (Ed.) Programming Languages, Academic Press,
1968.
[Dijk69]
Dijkstra, E.W., “Notes on Structured Programming”,
EWD249, Technological University Eindhoven, Agosto 1969.
[Dijk75]
Dijkstra, E.W., “Guarded commands, nondeterminacy and
the formal derivation of programs”, Communications of the
ACM, 18, Agosto 1975, pp. 453-457.
[Dijk76]
Dijkstra, E.W., A Discipline of Programming, PrenticeHall,1976.
[Ditt94]
Dittrich K R., "Object-Oriented Data Model Concepts",
Advances in Object-Oriented Database Systems, NATO ASI
Series, Series F: Computer and System Science, Vol. 130, 2945, Springer Verlag, Berlin Heidelberg New York, 1994.
[DN68]
Dahl, O.-J., Nygaard, K., “Class and Subclass declarations”,
en Buxton, J.N. (Ed.), Simulation Programming Languages,
North Holland, Amsterdam, 1968, pp. 158-171.
[DPWF95]
Dinn, A., Paton, N.W., Williams, M.H., Fernandes, A.A.A.
and Barja, M.L., The Implementation of a Deductive Query
Language Over an Object-Oriented Database, Proceedings
of the 4th Int. Conf. on Deductive Object-Oriented
Databases, T.W. Ling and A.O. Mendelzon and L. Vieille
(eds), Springer-Verlag, 143-160, 1995.
47
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[EK76]
M.H. Van Emdem and R.A. Kowalski, The Semantics of
Predicate Logic as a Programming Language, Journal of the
ACM, 23(4):733-742, October 1976.
[EM99]
A. Eisenberg, and J. Melton, “SQL: 1999, formerly know as
SQL3”, ACM SIGMOD Record, Volume 28, Number 1, 1999.
[EN00]
R. Elmasri y S.B. Navathe, Fundamentals of Database
Systems, 3rd edition, Addison-Wesley, 2000.
[FGK93]
R. Fourer, D.M. Gray, B.W. Kernighan, AMPL A Modeling
Language for Mathematical Programming, Scientific Press
Series, 1993.
[FGLV95]
O. Friesen, G. Gauthier-Villars, A. Lefebvre, and L. Vieille,
Applications of Deductive Object-Oriented Databases Using
Del.”, R. Ramakrishnan (ed.), Applicactions of Logic
Databases, Kluwer Academic Publishers, 1995
[Floy67]
Floyd, R., “Assigning meaning to programs”, Mathematical
Aspects of Computer Science, XIX American Mathematical
Society, 1967, pp.19-32.
[Fort01]
NSF Workshop on Information and Data Management PI,
Fort Worth, Texas, 2001.
[Fou98]
R. Fourer, Extending a General-Purpose Algebraic
Modeling Language to Combinatorial Optimization: A Logic
Programming Approach. In D.L. Woodruff, ed., Advances in
Computational and Stochastic Optimization, Logic
Programming, and Heuristic Search: Interfaces in Computer
Science and Operations Research, Kluwer Academic
Publishers, Dordrecht, pp. 31-74, The Netherlands, 1998.
[Free98a]
E. Freeman. Convergencia de mainframes y sistemas
distribuidos. Datamation, nº 144. pp. 32-37. Mayo 1998.
[Free98b]
E. Freeman. Retorno al mainframe. Datamation, nº 144. pp.
38-39. Mayo 1998.
[Gato98]
Report of the NSF Workshop on Industrial/Academic
Cooperation in Database Systems, Los Gatos, California,
October, 1998. http://www.ccs.neu.edu/groups/IEEE/indacad/
[GHY97]
I. Graham, B. Henderson, and H. Younessi, The OPEN
Process Specification, ACM Press, 1997.
[GM78]
H. Gallaire, and J. Minker (eds.), Logic and Databases,
Plenum Press, 1978.
48
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[GR68]
C.C. Green and B. Raphael, The Use of Theorem-Proving
Techniques in Question-Answaring Systems, Proceedings of
the 23rd ACM National Conference, Washington D.C., 1968.
[Gray95]
J. Gray, Parallel Database Systems tutorial, SIGMOD 95.
[Gray96]
J. Gray, Data Management: Past, Present, and Future,
Microsoft Research, IEEE COMPUTER, 50th Anniversary
issue, 1196.
[Gray96]
J. Gray, Data Management: Past, Present, and Future,
Microsoft Research, IEEE COMPUTER, 50th Anniversary
issue, 1196.
[Gray97]
J. Gray, Database Systems: A Textbook Case of Research
Paying Off, 1997.
http://www.cs.washington.edu/homes/lazowska/cra/database.
html
[GRWD00]
M.F. Garcia, J. Reding, E. Whalen y S.A. DeLuca, Microsoft
SQL Server 2000. Administrator’s Companion. Microsoft
Press, 2000.
[Hans73]
Hansen, P.B., Operating System Principles, Prentice-Hall
Inc., 1973.
[Hans75]
Hansen, P.B., “The Programming Language Concurrent
Pascal”, IEEE Transactions on Software Engineering, SE-1,
(2), Junio 1975.
[Hanu01]
M. Hanus, Curry, An Integrated Functional Logi Language,
Technical Report, University of Kiel, Germany, 2001.
[Hear95]
Hearst, M.A., Overview of the Symposium “Improving
Instruction of Introductory AI”, ACM Sigart, 6, (2) , pp. 3-7,
Abril 1995.
[Hen99]
P. Van Hentenryck. The OPL Optimization Programming
Language. The MIT Press. 1999.
[HN84]
L.J. Henschen and S.A. Naqvi, On Compiling Queries in
Recursive First Order Databases, Journal of the ACM,
31(1):47-85, 1984.
[Hoar69]
Hoare, C.A.R., “An axiomatic basis for computer
programming”, Communications of the ACM, 12, Octubre
1969, pp. 576-580, 583.
[Hoar72]
Hoare, C.A.R., “Towards a Theory of Parallel Programming”,
en Operating Systems Techniques, Academic Press, 1972.
49
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[Hoar74]
Hoare, C.A.R., “Monitors: An Operating System Structuring
Concept”, Communications of the ACM, 17, (10), Octubre
1974.
[Hoar78]
Hoare, C.A.R., “Communicating Sequential Processes”,
Communications of the ACM, 21, (8), Agosto 1978, pp. 666677.
[HS65]
Hartmanis, J., Stearns, R.E., “On the computational
complexity of algorithms”, Transactions of the American
Mathematical Society, 177, 1965, pp. 285-306.
[IEEE79]
IEEE Computer Society, A Curriculum in Computer Science
and Engineering, 1976.
[IEEE83]
IEEE Computer Society, Model Program in Computer
Science and Engineering, IEEE Catalog Number EHO 212-1,
Diciembre 1983.
[ISCC99]
D.K. Lidtke, G.E. Stokes, J. Haines, and M.C. Mulder,
ISCC’99: An Information Systems-Centric Currriculum’99,
1999. http://www.iscc.unomaha.edu
[ISO93]
ISO, Reference Model of Data Management, ISO/IEC IS
10032, 1993.
[Jami97]
H.M. Jamil, Implementing Abstract Objects with
Inheritance in Datalogneg, Proceedings of the International
Conference on Very Large Data Bases, pp. 46-65, Athens,
Greece, 1997.
[Jens74]
Jensen, K., Wirth,N., PASCAL: User Manual and Report,
Springer-Verlag, 1974.
[JL87]
J. Jaffar y J.L. Lassez, Constraint Logic Programming,
Proceedings of the ACM Symposium on Principles of
Programming Languages (POPL’87), pp. 111-119, ACM, 1987.
[KKR90]
P.C. Kanellakis, G.M. Kuper, and P.Z. Revesz, Constraint
Query Languages, Proceedings of the 9th ADM SIGACTSIGMOD-SIGART Symposium on Principles of Database
Systems (PODS’90), pp 299-313, ACM Press, 1990.
[KLP00]
G. Kuper, L. Libkin y J. Pardaens (eds.). Constraint
Databases, Springer, 2000.
[KMW84]
Koffman, E.B., Miller, P., Wardle, C.E., “Recommended
Curriculum for CS1: 1984”, Communications of the ACM, 27,
(10), Octubre 1984, pp. 998-1001.
50
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[Knu74]
Knuth, D.E., “Structured Programming with GO TO
Statements”, Computing Surveys, 6, (4), Diciembre 1974, pp.
261-301.
[Knut68]
Knuth, D., The Art of Computer Programming, Volumen 1:
Fundamental Algorithms, Addison-Wesley, 1968.
[Koff85]
Koffman, E.B., Stemple, D., Wardle, C.E. “Recommended
Curriculum for CS2: 1984”, Communications of the ACM, 28,
(8), Agosto 1985, pp. 815-818.
[Kroe00]
D.M. Kroenke, Database Processing. Fundamentals, Design
and Implementation, 7a. edición, Prentice Hall, 2000.
[KS97]
Korth, H. and A. Silberschatz, " Database Research Faces
the Information Explosion," Communications of the ACM 40,
2 (February 1997).
[KT81]
C. Kellogg and L. Travis, Reasoning with Data in a
Deductively Augmented Data Management System, H.
Gallaire, J. Minker, and J. Nicolas (eds.), Advances in Data
Base Theory, Volume 1, Plenum Press, 1981.
[KW93]
M. Kifer and J. Wu, A Logic for Programming with Complex
Objects, Journal of Computer and System Sciences, 47(1):77120, 1993.
[LH99]
F.J. López-Fraguas and J. Sánchez-Hernández. Toy: A
Multiparadigm Declarative System. In Proceedings of the
10th International Conference on Rewriting Techniques and
Applications (RTA'99), pp. 244-247. Springer LNCS 1631,
1999.
[LMV95]
T.-W. Ling, A. Mendelzon, and L. Vieille (eds.), Proceedings
of the Fourth International Conference on Deductive and
Object-Oriented Databases, DOOD’95, LNCS 1013,
Springer-Verlag, December 1995.
[LO11/1983]
Ley Orgánica 11/1983, de 25 de agosto, publicada en BOE de
fecha 1/9/1983.
[LO91]
Y. Lou and M. Ozsoyoghu, LLO: A Deductive Language with
Methods and Method Inheritance, Proceedings of the ACM
Sigmod International Conference on Management of Data,
pp. 198-207, 1991.
[Lone00]
K. Loney, Oracle 8. Manual del administrador,
Osborne/McGraw-Hill, 2000.
51
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[Maie91]
D. Maier, Comments on The Third-Generation Data Base
System Manifesto, 1991.
[Mink87]
J. Minker, Perspectives in Deductive Databases, Technical
Report CS-TR-1799, University of Maryland at College Park,
March 1987.
[Mink96]
Jack Minker: Logic and Databases: A 20 Year Retrospective.
Logic in Databases, pp.3-57, 1996.
[MN82]
J. Minker and J.-M. Nicolas, On Recursive Axioms in
Deductive Databases, Information Systems, 16(4):670-702,
1991.
[MR94]
S. Muggleton and L.D. Raedt, Inductive Logic Programming:
Theory and Methods, Journal of Logic Programming,
19/29:629-679, 1994.
[O081091]
Orden de 8 de octubre de 1991, publicada en BOE de fecha
17/10/1991.
[O110991]
Orden de 11 de septiembre de 1991, publicada en BOE de
fecha 26/9/1991.
[Occa84]
Occam Programming Manual, Prentice-Hall, 1984.
[OHE96]
R. Orfali, D. Harkey, and J. Edwards, The Essential
Distributed Objects Survival Guide, Wiley, New York, 1996.
[Parn72]
Parnas, D.L., “On the Criteria to be Used in Descomposing
Systems into Modules”, Communications of the ACM, 15,
Diciembre 1972, pp. 1053-1058.
[PD00]
M. Piattini and O. Díaz (eds.), Advanced Database
Technology and Design, Artech House, 2000.
[PD99]
N.W. Paton and O. Díaz, Survey of Active Database Systems,
ACM Computing Surveys, 1999.
[R140497a]
Resolución de 14 de abril de 1997, de la Universidad
Complutense de Madrid, por la que se publica la adaptación
del plan de estudios para la obtención del título oficial de
Ingeniero Técnico en Informática de Gestión, publicada en
BOE.
[R140497b]
Resolución de 14 de abril de 1997, de la Universidad
Complutense de Madrid, por la que se publica la adaptación
del plan de estudios para la obtención del título oficial de
Ingeniero Técnico en Informática de Sistemas, publicada en
BOE.
52
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[R210792]
Resolución del 21 de julio de 1992 por la que se publican los
planes de estudios para la obtención de los Títulos de
Ingeniero en Informática, Ingeniero Técnico en Informática
de Gestión e Ingeniero Técnico en Informática de Sistemas,
publicada en BOE de fecha 25/9/1992.
[R280497]
Resolución de 28 de abril de 1997, de la Universidad
Complutense de Madrid, por la que se publica la adaptación
del plan de estudios para la obtención del título oficial de
Ingeniero en Informática, publicada en BOE de fecha
19/5/97.
[Rama93]
K. Ramamohanarao. An Implementation Overview of the
Aditi Deductive Database System, Third Internation
Conference DOOD’93, LNCS 760, 23(2):125-149, 1993.
[RD1267/1994] Real Decreto 1267/1994, de 26 de octubre, publicado en BOE
de fecha 20/11/1990.
[RD1267/1994] Real Decreto 1497/1987, de 10 de junio, publicado en BOE de
fecha 11/6/1994.
[RD1457/1991] Real Decreto 1457/1991, de 27 de septiembre, publicado en
BOE de fecha 12/10/1991.
[RD1459/1990] Real Decreto 1459/1990, de 26 de octubre, publicado en BOE
de fecha 20/11/1990.
[RD1460/1990] Real Decreto 1460/1990, de 26 de octubre, publicado en BOE
de fecha 20/11/1990.
[RD1461/1990] Real Decreto 1461/1990, publicado en BOE.
[RD1497/1987] Real Decreto 1497/1987, de 27 de noviembre, publicado en
BOE de fecha 14/12/1987.
[RD2347/1996] Real Decreto 2347/1996, de 8 de noviembre, publicado en
BOE de fecha 23/6/1996.
[RD614/1997] Real Decreto 614/1997, de 25 de abril, publicado en BOE de
fecha 16/5/1997.
[RD779/1998] Real Decreto 779/1998, de 30 de abril, publicado en BOE de
fecha 1/5/1998.
[Robi65]
J.A. Robinson, A Machine-Oriented Logic Based on the
Resolution Principle, Journal of the ACM, 12:23-41, 1965.
53
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[RS80]
A. Ralston, and M. Shaw, Is Computer Science Really that
Unmathematical?, Communications of the ACM, vol. 23,
num. 2, 1980.
[RSS94]
R. Ramakrishnan, D. Srivastava, S. Sudarshan, and P.
Seshadir, The CORAL Deductive Database System, VLDB,
3(2):161-210, 1994.
[RU95]
R. Ramakrishnan and J.D. Ullman, A Survey of Research in
Deductive Database Systems; The Journal of Logic
Programming Volume 23, Issue 2, pp. 125-149, May 1995.
[SAG78]
Software AG, ADABAS Introduction, Software AG of North
America, Reston, Va.
[Salt76]
F. Saltor. Dels fitxers classics a les bases de dates.
Novática.1984.
[Serv90]
Servio. 1990, Programming in OPAL, Version 2.0, Servio
Logic Development Corporation
[SKS01]
Silberschatz, A., Korth, H., and Sudarshan, S., Database
System Concepts, 4th edition, McGraw-Hill, 2001.
[SPARC75]
ANSI/X3/SPARC Study Group on Data Base Management
Systems. Interim Report. ACMFDT Bull. 7(2).1975.
[SR92]
Sarkar M and Reiss S P. "A Data Model for Object-Oriented
Databases", Technical report CS-92-56, Brown University,
Department of Computer Science, 1992.
[SRLG90]
Stonebraker M, Rowe L A, Lindsay B, Gray J, Carey M,
Brodie M, Bernstein P, Beech D. (The Commitee for
Advanced DBMS Function), The Third-Generation Database
System Manifesto, SIGMOD Record, 19 (3),1990.
[SRS93]
D. Srivasta, R. Ramakrishnan, and S. Sudarshan, CORAL++:
Adding Object-Orientation to a Logic Database Language,
Proceedings of the International Conference on Very Larga
Data Bases, pp. 158-170, 1993.
[SS94]
L. Sterling y E. Shapiro, The Art of Prolog. Advanced
Programming Techniques, 2nd edition, MIT Press, 1994.
[SS94]
L. Sterling, and E. Shapiro, “The Art of Prolog”, The MIT
Press, 1994.
[SS98]
F. Sáenz y R. San Emeterio, Entornos de trabajo en
Informática de gestión profesional, Jornadas de Enseñanza
Universitaria, JENUI’98, 1998.
54
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[SSU91]
Silberschatz A, Stonebraker M, and Ullman J., "Database
systems: Achievements and Opportunities",
Communications of the ACM, 34 (10), 110-120, (October
1991)
[SSU96]
A. Silberschatz, M. Stonebraker, and J. Ullman (eds.),
Database Research: Achievements and Opportunities Into
the 21st Century, An NSF report on the future of database
research, 1996.
[Stal01]
W. Stallings, Operating Systems: Internals and Design
Principles, Prentice, 2001.
[Stall01]
W. Stallings, Operating Systems: Internals and Design
Principles, 4th edition, Prentice, 2001.
[Ston89]
Stonebraker, M. Future trends in database systems. IEEE
Transactions on Knowledge and Data Engineering, vol.1,
(no.1):33-44, March 1989.
[SZ97]
Silberschatz, A., et. al., "Strategic Directions in Database
Systems - Breaking Out of the Box", ACM Computing
Surveys 28, 4 (December 1996).
[TK78]
D. Tsichritzis y A. Klug. The ANSI/X3/SPARC DBMS
Framework Report of the Study Group on Database
Management Systems. Inf. Syst. 1:173-191. 1978.
[TM96]
TM-Language, Department of Computer Science, University
of Twente, 1996.
[TZ86]
S. Tsur and C. Zaniolo, LDL: A Logic-Based Data-Language,
Proceedings of the Twelfth International Conference on
Very Large Data Bases, pp 33-41, Kyoto, Japan, August
2986.
[UI84]
UNESCO - IFIP, A modular curriculum in Computer
Science, 1984.
[UI94]
UNESCO - IFIP, A modular curriculum in Computer
Science, 1994.
[Ullm85]
J.D. Ullman, Implementation of Logical Query Languages
for Databases, ACM Transactions on Database Systems,
10(4):289-321, September 1985.
[Ullm91]
J.D. Ullman. A Comparison Between Deductive and ObjectOriented Database Systems. Deductive and Object-Oriented
Databases DOOD´91. Springer Verlag LNCS-566. Munich,
Alemania. Diciembre 1991.
55
Marco de los SGBD
Profesor: Fernando Sáenz Pérez
[Ullm95]
J.D. Ullman. Database and Knowledge-Base Systems, Vols. I
(Classical Database Systems) and II (The New
Technologies), Computer Science Press, 1995.
[Urma98]
S. Urman, Oracle 8. Programación PL/SQL.
Osborne/McGraw-Hill, 1998.
[Wirt71]
Wirth, N., “The Design of a PASCAL Compiler”, Software Practice and Experience, 1, (4) , pp. 309-333, 1971.
[Wirt73]
Wirth, N., Systematic Programming. An Introduction,
Prentice-Hall, 1973.
[Wirt76]
Wirth, N., Algorithms + Data Structures = Programs,
Prentice-Hall, Inc., Englewood Cliffs, N.J., 1976.
[Zan98]
C. Zaniolo, Deductive Databases: A Short Overview for the
Handbook of Data Mining and Knowledge Discovery, 1998.
56
Descargar