DB2 | |
---|---|
Tipo de | Sistema de administración de base de datos |
Desarrollador | IBM |
Escrito en | C , C++ |
Sistema operativo | Software multiplataforma |
Primera edición | 23 de mayo de 1995 |
ultima versión | 11.5 |
Licencia | CLUF patentado |
Sitio web | ibm.com/analytics… ( inglés) |
Archivos multimedia en Wikimedia Commons |
DB2 es una familia de sistemas de administración de bases de datos relacionales producidos por IBM . La mayoría de las veces, cuando se refieren a DB2, se refieren al sistema de administración de bases de datos relacionales DB2 Universal Database (DB2 UDB) [1] .
En la década de 2000, DB2 DBMS está representado por versiones en las siguientes plataformas:
La década de 1990 también vio versiones OS/2 , UnixWare , PTX del servidor DB2 .
Los clientes DB2 DBMS, además de las plataformas enumeradas, están o han sido lanzados en varias versiones también para SINIX , IRIX , Mac OS clásico y MS-DOS , así como la versión móvil de DB2 Everyplace para Windows CE , Palm OS , Symbian OS , Neutrino y máquina virtual java .
A partir de la década de 2000, además de los productos comerciales de la familia, IBM también distribuye un kit de distribución gratuito Db2 Community Edition , hasta mediados de 2019 llamado DB2 Express-C [2] :
Limitaciones de DB2 Express-CEl número total de procesadores y memoria en el sistema operativo puede ser cualquiera, pero el DBMS no utilizará los recursos que excedan los límites especificados. Esto se realiza de forma automática, por lo que no existe obligación por parte del usuario de garantizar el cumplimiento de estos requisitos.
A principios de la década de 1970, Edgar Codd , que trabajaba para IBM, desarrolló la teoría de bases de datos relacionales y publicó un modelo de manipulación de datos en junio de 1970 . Para implementar este modelo, desarrolló un lenguaje de base de datos relacional y lo llamó Alpha . IBM optó por subcontratar el desarrollo adicional a un grupo de programadores fuera del control de Codd. Violando algunos de los principios del modelo relacional, lo implementaron como un "lenguaje de consulta en inglés estructurado", SEQUEL para abreviar . Dado que el acrónimo SEQUEL era una marca registrada de terceros en ese momento , el nombre se acortó a SQL - "Lenguaje de consulta estructurado".
De 1975 a 1982, el prototipo de DB2 se desarrolló en IBM con el nombre de System Relational o System R. El lenguaje SQL se implementó por primera vez en IBM System R, pero este sistema tenía una naturaleza de investigación, y el producto comercial, incluido SQL, fue lanzado por primera vez por Oracle en 1979 .
DB2 obtuvo su nombre en 1982 con el primer lanzamiento comercial para VM llamado SQL/DS, seguido de un lanzamiento para MVS llamado DB2. Durante mucho tiempo, junto con "DB2", se utilizó la variante "Database 2", también una marca comercial de IBM.
Por lo tanto, históricamente, DB2 evolucionó de DB2 para MVS (del cual DB2 para z/OS es un descendiente) y su hermano SQL/DS para VM (del cual DB2 Server para VSE y VM es un descendiente). Más tarde, otro equipo de desarrollo de IBM implementó el servidor OS/2 EE Database Manager, que luego evolucionó a DB2 v2 para OS/2, AIX y luego a Windows, y luego a DB2 UDB (su descendiente es DB2 para Linux, UNIX y Windows) . Otro equipo completó la integración de la arquitectura DB2 con la base de datos integrada AS/400 (un descendiente de DB2 para i). IBM se está moviendo gradualmente hacia la integración de todas estas sucursales.
El dialecto del lenguaje SQL utilizado en DB2, con raras excepciones, es estrictamente declarativo; el sistema está equipado con un optimizador multifase que crea un plan de ejecución de consultas basado en estas construcciones declarativas. No disponible en dialecto DB2 SQL[ float ] sugerencias para el optimizador, hay poco (y durante mucho tiempo no) lenguaje de procedimientos almacenados y, por lo tanto, todo está dirigido a mantener un estilo declarativo de escribir consultas. El lenguaje DB2 SQL es computacionalmente completo , es decir, potencialmente permite que cualquier correspondencia computable entre los datos de entrada y el resultado se defina en forma declarativa. Esto se logra, entre otras cosas, mediante el uso de expresiones de tabla, recursividad y otros mecanismos avanzados de manipulación de datos.
Tradicionalmente, los lenguajes de programación convencionales de alto nivel ( C , Java , PL/I , Cobol , etc.) se han utilizado para escribir procedimientos almacenados, lo que permite al programador empaquetar fácilmente el mismo código ya sea como parte de una aplicación o como un procedimiento almacenado, dependiendo de si es más conveniente ejecutarlo en el cliente o en el servidor. DB2 también implementa actualmente la extensión de procedimiento SQL para procedimientos almacenados, de acuerdo con el estándar ANSI SQL/PSM.
El optimizador de DB2 hace un uso extensivo de estadísticas sobre la distribución de datos en tablas (si el proceso de recolección de datos fue realizado por el administrador de la base de datos), por lo que una misma consulta SQL puede traducirse en planes de ejecución completamente diferentes, dependiendo de las características estadísticas del datos que procesa.
Como parte del concepto de aumentar el nivel de integración de las herramientas de seguridad en un sistema informático, DB2 no cuenta con medios propios de autenticación de usuarios, integración con herramientas del sistema operativo o servidores de seguridad especializados. Dentro de DB2, solo los usuarios autenticados por el sistema están autorizados .
DB2 es el único DBMS relacional de propósito general que tiene implementaciones a nivel de hardware/software ( sistema IBM i ; el soporte de DB2 también se implementa en el hardware de mainframe IBM System z ).
Las versiones modernas de DB2 brindan soporte mejorado para usar datos XML , incluidas operaciones en elementos individuales de documentos XML.
Una característica útil de DB2 SQL Server es su capacidad para manejar errores. Para ello se utiliza la estructura SQLCA ( SQL Communications Area ) , que devuelve información sobre el error al programa de aplicación después de cada ejecución de la sentencia SQL.
El diagnóstico de error principal, pero no siempre útil, está contenido en el campo SQLCODE (tipo de datos - entero) dentro del bloque SQLCA. Puede tomar los siguientes valores:
SQLERRM (el tipo de datos es una cadena de 71 caracteres). Contiene una cadena de texto que describe el error si el campo SQLCODE es menor que cero.
SQLERRD (tipo de datos - matriz , 6 enteros). Describe el resultado de ejecutar la última instrucción SQL:
Sistemas de gestión de bases de datos (DBMS) | |
---|---|
Servidor de cliente | |
Motores | |
Servidor de archivos |
Base de datos | |
---|---|
Conceptos | |
Objetos |
|
Llaves | |
sql |
|
Componentes |
Corporación Internacional de Máquinas Comerciales | |||||
---|---|---|---|---|---|
Equipo |
| ||||
Software | |||||
Consultoría y servicios TI |
| ||||
Junta Directiva | |||||
ver también |
|