¿Por qué una base de datos necesita tener una descripción estructurada y una definición de los datos que gestiona?
En menos de medio siglo, la tecnología de bases de datos ha formado una base teórica sólida, productos comerciales maduros y una amplia gama de campos de aplicación, lo que atrae cada vez a más investigadores. El nacimiento y desarrollo de las bases de datos ha supuesto una gran revolución en la gestión de la información informática. Durante los últimos treinta años, se han desarrollado y construido miles de bases de datos en el país y en el extranjero, y se han convertido en la infraestructura para el trabajo, la producción y la vida diaria de empresas, departamentos e incluso individuos. Al mismo tiempo, con la expansión y profundización de las aplicaciones, el número y la escala de las bases de datos están aumentando, y el campo de investigación de las bases de datos también se ha ampliado y profundizado enormemente. En los últimos 30 años, el campo de las bases de datos ha ganado tres premios Computer Turing (C.W. Bachman, E.F. Codd, J. Gray), lo que demuestra más plenamente que las bases de datos son un campo lleno de vitalidad y espíritu innovador. Sigamos la trayectoria histórica y rastreemos el desarrollo de la base de datos.
1. Una breve historia del desarrollo de las bases de datos
1. El nacimiento de la gestión de datos
La historia de las bases de datos se remonta a hace cincuenta años, cuando La gestión de datos fue muy sencilla. Los datos se procesaron mediante máquinas masivas de clasificación, comparación y tabulación que procesaban millones de tarjetas perforadas, y los resultados se imprimieron en papel o se convirtieron en nuevas tarjetas perforadas. La gestión de datos es el almacenamiento físico y el procesamiento de todas estas tarjetas perforadas.
Sin embargo, la computadora Remington Rand Inc. de 1951 llamada Univac I introdujo una unidad de cinta que podía ingresar cientos de registros por segundo, lo que provocó una revolución en la gestión de datos. En 1956, IBM produjo la primera unidad de disco: el modelo 305 RAMAC. La unidad tiene 50 platos, cada plato tiene 2 pies de diámetro y puede almacenar 5 MB de datos. La mayor ventaja de utilizar discos es que se puede acceder a los datos de forma aleatoria, mientras que las tarjetas perforadas y las cintas sólo pueden acceder a los datos de forma secuencial.
1951: El sistema Univac utiliza cinta magnética y tarjetas perforadas para el almacenamiento de datos.
Las semillas de los sistemas de bases de datos aparecieron en la década de 1960. En aquel momento, los ordenadores comenzaron a utilizarse ampliamente en la gestión de datos, lo que planteaba requisitos cada vez mayores para el intercambio de datos. Los sistemas de archivos tradicionales ya no pueden satisfacer las necesidades de las personas. Los sistemas de gestión de bases de datos (DBMS) que pueden gestionar y compartir datos de manera uniforme surgieron a medida que los tiempos lo exigían. El modelo de datos es el núcleo y la base del sistema de base de datos, y varios software DBMS se basan en un determinado modelo de datos. Por tanto, los sistemas de bases de datos tradicionales suelen dividirse en tres categorías: base de datos de red, base de datos jerárquica y base de datos relacional según las características del modelo de datos.
El primer DBMS mallado que apareció fue el IDS (Integrated DataStore) desarrollado con éxito por Bachman y otros de General Electric Company en Estados Unidos en 1961. En 1961, Charles Bachman de General Electric Co. desarrolló con éxito el primer DBMS de malla del mundo y el primer sistema de gestión de bases de datos: Integrated DataStore IDS, que sentó las bases para las bases de datos de malla y se distribuyó y aplicó ampliamente en ese momento. IDS tiene las características de esquema y registro de datos. Pero solo se puede ejecutar en el host GE, la base de datos tiene un solo archivo y todas las tablas de la base de datos deben generarse mediante codificación manual.
Más tarde, uno de los clientes de GE, BF Goodrich Chemical, acabó teniendo que reescribir todo el sistema. Y el sistema reescrito se denominó Sistema Integrado de Gestión de Datos (IDMS).
El modelo de base de datos de red puede simular naturalmente cosas jerárquicas y no jerárquicas. Antes de la aparición de las bases de datos relacionales, los DBMS de red se usaban más comúnmente que los DBMS jerárquicos. En la historia del desarrollo de bases de datos, las bases de datos en red ocupan una posición importante.
El DBMS jerárquico aparece siguiendo de cerca la base de datos de la red.
El sistema de base de datos jerárquico más famoso y típico es el IMS (Sistema de gestión de información) desarrollado por IBM en 1968, una base de datos jerárquica adecuada para su host. Este es el primer producto de programa de sistema de base de datos a gran escala desarrollado por IBM. Desde su aparición a fines de la década de 1960, ahora se ha desarrollado para IMSV6, brindando soporte para funciones avanzadas como agrupación en clústeres, intercambio de datos de canal N y uso compartido de colas de mensajes. Este producto de base de datos de 30 años desempeña un nuevo papel en las conexiones de aplicaciones WWW y aplicaciones de inteligencia empresarial de hoy.
En 1973, Cullinane Company (más tarde Cullinet Software Company) comenzó a vender una versión mejorada del IDMS de Goodrich y poco a poco se convirtió en la empresa de software más grande del mundo en ese momento.
2. El origen de las bases de datos relacionales
Las bases de datos en red y las bases de datos jerárquicas han resuelto bien los problemas de concentración e intercambio de datos, pero a nivel de independencia y abstracción de datos todavía hay un mucho que desear. Cuando los usuarios acceden a estas dos bases de datos, aún necesitan aclarar la estructura de almacenamiento de los datos e indicar la ruta de acceso. La base de datos relacional que surgió más tarde resolvió mejor estos problemas.
En 1970, el investigador de IBM Dr. E.F. Codd publicó un artículo titulado "A Relational Model of Data for Large Shared Data Banks" en la revista "Communication of the ACM", proponiendo el modelo relacional. El concepto sienta las bases Fundamentos teóricos del modelo relacional. Aunque Childs había propuesto previamente un modelo orientado a conjuntos en 1968, este artículo generalmente se considera un hito que hace época en la historia de los sistemas de bases de datos. El deseo de Codd es construir un hermoso modelo de datos para la base de datos. Más tarde, Codd publicó muchos artículos uno tras otro, discutiendo la teoría del paradigma y 12 criterios para medir sistemas relacionales, utilizando la teoría matemática para sentar las bases de las bases de datos relacionales. El modelo relacional tiene una base matemática estricta, un nivel relativamente alto de abstracción y es simple y claro, lo que lo hace fácil de entender y usar. Sin embargo, en ese momento, algunas personas creían que el modelo relacional era un modelo de datos ideal y que no era realista implementar un DBMS. Estaban particularmente preocupados de que el rendimiento de la base de datos relacional fuera inaceptable. amenaza para el trabajo de estandarización de bases de datos de red en curso en ese momento. Para promover la comprensión del problema, ACM tomó la iniciativa de organizar un simposio en 1974, en el que tuvo lugar un debate entre partidarios y opositores de las bases de datos relacionales, encabezados por Codd y Bachman respectivamente. Este famoso debate impulsó el desarrollo de bases de datos relacionales, que eventualmente se convirtieron en la corriente principal de los productos de bases de datos modernos.
1969: Édgar F. "Ted" Codd inventó la base de datos relacional
Después del establecimiento del modelo relacional en 1970, IBM incorporó más investigadores al Laboratorio de San José para estudiar este proyecto, que es el famoso Sistema R. Su objetivo es demostrar la viabilidad de un DBMS relacional con todas las funciones. El proyecto finalizó en 1979 con la finalización del primer DBMS para implementar SQL. Sin embargo, el compromiso de IBM con IMS impidió que System R se pusiera en producción, y no fue hasta 1980 que System R se lanzó oficialmente al mercado como producto. Hay tres razones para el lento ritmo de producción de IBM: IBM concede gran importancia a la reputación, la calidad y la minimización de fallos; IBM es una gran empresa con una enorme burocracia; IBM ya cuenta con productos de bases de datos jerárquicos y el personal relevante no está activo o no; incluso opuesto.
Sin embargo, al mismo tiempo, en 1973, Michael Stonebraker y Eugene Wong de la Universidad de California, Berkeley, comenzaron a desarrollar su propio sistema de base de datos relacional, Ingres, utilizando la información liberada por System R. El proyecto Ingres que desarrollaron fue finalmente comercializado por Oracle, Ingres y otros proveedores en Silicon Valley. Más tarde, tanto el sistema System R como el Ingres ganaron el "Premio al sistema de software" de la ACM en 1988.
En 1976, Honeywell desarrolló el primer sistema de base de datos relacional comercial: Multics Relational Data Store. El sistema de base de datos relacional se basa en el álgebra relacional como base teórica sólida. Después de décadas de desarrollo y aplicación práctica, la tecnología se ha vuelto cada vez más madura y perfecta. Sus productos representativos incluyen Oracle, DB2 de IBM, MS SQL Server de Microsoft, Informix, ADABASD, etc.
3. Lenguaje de consulta estructurado (SQL)
En 1974, Ray Boyce y Don Chamberlin de IBM formularon la definición matemática de los 12 principios de la base de datos relacional de Codd en una sintaxis simple de palabras clave. ese lenguaje SQL (Lenguaje de Consulta Estructurado) se propuso como un hito. Las funciones del lenguaje SQL incluyen consulta, manipulación, definición y control. Es un lenguaje de base de datos relacional integral y universal. También es un lenguaje no procedimental que solo requiere que los usuarios indiquen qué hacer, pero no cómo hacerlo. . La integración SQL implementa todas las operaciones en el ciclo de vida de la base de datos. SQL proporciona métodos para interactuar con bases de datos relacionales y puede funcionar con lenguajes de programación estándar. Desde sus inicios, el lenguaje SQL se ha convertido en la piedra de toque para probar bases de datos relacionales, y cada cambio en el estándar del lenguaje SQL guía la dirección de desarrollo de los productos de bases de datos relacionales. Sin embargo, no fue hasta mediados de la década de 1970 que la teoría relacional se utilizó en las bases de datos comerciales Oracle y DB2 vía SQL.
En 1986, ANSI adoptó SQL como estándar americano para lenguajes de bases de datos relacionales y publicó el texto SQL estándar ese mismo año. Actualmente existen tres versiones del estándar SQL. La definición básica de SQL es ANSIX3135-89, "Lenguaje de base de datos - SQL con mejora de integridad" [ANS89], generalmente llamado SQL-89. SQL-89 define la definición de esquemas, las operaciones de datos y el procesamiento de transacciones. SQL-89 y el posterior ANSIX3168-1989, "SQL incorporado en lenguaje de base de datos" constituyen la primera generación de estándares SQL. ANSIX3135-1992 [ANS92] describe una versión mejorada de SQL, ahora denominada estándar SQL-92. SQL-92 incluye operaciones de esquema, creación dinámica y ejecución dinámica de declaraciones SQL, soporte de entorno de red y otras características mejoradas. Después de completar el estándar SQL-92, ANSI e ISO comenzaron a cooperar para desarrollar el estándar SQL3. La característica principal de SQL3 es el soporte de tipos de datos abstractos, lo que proporciona un estándar para una nueva generación de bases de datos relacionales de objetos.
4. Base de datos orientada a objetos
Con el desarrollo de la tecnología de la información y el mercado, la gente ha descubierto que aunque la tecnología del sistema de base de datos relacional es muy madura, sus limitaciones también son obvias: puede manejar bien los llamados "datos tabulares", pero no puede manejar tipos de datos cada vez más complejos que aparecen en el mundo de la tecnología. Desde la década de 1990, la comunidad técnica ha estado investigando y buscando nuevos sistemas de bases de datos. Sin embargo, la industria alguna vez estuvo bastante confundida en cuanto a cuál es la dirección de desarrollo de los nuevos sistemas de bases de datos. Afectados por la tendencia tecnológica en ese momento, durante un período de tiempo considerable, la gente gastó mucha energía en estudiar el "sistema de base de datos orientado a objetos (base de datos orientada a objetos)" o el "sistema de base de datos OO" para abreviar. Vale la pena mencionar que la teoría de la base de datos relacional orientada a objetos propuesta por el profesor estadounidense Stonebraker alguna vez fue favorecida por la industria. El propio Stonebraker fue contratado como jefe técnico por Informix a un alto costo en ese momento.
Sin embargo, varios años de desarrollo han demostrado que el desarrollo del mercado de productos de sistemas de bases de datos relacionales orientados a objetos no es ideal. La perfección teórica no generó una respuesta entusiasta del mercado. La razón principal de su fracaso es que la idea principal de diseño de este producto de base de datos es intentar reemplazar el sistema de base de datos existente con un nuevo sistema de base de datos.
Para muchos clientes, especialmente los grandes, que han utilizado sistemas de bases de datos durante muchos años y han acumulado una gran cantidad de datos de trabajo, no pueden permitirse la enorme carga de trabajo y los enormes gastos causados por la conversión entre datos antiguos y nuevos. Además, los sistemas de bases de datos relacionales orientados a objetos hacen que los lenguajes de consulta sean extremadamente complejos, lo que hace que las tecnologías de aplicaciones complejas sean una perspectiva desalentadora tanto para los desarrolladores de bases de datos como para los clientes de aplicaciones.
5. Cambios en la gestión de datos
A finales de los años 60, apareció un nuevo tipo de software de base de datos: el sistema de soporte a la decisión (DSS), cuyo propósito era permitir a los directivos tomar decisiones. uso más efectivo de la información de los datos en el proceso. Así, en 1970 nació Express, la primera herramienta de procesamiento analítico en línea. Siguieron otros sistemas de apoyo a la toma de decisiones, muchos de ellos desarrollados por departamentos de TI corporativos.
En 1985, Metaphor Computer Systems Co., Ltd. desarrolló el primer sistema de inteligencia empresarial (inteligencia empresarial) para Procter & Gamble Company. Se utilizó principalmente para conectar información de ventas y datos de escáneres minoristas. Ese mismo año, Pilot Software comenzó a vender Command Center, el primer sistema comercial de información de ejecución cliente/servidor.
También este año, el proyecto Ingres de la Universidad de California, Berkeley, evolucionó a Postgres, con el objetivo de desarrollar una base de datos orientada a objetos. Un año después, Graphhael desarrolló el primer sistema de base de datos de objetos comerciales: Gbase.
En 1988, los investigadores de IBM Barry Devlin y Paul Murphy inventaron un nuevo término: almacén de información. Después de eso, los proveedores de TI comenzaron a construir almacenes de datos experimentales. En 1991, W.H. "Bill" Inmon publicó un libro "Cómo construir un almacén de datos", que realmente inició la aplicación de los almacenes de datos.
1991: W.H. "Bill" Inmon publica "Building Data Warehouses"
La década de 1990, con la llegada de los modelos informáticos cliente/servidor basados en PC y los paquetes de software empresarial. La transformación de la gestión de datos está casi completa. La gestión de datos ya no se trata solo de almacenar y gestionar datos, sino que se ha transformado en varios métodos de gestión de datos que los usuarios necesitan. El repentino auge de Internet y la aparición del lenguaje XML han abierto un nuevo mundo para el desarrollo de sistemas de bases de datos.
5. Principales acontecimientos en el desarrollo de bases de datos
1951: El sistema Univac utiliza cinta magnética y tarjetas perforadas para el almacenamiento de datos.
1956: IBM presenta la primera unidad de disco en su Modelo 305 RAMAC
1961: Charles Bachman de General Electric (GE) desarrolla el primer sistema de gestión de bases de datos: IDS
1969: E.F. Codd inventó la base de datos relacional.
1973: Cullinane Company, dirigida por John J. Cullinane, desarrolló IDMS, una base de datos basada en modelos de red para mainframes IBM.
1976: Honeywell lanza Multics Relational Data Store, el primer producto comercial de base de datos relacional.
1979: Oracle Corporation presenta el primer sistema comercial de gestión de bases de datos relacionales SQL.
1983: IBM lanza el producto de base de datos DB2.
1985: Se produce el primer sistema de inteligencia empresarial diseñado para Procter & Gamble Systems.
1991: W.H. "Bill" Inmon publica "Construyendo almacenes de datos".