Sei sulla pagina 1di 21

INTRODUCCION

En vista del auge que toma cada vez la tecnologa, es preciso saber hacer de todo lo relacionado son software, pero no podemos olvidar que tambin existe la parte de cmo manejar datos e informacin. Para ello existen afortunadamente formas o maneras de cmo poder guardar informacin necesaria y de vital importancia para nuestras empresas o compaas. Es por tal motivo, es preciso conocer hacer muy de fondo las diferentes plataformas o manejadores de bases de datos para poder optar por la ms adecuada para ser implanta, si es necesario, en nuestras compaas o empresas, como lo son SQL, ORACLE e INFORMIX. Informix es uno de los cuatro grandes de las bases de datos junto DB2 de IBM, SQL Server de Microsoft y Oracle. Aunque en muchos aspectos es mejor que Oracle, no se ha sabido mover en el terreno del marketing. Oracle captur la mayor parte del mercado e Informix no se recuper de las prdidas econmicas. 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. Puedes encontrar una infinidad de informacin sobre Oracle sobre Linux en Internet, pero muy poca sobre Informix. La poca informacin es debido a la poca comunidad Internet que tiene Informix, al menos comparada con la de Oracle. Y es que, hoy en da, las documentaciones oficiales, de tan sencillas que quieren ser, cada vez son ms confusas e incompletas. Sin duda, el mejor soporte tcnico que hay para un producto es su comunidad de usuarios en Internet. Informix por desgracia no ha sabido crearla. Una bsqueda de "Oracle Linux" en Google devuelve unas 972.000 pginas, mientras que "informe linux"143.000. SQL (Standar Query Lenguaje) es un lenguaje estandarizado de base de datos, el cual nos permite realizar tablas y obtener datos de ella de manera muy sencilla. Para exponer ms claramente los conceptos se realizaran ejemplo sobre relaciones que se crearan aqu para entender mejor como funciona SQL. Tambin se puede decir, SQL es un lenguaje bastante sencillo, principalmente orientado a bases de datos y, sobre todo, al manejo de consultas. Visual Basic incorpora esta extensin junto a nuestras bases de datos, obteniendo potentes resultados. De hecho, las consultas que se realizan en Access, estn desarrolladas o basadas en este lenguaje, por lo que su implementacin en Visual Basic no es complicada.

El objetivo principal de SQL es la realizacin de consultas y clculos con los datos de una o varias tablas.

SQL (STANDAR QUERY LENGUAJE)


La historia de SQL (que se pronuncia deletreando en ingls las letras que lo componen, es decir "ese-cu-ele" y no "siquel" como se oye a menudo) empieza en 1974 con la definicin, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigacin de IBM, de un lenguaje para la especificacin delas caractersticas de las bases de datos que adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se implement en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisin del lenguaje (SEQUEL/2), que a partir de ese momento cambi de nombre por motivos legales, convirtindose en SQL. El prototipo (System R), basado en este lenguaje, se adopt y utiliz internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al xito de este sistema, que no estaba todava comercializado, tambin otras compaas empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenz a entregar sus productos relacionales y en 1983 empez a vender DB2. En el curso de los aos ochenta, numerosas compaas (por ejemplo Oracle y Sbase, slo por citar algunos) comercializaron productos basados en SQL, que se convierte en el estndar industrial de hecho por lo que respecta a las bases de datos relacionales. En 1986, el ANSI adopt SQL (sustancialmente adopt el dialecto SQL de IBM) como estndar para los lenguajes relacionales y en 1987 se transform en estndares. Esta versin del estndar va con el nombre de SQL/86. En los aos siguientes, ste ha sufrido diversas revisiones que han conducido primero a la versin SQL/89 y, posteriormente, a la actual SQL/92. El hecho de tener un estndar definido por un lenguaje para bases de datos relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en l. Desde el punto de vista prctico, por desgracia las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e implementa en la propia base de datos slo el corazn del lenguaje SQL (el as llamado Entry level o al mximo el Intermediate level), extendindolo de manera individual segn la propia visin que cada cual tenga del mundo de las bases de datos. Actualmente, est en marcha un proceso de revisin del lenguaje por parte delos comits ANSI e ISO, que debera terminar en la definicin de lo que en este momento se conoce como SQL3. Las caractersticas principales de esta nueva encarnacin de SQL deberan ser su transformacin en un lenguaje stand-alone (mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la introduccin de nuevos tipos de datos ms complejos que permitan, por ejemplo, el tratamiento de datos multimedia les.

La finalidad de la base de datos consiste en contener las informaciones bibliogrficas de un conjunto de publicaciones, a fin de poderlas consultar fcilmente y utilizarlas para la construccin de otras bibliografas. sta se ha modelado en la falsa lnea del sistema bibliogrfico del sistema Ltex, para contar con un ambiente consolidado al que referirse y facilitar la realizacin de programas de conversin entre un sistema y otro. El significado de las relaciones que componen la base de datos es el siguiente: Publicacin: Una publicacin genrica. Normalmente, esta relacin se usa slo para asignarles un identificativo unvoco a todas las publicaciones presentes en la base de datos, dejando la especificacin delas dems caractersticas en relaciones especficas para cada tipo de publicacin. Adems, se usa para implementar uniones complejas entre las publicaciones y otras relaciones. Por ejemplo, la que existe entre una publicacin su autor. Gracias a la estructura adoptada, se puede contar con publicaciones escritas de muchos autores y con autores que escriben diferentes tipos de publicaciones. Author: Representa al autor de una publicacin. La llave primaria est compuesta por el identificativo de la publicacin y por el de la persona, lo que garantiza la unidad de la asociacin entre las dos entidades. Editor: Representa al coordinador de una publicacin. La estructura es idntica a la de la tabla Author. Person: Representa a una persona (por ejemplo, un autor) en la base de datos. Actualmente, las informaciones consideradas interesantes son slo el apellido y el nombre. Publisher: La casa editorial de una publicacin. Institution: La institucin (por ejemplo una universidad una software house) responsable de una publicacin. Book: Un libro con una casa editorial precisa. InBook: Una parte de un libro. La parte puede caracterizarse por un ttulo, por el nmero del captulo o por el de la pgina. Las informaciones a propsito del libro y, por tanto, comunes a sus diferentes partes, se memorizan en la relacin Book. Proceedings: Las actas de un congreso o de una conferencia. InProceedings: Una parte de las actas de un congreso. Las informaciones referidas a la publicacin que contiene esa parte estn en la relacin Proceedings. Article: Un artculo publicado en un peridico o en una revista.

Manual: Una publicacin de documentacin tcnica. Techreport: Un informe tcnico publicado por una escuela otra institucin. Thesis: Una tesina o una tesis. Misc: Una publicacin que no puede englobarse en ninguna de las categoras anteriores. No voy a explicar el significado de los atributos que componen las diferentes relaciones, puesto que sus nombres se explican por s mismos. Slo una anotacin sobre el atributo "pub_month": se ha definido como de tipo CHAR(3), es decir una cadena con una longitud fija de tres caracteres que incluir las abreviaturas de los nombres de los meses (las primeras tres letras de los nombres ingleses). Los lazos entre las relaciones deberan ser bastante fciles de entender. Como ejemplo para todos, usaremos el que conecta la relacin Bookcon la relacin Publisher. Este lazo sirve para describir la editorial de un libro. En la relacin Book no estn presentes todos los datos de la editorial, sino slo un identificativo numrico para ella. El nmero ser la llave primaria de la relacin Publisher y como tal permitir identificar una editorial precisa. En la relacin Book el atributo publisher es una llave externa hacia la relacin Publisher. Una situacin ms compleja es la que afecta a las relaciones Publicacin, Author y Person; efectivamente, en Author estn presentes dos llaves externas: una que identifica la publicacin a la que la instancia de relacin se refiere, y otra que permite remontarse a los datos dela persona que desempea el papel de autor. Se podra preguntar cul es la utilidad de la relacin Publicacin y por qu no se ha establecido directamente un nexo entre la relacin Author y las relaciones que representan los tipos de publicacin concretos. La respuesta es que el modelo relacional no permite hacerlo. En efecto, desde el momento en que un autor puede escribir diferentes tipos de publicacin, el atributo pubblicationID debera ser una llave externa hacia todas las relaciones de las publicaciones, pero esto no est permitido desde el momento en que contradice la definicin misma de llave externa. En las siguientes lecciones se implementar la base de datos de ejemplo usando el lenguaje SQL estndar. El DBMS especfico usado ser PostgresSQL, pero se podr sustituir con cualquier DBMS que soporte l'Entrylevel del SQL/92.

SQL SERVER
Microsoft SQL Server 7.0 constituye un lanzamiento determinante para los productos de bases de datos de Microsoft, continuando con la base slida establecida por SQL Server 6.5. Como la mejor base de datos para Windows NT, SQL Server es el RDBMS de eleccin para una amplia gama de clientes corporativos y Proveedores Independientes de Software (ISVs) que construyen aplicaciones de negocios. Las necesidades y requerimientos de los clientes han llevado a la creacin de innovaciones de producto significativas para facilitarla utilizacin, escalabilidad, confiabilidad y almacenamiento de datos. .Objetivos del Diseo de SQLServer Los clientes estn buscando soluciones para sus problemas de negocios. La mayora de las "soluciones" de bases de datos solamente traen mltiples niveles de costos y complejidad. La estrategia de Microsoft Esla de hacer que SQL Server sea la base de datos ms fcil de utilizar para construir, administrar e implementar aplicaciones de negocios. Esto significa tener que poner a disposicin un modelo de programacin rpido y sencillo para desarrolladores, eliminando la administracin de base de datos para operaciones estndar, y suministrando herramientas sofisticadas para operaciones ms complejas. SQL Server 7.0 disminuye el costo total de propiedad a travs de caractersticas como administracin multi-servidor y con una sola consola; ejecucin y alerta de trabajos basadas en eventos; seguridad integrada; y scripting administrativo. Esta versin tambin libera al administrador de base de datos para aspectos ms sofisticados del trabajo al automatizar las tareas de rutina. Al combinar estos poderosos servicios de administracin con las nuevas caractersticas de configuracin automtica, Microsoft SQL Server 7.0es la eleccin ideal de automatizacin de sucursales y aplicaciones de base de datos insertadas. Los clientes invierten en sistemas de administracin de bases de datos, en forma de aplicaciones escritas para esa base de datos y la educacin que implica para la implementacin y administracin. Esa inversin debe protegerse: a medida que el negocio crece, la base de datos deber crecer manejar ms datos, transacciones y usuarios. Los clientes tambin desean proteger las inversiones a medida que escalan aplicaciones de base de datos hacia equipos porttiles y sucursales. Para cumplir con estas necesidades, Microsoft ofrece un motor de base datos nico que escala desde una computadora porttil que ejecuta Windows 95 o Windows 98, hasta clusters de procesadores mltiples simtricos de terabyte que ejecutan Windows NT Server Enterprise Edition. Todos estos sistemas mantienen la seguridad y confiabilidad que exigen los sistemas de negocios de misin crtica.

Nueva para el lanzamiento de 7.0 es una versin de rastro debajo memoria con capacidades de replicacin de multi-sitio. Se ajusta muy bien las necesidades cada vez mayores del mercado de la computacin mvil. Lastras caractersticas tales como bloqueo a nivel de lnea dinmico, el paralelismo intra-query, query distribuido, y mejoras para las bases de datos muy grandes (VLDB) hacen que el SQL Server 7.0 sea la eleccin ideal parasistemas OLTP de alta tecnologa y sistemas de data warehousing. Mientras los sistemas de procesamiento siguen siendo un componente clave para las infraestructuras de bases de datos corporativas, las compaas tambin estn invirtiendo bastante en mejorar la comprensin que tienen de sus datos. La estrategia de Microsoft consiste en reducir el costo ya complejidad del data warehousing mientras hace que la tecnologa sea ms accesible a una mayor cantidad de pblico. Microsoft ha establecido un enfoque total a todo el proceso de data warehousing (almacenamiento de datos) . El objetivo es facilitar la construccin y diseo de soluciones de data warehousing costo efectivas a travs de una combinacin de tecnologas, servicios y alianzas con los proveedores. La Microsoft Alliance for Data Warehousing es una coalicin que une a los lderes en la industria de almacenamiento de datos y aplicaciones. El Microsoft Data Warehousing Framework constituye un conjunto de interfaces de programacin diseadas para simplificar la integracin y administracin de soluciones de data warehousing. Las innovaciones del producto en SQL Server 7.0 mejoran el proceso de data warehousing: Servicios de Transformacin de Datos; manejo mejorado de las consultas complejas y bases de datos muy grandes; procesamiento analtico en lnea e integrado; y el Microsoft Repository. Otro componente esencial es el soporte extenso para integracin de terceros. Las innovaciones permiten que SQL Server 7.0 sea el lder en varias de las categoras de aplicacin de rpido crecimiento en la industria de base de datos. Estas incluyen comercio electrnico, computacin mvil, automatizacin de sucursales, aplicaciones de lnea de negocios insertadas y mercados de datos.

ORACLE
Es manejador de base de datos relacional que hace uso de los recursos del sistema informtico en todas las arquitecturas de hardware, para garantizar su aprovechamiento al mximo en ambientes cargados de informacin. Es el conjunto de datos que proporciona la capacidad de almacenar y acude a estos de forma consecuente con un modelo definido como relacional. Adems es una suite de productos que ofrece una gran variedad de herramientas. Es el mayor y ms usado Sistema Manejador de Base de Dato Relacional (RDBMS) en el mundo. La Corporacin Oracle ofrece este RDBMS como un producto incorporado a la lnea de produccin. Adems incluye cuatro generaciones de desarrollo de aplicacin, herramientas de reportes utilitarios. Oracle corre en computadoras personales (PC), microcomputadoras, mainframes y computadoras con procesamiento paralelo masivo. Soporta unos 17idiomas, corre automticamente en ms de 80 arquitectura de hardware y software distinto sin tener la necesidad de cambiar una sola lnea de cdigo. Esto es porque ms el 80% de los cdigos internos de Oracle son iguales a los establecidos en todas las plataformas de sistemas Operativos.

HISTORIA DE ORACLE
El manejador de Base de datos ORACLE, surgi a final de losamos 70 y principio de los aos 80. George Koch y su equipo de tropas de asalto de tcnicos fue el primero en desembarcar en el terreno de Oracle en1982, durante un proceso de evaluacin de sistema de gestin de base de datos para una importante aplicacin comercial que George estaba diseando construyendo. Cuando termino, la evaluacin fue descrita en Computer World como el estudio ms severo de SGBD que se haba hecho nunca. El estudio fue tan riguroso con los vendedores cuyos productos haba estudiado George, que la prensa hizo eco de sus palabras en lugares tan distantes como Nueva Zelandia y en publicaciones muy alejadas del campo como el Christian Sciencia Monitor. Oracle conocida entonces como Relational Software, tena poco ms de 25 empleados en aquel tiempo y solo unos pocos clientesimportantes. Sin embargo, cuando se complet el estudio, Oracle fue declaradavencedora. George afirmo que el SGBD Oracle era tcnicamente el mejor productodel mercado. Estas declaraciones fueron hecha en una poca en la que muy poca gente conoca el significado del trmino "Relacional", y los que lo conocan (o crean conocerlo) no tenan muchas cosas favorables que decir del. La compaa de Oracle Corporation estaba trabajando entonces para perfeccionar su joven producto, para comprender los tipos de caractersticas y funcionalidad que podra hacerlo til y productivo en el mundo de los negocios. El esfuerzo contribuyo a su refinamiento. Algunas de las caractersticas de Oracle, tales como las salidas de SQL*FORMS fueron el resultado de dicho esfuerzo.

EVOLUCIN
El poderoso modelo relacional ha evolucionado desde herramientas y los modelos de datos de redes. La mayor manera aceptada y usada de un modelo de datos es el modelo relacional. El relacional conocido en 1969con la revisin hecha por IBM, Dr. E. F. Codd. Un modelo relacional posee tres grandes aspectos: Estructuras: Definicin de objetos que contengan datos y que son accesibles a los usuarios. Operaciones: Definir acciones que manipulen datos u objetos. Reglas: Leyes para gobernar la informacin, como y quien manipular.

DIFERENTES HERRAMIENTAS DE ORACLE SQLForms: es la herramienta de Oracle que permite, de un modo sencillo y eficiente, disear pantallas para el ingreso, modificaciones, bajas y consultas de registros. El usuario podr, una vez definida la forma, trabajar con ella sin necesidad de generar cdigos, dado que Oracle trae incorporado un conjunto de procedimientos y funciones asociados a las teclas de funciones, como por ejemplo la tecla [F7], que se usa para iniciar una consulta. La herramienta fundamental de SQL es la sentencia SELECT, que permite seleccionar registros desde las tablas de la Base de Datos, devolviendo aquellos que cumplan las condiciones establecidas y pudiendo presentar el resultado en el orden deseado. SQL (Structured Query Languague = Lenguaje de Consulta estructurado). La orden FROM identifica la lista de tablas a consultar. Si alguna de las tablas a consultar no es propiedad del usuario, debe especificarse el nombre del propietario antes que el nombre de la tabla en la formanombre_propietario.nombre_tabla. La orden WHERE decide los registros a seleccionar segn las condiciones establecidas, limitando el nmero de registros que se muestran. La orden ORDER BY indica el orden en que aparece el resultado de la consulta. Patrn de consulta: Una de las herramientas lgicas ms poderosas de SQL es el reconocimiento de un patrn de consulta, instrumento ste que permite la bsqueda por nombre, direccin u otro dato parcialmente recordado. Los patrones de consulta juegan un papel importante en el momento de realizar consultas, ya que es comn que necesitemos encontrar un texto y no recordemos exactamente cmo fue ingresado. Con el uso del operador LIKE podemos comparar patrones y ubicar un texto, independientemente de la posicin en queso encuentre.

Para la definicin del patrn de consulta existen dos tipos de caracteres especiales: % (signo de porcentaje) llamado comodn, representa cualquier cantidad de espacios o caracteres en esa posicin. Significa que se admite cualquier cosa en su lugar: un carcter, cien caracteres o ningn carcter. _ (signo de subrayado) llamado marcador de posicin, representa exactamente una posicin e indica que puede existir cualquier carcter en esa posicin.

Agrupamiento de datos
SQL proporciona una forma eficiente para manejar la informacin con el agrupamiento de datos a travs de la formacin de grupos y las funciones correspondientes, dando la posibilidad de procesar no solo registros individuales como hemos hecho hasta ahora. Tambin podemos agrupar registros por un criterio determinado, como por ejemplo, agrupar por clientes las ventas realizadas. Cada grupo tendr como resultado de la consulta una fila resumen que contiene la informacin del grupo. Para la formacin de grupos adicionamos, a la forma bsica de la sentencia SELECT, la orden GROUP BY ubicada antes de ORDER BY. Las funciones para el procesamiento de grupos son: COUNT(columna) Cantidad de registros en que la columna tiene valores no nulos. COUNT(*) Cantidad de registros que hay en la tabla, incluyendo los valores nulos. MIN(columna) Valor mnimo del grupo. MAX(columna) Valor mximo del grupo. SUM(columna) Suma los valores del grupo. AVG(columna) Calcula valor medio del grupo, sin considerar los valores nulos. La lista de columnas a mostrar en la consulta puede contenerlas funciones de grupo, as como la columna o expresin usada para formar los grupos en la orden GROUP BY. En una misma consulta no se pueden mezclar funciones de grupo con columnas o funciones que trabajan con registros individuales. Las ventas por cliente es un buen ejemplo para mostrar el uso delos grupos. En el siguiente caso se hace un resumen de ventas por cliente, cola cantidad de ventas, valor mnimo, medio y mximo, as como la suma total de ventas. La formacin del grupo ser por el nombre del cliente y la columna cuantificar para cada grupo ser el valor de las ventas.

El orden en las consultas por grupos, cuando no est presntela orden ORDER BY, est dado por la columna que forma los grupos. Si deseamos cambiar ese orden, como es el caso de ordenar por el valor total de ventas, se debe adicionar al final la orden ORDER BY SUM(VALOR).

Su consultas
Otro aspecto de fcil diseo y uso que muestra una vez ms las posibilidades de SQL son las su consultas. Su consulta es aquella consultado cuyo resultado depende otra consulta, llamada principal, y se define como una sentencia SELECT que est incluida en la orden WHERE de la consulta principal. Una su consulta, a su vez, puede contener otra su consulta y as hasta un mximo de 16 niveles. Las particularidades de las su consultas son: 1. Su resultado no se visualiza, sino que se pasa a la consulta principal para su comprobacin. 2. Puede devolver un valor nico o una lista de valores e independencia de esto se debe usar el operador del tipo correspondiente. 3. No puede usar el operador BETWEEN, ni contener la ordenORDER BY. 4. Puede contener una sola columna, que es lo ms comn, ovaras columnas. Este ltimo caso se llama su consulta con columnas mltiples. Cuando dos o ms columnas sern comprobadas al mismo tiempo, deben encerrarse entre parntesis. Grupos con su consulta Para combinar grupos con su consulta debemos incluir en la sentencia SELECT la orden HAVING, que tiene las siguientes caractersticas: 1. Funciona como la orden WHERE, pero sobre los resultados de las funciones de grupo, en oposicin a las columnas o funciones para registros individuales que se seleccionan mediante la orden WHERE. O sea, trabaja como si fuera una orden WHERE, pero sobre grupos de registros. 2. Se ubica despus de la orden GROUP BY. 3. Puede usar una funcin de grupo diferente a la de la orden SELECT .

ndices
El ndice es un instrumento que aumenta la velocidad de respuesta de la consulta, mejorando su rendimiento y optimizando su resultado. El manejo de los ndices en ORACLE se realiza de forma inteligente, donde el programador slo crea los ndices sin tener que especificar, explcitamente, cul es el ndice que va a usar. Es el propio sistema, al analizar la condicin de la consulta, quien decide qu ndice se necesita. Por ejemplo cuando en una consulta se relacionan dos tablas por una columna, si sta tiene definido un ndices activa, como en el caso cuando relacionamos la tabla de clientes y ventas perla columna cdigo para identificar al cliente (WHEREclientes.codigo=ventas.codigo). La identificacin del ndice a usar est relacionada con las columnas que participan en las condiciones de la orden WHERE. Si la columna que forma el ndice est presente en alguna de las condiciones ste reactiva. PL/SQL: es un lenguaje portable, procedural y de transaccin muy potente y de fcil manejo, con las siguientes caractersticas fundamentales: 1. Incluye todos los comandos de SQL. 2. Es una extensin de SQL, ya que este es un lenguaje no completo dado que no incluye las herramientas clsicas de programacin. Por eso, PL/SQL ampla sus posibilidades al incorporar las siguientes sentencias: - Control condicional - Ciclos 3. Incorpora opciones avanzadas en: - Control y tratamiento de errores llamado excepciones. - Manejo de cursores. Estructura del bloque de cdigo: La organizacin del bloque de cdigo de PL/SQL, compuesto por cuatro secciones DECLARE, BEGIN,EXCEPTION y END. Asignacin de valores: Las dos formas que existen para asignar valores a variables de memoria, vistas en el ejemplo anterior, son:

Con el operador de asignacin: =, como cuando calculamos el promedio de las ventas asignndole valor a la variable xprom .

Manejo de cursores
El conjunto de filas resultantes de una consulta con la sentencia SELECT, como vimos anteriormente, puede estar compuesto por ninguna, una o varias filas, dependiendo de la condicin que define la consulta. Para poder procesar individualmente cada fila de la consulta debemos definir incursor (que es un rea de trabajo de memoria) que contiene los datos de las filas de la tabla consultada por la sentencia SELECT. Los pasos para el manejo de cursores, tema novedoso en la programacin de Oracle con PL/SQL, son:

- Definir el cursor, especificando la lista de parmetros con sus correspondientes tipos de datos y estableciendo la consulta a realizar con la sentencia SELECT.

Abrir el cursor para inicializarlo, siendo ste el momento en que se realiza la consulta. - Leer una fila del cursor, pasando sus datos a las variables locales definidas a tal efecto. - Repetir el proceso fila a fila hasta llegar a la ltima. - Cerrar el cursor una vez que se termin de procesar su ltima fila.

Disparadores
El mdulo SQL*Forms tiene incorporado una coleccin de procedimientos y funciones llamados "empaquetados" que se pueden incluir en el cdigo de procedimientos o disparadores definidos por el usuario. El disparador es un bloque de cdigo que se activa cuando repulsa una determinada tecla u ocurre cierto evento, como puede ser: - Mover el cursor hacia o desde un campo, registro, bloque o forma. - Realizar una consulta. - Validar un dato. - Hacer una transaccin al insertar, modificar o eliminar registros de la base de datos. Oracle asocia a cada tecla de funcin un procedimiento empaquetado, pudiendo el usuario redefinir esta asignacin o capturar el disparador para ampliarlo o modificarlo con su propio cdigo. A partir de la versin 7 de Oracle el usuario puede almacenar, en forma independiente, sus funciones y procedimientos sin tener que escribirlos repetidamente para cada forma, y pudiendo compilarlos independientemente de las formas que lo usen. Pero, adems, las funciones y procedimientos se pueden agrupar en un paquete para compartir definiciones, variables globales, constantes, cursores y excepciones, as como garantizar y revocar los permisos a nivel de paquete. En el caso que sea necesario modificar el contenido del paquete, como el mismo se encuentra almacenado separadamente, no es necesario recompilar nada que use ese paquete, lo que facilita la gestin y mantenimiento de todos los procedimientos almacenados como una sola entidad para una determinada aplicacin.

Adems, en la versin 7, existe un nuevo tipo de disparador llamado de base de datos, que es un procedimiento asociado a una tabla que reactiva cuando se produce un suceso que afecta a esa tabla. Su uso ms comn consiste en la definicin de restricciones complejas de integridad. SQLReport de Oracle realiza de forma flexible, sencilla y eficiente la creacin de reportes, informes o listados permitiendo, entre otras facilidades, la visualizacin previa por pantalla con una gran variedad en estilos de presentacin. Definiciones bsicas: Para adentrarnos en el tema primero veremos las definiciones bsicas, fundamento del diseo del reporte en Oracle: Consulta: Define las columnas y filas de una o varias tablas que sern emitidas en el reporte, as como su orden de presentacin. Una consulta puede estar subordinada a otra consulta principal, relacionadas porua o varias columnas. Grupo: El grupo es una seccin del reporte que representa al conjunto de columnas de la consulta, como una unidad, para determinar su ubicacin en el reporte y su forma de presentacin. Para cada grupo se definen los siguientes atributos: - Ubicacin. - Forma de presentacin. - Texto de cabecera y final. - Ttulo de las columnas. - Ubicacin de las columnas dentro del grupo. En el momento de la definicin de una consulta se crea, de forma automtica, un grupo que contiene todos las columnas presentes en lulista de la sentencia SELECT. El nombre de este grupo se define como el nombre de la consulta, precedido por los caracteres G_. Una consulta puede tener asociado ms de un grupo, con el fin de separar las columnas de la consulta, por ejemplo para crear diferentes niveles en el reporte, como el clculo de subtotales. Campos: Cada columna de la consulta pasa a ser un campo del reporte. Adems, podemos incluir como campos del reporte las siguientes variables: - Del sistema como &DATE y &PAGE - Del usuario, cuyo contenido es un comando SQL para realizar clculos.

Parmetro: Variables definidas por el usuario para transferir datos a la consulta en el momento de la ejecucin del reporte. Se hace referencia al parmetro en la consulta con su nombre precedido por dos puntos como: nombre parmetro. Sumario: Define variables de tipo sumario para la realizacin de clculos con el uso de las funciones Sum, Min, Max, Count y Avg. Texto: Define la ubicacin y forma de presentacin delos campos dentro del grupo, as como los textos de inicio y final para cada grupo y para el reporte. Para ubicar un campo o un parmetro en la seccin de textos se hace referencia con su nombre, precedido con el carcter & de la forma:&nombre. SQL Men: es el producto de ORACLE destinado a producir rboles de mens que permiten al usuario desplazarse fcilmente a travs de su aplicacin, facilitando a su vez, la integracin con los diferentes mdulos de ORACLE. La integracin de mdulos, herramienta que permite desde un producto de Oracle invocar otros, tambin est presente en SQLForms, desde donde, como veremos en este artculo, se pueden realizar tareas del sistema operativo con llamadas a los mdulos SQLReport y SQLPlus. Definiciones: Comenzaremos explicando las diferentes partes que componen el diseo de un men en SQL Men. Ellos son: Aplicacin Conjunto de uno o ms mens interconectados para realizar las tareas necesarias del sistema y para el cual se definen su nombre, nombre del archivo ejecutable, fecha de creacin, nombre del usuario, nmero de la versin, fecha de la ltima modificacin, directorio de ubicacin y su identificacin. Men Lista de opciones o tems que realizan las tareas especficas del sistema. Cuando se crea la aplicacin el primer men que se debe definir es el principal, cuyo nombre tiene que ser el mismo que el de la aplicacin. Este ser el men que se activar en forma automtica al cargar la aplicacin. Items Define las opciones del men y su correspondiente accin. Un tem puede llamar a otro men, ejecutar un comando o un mdulo de Oracle, as como cualquier otro programa. Para cada tem se define su posicin en el men, tipo de comando, permisos de los usuarios, texto de identificacin y la lnea del comando a realizar. Parmetros Variable que se carga en el momento de ejecucin del men y para la cual se definen un nombre de dos letras, cantidad mxima de caracteres, texto en pantalla en el momento de su ingreso, si es o no obligatorio, con o sin conversin a maysculas y su valor por defecto.

Integracin desde SQLForms: La integracin de mdulos, como los casos que acabamos de estudiar, tambin est presente en SQLForms, desde donde podemos activar los mdulos SQLReport y SQLPlus a travs del sistema operativo. En SQLReport: - Parmetros y sus valores por defecto. Esta es la va que tenemos para pasar los datos necesarios, desde SQLForms, en el momento de la ejecucin del reporte. En SQLForms: - Campos de la forma donde se van a ingresar los valores a pasar como parmetros al reporte. Procedimiento que invoca a SQLReport con sus correspondientes parmetros. Para esto se usa la orden HOST, procedimiento del sistema que tiene como funcin enviar un comando al sistema operativo, en este caso RUNREP, garantizando el paso de variables a travs de los parmetros y el retorno automtico a SQLForms.

MEJORAS DE SQL SERVER EN ORACLE


Oracle posee igual interaccin en todas la plataformas (Windows, Unix, Macintosh y Mainframes). Estos porque ms del 80% de los cdigos internos de Oracle son iguales a los establecidos en todas las plataformas de Sistemas Operativos. Oracle soporta bases de datos de todos los tamaos, desde severas cantidades de bytes y gigabytes en tamao. Oracle provee salvar con seguridad de error lo visto en el monitor y la informacin de acceso y uso. Oracle soporta un verdadero ambiente cliente servidor. Este establece un proceso entre bases de datos del servidor y el cliente para la aplicacin de programas. Lenguajes de cuarta generacin 4GL: Estos lenguajes se distinguen por formar parte de un entorno de desarrollo, que comprende el manejador de una base de datos, y todo lo que de esto se deriva, como la administracin de un diccionario de datos, el control de accesos, el manejo dela consistencia de la informacin y otras caractersticas enfocadas a facilitar los programas de acceso y explotacin de la informacin. Como ejemplos podemos citar a los 4 grandes: PROGRESS, SYSBASE, INFORMIX, y ORACLE.

INFORMIX
Historia de Informix 2 de junio de 1986 Es mi primer da en Spin Ltd y tengo como tarea conocer los nuevos productos Informix, ISQL 2.00 e I4GL 1.00, tan detalladamente que me permita preparar un curso sobre ellos y ministrar la primer clase a consumidores pagadores en el plazo de seis semanas. Experiencia anterior con RDBMS - ninguna. Spin es una pequea compaa con grandes ambiciones; hacemos la distribucin de software para productividad en la oficina en sistemas Unix. Somos el distribuidor en Europa de otra pequea compaa, Relational Database Systems Inc, que produce este excelente banco de datos Informix 3.30 y que est introduciendo ahora las herramientas Informix-SQL e Informix-4GL que utilizan el lenguaje SQL originalmente desarrollado por IBM para el System R. Mi compaero y yo trabajamos con gran dedicacin en esto y de repente, la semana de los primeros cursos se presenta; 2 das para ISQL, 3 para I4GL. Con el tema precariamente dominado, me voy a la oficina el lunes por la maana temprano para terminar la instalacin, en una mquina Zilog Z8000, solo para descubrir que est faltando energa elctrica, y que va a faltar hasta pasadas las 10 de la maana. A eso de las 11, hemos determinado que (a) tener el ISQL 1.10 en la mquina y las anotaciones del curso de ISQL 2.00 era una combinacin inadecuada ya que los sistemas de men han sido rediseados por completo, (b) la mquina Zilog Z8000 no es muy fiable, aun cuando hay electricidad, y (c) aun cuando est 'funcionando', no es suficientemente rpida ni suficientemente grande para atender 8 alumnos. Nos arrastramos a lo largo de la semana. Fue una experiencia dolorosa, tanto para m como para los alumnos, no solo por haber demasiada cantidad de material en cada curso -- pero porque ellos van a necesitar extenderse cada uno por otros 5 das. Pocos meses despus, tenamos todo el contenido del curso cerrado, ya no tenemos el Z8000, y el RDS es cosa del pasado; nuestro proveedor ahora se llama Informix Software. Ms tarde, nuestro jefe inici conversaciones con Addison-Wesley sobre la posibilidad de convertir en libro nuestras anotaciones del curso. As naci, "Usando Informix-SQL", que se hizo una extensin importante del material del curso y vende bien, estando en su segunda edicin. Informix abre sus propias oficinas en el Reino Unido y en Europa, y se encarga de su propia distribucin. Informix tambin introduce el nuevo servidor de banco de datos, InformixTurbo, que se puede adquirir separadamente del ISQL e del I4GL. Con la introduccin de la versin 4.00, el banco de datos original se re-identifica como Informix-SE (Standard Engine) y el Turbo recibe el nuevo nombre de InformixOnLine. ISQL e I4GL ahora se compran en separado de cualquiera de los bancos de datos. La combinacin es brillante, y sedimenta el ya amplio y creciente mercado de bancos de datos de Informix . I4GL an es un lenguaje de gran potencia para las personas que utilizan bancos de datos Informix.

Informix: Dynamic
IBM Informix Dynamic Server (IDS) 9.30 proporciona fiabilidad superior, atendiendo las necesidades de las exigentes prcticas actuales del e-bussinesparticularmente para aplicativos que requieran transacciones de alto desempeo. Soporta requisitos de procesamiento de transaccin online, complejos y rigurosos. Optimiza capacidades de inteligencia del negocio competitivas. Maximiza operaciones de datos para el grupo de trabajo para la empresa en total. Proporciona la firmeza de una administracin dbase de datos comprobada, mejor de su especie. Informix Dynamic Server con J/Foundation combina las caractersticas de IDS con un ambiente abierto, flexible, empotrado de Java Virtual Machine.IDS con J/Foundation permite que los desarrolladores de base de datos escriban lgica de negocio del lado servidor usando el lenguaje Java. Java User DefinedRoutines (UDRs) tienen completo acceso a las caractersticas de la base dedatos extensible lder mundial, de la base de datos IDS. Haciendo del IDS la plataforma ideal para el desarrollo de base de datos Java. Adems de Java UDRs, el IDS est en conformidad con el estndar SQLJ para procedimientos almacenados en Java, permitiendo el uso de los paquetes Java estndar que se encuentran incluidos en el Java Development Kit (JDK). Escribir UDRs en Java proporciona aplicativos mucho ms flexibles que se pueden desarrollar ms rpidamente que C, y ms potentes y administrables que los lenguajes de procedimientos almacenados. Una extensin adicional de escribir UDRs en Java es escribir mdulos DataBlade en Java. Los mdulos DataBlade son colecciones de nuevas funciones del lado-servidor y tipos de datos puestos en conjunto para extenderle IBM Informix Dynamic Server con el servidor de datos J/Foundation. El DataBlade Developer's Kit (DBDK) ahora soporta Java y permite el desarrollo, diseminacin y depuracin de UDRs en Java. La tecnologa IBM InformixDataBlade es lder en la industria en extender el servidor para permitir tanto la administracin de contenido rich, cuanto la lgica de negocio. J/Foundation est provisto con IDS en muchas de las plataformas IDS 9.30 soportadas. Las plataformas soportadas incluyen Sun Solaris 32 bit, Microsoft Windows NT/2000,Linux, IBM AIX, SGI Irix, y Compaq Tru 64.

INFORMIX: ALGUNAS DIFERENCIAS CON ORACLE


Oracle siempre ha sido considerada una base de datos para uso ms general que Informix. Informix por su lado, se especializ ms en aplicaciones tipo GIS (datos geogrficos), Dataware house y Datamining. Sin duda a los gurs, desagrada ms Informix que Oracle. En cuanto a precios, Informix tiene tendencia a ser ms caro que Oracle en configuraciones parecidas. En la prctica, como buenos enemigos acrrimos, ambas tienen parecidas caractersticas y funcionalidades. Cada una tiene las tpicas ampliaciones que permiten especializar la base de datos a un cierto tipo de aplicacin (en

Informix se llaman DataBlades, ver imagen 3). Para competir, en cada nueva versin que sacaban, las dos iban aadiendo de serie muchas de las extensiones que ella versin anterior eran opcionales (de pago por separado). En el momento describir este artculo las dos estn en la versin 9.X. De cara a una instalacin y configuracin bsicas, las diferencias frente Oracle que el lector va a notar son dos:

En Oracle, tienes que definir los usuarios dentro la base de datos (gestin interna de usuarios). En cambio, Informix utiliza los mismos usuarios de Linux (los que creas con aduce), simplificando la administracin. Para conectar externamente va TCP/IP a Oracle, haca falta colgar un daemon llamado listener de un puerto. Luego el listener traduca las llamadas al SQLNet para hablar con la base de datos. Luego haba dos procesos: el daemon de la base de datos (oracle), y el daemon que escuchaba el puerto (listener). En Informix, el mismo daemon de la base de datos (ONINIT) atiende los puertos. De esta manera Informix ocupa menos memoria y recursos.

Con estas diferencias ya podemos ver, que Informix es una base de datos ms moderna e integrada con Linux que Oracle. Pero los precios son los precios, y el marketing es el marketing. Objetivos que se han cubierto: La sintaxis del lenguaje es casi idntica a la de Informix-4GL. Se han implementado los tipos de datos bsicos, los de fecha y hora, intervalos y 'datetime'. Las sentencias de asignacin, presentacin en pantalla, estructuras repetitivas (bucles while y for) y condicionales (if..Else..), generacin de mens y listados se han implementado completamente. El manejo de los formularios de entrada de datos se ha implementado siguindola sintaxis original de Informix-4GL, sin embargo se ha modificado la sintaxis de la definicin de los formularios para dar cabida a nuevos tipos de objetos, como botones o casillas de verificacin. Se ha introducido una nueva sentencia (browse), que permite visualizar todas las tupas devueltas por una consulta y 'navegar' por ellas mediante movimientos del cursor. La sintaxis de algunas sentencias se ha ampliado, permitiendo nuevas funcionalidades no encontradas en Informix-4GL, como asignaciones mltiples. Estas modificaciones estn explicadas con detalle en el manual de usuario.

Posibilidades de ampliacin Se ha generado nicamente una interfaz en modo texto. Sin embargo, la implementacin de las funciones de manejo de formularios de entrada se ha realizado de manera independiente de la implantacin a bajo nivel (curses).Gracias a esto es posible desarrollar libreras de funciones que gestionen los formularios de entrada de manera grfica, generando interfaces en X-Window. La generacin de cdigo est actualmente muy enfocada a la interfaz de PostgreSQL. Una posible ampliacin sera la generalizacin de este cdigo, para permitir el desarrollo de aplicaciones que accedan a datos almacenados en otro tipo de servidores, o incluso usando ODBC (el API de acceso a bases dedatos definido por Microsoft y que se ha convertido en estndar).

CONCLUSIN
Con la idea de facilitarnos las tareas que debemos de desempear los humanos, hemos venido inventado diversas herramientas a lo largo de nuestra historia, que nos permiten tener una mejor calidad de vida. Los ordenadores son uno ms de los inventos del hombre, aunque debemos decir que las tecnologas para su fabricacin y explotacin han tenido un desarrollo sorprendente a partir de la segunda mitad del siglo XX. Esta herramienta por s sola no escapas de efectuar ninguna tarea, es tan slo un conjunto de cables y circuitos que necesitan recibir instruccin por parte de los humanos para desempear alguna tarea. El problema entonces, se puede fijar en cmo vamos a poder hacer que un conjunto de circuitos desempeen una determinada tarea y nos entreguen los resultados que nosotros esperamos?, es decir, de qu manera se puede lograr la comunicacin entre el hombre y el ordenador?. As pues, tratando de dar una solucin al problema planteado, surgieron los lenguajes de programacin, que son como un lenguaje cualquiera, pero simplificado y con ciertas normas, para poder trasmitir nuestros deseos al ordenador. El Sistema de Gestin de Bases de Datos (SGBD) Consiste en un conjunto de programas, procedimientos y lenguajes que nos proporcionan las herramientas necesarias para trabajar con una base de datos. Incorporar una serie de funciones que nos permita definir los registros, sus campos, sus relaciones, insertar, suprimir, modificar y consultar los datos. Microsoft SQL Server 7.0 constituye un lanzamiento determinante para los productos de bases de datos de Microsoft, continuando con la base slida establecida por SQL Server 6.5. Como la mejor base de datos para Windows NT, SQLServer es el RDBMS de eleccin para una amplia gama de clientes corporativos y Proveedores Independientes de Software (ISVs) que construyen aplicaciones de negocios. Las necesidades y requerimientos de los clientes han llevado a la creacin de innovaciones de producto significativas para facilitar la utilizacin, escalabilidad, confiabilidad y almacenamiento de datos.

ORACLE Es manejador de base de datos relacional que hace uso de los recursos del sistema informtico en todas las arquitecturas de hardware, para garantizar su aprovechamiento al mximo en ambientes cargados de informacin. Informix-4GL ofrece herramientas para crear mens, formularios de entrada dedatos y generadores de listados. Ser necesario definir estas mismas herramientas manteniendo, a ser posible, la sintaxis original. En principio degenerarn aplicaciones que funcionen en modo texto, dejando para una futura ampliacin la generacin de aplicaciones en entornos grficos.

BIBLIOGRAFA www.monografas.com www.abcdatos.com www.espanol.yahoo.com www.ibm.com

Potrebbero piacerti anche