exposicion de db2

Upload: anaelsy-pozo

Post on 20-Jul-2015

316 views

Category:

Documents


1 download

TRANSCRIPT

IBM DB2

Qu es DB2? DB2 es uno de los principales servidores de datos empresariales con un sistema de gestin hbrida de datos para datos relacionales y XML.

Para qu plataformas est disponible DB2? DB2 est disponible para diversas plataformas, tales como Linux, UNIX (AIX, Solaris, HP-UX), Windows, Mac OS, i5/OS y z/OS.

A qu versiones y plataformas DB2 se aplican estas Preguntas frecuentes? Estas Preguntas frecuentes hacen referencia a DB2 9.x para Linux, UNIX y Windows.

En qu tipo de aplicaciones se puede usar DB2? DB2 se puede usar para accionar una gran variedad de soluciones: Web, Web 2.0, SOA, transaccionales, de almacenamiento de datos, ERP, CRM y otras aplicaciones de bases de datos operativas y de negocios.

Qu idiomas de desarrollo de aplicaciones y API soporta DB2? Es posible desarrollar aplicaciones para DB2 usando C/C++, Cobol, Java, lenguajes .NET, PHP, Perl, Python, Ruby on Rails, etc. DB2 soporta las principales interfaces de desarrollo, tales como API basadas en SQL, entre las que se incluyen ODBC, OLE DB, JDBC, SQLJ, ADO.NET, Microsoft LINQ, CLI, Ruby on Rails Active Record, PHP PDO, Python, etc. DB2 tambin soporta el acceso a datos a travs de servicios web estndar de la industria en los que se basan tanto RESTful como SOAP/XML.

Qu ediciones de DB2 para Linux, UNIX y Windows se encuentran disponibles? Se encuentran disponibles diversas ediciones de DB2, entre las que se incluyen: DB2 Express-C es una edicin freeware de DB2 fcil de usar, que cuenta con capacidades de autogestin y que se puede incluir en aplicaciones y soluciones que requieran una base de datos incrustada. Es posible acceder a una suscripcin y un soporte opcionales por un precio accesible. DB2 Express Edition es una edicin bsica y de bajo costo del servidor de datos DB2 orientada a pequeas y medianas empresas que utiliza hasta 4 GB de memoria.

DB2 Workgroup Server Edition es el servidor de datos preferido para entornos departamentales, de grupos de trabajo y de medianas empresas, y utiliza hasta 16 GB de memoria. DB2 Enterprise Server Edition est diseada para satisfacer las necesidades de servidores de datos de medianas y grandes empresas y es el servidor de datos ideal para las cargas de trabajo ms demandantes. Se puede implementar en servidores de cualquier tamao, ya sea con un procesador o con cientos de procesadores, y trae una gran variedad de caractersticas de gestin avanzada de datos.

DB2 y entornos de nube

DB2 est habilitado para la computacin en nube? S, DB2 est totalmente habilitado para su implementacin como base de datos en la nube. Debido a la versatilidad de las interfaces y del soporte para plataformas de DB2, el producto DB2 estndar se puede implementar en la nube de la misma manera que si se implementara dentro de las instalaciones del cliente. Con la ayuda adicional para implementaciones en la nube, ser reduce el tiempo de creacin de valor de nuestros clientes.

Cules son los beneficios de la ejecucin de DB2 en un entorno de nube? La computacin en nube proporciona un modelo de pago por uso. Con este modelo, los usuarios no tienen que pagar por adelantado la infraestructura y las licencias de software, y solo pagan los recursos que necesitan. Los entornos de nube permiten aumentar y reducir la capacidad de manera dinmica, segn las necesidades de cada usuario. DB2 es ideal para los entornos de nube, y todas las capacidades disponibles en las instalaciones del cliente tambin estn presentes en la nube. Asimismo, a travs de las interfaces de servicios web estndar de la industria y XML, DB2 permite la entrega de datos como servicio (DAAS).

En qu tipo de entornos de nube se puede implementar DB2? DB2 se puede implementar en entornos de nube pblicos y privados. Aquellos clientes que generen sus propias nubes privadas pueden utilizar diversas tecnologas de virtualizacin compatibles con DB2. En cuanto a las nubes pblicas, es posible ejecutar DB2 en Amazon Web Services. Adems de Amazon, IBM se ha asociado con proveedores como Rightscale, Morph, Corent, xkoto, etc. para suministrar soluciones DB2 con valor agregado en la nube. En el futuro, IBM podr soportar plataformas de nube adicionales para DB2.

Qu es Amazon Web Services (AWS)?

AWS ofrece un conjunto de servicios integrados que forman una plataforma informtica en la nube. Visite aws.amazon.com para obtener ms informacin acerca de AWS.

Es posible ejecutar DB2 en el entorno de nube de Amazon? S, es posible ejecutar DB2 en Amazon Elastic Compute Cloud (EC2) y potenciar otros servicios de AWS como Elastic Block Storage (EBS).

Productos y servicios DB2 para AWS

Qu modelos de implementacin estn disponibles para DB2 en Amazon EC2? Es posible implementar DB2 en Amazon EC2 usando una de las siguientes opciones: 1. Cree sus propias AMI basadas en DB2 utilizando las licencias DB2 de las que es titular. 2. Utilice las AMI DB2 pregeneradas por IBM. (En la tarifa por hora de uso de las AMI generadas por IBM se incluyen los costos de licencias de software para DB2). Puedo crear mis propias AMI basadas en DB2 para su uso en Amazon EC2? S, adems de la posibilidad de usar las AMI DB2 generadas por IBM, podr crear sus propias AMI basadas en DB2 para EC2. Si opta por crear sus propias AMI, usted ser responsable de obtener las licencias del software (DB2, sistema operativo, etc.) que se ejecuten en la AMI. Si todava no dispone de una licencia para DB2, puede descargar de manera gratuita DB2 Express-C y usarlo para crear una AMI.

Existe algn recurso que me ayude a crear mis propias AMI DB2? S, IBM ofrece scripts de muestra para automatizar la creacin de AMI basadas en DB2. En ChannelDB2 encontrar una breve presentacin en pantalla que demuestra el uso de estos scripts, as como el cdigo de los mismos.

IBM ofrece AMI DB2 para su uso en Amazon EC2? S, IBM se ha asociado con AWS para ofrecer AMIs DB2 preinstaladas para desarrollo y produccin que vienen con DB2 y el sistema operativo Linux preinstalados.

Es posible ejecutar DB2 en una AMI para Windows? S; sin embargo IBM no ofrece, por el momento, AMI basadas en Windows. Usted cuenta con la posibilidad de crear sus propias AMI para Windows con DB2.

Qu ediciones de DB2 se pueden usar en Amazon EC2? Es posible usar cualquier edicin de DB2 en Amazon EC2, si usted crea su propia AMI con una licencia DB2 de su titularidad. Sin embargo, si desea utilizar AMI generadas por IBM, la edicin de DB2 instalada en la AMI depender del tipo de AMI.

Cules son los distintos tipos de AMIs preinstaladas que estn disponibles para DB2? IBM y AWS ofrecen dos tipos de AMIs DB2 pregeneradas en funcin del uso que se les pretende dar: AMIs DB2 para desarrollo, para comenzar a usar DB2 en Amazon EC2, y AMIs DB2 listas para produccin (aranceladas), para implementar soluciones DB2 en Amazon EC2

AMIs DB2 para desarrollo

Para qu sirven las AMI DB2 para desarrollo que provee IBM? Las AMI DB2 para desarrollo estn diseadas para explorar y comenzar a usar DB2 en Amazon EC2. Se pueden usar a efectos de demostracin, evaluacin, capacitacin gratuita, pruebas y desarrollo, y estn sujetas a las clusulas de la licencia de uso de AMI para desarrollo de IBM.

Qu edicin de DB2 incluyen las AMI DB2 para desarrollo? Las AMI DB2 para desarrollo incluyen DB2 Express-C, la edicin gratuita de DB2.

Es posible usar las AMI DB2 pregeneradas para desarrollo en cargas de trabajo de produccin? No; si bien el desarrollo no es el nico propsito de DB2 Express-C, las licencias de las AMI DB2 para desarrollo basadas en DB2 Express-C y del sistema operativo correspondiente se otorgan a fines ajenos a la produccin. Sin embargo, si usted desea usar DB2 Express-C con fines productivos en Amazon EC2, puede descargar DB2 Express-C y crear su propia AMI. Otra opcin es usar una AMI DB2 preincluida lista para produccin, provista por AWS e IBM.

Cunto cuesta usar las AMI DB2 para desarrollo que provee IBM? Como DB2 Express-C es una edicin gratuita de DB2, usted no tendr que pagar la licencia correspondiente. Solamente deber abonar el arancel de uso de la infraestructura de Amazon, que puede costar tan solo USD 0,10 por hora. El precio de AWS depender del tamao de la instancia EC2, y se puede estimar con la calculadora Simple Monthly Calculator de AWS.

Es posible ejecutar las AMI DB2 para desarrollo en cualquier tamao de instancia EC2? S, las AMI para desarrollo basadas en DB2 Express-C se pueden ejecutar en cualquier tamao de instancia EC2, independientemente de la cantidad de memoria y de ncleos virtuales; sin embargo, DB2 Express-C no puede utilizar ms de 2 ncleos ni ms de 2 GB de memoria. Los recursos de procesador y de memoria no utilizados por DB2 en una instancia EC2 podrn ser utilizados por otras aplicaciones que se ejecuten en esa instancia EC2.

Existe alguna restriccin en cuanto al tamao de la base de datos o al nmero de usuarios en las AMI DB2 Express-C para desarrollo que provee IBM? A diferencia de otros productos y servicios gratuitos o Express, IBM no impone ningn lmite en cuanto al tamao de la base de datos, al nmero de usuarios o a las conexiones de DB2 Express-C. Esta edicin de DB2 no tiene plazo de vencimiento y se puede usar sin ningn costo de licencia DB2 durante un perodo ilimitado.

Qu sistema operativo utilizan las AMI DB2 para desarrollo? Las AMI DB2 para desarrollo han sido generadas con SUSE Linux Enterprise Server (SLES) 10 SP2.

Existen AMIs DB2 para desarrollo de 64 bits? S, las AMI para desarrollo que provee IBM vienen en versiones de 32 y de 64 bits.

Desde dnde se puede acceder a las AMI DB2 para desarrollo? Puede comenzar en la pgina Web de IBM de AMI DB2 para desarrollo, o visitar las pginas Web de AWS que contienen las entradas de catlogo de la versin de 32 bits y de la versin de 64 bits de las AMI DB2 para desarrollo.

Dnde se puede encontrar informacin para usar y ejecutar las AMI DB2? En la Gua de introduccin a AMI DB2 encontrar instrucciones detalladas.

Es posible personalizar una AMI DB2 para desarrollo con software y configuracin propios y guardarla para su reutilizacin? S, en la Gua de reinclusin de AMI DB2 encontrar las instrucciones correspondientes.

AMIs DB2 listas para produccin

Existen AMIs DB2 preincluidas disponibles para su uso en produccin?

S, existen AMIs DB2 listas para produccin, disponibles a travs de AWS (AMIs aranceladas).

Qu ediciones y versiones de DB2 estn incluidas en las AMI listas para produccin? Las AMI DB2 listas para produccin de 32 bits incluyen DB2 Express; las AMI listas para produccin de 64 bits incluyen DB2 Workgroup.

Es posible usar la edicin DB2 Enterprise en Amazon EC2? S, usted puede crear su propia AMI con la licencia DB2 Enterprise y ejecutarla en EC2. Es posible descargar una edicin de prueba de 90 das de DB2 Enterprise del sitio de IBM.

Cul es el precio de las AMI DB2 listas para produccin? Las AMI DB2 Express y DB2 Workgroup disponibles de AWS tienen un sistema de precios por hora de uso que depende del tamao de la instancia en que se ejecutan las AMI. Adems, existen otros precios por los servicios AWS adicionales que se utilicen, como EBS para almacenamiento de datos.

Qu sistema operativo usan las AMI DB2 listas para produccin? Las AMI listas para produccin han sido generadas con SUSE Linux Enterprise Server (SLES) 10 SP2.

Qu sistema operativo usan las AMI DB2 listas para produccin? Las AMI listas para produccin han sido generadas con SUSE Linux Enterprise Server (SLES) 10 SP2.

Qu tipo de soporte se encuentra disponible para las AMI DB2 listas para produccin? Actualmente es posible obtener asistencia comunitaria en el grupo de noticias de DB2 de IBM y en los foros de AWS. Existen planes para implementar un servicio opcional de soporte premium para las AMI listas para produccin, que estar disponible durante el ao en curso.

Desde dnde se puede acceder a las AMI DB2 listas para produccin? Puede comenzar en la pgina Web de IBM de AMI DB2 Express y DB2 Workgroup, o visitar las pginas Web de AWS que contienen las entradas de catlogo de AMI DB2 Express de 32 bits y de AMI DB2 Workgroup de 64 bits.

Dnde se puede encontrar informacin para usar y ejecutar las AMI DB2? En la Gua de introduccin a AMI DB2 encontrar instrucciones detalladas.

Es posible personalizar las AMI DB2 listas para produccin con aplicaciones y configuracin propias y guardarlas para su reutilizacin? S, en la Gua de reinclusin de AMI DB2 encontrar las instrucciones correspondientes.

Todava me quedan algunas preguntas sobre DB2 y AWS que no estn incluidas en este documento. Dnde puedo hacer esas preguntas? Puede exponerlas en el Foro de DB2, en IBM developerWorks.

Introduccin Muchos expertos de la industria y usuarios han elogiado las nuevas herramientas que IBM desarrollo para facilitar la administracin y uso de DB2 Universal Database, constituido en base a dos productos incluidos en el DB2 de AIX en 1994: el DB2 Common Server, que para propsitos generales inclua funciones avanzadas para el mercado de servidores de bases de datos con soporte de hardware SMP y OLTP; y el DB2 Parallel Edition, que fue desarrollado para soportar aplicaciones de gran escala, como el Data Warehousing y Data Minino y aplicaciones de negocios a nivel mundial como la SAP, People Soft y Baan. DB2 incluye todo lo necesario para implementar una solucin de replicacin de datos en cualquier tipo fr ambiente distribuido o heterogneo, pues permite enviar los datos a cualquier sitio para cubrir todos los requerimientos de una empresa, desde oficinas centrales a sucursales, usuarios mviles, proveedores, clientes y socios de negocios. Gracias a su alcance global y de bajo costo, Internet puede ser una solucin de negocios muy poderosa para realizar operaciones comerciales garantizando un nivel de seguridad y confiabilidad con sus servicios de autorizacin y autenticacin integrados a redes y sistema operativos, soportando el networkcomputing utilizando Java y JDBC, incluyendo capacidad nativa de almacenar varios tipos de datos: alfanumricos, video, imagen, audio y los definidos por el usuario. DB2 y SQL Server tenan grandes compaas detrs con otros negocios que les permiti aguantar la poltica agresiva de Oracle. Recientemente IBM adquiri Informix con lo que el mercado de las bases de datos comerciales en UNIX (Linux) qued entre IBM y Oracle. Resea Histrica 1970: Se da el origen del DB2, y pertenece a la firma IBM.

1983: Se empez a vender DB2 con la versin 2.0. 1994:DB2 UDB (DB2 Universal Database) fue construido en base a dos productos incluidos en el DB2 de AIX, DB2 Common Server, que para propsitos generales inclua funciones avanzadas para el mercado de servidores de bases de datos, con soporte de hardware SMP y OLTP; y el DB2 Parallel Edition, que fue desarrollado para soportar aplicaciones de gran escala, como Data Warehousing y Data Mining. En la actualidad la tecnologa de gestin de datos de IBM es utilizada por ms de 40 millones de usuarios de 300.000 empresas en todo el mundo. Mientras que la evolucin del DB2, Universal Data Base dispone de ms de 6 millones de usuarios y 1.300.000 licencias instaladas. Caractersticas Permite el manejo de objetos grandes (hasta 2 GB), la definicin de datos y funciones por parte del usuario, el chequeo de integridad referencial, SQL recursivo, soporte multimedia: texto, imgenes, video, audio; queries paralelos, commit de dos fases, backup/recuperacin online y offline. Adems cuenta con un monitor grfico de performance el cual posibilita observar el tiempo de ejecucin de una sentencia SQL y corregir detalles para aumentar el rendimiento. Mediante los extensores se realiza el manejo de los datos no tradicionales, por ejemplo si tengo un donde tengo almacenados los curriculums de varias personas, mediante este puedo realizar bsquedas documentos con los datos que me interesen sin tener que ver los CV uno por uno. Esta capacidad se utiliza en sistemas de bsqueda de personas por huellas digitales, en sistemas informacin geogrfica, etc. Internet es siempre la gran estrella, con DB2 es posible acceder a los datos usando JDBC (tan potente como escribir directamente C contra la base de datos), Java y SQL (tanto el SQL esttico, como complementa el SQL dinmico).

Plataformas host:

OS/390(MVS), VM & VSE, OS/400

Plataformas de servidor:

OS/2 Warp Server, Sinix, SCO Openserver, Windows NT, Aix, HP Ux, Solaris.

Plataformas Cliente:

OS/2, DOS, Sinix, SCO OpenServer, Windows 3.1/95/NT, Macintosh System 7, Aix, HP Ux, Solaris.

Ventajas

Permite agilizar el tiempo de respuestas de esta consulta Recuperacin utilizando accesos de slo ndices. Predicados correlacionados. Tablas de resumen Tablas replicadas Uniones hash DB2 utiliza una combinacin de seguridad externa y control interno de acceso a proteger datos. DB2 proporciona un juego de datos de acceso de las interfaces para los diferentes tipos de usuarios y aplicaciones. DB2 guarda sus datos contra la prdida, acceso desautorizado, o entradas invlidas. Usted puede realizar la administracin de la DB2 desde cualquier puesto de trabajo. La tecnologa de replicacin heterognea (heterogeneous replication) en SQL Server permite la publicacin automtica de los datos en otros sistemas que no sean SQL Server, entre los que se incluyen DB2. La mayora de los que utilizan equipos IBM utilizan DB2 porque es confiable y tiene un muy buen soporte tcnico". El DB2 se basa en dos ejes que lo hacen fuerte en su rendimiento: utiliza un sistema multiprocesador (SMP) simtrico y un sistema de procesador paralelo masivo. el DB2 distribuye y recuerda la ubicacin de cada pista donde se encuentra la informacin. En el contexto de una larga base de datos, este sistema de particin hace que la administracin sea mucho ms fcil de manejar que una base de datos de la misma medida no particionada. La base de datos se puede programar para tener una exacta cantidad de particiones que contienen la informacin del usuario, ndice, clave de transaccin y archivos de configuracin. De esta forma, los administradores definen grupos de nodos, que son una serie de particiones de la base, lo que posteriormente facilita cualquier bsqueda. Desventajas

El DB2 - IBM es la tercera base de datos que ms se vende, de acuerdo con los VARs recientemente encuestados en el nmero de junio de 1996 de la revista VAR Business Magazine. El Microsoft SQL Server se anot un 38%, Oracle, 21%, IBM, 10%, Informix, 9%, y Sybase un 8%. En sistemas grandes la base ms usada es DB2 ya que corre en diferentes plataformas operativas, pero en realidad, en la mayora de los casos la decisin para optar por un software de estas caractersticas es corporativa. Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que se van a implementar. Influye en la eleccin el hardware utilizado.

Una serie de error del sistema operativo, que cae DB2. Compatibilidad Las plataformas que admite el producto son en principio OS/2, Windows NT y UNIX. Esta ltima versin del software del servidor, ha sido adaptado para funcionar tambin con OS/2 WARP, HPUX, AIX, SCOUNIX UE7, Windows 98, NT y Solaris. Esta nueva versin persigue inclinar la balanza hacia un producto que ha ido ganado adeptos de forma espectacular desde aquella primera versin con tecnologa de Sybase. Sobre todo, por que a parte de unas consideraciones tcnicas tiene todo el empuje comercial y de soporte de Microsoft. Se podra decir que en cierta medida pretende ser el servidor de bases de datos genrico para Windows. No tanto por que la causa de desarrolla sea la misma, ni siquiera porque el SQL Server, a diferencia de otros servidores solo trabaja bajo Windows, sino porque Microsoft promete integracin con todos los productos suyos (por ejemplo MsOffice 2000, ya que Access 2000 traer consigo un nuevo MSDEDATAEngine, como alternativa al existente y compatible con SQL Server). Tambin ser posible llamar a SQL Server desde MSAccess. DB2 es el sistema relacional de IBM y es una de las bases de datos relacinales ms antiguas en el mercado. Se usa principalmente en sistemas de computadoras mainframe como AS/400 y RS/6000. Esta base de datos proporciona caractersticas avanzadas y se usa principalmente para soluciones de base de datos a gran escala. Se dice tambin ser la base de datos ms utilizada en el mundo. Ms que Oracle. Ms que Microsoft SQL. Por qu? Porque es la que mejor responde a las exigencias del ebusiness de hoy. Detrs del ebusiness est siempre una base de datos. Con la versin 7.1 de DB2 Universal Database, se reduce a la mitad el tiempo de implantacin de las soluciones y la velocidad de bsqueda es ahora 10 veces superior que la de sus competidores DB2 cubre todas las reas imaginables y todos los productos necesarios para responder a las necesidades de un ebusiness del futuro. Este paquete

contiene todas las herramientas que usted necesita para construir una aplicacin de datos para la Web, incluyendo DB2 Extenders, DB2 Connect, Net.Data, Visual Age para Java y Websphere.

Escalabilidad

DB2 Universal Database de IBM es el primer y el nico servidor de bases de datos del mundo cuya escalabilidad va desde un computador de bolsillo a una laptop, a un servidor de rango mediano, a clusters de servidores para servidores empresariales masivamente paralelos.... a travs de 23 plataformas en 14 lenguajes con una slida confiabilidad. Plataformas que soportan Windows NT en espaol, OS/2, y "sabores" populares de UNIX incluyendo Linux, AS/400 y OS/390. Conclusiones 1. 2. El tamao del nombre de usuario que apoy DB2 se ha aumentado de 8 caracteres a 30 caracteres. Esto le da flexibilidad mayor al asignarle IDS al usuario. 3. OLE nativo el apoyo de DB2. DB2 es ahora ambos un OLE el proveedor de DB y un OLE DB el consumidor. Este da apoyo a clientes con OLE y las aplicaciones DBbasado en la habilidad de extraer o consultar los datos de DB2 de la interfase de OLE nativa.Adems, usted puede cargar los datos en DB2 que usa OLE DB con funciones de tabla. 4. Microsoft la integracin de Visual Studio. 5. DB2 proporciona una coleccin de herramientas y los wizard para simplificar la construccin y desplagamiento de aplicaciones para DB2 para Microsoft Windows que usa SQL incluido dentro del Microsoft C++ Integrated Visual el Ambiente de Desarrollo. 6. se da a conocer la resea histrica que dio origen a la creacin de la base de datos DB2 perteneciente a IBM. 7. las caractersticas principales que describen la base de datos de DB2-IBM. 8. las ventajas que ofrece esta base de datos a los usuarios al momento de utilizarlo. 9. las desventajas que posee hacen del riesgo que corre DB2.

DB2DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa un sistema de gestin de base de datos.

DB2 versin 9 es un motor de base de datos relacional que integra XML de manera nativa, lo que IBM ha llamado pureXML, que permite almacenar documentos completos dentro del tipo de datos xml para realizar operaciones y bsquedas de manera jerrquica dentro de ste, e integrarlo con bsquedas relacionales. La compatibilidad implementada en la ltima versin, hace posible la importacin de los datos a DB2 en una media de 1 o 2 semanas, ejecutando PL/SQL de forma nativa en el gestor IBM DB2

La automatizacin es una de sus caractersticas ms importantes, ya que permite eliminar tareas rutinarias y permitiendo que el almacenamiento de datos sea ms ligero, utilizando menos hardware y reduciendo las necesidades de consumo de alimentacin y servidores. La memoria se ajusta y se optimiza el rendimiento del sistema, con un interesante sistema que permite resolver problemas de forma automtica e incluso adelantarse a su aparicin, configurando automticamente el sistema y gestin de los valores. DB2 Express-C es la versin gratuita soportada por la comunidad de DB2 que permite desarrollar, implementar y distribuir aplicaciones que no usen las caractersticas avanzadas de las versiones comerciales de DB2. Esta versin de DB2 puede ser concebida como el ncleo de DB2, las diferentes ediciones incluyen las caractersticas de Express-C ms funcionalidades especficas. DB2 para Linux, UNIX y Windows permite la automatizacin de tareas, reduccin de las necesidades de consumo de alimentacin, un alto rendimiento que reduce los servidores necesarios para ejecutar la base de datos, escalabilidad sencilla y alta disponibilidad en su arquitectura de discos de datos y otras soluciones que facilitan la colaboracin entre profesionales.

IBM DB2 Base de datos Universal de Gira Rpida DB2 el Banco de datos Universal Versin 7.1 es el sistema de direccin de base de datos correlativo habilitado. Es escalable de los procesadores a los multiprocesadores simtricos a los racimos masivamente paralelos. DB2 la Base de datos Universal ofrece la capacidad multimedia con la imagen, audio, el video, el texto, el objeto avanzado espacial, y otro el apoyo correlativo. Con Versin 7.1, DB2 el Banco de datos Universal ofrece un gran apoyo para los negocios a travs de Java!, XML, y las soluciones mviles as como nuevo apoyo para las soluciones de inteligencias comerciales.

Cada nueva versin de DB2 construye en la fundacin fuerte del descargo anterior. Con Versin 7.1, DB2 el Banco de datos Universal entrega el apoyo ms poderoso para inteligencia comercial, direccin de los datos, y soluciones de negocio. Tambin es incluido el fuerte apoyo por Microsoft los Windows 32-bits de sistemas operativos y la compatibilidad agregada por la familia de DB2.

El XML Soporte Extendido DB2 le permite ahora guardar el Idioma de Encarecimiento extendido (XML) los documentos como un nuevo datos de la columna. Se puede descomponer y puede guardar XML en su componente parte as como la bsqueda en los campos descompuestos de un documento de XML. Esta funcin combin con los perfeccionamientos a Net.Data le proporcionan una manera ms simple de intercambiar y guardar los documentos electrnicamente. Los Perfeccionamientos de Net.Data Net.Data que conecta las aplicaciones de Tejido a DB2 ha construido ahora en la explotacin de XML. Esto le permite generar las etiquetas de XML como el rendimiento de su macro de Net.Data, en lugar de entrar en las etiquetas a mano. Se puede especificar un XML estilo hoja (XSL) para ser usado al estructurar y desplegar el rendimiento generado. Inteligencia Comercial El poder de IBM se han unido el Almacn Visual y la simplicidad del DB2 para mantener una sola y nueva interfase del usuario (clientes) de inteligencias comerciales. Se puede acostumbrar el Centro de Almacn de Datos a definir y automatizar el extracto de los datos, transformacin, la distribucin, y la carga de proceso para los almacenes de los datos. La visualizacin y manipulacin de datos y metadata son hechos ms simples con los nuevos wizard. Estos wizard ayudan a construir marcas con asterisco en esquemas y archivos de texto de importacin. Ellos tambin proporcionan SQL Assist mejorado en los rasgos y la nueva visualizacin de flujo de mando. El Centro de Almacn de Datos tambin influye en el poder de la repeticin de los datos integrada de IBM, mientras proporciona mayor flexibilidad configurando los guiones de movimiento de datos.

El log cerrado despus del backup Despus de que un backup en lnea est completo, DB2 obligar a cerrar el log actualmente activo, y como resultado se archivar fuera de. Esto asegura que su disco auxiliar en lnea tiene un juego completo de logs archivados y disponibles para la recuperacin. Requerimiento de Log de archivo de soporte Usted puede obligar el log actualmente activo al cierre y puede forzar que el log sea archivado. Este rasgo le da el mando ms granular a administradores de bases de datos encima de su estrategia del backup/restore.

Un principio fundamental de DB2 es que los datos pueden y deben residir dondequiera que tenga ms sentido: DB2 est disponible para mltiples sistemas de operaciones, incluyendo UNIX, Microsoft Windows, OS/2, AS/400, y OS/390. Esto significa que pueden tomarse las decisiones basado en la plataforma correcta para una porcin especfica de los datos. DB2 le permite distribuir y acceder los datos por una red de sistemas. Los usuarios pueden preguntar, agregar, anular, y poner al da los datos en las bases de datos locales y remotos. Las copias mltiples de DB2 servidor cdigo pueden correr adelante en la misma computadora. Esto significa que usted puede tener los casos mltiples de DB2 que corre concurrentemente, cada uno, con una configuracin diferente y las vistas entalladas de los datos, e incluso los datos variantes. Pueden dividirse las bases de datos de DB2 por computadoras independientes mltiples conectadas por un LAN o por secciones. Esto le permite que divida bases de datos grandes, o sea que son demasiado grande para que un solo servidor trabaje eficazmente. Tambin significa que los funcionamientos pueden correr en paralelo en las particiones de la base de datos individuales, reduciendo el tiempo de la ejecucin. Accesos de Datos DB2 proporciona un juego de datos de acceso de las interfaces para los diferentes tipos de usuarios y aplicaciones: El Centro de Control es un grfico de uso fcil para los usuarios interactivos y para los administradores de Bases de Datos. Mantiene las herramientas de las tareas diarias para configurar el sistema, creando las tablas y otros objetos, fijando los trabajos, y realizando el apoyo y recuperacin. Usted puede ejecutar el Centro del Control en el puesto de trabajo dnde su base de datos se localiza o en un puesto de trabajo remoto. Una solo Centro de Control puede manejar varias bases de datos en varios puestos de trabajo. El Centro de Almacn de Datos es una interfase grfica que simplifica el proceso de disear, mientras construye, y mantiene los almacenes de los datos. El Procesador de Lnea de Orden es una interfase texto-orientada que usted puede usar para acceder y manipular las bases de datos del sistema, puede emitir las declaraciones

de SQL y DB2 ordenando el acceso de las bases de datos locales y remotos, y mantiene un historial de todas las demandas. Proteccin de Datos Proteger los datos guardados es una funcin esencial del sistema de una base datos. DB2 guarda sus datos contra la prdida, acceso desautorizado, o entradas invlidas proporcionando: Un juego de herramientas que lo protegen contra la prdida de datos por el evento de un hardware o fracaso del software. Los backups o logs peridicos para restaurar una base de datos al mismo estado que tena antes del fallo. Un sistema de autoridades y privilegios que protegen los datos contra el acceso desautorizado y la modificacin. La autoridad normalmente aplica al derecho de un usuario para realizar ciertos tipos de actividades administrativas, mientras los privilegios son asociados con la habilidad del usuario para realizar las acciones en los objetos de la base de datos. Un medio para controlar la entrada de los datos definiendo las reglas para que los valores sean vlidos para una columna en una tabla (los constreimiento), o cmo se relacionan columnas en uno o ms tablas a la integridad del referencial. Una facilidad de la auditoria que genera un sendero de eventos de la base de datos. Estos archivos pueden usarse para supervisar aplicaciones y accesos del usuario, incluso las acciones del administrador de sistema. Esta supervisacin podra llevar a los cambios en la estrategia de su proteccin de datos. Administrando Bases de Datos Usted puede realizar la administracin de la DB2 desde cualquier puesto de trabajo. No le importa si su base de datos es local o remota. Usted puede escoger un sistema de administracin especializado para todas sus Bases de Datos. Se puede administrar la BD incluso desde un navegador (Web Browser). DB2 incluye herramientas grficas que le permiten poner a punto la actualizacin, acceso a los servidores de DB2 remotos, manejar todos los servidores de un solo sitio, desarrollar las aplicaciones, y proceso de pregunta SQL: El Centro de Control proporciona una manera conveniente de ocuparse de las tareas diarias de la administracin de la base de datos. El Centro de Control lleva a una vista jerrquica de todos sus sistemas, de las bases de datos, y de los objetos de la base de datos. Esto hace que el sistema sea fcil de configurar, crea objetos de bases de datos y supervisa las bases de datos. El Centro de Administracin por Satlite le permite administrar los DB2 Satlite servidores. DB2 la Edicin de Satlite de Bases de datos Universal es una funcin mltiple de alto rendimiento de DB2 para los usuarios que estn de vez en cuando conectados (mviles) y los servidores remotos desatendidos. (Tecnologa porttil) BACKUP Y RECOVERY DE BASE DE DATOS Desarrollar una estrategia de backup y recovery Una base de datos puede ser fuera de servicio por la causa de las fallas de hardware o software. A veces se encuentra problemas de almacenar, interrupciones de fuente de poder, y fallas de aplicacion. A diferentes escenarios de falla se requieren diferentes acciones de recuperacion. Se protegen los datos de las posibles fallas con una buena

estrategia de recuperacion. Unos factores que se deben contestar en el momento de desarrollar la estrategia de recuperacion son:

Sera recuperable o no recuperable la base de datos? Que tan cerca al tiempo de falla para recuperar la base de datos (punto de recuperacion)? Que tan frecuente para hacer el respaldo? Cuanto tiempo se tomaria para hacer la recuperacion de la base de datos? Cunato tiempo se tomaria para hacer el respaldo de la base de datos? Cunato espacio de almacenamiento es disponibles para las copias de la base de datos y los archivos de log? Seria suficiente el respaldo de tablespace, o seria necesario el respaldo de la base de datos entera? Una estrategia de recuperacion de base de datos debe asegurar que todas las informaciones son dispoinbles cuando son requeridos para la recuperacion de base de datos. Debe incluye una horario de respaldos y, en el caso de sistemas de base de datos distribuidos, incluye las copias de base de datos cuando los servidores o nodos estan agregados o eliminados. La estrategia global debe tambien incluye los procedimientos para los scripts de comando de recuperacion, aplicaciones, funciones definidas por usuario, codigo de procedimiento almacenado en libreria de sistema de operacion. Base de datos no recuperable retiene ambos los parametros de configuracion de logretain* y userexit* desactivados, y puede restaurarse unicamente en modo offline* con recuperacion de version recovery. Los datos que son faciles a recrear, se pueden guardarlos en una base de datos no recuperable, por ejemplo:

Tablas que tienen datos para aplicaciones de solo lectura. Tablas que tienen poca cantidad de datos. Tablas grandes que tienen pocos registros, y que no se modifican frecuentemente. Base de datos recuperable se retiene los archivos de log activos para crash recovery, y tambien retiene los archivos de log archivados. Se restaura base de datos recuperable a su estado del momento que la imagen de respaldo fue tomada, solamente en modo offline. Sin embargo, con rollforward recovery, se puede regresar la base de datos a un momento especifico o al fin de los archivos de log, con los archivos de log activados y archivados. Los datos que no se pueden recrear facilmente, debe guardar en una base de datos recuperable, por ejemplo:

Datos que fueron modificado por aplicaciones o usuarios finales. Datos que no pueden recrear, incluyen los datos que tienen su fuente destruido, y los datos que se cargaron manualmente. La operacion de respaldo de una base de datos recuperable se puede realizar en ambos modo offline y modo online*, y la restauracion y la recuperacion se realizan en solo modo offline. Cuando la operacion de respaldo a una(s) tabla(s) esta en proceso en modo online, la(s) tabla(s) tambien esta(n) disponible(s) para actualizar, y los cambios se registran en los archivos de log. Cuando la operacion de rollforward recovery a una(s) tabla(s) esta en proceso en modo online, la misma tabla no sera disponible para actualizar

hasta la operacion esta completa, pero usuarios no estan prevenidos de accesar a la(s) otras tabla(s). El concepto de una respaldo de base de datos es la misma que cualquieras otras respaldos de datos: hacer una copia de los datos y almacenar la en un medio diferente en case que se danna el original. El respaldo mas simple es cerrar todas las conexiones a los usuario para asegurar que no habra mas transacciones, y hacer el respaldo. Luego reconstruir la base de datos si se danna o ocure fallas a la base de datos. Los tres tipos diferentes de recuperacion La reconstrucion de la base de datos se conoce como recovery. Los tres tipos diferente de recuperacion son:

Version recovery, que es la restauracion de la base de datos a la version anterior con una imagen de la base de datos que fue creado durante la operacion de respaldo. Rollforward recovery, que es la reaplicacion de transacciones registradas en los archivos de log despues que una base de datos o una tabla esta restaurada. Crash recovery, que es la recuperacion automatica de la base de datos si una falla ocurre antes de todas las transacciones estan completas. II - 1. Version Recovery

Version recovery es la restauracion de la base de datos de la version anterior con una imagen de la base de datos que fue creado durante la operacion de respaldo. Se usa version recovery con una base de datos no recuperable. En este momento, solo quedan los archivos de log activos para crash recovery. Una operacion de restauracion reconstruira una base de datos entera al estado identico a la base de datos en el momento que se realizo la operacion de respaldo. Sin embargo, se perderan todas las transacciones que se realizaron despues de la operacion de resplado. Con la base de datos distribuido, es necesario hace el respaldo y restuarar la base de datos de cada nodo separado y en el mismo momento. II - 2. Rollforward Recovery Rollforward recovery es la reaplicacion de transacciones registradas en los archivos de log despues que una base de datos o una tabla esta restaurada. Para aplicar el metodo de rollforward recovery, es necesario a hacer un respaldo de la base de datos y los archivos de log. Hay dos tipos de rollforward recovery:

Database rollforward recovery. En este tipo de rollforward recovery, las transacciones registradas en archivos de log seran aplicadas despues de la operacion de la restauracion de la base de datos. Los archivos de log registran todos los cambios a la base de datos. Este metodo recupera la base de datos a su estado del ultimo momento antes de la falla (que es hasta el fin de los archivos de log). Con la base de datos distribuida, si hace una rollforward recovery para regresar la base de datos a un momento especifico, es necesario a aplicar la recuperacion a todos los nodos para asegurarse que todos los nodos estan en el mismo nivel de estado. Si solamente para restaurar un solo nodo, se reaplican todas las transacciones que estan registradas en archivos de log.

Tablespace rollforward recovery. Para comenzar la operacion de table space rollforward recovery, se neceesita la imagen de la base de datos entera (que es, todas los table spaces), o uno o mas table spaces, y tambien los archivos de log que afectan a los table spaces que se restauraran. Se puede restaurar las tablas con los archivos de log a dos puntos:

Fin de los archivos de log. Un momento particular, que se conoce como point-in-time recovery. II - 3. Crash Recovery Crash recovery es la recuperacion automatica de la base de datos si una falla ocurre antes de todas las transacciones estan completas. Una falla de transaccion se provoca por un error grave o una comdicion que termina la base de datos anormalmente. Si las transacciones estan interrumpidas, la base de datos estaria en un estado inconsistente y inservible. Las condiciones que resultan falla de transaccion incluyen:

o o o

Una falla de fuente de poder en la maquina, que cae la base de datos. Una serie de error del sistema operativo, que cae DB2. Crash recovery es el proceso que regresa la base de datos al estado consistente con desechar las transacciones incompletas y completar las transacciones con commit que todavia estan en la memoria.

III. Recovery Logs y Recovery History File

Los archivos de log y los archivos de la historia de recuperacion son creados automaticamente cuando se crea una base de datos. No se pueden modificar directamente a los archivos de log o los archivos de la historia de recuperacion. Sin embargo, son importantes para recuperar los datos perdidos.o

Recovery logs, que se usa para recuperar de los errores de aplicacion o sistema. En combinacion con el respaldo de base de datos, los archivos de log son usados para recuperar el estado consistenet de un momento antes de una falla pasa a la base de datos. Recovery history file, que contiene un resumen de informaciones del respaldo, que se puede usar para recuperar parte o toda de la base de datos a un momento especificado. Se usa para rastrear eventos relacionados a la recuperacion, tales como las operaciones de respaldo y restauracion. III - 1. Recovery log Todas bases de datos tienen los archivos de log asociados. Los logs registran cambios de base de datos. Si una base de dato necesita ser recuperada a un punto despues el ultimo respaldo, los logs son requeridos para realizar la recuperacion. Los logs de DB2 tienen dos tipos de comportamiento:

o

o

Circular logging, es el comportamiento default cuando se crea una nueva base de datos. Como su nombre, circular logging usa un anillo de logs activos* en linea para registrar los cambios de base de datos para realizar una crash recovery, pero no se permite una rollforward recovery. Con este tipo de logs, la recuperacion de base de datos que puede realizar un usuario es version recovery. Todas las transacciones que se han realizaos entre el ultimo respaldo y el punto de falla de sistema, se perderan. Archived logs, son logs cerrados y guardados, y son usados especificamente para rollforward recovery. Pueden ser uno de los dos siguiente tipos: Online archived logs, que son guardados en el directorio de la base de datos. Offline archived logs, que no se encuentran en el directorio de la base de datos.

o

III - 2. Recovery history file Un RHF (Recovery History File) es creado con cada base de datos, y se actualiza automaticamente cuando hay:o o o o o o o

Respaldo de una base de datos o un tablespace Recuperacion de una base de datos o un tablespace Roll forward de una base de datos o un tablespace Alter un tablespace Renombrar un tablespace Cargar una tabla Actualizar una tabla

Un RHF contiene un resumen de informaciones del respaldo. Usuario puede consultar las informaciones de un momento especificado. Las informaciones en RHF incluye:o o o o o o o

La parte de la base de datos que se hizo respaldo, y como se hizo. El tiempo que realizo el respaldo. La localizacion de la copia. El tiempo que realizo la ultima recuperacion. El tiempo que se renombro un tablespace, con el nombre previo y el nombre actual. El estado del respaldo: activo, inactivo, vencido, o borrado. El ultimo numero de sequencia de log guardado por el respaldo de la base de datos, o procesado por una Rollforward Recovery. INTEGRIDAD Las restricciones son reglas que el administrador de la base de datos establece. Hay tres tipos de restricciones.

o

Restriccin nica. Es una regla que prohbe que haya valores duplicados en una o en ms columnas en una tabla. La restriccin de un nico valor y las claves primarias no son tomadas como restricciones. Por ejemplo: una restriccin nica podra definirse para identificar a un proveedor, y asegurarse de esta forma que no haya un mismo identificador para dos proveedores. Restriccin Referencial. Es una regla lgica sobre valores en una o en ms columnas, en una o ms tablas. Por ejemplo, un conjunto de tablas que comparten informacin sobre los proveedores de una empresa. Ocasionalmente, el nombre de un proveedor podra cambiar. Este tipo de restricciones permite que se actualicen ese grupo de tablas, permitiendo resultados que puedan ocasionar la prdida de informacin del proveedor. Una tabla de Control de Restricciones: Es un grupo de restricciones que se agregan a los datos de una tabla especfica. Por ejemplo: Se podra definir el sueldo de un empleado, tal que nunca deba ser menor a $200. -Estos tipos de integridad referencial pueden ser activados o no.

o

o

La integridad referencial es el estado en el que todas las claves forneas de una base de datos deben ser vlidas. Una clave fornea es una columna o un grupo de columnas en una tabla cuyos valores son necesarios para poder referenciar a una clave primaria o un nico valor de una fila de la tabla de la cual se desprende. La restriccin referencial es la regla que permite que una clave fornea sea vlida solamente si:

o o

Ellas se aparecen como valores de una clave de la tabla maestra o Algn componente de la clave fornea es nulo. La tabla que contiene la clave maestra, se define como Tabla Padre de la integridad referencial, y la tabla que contiene la clave fornea se llama dependiente. Esta restriccin referencial es opcional y puede definirse con el comando CREATE TABLE y ALTER TABLE. Esta restriccin se fuerza por el Administrador de la base de datos durante la ejecucin de los comandos INSERT, DELETE, ALTER TABLE ADD CONSTRAIST Y SET CONSTRAITS. Esto es puesto en prctica eficazmente al realizar la declaracin.

Nota: La integridad referencial, las restricciones de control y los triggers pueden combinarse durante la ejecucin.

Clave Maestra Es la clave principal o clave nica de una restriccin preferencial.

Fila maestra: Es la fila que tiene al menos una fila dependiente.

Tabla maestra o Padre: La tabla que es Padre en por lo menos una restriccin referencial. Esta tabla puede ser definida como Padre en un nmero arbitrario de restricciones referenciales. Una tabla Padre puede ser tambin una tabla dependiente.

Tabla dependiente. Es aquella tabla que depende de al menos una restriccin referencial. Una tabla dependiente puede ser tambin una tabla Padre.

Tabla descendente. Una tabla es descendente de una tabla T, si esta es dependiente de T. Fila descendente: Una fila descendente de una fila F, si esta es dependiente de F.

Ciclo referencial

Es un conjunto de restricciones referenciales, tal que cada tabla es descendente de si misma. Fila Auto-referenciada: Es la fila que es Padre de ella misma. Tabla auto-referenciada. Es la tabla que es padre y dependiente en la misma restriccin referencial. Insercin: La regla de insercin en una restriccin referencial significa que al colocar un valor no nulo como clave fornea, este debe coincidir con algn valor de la clave Padre en la tabla de la cual esta depende. El valor en una clave fornea, es nulo si algn componente es nulo. Esta regla esta implcita cuando se especific la clave fornea.

UPDATE RULE. (Regla de actualizacin)

La regla de actualizacin de una restriccin referencial se especifica al definir dicha restriccin. Las opciones son NO ACTION y RESTRICT. Las reglas de actualizacin se aplican cuando una fila de la tabla Padre o una fila de la tabla dependiente se actualiza.

En caso de una fila padre, cuando un valor de la columna de la clave es actualizadao

Si alguna fila en la tabla dependiente concuerda con el original de la clave, esta actualizacin se rechaza cuando la regla de actualizacin esta en RESTRICT. Si alguna fila en la tabla dependiente no tiene su correspondiente clave Padre cuando el comando de actualizacin se complet, esta actualizacin se rechaza si la regla se encuentra en NO ACTION.

o

En caso de una fila dependiente.o

La regla de actualizacin est implcita cuando la clave fornea se especifica como NO ACTION significa que un valor no nulo que se actualice, debe corresponder a algn valor de la clave padre o de la tabla padre, cuando el comando de actualizacin se ejecuta.

DELETE RULE. (Regla de eliminacin.)

Esta regla se especfica cuando la restriccin referencial se define.

Las opciones son NO ACTION, RESTRICT, CASCADE, or SET NULL.

SET NULL puede especificarse solo si alguna columna de la clave fornea admite valores nulos. Esta regla se aplica cuando una fila de la tabla es eliminada. Ms precisamente, cuando una fila de la tabla padre se intenta borrar y esta tiene filas dependientes en tablas dependientes. Supongamos P es la tabla padre D sea la tabla dependiente p sea la fila padre que es objeto de eliminar y propagar as su eliminacin a las filas dependientes.

Si la regla de eliminacin se determina como:o o

RESTRICT or NO ACTION; ocurre un error y las filas no son eliminadas. CASCADE; La operacin de eliminacin se propaga de la fila dependiente p a D.

o

SET NULL; cada valor que es factible de anular en la columna correspondiente a la clave fornea de la tabla D es puesto como NULO.

Cada restriccin referencial en el cual una tabla es padre, tiene sus propias reglas de eliminacin. Y todas las reglas de eliminacin son utilizadas para determinar el resultado de una operacin de borrado.

De esta forma, una fila no puede eliminarse si tiene dependientes y se restringe con RESTRICT o NO ACTION, o la eliminacin en cascada de cualquiera de sus dependientes con las reglas RESTRICT or NO ACTION. Eliminar una fila de la tabla Padre P que involucra a otras tablas y puede afectar a las filas de esas tablas se gua segn el siguiente criterio:o

Si la tabla D que es dependiente entre P y la regla es RESTRICT or NO ACTION, D est involucrada en la operacin, pero no es afectado por la operacin.

o

Si la tabla D, que depende de P y la regla es SET NULL, D est involucrada en la operacin, y las filas D pueden actualizarse durante la operacin. Si la tabla D, es dependiente de P y la regla de eliminacin se indica como CASCADE, D esta incluida en la operacin y las filas de D pueden eliminarse durante la operacin. Si las filas D son eliminadas, la operacin de eliminado en P se dice que se extendi a D. Si D, tambin es una tabla Padre, las acciones descriptas en esta lista, a su vez, se aplican a los dependientes de D.

o

o

Cualquier tabla en la que se pueda involucrar una operacin de eliminado en P, se dice que esta conectada para eliminado a P. As, una tabla se dice que esta conectada para eliminado a una tabla P, si esta es dependiente de P o una tabla dependiente que se encuentra con indicacin de operaciones en cascada de P. Hay tres tipos de restricciones: Reo o

- una fila se agrega dentro de la tabla - una fila de la tabla se modifica

El table check constraint se ve obligada por la aplicacin a condiciones de bsqueda para cada fila que es agregada o modificada. Un error ocurrir si el resultado de la condicin de bsqueda es falso para alguna fila.

Cuando una o mas table check constraints son definidas con el comando ALTER TABLE para una tabla con datos existentes, los datos existentes son verificados nuevamente por la nueva condicin antes que alter table suceda. La tabla puede ser puesta en estado de verificacin pendiente, el que permitir ingresar datos sin verificarlos. El set constraint es usado para poner la tabla dentro del estado pendiente de verificacin. Esto es tambin usado para abreviar la verificacin de cada fila de la restriccin nuevamente.

SEGURIDAD EN DB2 DB2 utiliza una combinacion de seguridad esterna y control interno de acceso a proteger datos. Para poder accesar un servidor de base de datos, es necesario a pasar unas revisiones de seguridad. El primar paso de seguridad se llama Autenticacion, donde usuario prueba que es quien que dice. El segundo paso de seguridad se llama Autorizacion, donde SGBD decide que si el usuario autenticado es permitido a realizar accion solicitada o accesar datos solicitada. I. Autenticacion

Autenticacion de usuario es completamente fuera de DB2. El proceso puede ser en una parte del SO, en un dispositivo separato, o, en unos casos, no existe. Por ejemplo, en sistemas basados en UNIX, el proceso de autenticacion esta en el mismo SO; y no esiste el proceso en los SO de Windows 95 o Windows 3.1. Se necesitan un User ID y un Password para autenticar un usuario en una de las dos maneras:o o

Proceso de login a SO con exito, como evidencia de identidad La combinacion de User ID y Password El usuario tambien hay que ser identificado por DB2 con un nombre autorizado. Un nombre que puede ser el mismo de User ID. Luego, se extrae una lista de grupos que el usuario pertenece. DB2 extraen una lista de, como el maximum, 64 grupos para cada usuario. Si un usuario pertenece a mas que 64 grupos, solamente los primeros 64 grupos son validos. En este momento, no ocurre ningun error, y los restos grupos son ignorados. II. Autorizacion Autorizacion es el proceso, con la informacion acerca de un usuario autenticado, que indica cuales operaciones un usuario puede realizar, y cuales objetos puede accesar. Tablas y archivos de configuracion son utilizados para registrar los permisos de cada nombre autorizado. Hay dos tipos de permisos registrados por DB2:

o o

Privilegio, define un permiso para un nombre autorizado, y le permite a crear o accesar objetos Nivel de autoridad, es un grupo de privilegios y controles sobre administracion de alto nivel. Ambos son registrados en catalogos de base de datos. III. Jerarquia de autoridades Un usuario o grupo puede tener una o mas de los siguiente niveles de autorizacion:

o o o

Autoridad administrativa (SYSADM o DBADM), dan privilegios total para objetos Autoridad de sistema (SYSCTRL o SYSMAINT), dan privilegios total para administrar el sistema, pero no se permite accesar a los datos Autoridad de cargar (LOAD), da privilegios a insertar datos a tablas III - 1. Autoridad de administracion de sistema (SYSADM) SYSADM es el mas alto nivel de autoridad administrativa. Usuarios quienes tienen SYSADM pueden utilizar utilidades, utilizar comandos de base de datos, accesar cualquier tabla en base de datos, y tienen el control a todos los objetos. Solo los usuarios quienes tienen SYSADM puede realizar las siguientes funciones:

o o o

Mover una base de datos (export / import) Cambia el archivo de configuracion de administrador de base de datos (incluye dar autoridad de SYSCTRL o SYSMAINT a grupos) Permite DBADM Ademas, un usuario con SYSADM puede realizar las funciones de SYSCTRL, SYSMAINT, y DBADM. III - 2. Autoridad de control de sistema (SYSCTRL)

SYSCTRL es el mas alto nivel de autoridad de control de sistema. Permite a realizar mantenimiento, pero no permite acceso directo a datos en la base de datos. Solo un usuario con autoridad de SYSCTRL o superior puede realizar los siguientes:o o o o o

Actualiza una base de datos o nodo Forzar usuarios fuera del sistema (offline) Crear o eliminar una base de datos Crear, eliminar, o actualizar un tabla Restauracion de una nueva base de datos III - 3. Autoridad de mantenimiento de systema (SYSMAINT) SYSMAINT es el segundo nivel de autoridad de control de systema. Permite a realizar mantenimiento, pero no permite acceso directo a datos en la base de datos. Solo un usuario con autoridad de SYSMAINT o superior puede realizar los siguientes:

o o o o o

Actualizar archivos de configuracionn de base de datos Backup un base de datos o tabla Restauracion de una base de datos que ya existe Restaracion de una tabla Realizar rollforward recovery III - 4. Autoridad de administracion de base de datos (DBADM) DBADM es el segundo nivel de autoridad administrativa. Se aplica solamente a una base de datos especifica, y permite usuario utilizar comandos de la base de datos, accesar datos, grant privilegios a otros, y revoke cualquier privilegios de cualquier usuario. Solo un usuario con autoridad de DBADM o superior puede realizar los siguientes:

o

Leer archivos log III - 5. Autoridad de cargar (LOAD) Usuarios quienes tienen autoridad de LOAD pueden utilizar el comando LOAD a cargar datos a una tabla. IMPORTACION Y EXPORTACION El Procesador de lnea de mandatos de DB2 Everyplace para Palm OS, EPOC, Windows CE, plataformas Win32, Neutrino y Linux incorporado, permite importar datos desde un archivo a DB2 Everyplace y exportar datos de DB2 Everyplace a un archivo. La importacin y exportacin de datos en Palm OS utiliza los archivos Memo en el dispositivo. Importacin de datos desde un archivo a DB2 Everyplace Para importar datos desde un archivo a DB2 Everyplace, escriba: IMPORT FROM nombre-archivo OF DEL INSERT INTO nombre-tabla nombre-archivo es el nombre del archivo desde el que se importa. En Palm OS, nombre-archivo es el nombre del archivo Memo desde el que se importa. El nombre-archivo debe aparecer en la primera lnea del archivo Memo. Los archivos Memo de Palm tienen una limitacin de 4K bytes de almacenamiento de texto. nombre-tabla es el nombre de una tabla existente a la que se importa. Por ejemplo,

para importar datos de un archivo llamado mydata.txt a una tabla existente llamada mytable, escriba: IMPORT FROM mydata.txt OF DEL INSERT INTO mytable Exportacin de datos desde DB2 Everyplace a un archivo Para exportar datos desde DB2 Everyplace a un archivo, escriba: EXPORT TO nombrearchivo OF DEL sentencia nombre-archivo es el nombre del archivo en el que se escriben los datos. sentencia es la sentencia SELECT para seleccionar los datos que se exportan. Por ejemplo, para exportar todos los datos desde la tabla llamada mytable a un archivo llamado myfile.txt, escriba: EXPORT TO myfile.txt OF DEL SELECT * FROM mytable TRIGGERS La mayora de los sistemas de administracin de la base de datos relacionales proporcionan ayuda para los triggers La IBM est agregando la ayuda de triggers a DB2 para OS/390 en la versin 6. Pero, qu es un trigger? Si usted nunca ha tenido la oportunidad de utilizarlos, su potencia puede eludirle al principio. Sin embargo, una vez que usted haya utilizado triggers, el vivir sin ellos puede ser increble! Lo Bsico Indicado simplemente, un trigger es una parte del cdigo que se ejecuta en respuesta a una declaracin de modificacin de los datos; es decir, un insert, un update, o un delete. Para ser un poco ms exacto: los triggers son los procedimientos especializados en manejar que se salvan dentro, y son manejados por el RDBMS. Cada uno se asocia a un vector solo, especificado. Los triggers se pueden pensar en como una forma avanzada de regla o de contraint escrito usando una forma extendida de SQL. Un trigger no puede ser llamado o ser ejecutado directamente; es ejecutado (o encendido automticamente) por el RDBMS como resultado a una accin - una modificacin de los datos al vector asociado. Una vez que se crea un trigger se ejecuta siempre cuando ocurre su acontecimiento de la despedida (update, insert, o delete). Por lo tanto los triggers son automticos, implcitos, y no se puede ignorar. Triggers versus Procedimientos Almacenados Los trigger son similares a los procedimientos almacenados. Ambos consisten en la lgica procesal que se salva en el nivel de la base de datos. Sin embargo, los procedimientos almacenados no son accionados y no se asocian a un vector especfico. Un procedimiento almacenado es ejecutado explcitamente invocando una llamada al procedimiento (en vez implcito de ser ejecutado como triggers). Adems, un procedimiento almacenado puede tener acceso a muchos vectores sin que sea especficamente asociado a cualquiera de ellos. Por qu Utilice Los Triggers? Los triggers son tiles para implementar cdigo que deben ser ejecutados de forma regular debido a un acontecimiento predefinido. Utilizando triggers, el programar y los problemas de la integridad de los datos pueden ser eliminados porque el trigger ser encendido siempre que ocurra el acontecimiento que acciona. Usted no necesita recordar programar o cifrar una actividad para realizar la lgica en el trigger. Sucede automticamente en virtud de l que est en el trigger. Esto es verdad del SQL esttico y dinmico; SQL con fines especficos y previsto del anuncio.

Los triggers se pueden poner en ejecucin para muchas aplicaciones prcticas. Es absolutamente a menudo imposible cifrar reglas de negocio en la base de datos usando solamente DDL. Por ejemplo, DB2 no utiliza los restricciones complejas (solamente restricciones basados en los check) o en los diferentes tipos de constraints referenciales (tales como delete pendiente de procesar o update cascade). El uso de triggers, genera un ambiente muy flexible para establecer las reglas y restricciones del negocio en ejecucin en el DBMS. Esto es importante porque tener las reglas de negocio en la base de datos se asegura de que cada uno utiliza la misma lgica para lograr el mismo proceso. Los triggers se pueden cifrar para tener acceso y/o para modificar a otros vectores, mensajes informativos de la impresin, y especifican restricciones complejas. Por ejemplo, considere a surtidores estndares y parte la aplicacin usada en la mayora de los textos introductorios de la base de datos. Una pieza se puede proveer por muchos surtidores y un surtidor puede proveer muchas piezas. Los triggers se pueden utilizar para utilizar los decorados siguientes:o

Qu si existe una regla de negocio especificando que no ms de tres surtidores se permiten para proveer cualquier sola parte. Un trigger se puede cifrar para controlar que las filas no pueden ser insertadas si los datos violan este requisito. Un trigger se puede crear para permitir solamente las pedidos para las piezas que estn ya en la accin. O, quiz para las piezas que estn ya en la accin o estn en orden y se planean para la disponibilidad dentro de la semana prxima. Los triggers del se pueden utilizar para realizar clculos tales como asegurarse de que la cantidad de la orden para las piezas est calculada dada apropiadamente los surtidores elegidos para proporcionar a las piezas. Esto es especialmente til si la cantidad de la compra de la orden se salva en la base de datos como datos redundantes. Para contener costes, una decisin econmica puede ser tomada que utilizarn al surtidor del bajo costo siempre. Un trigger se puede poner en ejecucin rechaza cualquier orden que no sea la orden actual del "bajo costo". El nmero de las reglas de negocio que se pueden poner en ejecucin usando triggers es limitado nicamente por su imaginacin (o, ms apropiadamente, sus necesidades del negocio). Adems, los triggers pueden tener acceso a los recursos non-DB2. Esto puede ser lograda invocando un procedimiento empacado o una funcin definida por el usuario que se aproveche de los servicios de la recuperacin del recurso OS/390 (RRS). ). Los datos almacenados en el recurso del DB2 pueden ser a los que se gan acceso o modificados en el procedimiento almacenado o la funcin definida por usuario que es llamada.

o

o

o

Cundo se enciende un trigger? Dos opciones existen para cuando un trigger se puede encender: antes de que ocurra la actividad de la despedida o despus de la actividad de la despedida. El DB2 soporta ambos tipos de triggers antes y despus. Uno antes se acciona antes de que la actividad de tiroteo ocurra; y despus se acciona despus de que la actividad de tiroteo ocurra. En DB2 V6, "antes de que" los triggers estn restringidos porque no pueden realizar actualizaciones.

Saber cmo funcionan los triggers en su base de datos es indispensable. Sin el conocimiento apropiado del funcionamiento de los triggers no se pueden cifrar, utilizar, o mantener con eficacia. Considere, por ejemplo, si ocurre la actividad de la despedida antes de que se encienda el trigger. Es decir el update, el insert, o el delete ocurre primero como un resultado de esta accin, la lgica del trigger se ejecuta. En caso de necesidad, se puede hacer un rollback a la modificacin de los datos. Qu ocurre si el trigger es disparado antes de que se de el evento? En esta situacin un rollback no sera requerido para el cdigo del acontecimiento del trigger porque no ocurri. Sin embargo, un rollback se puede requerir para cualquier modificacin de los datos que ocurriera antes de este acontecimiento de la despedida dentro de la misma transaccin. Otra caracterstica interesante de los triggers de DB2 V6 es la orden en la cual se encienden. Si existen mltiples triggers en la misma tabla, cul trigger que se enciende primero? Puede diferenciar en cuanto a cmo los triggers deben ser cifrados, ser probados, y ser mantenidos. La regla para el orden de la ejecucin es bsicamente simple entender, pero puede ser difcil de mantener. Para los triggers del mismo tipo, se ejecutan en el orden en la cual fueron creados. Por ejemplo, si dos trigger de delete se cifran en la misma tabla, el que fue creado fsicamente primero, se ejecuta primero. Tenga esto presente como usted realiza cambios a su base de datos. Si usted necesita caer a la tabla y reconstruirla para poner un cambio del esquema en ejecucin, se cerciora usted de crear los triggers en la orden deseado (iguales) para guardar las funciones iguales. Como puede ser visto fcilmente, la determinacin de la actividad procesal se requiere que cuando los triggers estn presentes puede ser una tarea complicada. Es de importancia suprema que todos los reveladores estn enseados en los mtodos de la despedida utilizados para los triggers en DB2 V6. Triggers Empacados Cuando se ejecuta un trigger, DB2 crea un conjunto de triggers para las declaraciones en la accin accionada. El conjunto del trigger se registra en SYSIBM.syspackage y tiene el mismo nombre que el trigger. El conjunto del trigger es siempre accesible y puede ser ejecutado solamente cuando un trigger es activado por una operacin que acciona. Para suprimir el conjunto del trigger, usted debe utilizar la declaracin DROP TRIGGER. Los Triggers Pueden Encender Otros Triggers Como hemos aprendido ya, un trigger puede ser encendido por un insert, un update, o un delete. Sin embargo, un trigger puede tambin contener el insert, poner al da, y suprimir lgica dentro de s mismo. Por lo tanto, un trigger es encendido por una modificacin de los datos, pero puede tambin causar otra modificacin de los datos, de tal modo encendiendo otro trigger. Cuando un trigger contiene el insert, ponga al da, y/o suprima la lgica, el trigger se dice ser un trigger jerarquizado. La mayora de los DBMS, sin embargo, pone un lmite en el nmero de los triggers jerarquizados que se pueden ejecutar dentro de un solo acontecimiento de la despedida. Si esto no fue hecha, podra ser absolutamente posible que los triggers se dispararn de una forma desencadena hasta lo infinito hasta que todos los datos fueron removidos de una base de datos entera. Si la integridad de referencia est combinada con triggers, entonces los updates en cascada y/o deletes puede ocurrir. Si uno suprima o actualice resultados en una serie de

actualizaciones adicionales o suprime esa necesidad en ser propagado para otras tablas, entonces los triggers de update o delete para la segunda tabla tambin sern activados. Esta combinacin de triggers mltiples y de contraints de integridad referencial es afable de fijar un efecto de conexin en cascada en el movimiento, que puede dar lugar a cambios mltiples de los datos. DB2 V6 limita este efecto de conexin en cascada a 16 niveles para prevenir un ciclo infinito. Si existieran ms de 16 niveles de jerarquizacin, se aborta la transaccin. La capacidad de jerarquizar triggers proporciona un mtodo eficiente para poner integridad automtica a los datos en ejecucin. Debido a que los triggers no pueden ser desviados, generalmente proporcionan una solucin elegante a la aplicacin haciendo cumplir de las reglas de negocio. Tenga cuidado, sin embargo, para asegurarse de que el nivel mximo de triggers anidados no sea alcanzado. El fracaso de prestar atencin a este consejo puede causar un ambiente donde ciertos tipos de actualizaciones no pueden ocurrir. Limitaciones de los Triggers Hay lmites para que puedan ejecutarse los triggers. En DB2 V6, usted no puede definir triggers encendido:o o o o o o o

Una tabla del catlogo de sistema La tabla de plan La tabla de declaracin La tabla de funcin DSN. Una vista Alias Sinnimo Uso de Triggers para Implementar la Integridad Referencial Una de las aplicaciones primarias para los triggers debe utilizar la integridad de referencia (RI). Aunque DB2 utiliza una forma muy robusta de RI declarativo, ningn DBMS actual utiliza completamente todos los constraints de referencia posibles. Los triggers se pueden cifrar, en lugar de RI declarativo, para utilizar todas las reglas de RI de la tabla 1. Por supuesto, cuando usted utiliza triggers, hace necesario el cdigo de procedimientos para cada regla, para cada constraint, mientras que los constraints declarativos de RI se cifran en el DDL que se utiliza para crear las tablas relacionales. Tabla 1. Reglas de Integridad Referencial DELETE RESTRICT DELETE CASCADE DELETE NEUTRALIZE Si cualquier filas existen en la tabla dependiente, entonces el registro de la llave primaria en la tabla del padre no puede ser borrada. Si un registro de la tabla padre de la llave primaria es borrado, entonces, todos los registros de la tabla dependiente son borrados. Si se borra un registro de la llave primaria de la tabla padre, todos los registros dependientes sern definidos como Null.

UPDATE RESTRICT UPDATE CASCADE

Si un registro existe en la tabla dependiente, la columna de la llave primaria en la tabla padre no puede ser modificado. Si un registro existe en la tabla dependiente, la columna de la llave primaria en la tabla padre es modificado entonces todos los valores de las llaves forneas son modificados con el mismo valor. Si cualquier filas existen en la tabla dependiente, entonces la fila primaria de la llave en la tabla del padre es suprimida, y toda llave fornea aprecia en las filas dependientes est actualizado para NULL igualmente. Un valor forneo de la llave puede no ser introducido en la tabla dependiente a menos que un valor primario de la llave ya exista en la tabla del padre. Una llave fornea puede no estar actualizada para un valor que ya no existe como un valor primario de la llave en la tabla del padre. Cuando el ltimo valor forneo de la llave en la tabla dependiente es suprimido la fila primaria de la llave en la tabla del padre es tambin suprimida.

UPDATE NEUTRALIZE

INSERT RESTRICT FK UPDATE RESTRICTION PENDANT DELETE

Para utilizar triggers para utilizar reglas de RI, es a veces necesario saber los valores afectados por la accin que encendi el trigger. Por ejemplo, considere el caso donde se enciende un trigger porque una fila fue suprimida. La fila, y todos sus valores, se ha suprimido ya porque se ejecuta el trigger despus de que ocurra su accin de la despedida. Pero si es esto el caso, cmo podemos comprobar si las filas referenciadas conectadas existen con esos valores? Los triggers se pueden cifrar, en lugar de RI declarativo, para utilizar todas las reglas de RI en tabla 1. Por supuesto, cuando usted utiliza triggers, hace necesario el cdigo procesal de la escritura para cada regla para cada cconstraint, mientras que los constraints declarativos de RI se cifran en el DDL que se utiliza para crear los tablas referenciales. La solucin se proporciona en la forma de dos pseudnimos especializados disponibles solamente dentro de triggers: NUEVO y VIEJO. Cada trigger puede tener una NUEVA vista de la tabla y una VIEJA vista de la tabla disponible. De nuevo, estas visiones son accesibles solamente de triggers. Proporcionan el acceso a los datos modificados viendo la informacin en el registro de la transaccin. El registro de la transaccin es un expediente de toda la actividad de la modificacin de los datos, mantenido automticamente por el DBMS.

Figure 2. Before and After Views of Table Activity Cuando ocurre un insert, el vector NUEVO contiene las filas que acaban de ser insertadas en el vector al cual se asocia el trigger. Cuando ocurre una CANCELACIN, la VIEJA tabla contiene las filas que acaban de ser suprimidas de la tabla a la cual se asocia el trigger. Una declaracin de la ACTUALIZACIN funciona lgicamente como una CANCELACIN seguida por un insert. Por lo tanto, despus de una ACTUALIZACIN, la tabla NUEVA contiene los nuevos valores para las filas que acaban de ser modificadas en la tabla a la cual se asocia el trigger; la tabla VIEJA contiene los viejos valores para las filas actualizadas. Por lo tanto, el trigger puede utilizar estas NUEVAS y VIEJAS opiniones especializadas de la tabla para preguntar los datos afectados. Recuerde, tambin, que la modificacin de los datos del SQL puede ocurrir un instante de tiempo. Una declaracin de la CANCELACIN o de la ACTUALIZACIN puede afectar filas mltiples. Esto debe considerarse al cifrar la lgica real del trigger. Adems, los nombres del pseudnimo, VIEJO y NUEVO, pueden ser cambiados si estn deseados (por ejemplo, a INSERTADO y a SUPRIMIDO, los nombres utilizado por el servidor de SQL). Granularidad en los Triggers Debido a que el SQL es un lenguaje el fija el nivel cualquier declaracin del SQL puede afectar filas mltiples de datos. Por ejemplo, una declaracin de la CANCELACIN puede causar realmente cero, una, o mucha fila que se quitar. Los triggers necesitan tomar esto en cuenta. Por lo tanto, hay dos niveles de granularidad que un trigger puede tener: nivel de la declaracin o nivel de la fila. Un trigger del nivel de la declaracin se ejecuta una vez sobre la despedida, sin importar el nmero real de las filas insertadas, suprimidas, o modificadas. Un trigger del nivel de la fila, una vez que est encendido, se ejecuta una vez para cada fila que se inserte, se suprima, o modifique. Diversos requisitos del negocio conducirn qu tipo de granularidad del trigger debe ser elegido. Ejemplo de Trigger

Es una actualizacin trigger, codificada en la tabla EMP. Este trigger implementa una comprobacin simple para asegurar que los aumentos estn menos de 50%. Cuando el sueldo nuevo excede 50 % del anterior sueldo, un error es levantado. CREATE TRIGGER SALARY_UPDATE BEFORE UPDATE OF SALARY ON EMP FOR EACH ROW MODE DB2SQL WHEN (NEW.SALARY > (OLD.SALARY * 1.5)) BEGIN ATOMIC SIGNAL SQLSTATE '75001' ('Raise exceeds 50%'); END; El trigger se ejecuta una vez para cada fila. Si son modificadas filas mltiples por una sola actualizacin, el trigger se ejecutar en mltiples ocasiones, una vez para cada fila modificada. Tambin, el trigger ser ejecutado ANTES DE QUE ocurra la modificacin real. Finalmente, tome el aviso especial cmo es NUEVO y VIEJO se utilizan para controlar valores antes y despus la actualizacin. TABLESPACE Un tablespace es un espacio para almacenar tablas. Cuando se crea una tabla, usuario puede decidir que unos objetos, tales como indices y datos de objeto grande (LOB, Large OBject), se separan desde otros datos de la tabla. Un tablespace tambien puede ser distribuido en diferentes dispositivos fisicos de almacenamiento. Un table space puede ser un espacio manejado por sistema (SMS, System Managed Space), o un espacio manejado por base de datos (DMS, Database Managed Space). Para un SMS tablespace, cada contenedor* es un directorio en el espacio de archivo del sistema operativo, y el administrador de archivo del sistema operativo controla el espacio de almacenar. Para un DMS tablespace, cada contenedor es un archivo de tamano fijo o un dispositivo fisico, como un disco duro, y el administrador de la base de datos controla el espacio de almacenar. Los tres tipos de table space son:o o o

Regular Tablespace Long Tablespace Temporary Tablespace Las tablas que contienen datos de usuario se almacenan en regular tablespace. El tablespace de usuario se llama USERSPACE1 por default. Los indices y las tablas de catalog de sistema tambien se alamcenan en regular table. El tablespace de catalogo de sistema se llama SYSCATSPACE por default. Las tablas que tienen datos de campo largo o datos de objeto grande, tales como objetos de multimedia, se almacenan en long tablespace. Se utiliza temporary tablespace para almacenar datos requeritos durante las operaciones de SQL. El temporary tablespace se llama TEMPSPACE1 por default.

Lista de Tipos de Dato en DB2 UDB DB2 ademas de suporta tipo de dato definido por usuario, tambien suporta una gran cantidad de tipos de dato, como se muestra en la siguiente figura:o

DATALINK, contiene una referencia logica a un archivo almacenado fuera de la base de datos. El tipos de enlace que DB2 suporta es de URL (Uniform Resource Locator) que suporta HTTP, FILE, UNC, y DFS. DATE, se un valor de 3 partes; anno, mes, y dia. El rango de anno es de 0001 a 9999, de 1 a 12 para el rango de mes, y de 1 a X, donde X depende de el mes para el rango de dia. Es un dato de 4 bytes. Cada byte consiste de 2 digitos de decimal. Los primeros 2 bytes representan el anno; el tercer byte representa el mes, y el ultimo byte representa el dia. TIME, se un valor de 3 partes; hora, minuto, y segundo. Sennala a un tiempo bajo el formato de 24 horas. El rango de hora es de 0 a 24, de 0 a 59 para minuto y segundo. Es un dato de 3 bytes. Cada byte consiste de 2 digitos de decimal. El primer byte representa la hora, el segundo representa el minuto, y el ultimo representa el segundo. TIMESTAMP, es un valor de 7 partes; anno, mes, dia, hora, minuto, segundo, y microsegundo. Sennala a una fecha y hora en forma como DATE y TIME, excepto que el tiempo incluye microsegundo. Es un dato de 10 bytes de 2 digitos de decimal. Los primeros 4 bytes representan la fecha, los siguientes 3 bytes representan el tiempo, y los ultimos 3 bytes representan el microsegundo. CHAR, tiene la longitud fija. Su longitud maxima es de 254 bytes. VARCHAR, tiene la longitud variable. Su longitud maxima es de 4000 bytes. LONG VARCHAR, tiene la longitud variable. Su longitud maxima es de 32700 bytes. SMALLINT (Small Integer), almacena un numero de 5 digitos con un rango de -32768 a +32767. INTEGER, almacena un numero de 10 digitos con un rango de -2147483648 a +2147483647. BIGINT (Big Integer), almacena un numero de 19 digitos con un rango de 9223372036854775808 a +9223372036854775807. REAL, almacena un numero de 32 bit con un rango de -3.402E+38 a -1.175E-37, o un rango de 1.175E-37 a 3.402E+38, y por supuesto el zero. DOUBLE o FLOAT, almacena un numero de 64 bit con un rango de -1.79769E+308 a 2.225E-307, o un rango de 2.225E-307 a 1.79769E+308, y por supuesto el zero. DECIMAL o NUMERIC, tiene un rango maximo de -10**31+1 a 10**31-1. GRAPHIC, tiene su longitud fija con un rango de 1 a 127 caracteres de doble-byte. VARGRAPHIC, tiene su longitud variable hasta 2000 caracteres de doble-byte como maxima. LONG VARGRAPHI, tiene su longitud variable hasta 16350 caracteres de doble-byte como maxima. DBCLOB (Double-Byte Character Large Object), tiene su longitud variable hasta 1073741823 caracteres de doble-byte como maxima.

o

o

o

o o o o o o o o o o o o o

o o

CLOB (Character Large Object), tiene su longitud variable hasta 214743647 caracteres de doble-byte como maxima. BLOB (Binary Large Object), tiene su longitud variable hasta 214743647 caracteres de doble-byte como maxima. Create, Grant y Revoke en DB2

o

Creacion de un tablespace: Create Tablespace espacio Managed By Database Using (`directorio'); Donde espacio es el nombre del tablespace, y; directorio es el directorio donde el tablespace se almacena. Por ejemplo: Create Tablespace recuso_humano Maganged By Database Using(`e:\tbsp_rh', `f:\tbsp_rh', `g:\tbsp_rh');

o

Creacion de una tabla: Create Table tabla ( nombre tipo restriccion, Primary Key(llave) ) In espacio; Donde tabla es el nombre de la tabla; nombre es el nombre del campo; tipo es el tipo de datos que almacena el campo; restriccion es la restriccion para el campo; llave es el nombre del campo que es la llave primaria, y; espacio es el nombre del tablespace donde la tabla se almacena. Por ejemplo: Create Table empleado ( cedula Varchar(15) Not Null, nombre Varchar(30) Not Null, puesto Char(10) Check(puesto In(`Vendedor', `Cajero', `Encargado')), fecha_ing Date, salario Decimal(7, 2) Check(salario >= 0), Primary Key(cedula), Constraint anno_sala Check(Year(fecha_ing) > 1985 Or salario > 40000), ) In recuso_humano;

o

Creacion de un usuario: Create User Mapping For nombre

Server servidor Options (Remote_AuthID `identificacion' Remote_Password `contrasenna'); Donde nombre es el nombre autorizado por el sistema; servidor es el nombre del servidor donde la base de datos esta; identificacion es el ID de usuario en cada base de datos, y; contrasenna es la contrasenna en cada base de datos. Por ejemplo: Create User Mapping For jose Server svr1 Options (Remote_AuthID `encargado' Remote_Password `pase');o

Permiso de conexion: Grant Connect On Database To User identificacion; Donde identificacion es el ID de usuario. Por ejemplo: Grant Connect On Database To User jose;

o

Permiso de privilegio: Grant privilegio On tabla To User identificacion; Donde privilegio es el privilegio que se permite al usuario; tabla es el nombre de la tabla, y; identificacion es el ID de usuario. Por ejemplo: Grant Select, Insert, Update, Delete On empleado To User jose;

o

Revocacion de conexion: Revoke Connect On Database From User identificacion; Donde identificacion es el ID de usuario. Por ejemplo: Revoke Connect On Database From User jose;

o

Revocacion de privilegio: Revoke privilegio On tabla From User identificacion; Donde privilegio es el privilegio que se revoca del usuario; tabla es el nombre de la tabla, y; identificacion es el ID de usuario. Por ejemplo: Revoke Delete On empleado From User jose; ANEXOS

o

EN CUANTO A TRIGGERS Triggers se define como un conjunto de acciones que se ejecutan, o se disparan, como por ejemplo eliminar, insertar o actualizar una tabla.

Cuando este tipo de operacin en SQL se ejecuta, consideramos que el TRIGGER est activado.

Los triggers pueden usarse en conjunto con restricciones referenciales o restricciones de control para dar fuerza a las reglas de integridad de los datos.

Tambin pueden usarse TRIGGERS para actualizar otras tablas, automticamente pueden generarse valores, actualizar, insertar filas, e invocar funciones que realicen tareas de control.

Los TRIGGERS son un mecanismo muy utilizado para enfatizar las reglas de integridad definidas por DBA ( por ejemplo el sueldo no puede aumentarse ms de un 10%).

Usar TRIGGERS ubica a la lgica para enfatizar las reglas de negociacin de datos en una base de datos. Esta lgica utilizada en todas las tablas implicar un fcil mantenimiento posterior, y que no sea necesario cambiar los programas de aplicacin cuando se cambie la lgica de la misma.

Los TRIGGERS son opcionales y se definen mediante la instruccin CREATE TRIGGER .

Hay varios criterios que se deben de tener en cuenta al crear un TRIGGER, que se utilizar para determinar cuando un TRIGGER debe activarse.o

En una tabla se define la tabla que llamaremos objeto para la cual el TRIGGES se utilizar.

o

El evento que se ejecutar se lo hace en SQL y esta modificar la tabla. Las operaciones pueden ser: borrar, insertar o actualizar. El Triggers activation time define cuando el trigger debe ser activado.

o

En la declaracin del trigger deber incluir cuales sern las filas que afectar. Cuales de la tabla estn siendo borradas, insertadas o actualizadas. El Trigger granularity define si las acciones que ejecute se realizarn una vez para la declaracin, o una vez para cada una de las filas para las cuales se defini.

La accin del Trigger consiste en una condicin de bsqueda opcional y un conjunto de declaraciones en SQL que se ejecutarn cada vez que el Trigger se active.

Las declaraciones de SQL solo se ejecutarn si la condicin de bsqueda es verdadera.

Cuando el tiempo en que el Trigger debe activarse es anterior al evento mismo, la accin de activarlo debe incluir las declaraciones de seleccin de las variables y las seales de condicin de SQL. Cuando el tiempo en que se debe activar el Trigger es posterior al mismo evento, el activarlo puede incluir declaraciones de seleccin, borrado, actualizacin, insertar o seales de condicin del SQL.

El activar un Trigger puede referirse a un conjunto de valores que sern afectados en ciertas filas de la tabla. Esto es posible a travs del uso de variables. Estas variables usan el nombre de las columnas de la tabla y con un indicador que marca si se refiere a un viejo valor ( antes de modificar) o un nuevo valor ( despus de modificar) . El nuevo valor puede cambiarse utilizando el comando SET transition variable antes de actualizar o modificar.

Otra forma de referenciarse a valores en un grupo de filas es utilizando tablas transitorias que operan en forma similar a las variables.

Varios Trigger pueden especificarse para una combinacin de tablas, eventos o tiempos en que deben activarse. El orden en que los Triggers se ejecutarn ser el mismo en el que fueron creados. Por lo tanto, el Trigger recientemente creado ser el ltimo en activarse.o

CASE Un CASE ayuda para el caso en el que tenga que cambiar valores en una entrada o salida. Supongamos que tiene una tabla con los tamaos de las remeras (S, M, L) y quiere que se vean como Small, Medium, Large en la salida. Ud. puede hacerlo usando el CASE para cambiar el valor de salida. Tambin puede usar el CASE si quisiera convertir valores (como SMALL) en S para un insert.

SELECT LASTNAME, SALARY, CASE WHEN SALARY Una funcin de tabla es una UDF externa la cual entrega en una tabla del SQL en la cual ese es referenciado. Una tabla de funcin referenciada es solo valida en una clusula FROM de un SELECT. Donde usando la tabla de funciones, se observa lo siguiente:

Aun cuando una tabla de funcin entrega una tabla, la interfase fsica entre el DB2 y la UDF es one-row-at-a-time (una fila a la vez). Hay tres tipos de formas de llamar una tabla de funcin: OPEN, FETCH y CLOSE. El mismo mecanismo call-type que puede ser usado para funciones escalares es usado para distinguir estos llamados.

La interfase estndar usada entre DB2 y las funciones escalares definidas por usuarios se extiende hasta acomodarse en la tabla de funciones. El SQL-result se repite por tabla de funcin, en cualquier instancia correspondiendo a una columna que puede ser retornada con lo que definimos una clusula RETURNS TABLE de la CREATE FUNCTION. El argumento SQLresult-ind asimismo se repite, cualquiera de las instancias relatadas se corresponden con la instancia SQL-result. No todos los resultados de las columnas definidas en la clusula RETURN de la CREATE FUNCTION de la tabla de funcin tienen que ser retornadas. La clave DBINFO de CREATE FUNCTION, y correspondiendo al argumento habilitado dbinfo, la optimizacin que solo estas columnas necesitan para una tabla en particular referenciada ser retornada.

Los valores de las columnas individuales retornadas conformen con el formato a los valores retornados para funciones escalares.

La CREATE FUNCTION para una tabla de funcin tiene una CARDINALITY n especifica. Esta especificacin se define para informar al optimizador del DB2 del tamao aproximado del resultado de modo que el optimizador pueda tomar mejores decisiones cuando la funcin es referenciada.

Anidar o Establecer Tablas de ExpresinTablas de Expresin Una tabla de expresin crea una tabla de resultados temporales desde una simple consulta. Adems de estas refinan la tabla de resultados.

Tablas de Expresin Comn Una tabla de estas caractersticas se relaciona con querer tener una vista temporal dentro de una consulta compleja y puede ser referenciada en otros lugares dentro de la misma consulta.

Por ejemplo, en lugar de la vista, se evita creando una vista. Cualquier uso de una tabla especfica de expresin comn dentro de una consulta compleja comparte la misma vista temporal.

El uso recursivo de la tabla comn de expresin dentro de una consulta pueden ser usadas para soportar aplicaciones tales como conteo de materiales, sistemas de reservacin areo y planeamiento de una red.

Usando la recursividad del nombre de una tabla comn de expresin podremos usar la misma tabla de resultados en cualquier momento. Estos son diferentes desde una vista, con la cual podemos determinar el resultado de la tabla para cualquier referencia con posibilidad de diferentes resultados.

El aprovechamiento del uso y una mejor performance son equivalentes a aquellas con tablas de expresin anidadas. La performance puede ser mejorada por la reutilizacin del resultado del set de una tabla de expresin comn cuando las referencias mltiples son hechas dentro del fullselect. Por ejemplo, en el seguimiento de consultas se utiliza el mismo resultado de la tabla dos veces.

WITH DTSUM (WORKDEPT, AVGSAL) AS ( SELECT WORKDEPT, AVG(SALARY) FROM EMPLOYEE

WHERE EDLEVEL > :hv1GROUP BY WORKDEPT ) D1, SELECT D1.WORKDEPT, D1.AVGSAL, D2.WORKDEPT, D2.AVGSALDTSUM D2 WHERE D1.AVGSAL > 1.1 * D2.AVGSAL;

En esta consulta se lista un par de departamentos, donde los empleados considerados en cualquier departamento han logrado algn mnimo nivel de educacin, y donde el salario promedio del primer departamento sea mimo el 10% mayor que el salario promedio del segundo departamento.

En cualquier ejecucin de la consulta