Ilustrados comunidad mundial educativa
Inicio | Escribenos
User: Pass: Recordar ó (Registrate!)

| !Publicar Articulo¡

Manejadores de Bases de Datos - SQL, ORACLE, INFORMIX

Resumen: Consejos para escribir mandatos en SQL. Breve Historia de SQL. Una base de datos como ejemplo. SQL Server. La mejor base de datos para Internet, Internet y Extranet. Arquitectura RDBMS ORACLE. Historia de INFORMIX.
39,771 visitas
Rating: 0
Tell a Friend
Autor: Sanguinetti Corabel

       

    1. Introducción
    1. Consejos Para Escribir Mandatos En SQL
    2. Breve Historia de SQL
    3. Una base de datos como ejemplo
    4. SQL Server
    5. La mejor base de datos para Internet, Internet y Extranet.
    6. Arquitectura RDBMS
    7. ORACLE
    8. Historia de INFORMIX
    9. Bibliografía

INTRODUCCION

En vista del auge que toma cada vez la tecnología, espreciso saber hacer de todo lo relacionado son software, pero no podemos olvidarque también existe la parte de cómo manejar datos e información.

Para ello existe afortunadamente formas o maneras de comopoder guarda información necesaria y de vital importancia para nuestrasempresas o compañías.

Es por tal motivo, es preciso conocer hacer muy de fondo lasdiferentes plataformas o manejadores de bases de datos para poder optar por la másadecuada para ser implanta, si es necesario, en nuestras compañías o empresas,como lo son SQL, ORACLE y 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 elterreno del marketing. Oracle capturó la mayor parte del mercado y Informix nose recuperó de las perdidas económicas. DB2 y SQL Server tenían grandes compañíasdetrás con otros negocios que les permitió aguantar la política agresiva deOracle. Recientemente IBM adquirió Informix con lo que el mercado de las basesde datos comerciales en UNIX (Linux) quedó entre IBM y Oracle.

Puedes encontrar una infinidad de información sobre Oracle sobre Linux enInternet, pero muy poca sobre Informix. La poca información es debido a la pocacomunidad Internet que tiene Informix, al menos comparada con la de Oracle. Y esque, hoy en día, las documentaciones oficiales, de tan sencillas que quierenser, cada vez son más confusas e incompletas. Sin duda, el mejor soporte técnicoque hay para un producto es su comunidad de usuarios en Internet. Informix pordesgracia no ha sabido crearla. Una búsqueda de "oracle linux" enGoogle devuelve unas 972.000 páginas, mientras que "informix linux"143.000.

SQL (Standar Query Lenguaje) es un lenguaje estandarizadode base de datos, el cual nos permite realizar tablas y obtener datos de ella demanera muy sencilla. Para exponer mas claramente los conceptos se realizaranejemplo sobre relaciones que se crearan aquí para entender mejor como funcionaSQL.

También se puede decir, SQL es un lenguaje bastantesencillo, principalmente orientado a bases de datos y, sobre todo, al manejo deconsultas. Visual Basic incorpora esta extensión junto a nuestras bases dedatos, obteniendo potentes resultados. De hecho, las consultas que se realizanen Access, están desarrolladas o basadas en este lenguaje, por lo que suimplementación en Visual Basic no es complicada.

El objetivo principal de SQL es la realización deconsultas y cálculos con los datos de una o varias tablas.

Consejos Para Escribir Mandatos En SQL

He aquí una serie de consejos (a veces normas), que hay quetener en cuenta a la hora de escribir mandatos SQL en nuestras aplicaciones enVisual Basic:

1. Un mandato en SQL se expresa en una cadena de caracteres oString.

2. Dicho mandato se puede escribir en la propiedadRecordSource de un control Data (más adelante, podremos prescindir del controlData para realizar nuestras consultas), con el fin de crear una consulta en lainterfaz.

3. Los nombres de los campos especificados (y de las tablas),que contengan más de una palabra, han de encerrarse entre corchetes ([nombre]).Como norma general, se suelen escribir siempre entre corchetes.

4. Para especificar un determinado campo de una determinada tabla, se ha deescribir primero el nombre de la tabla, un punto y, a continuación, el nombredel campo
(nombre_tabla.nombre_campo).

5. Al especificar una expresión de búsqueda, si ésta se refiere a unaexpresión de caracteres, éstos han de encerrarse entre comillas simples('expresión_a_buscar').

6. Para especificar una fecha en una búsqueda, ésta debe encerrarse entresignos numeral
(#fecha#) en Access, Dbase X, etc., y entre comillas simples ('fecha') parabases Sql Server, Informix, etc.

7. Si se utiliza la propiedad RecordSource del control Data, para crearnuestras consultas en SQL, tras introducir el mandato SQL (siempre como unaexpresión de cadena) es necesario refrescar el control Data(control_data.Refresh).

Mandato Sql Estándar

El lenguaje SQL está compuesto por una serie de sentencias y de cláusulasmuy reducidas en número, pero muy potentes en efectividad. De entre todas laspalabras, existen cuatro que son las más utilizadas, estando compuestas por unasentencia y por tres cláusulas:
SELECT lista_campos FROM lista_tablas [WHERE criterios [ORDER BY lista_campos]]

Breve Historia de SQL

La historia de SQL (que se pronuncia deletreando en ingléslas letras que lo componen, es decir "ese-cu-ele" y no"siquel" como se oye a menudo) empieza en 1974 con la definición, porparte de Donald Chamberlin y de otras personas que trabajaban en loslaboratorios de investigación de IBM, de un lenguaje para la especificación delas características de las bases de datos que adoptaban el modelo relacional.Este lenguaje se llamaba SEQUEL (Structured English Query Language) y seimplementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Lasexperimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisióndel lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre pormotivos legales, convirtiéndose en SQL. El prototipo (System R), basado en estelenguaje, se adoptó y utilizó internamente en IBM y lo adoptaron algunos desus clientes elegidos. Gracias al éxito de este sistema, que no estaba todavíacomercializado, también otras compañías empezaron a desarrollar sus productosrelacionales basados en SQL. A partir de 1981, IBM comenzó a entregar susproductos relacionales y en 1983 empezó a vender DB2. En el curso de los añosochenta, numerosas compañías (por ejemplo Oracle y Sybase, sólo por citaralgunos) comercializaron productos basados en SQL, que se convierte en el estándarindustrial 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 estándar para los lenguajes relacionales y en 1987 se transfomó en estándarISO. Esta versión del estándar va con el nombre de SQL/86. En los añossiguientes, éste ha sufrido diversas revisiones que han conducido primero a laversión SQL/89 y, posteriormente, a la actual SQL/92.
El hecho de tener un estándar definido por un lenguaje para bases de datosrelacionales abre potencialmente el camino a la intercomunicabilidad entre todoslos productos que se basan en él. Desde el punto de vista práctico, pordesgracia las cosas fueron de otro modo. Efectivamente, en general cadaproductor adopta e implementa en la propia base de datos sólo el corazón dellenguaje SQL (el así llamado Entry level o al máximo el Intermediate level),extendiéndolo de manera individual según la propia visión que cada cual tengadel mundo de las bases de datos.
Actualmente, está en marcha un proceso de revisión del lenguaje por parte delos comités ANSI e ISO, que debería terminar en la definición de lo que eneste momento se conoce como SQL3. Las características principales de esta nuevaencarnación de SQL deberían ser su transformación en un lenguaje stand-alone(mientras ahora se usa como lenguaje hospedado en otros lenguajes) y laintroducción de nuevos tipos de datos más complejos que permitan, por ejemplo,el tratamiento de datos multimediales.

Una base de datos como ejemplo

Presentaremos ahora la estructura de la base de datos que seutilizará para los ejemplos de las siguientes lecciones. No se describirán lasfases de análisis ni los modelos conceptuales y lógicoa que han sidonecesarios para alcanzar tal estructura, desde el momento en que esto se apartaríade los objetivos de este curso. La estructura de la base de datos estárepresentada en el diagrama relacional de la Figura 3. Cada rectángulorepresenta una relación. El nombre de la relación está en la sección másoscura de la parte alta del rectángulo. El resto del rectángulo estásubdividido en tres columnas, en las cuales están definidas las característicasde los atributos que componen la relación. La columna central contiene losnombres de los atributos; la de la derecha, su tipo (han sido utilizados lostipos del SQL/92), y la de la izquierda sus propiedades, Las propiedades de losatributos se indican con las siglas "PK" y "FK", quesignifican respectivamente que los correspondientes atributos forman parte de lallave primaria de la relación (Primary Key) o de una llave externa (ForeignKey). Las flechas hacen converger las llaves externas con las primarias a lasque se refieren. Los nombres de los atributos en negrita indican que éstos nopueden tomar el valor NULL, o sea que no pueden ser indeterminados.

Figura 1. Ver en anexos cuadro de ejemplo de la base de dato.

La finalidad de la base de datos consiste en contener lasinformaciones bibliográficas de un conjunto de publicaciones, a fin de poderlasconsultar fácilmente y utilizarlas para la construcción de otras bibliografías.Ésta se ha modelado en la falsa línea del sistema bibliográfico del sistemaLaTeX, para contar con un ambiente consolidado al que referirse y facilitar larealización de programas de conversión entre un sistema y otro. El significadode las relaciones que componen la base de datos es el siguiente:

Publication: Una publicación genérica. Normalmente,esta relación se usa sólo para asignarles un identificativo unívoco a todaslas publicaciones presentes en la base de datos, dejando la especificación delas demás características en relaciones específicas para cada tipo depublicación. Además, se usa para implementar uniones complejas entre laspublicaciones y otras relaciones. Por ejemplo, la que existe entre una publicacióny su autor. Gracias a la estructura adoptada, se puede contar con publicacionesescritas de muchos autores y con autores que escriben diferentes tipos depublicaciones.

Author: Representa al autor de una publicación. La llaveprimaria está compuesta por el identificativo de la publicación y por el de lapersona, lo que grantiza la unidad de la asociación entre las dos entidades.

Editor: Representa al coordinador de una publicación. La estructura esidéntica a la de la tabla Author.
Person: Representa a una persona (por ejemplo, un autor) en la base dedatos. Actualmente, las informaciones consideradas interesantes son sólo elapellido y el nombre.

Publisher: La casa editorial de una publicación.

Institution: La institución (por ejemplo una universidado una software house) responsable de una publicación.

Book: Un libro con una casa editorial precisa.

InBook: Una parte de un libro. La parte puedecaracterizarse por un título, por el número del capítulo o por el de la página.Las informaciones a propósito del libro y, por tanto, comunes a sus diferentespartes, se memorizan en la relación Book.

Proceedings: Las actas de un congreso o de unaconferencia.

InProceedings: Una parte de las actas de un congreso. Lasinformaciones referidas a la publicación que contiene esa parte están en larelación Proceedings.

Article: Un artículo publicado en un periódico o en unarevista.

Manual: Una publicación de documentación técnica.

Techreport: Un informe técnico publicado por una escuelau otra institución.

Thesis: Una tesina o una tesis.

Misc: Una publicación que no puede englobarse en ninguna de las categoríasanteriores.
No voy a explicar el significado de los atributos que componen las diferentesrelaciones, puesto que sus nombres se explican por sí mismos. Sólo una anotaciónsobre el atributo "pub_month": se ha definido como de tipo CHAR(3), esdecir una cadena con una longitud fija de tres caracteres que incluirá lasabreviaturas de los nombres de los meses (las primeras tres letras de losnombres ingleses).

Los lazos entre las relaciones deberían ser bastante fácilesde entender. Como ejemplo para todos, usaremos el que conecta la relación Bookcon la relación Publisher. Este lazo sirve para describir la la editorial de unlibro. En la relación Book no están presentes todos los datos de la editorial,sino sólo un identificativo numérico para ella. El número será la llaveprimaria de la relación Publisher y como tal permitirá identificar unaeditorial precisa. En la relación Book el atributo publisher es una llaveexterna hacia la relación Publisher.

Una situación más compleja es la que afecta a lasrelaciones Publication, Author y Person; efectivamente, en Author estánpresentes dos llaves externas: una que identifica la publicación a la que lainstancia de relación se refiere, y otra que permite remontarse a los datos dela persona que desempeña el papel de autor. Se podría preguntar cuál es lautilidad de la relación Publication y por qué no se ha establecidodirectamente un nexo entre la relación Author y las relaciones que representanlos tipos de publicación concretos. La respuesta es que el modelo relacional nopermite hacerlo. En efecto, desde el momento en que un autor puede escribirdiferentes tipos de publicación, el atributo pubblicationID debería ser unallave externa hacia todas las relaciones de las publicaciones, pero esto no estápermitido desde el momento en que contradice la definición misma de llaveexterna.

En las siguientes lecciones se implementará la base de datosde ejemplo usando el lenguaje SQL estándar. El DBMS específico 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 lanzamientodeterminante para los productos de bases de datos de Microsoft, continuando conla base sólida establecida por SQL Server 6.5. Como la mejor base de datos paraWindows NT, SQL Server es el RDBMS de elección para una amplia gama de clientescorporativos y Proveedores Independientes de Software (ISVs) que construyenaplicaciones de negocios. Las necesidades y requerimientos de los clientes hanllevado a la creación de innovaciones de producto significativas para facilitarla utilización, escalabilidad, confiabilidad y almacenamiento de datos.

.Objetivos del Diseño de SQLServer

Los clientes están buscando soluciones para sus problemas denegocios. La mayoría de las "soluciones" de bases de datos solamentetraen múltiples niveles de costos y complejidad. La estrategia de Microsoft esla de hacer que SQL Server sea la base de datos más fácil de utilizar paraconstruir, administrar e implementar aplicaciones de negocios. Esto significatener que poner a disposición un modelo de programación rápido y sencillopara desarrolladores, eliminando la administración de base de datos paraoperaciones estándar, y suministrando herramientas sofisticadas paraoperaciones más complejas.

SQL Server 7.0 disminuye el costo total de propiedad a travésde características como administración multi-servidor y con una sola consola;ejecución y alerta de trabajos basadas en eventos; seguridad integrada; yscripting administrativo. Esta versión también libera al administrador de basede datos para aspectos más sofisticados del trabajo al automatizar las tareasde rutina. Al combinar estos poderosos servicios de administración con lasnuevas características de configuración automática, Microsoft SQL Server 7.0es la elección ideal de automatización de sucursales y aplicaciones de base dedatos insertadas.

Los clientes invierten en sistemas de administración debases de datos, en forma de aplicaciones escritas para esa base de datos y laeducación que implica para la implementación y administración. Esa inversióndebe protegerse: a medida que el negocio crece, la base de datos deberá crecery manejar más datos, transacciones y usuarios. Los clientes también deseanproteger las inversiones a medida que escalan aplicaciones de base de datoshacia equipos portátiles y sucursales.

Para cumplir con estas necesidades, Microsoft ofrece un motorde base datos único que escala desde una computadora portátil que ejecutaWindows® 95 o Windows 98, hasta clusters de procesadores múltiples simétricosde terabyte que ejecutan Windows NT Server Enterprise Edition. Todos estossistemas mantienen la seguridad y confiabilidad que exigen los sistemas denegocios de misión crítica.

Nueva para el lanzamiento de 7.0 es una versión de rastro debaja memoria con capacidades de replicación de multi-sitio. Se ajusta muy biena las necesidades cada vez mayores del mercado de la computación móvil. Lasotras características tales como bloqueo a nivel de línea dinámico, elparalelismo intra-query, query distribuido, y mejoras para las bases de datosmuy grandes (VLDB) hacen que el SQL Server 7.0 sea la elección ideal parasistemas OLTP de alta tecnología y sistemas de data warehousing.

Mientras los sistemas de procesamiento siguen siendo uncomponente clave para las infraestructuras de bases de datos corporativas, lascompañías también están invirtiendo bastante en mejorar la comprensión quetienen de sus datos. La estrategia de Microsoft consiste en reducir el costo yla complejidad del data warehousing mientras hace que la tecnología sea másaccesible a una mayor cantidad de público.

Microsoft ha establecido un enfoque total a todo el procesode data warehousing (almacenamiento de datos) . El objetivo es facilitar laconstrucción y diseño de soluciones de data warehousing costo efectivas a travésde una combinación de tecnologías, servicios y alianzas con los proveedores.

La Microsoft Alliance for Data Warehousing es una coaliciónque une a los líderes en la industria de almacenamiento de datos yaplicaciones. El Microsoft Data Warehousing Framework constituye un conjunto deinterfaces de programación diseñadas para simplificar la integración yadministración de soluciones de data warehousing. Las innovaciones del productoen SQL Server 7.0 mejoran el proceso de data warehousing: Servicios deTransformación de Datos; manejo mejorado de las consultas complejas y bases dedatos muy grandes; procesamiento analítico en línea e integrado; y elMicrosoft Repository. Otro componente esencial es el soporte extenso paraintegración de terceros.

Las innovaciones permiten que SQL Server 7.0 sea el líder envarias de las categorías de aplicación de rápido crecimiento en la industriade base de datos. Estas incluyen comercio electrónico, computación móvil,automatización de sucursales, aplicaciones de línea de negocios insertadas ymercados de datos.

Las áreas de liderazgo e innovación en el Microsoft SQLServer 7.0 incluyen:

     

  • La primera base de datos en escalar desde la computadora portátil hasta la empresa utilizando la misma base de código y ofrecer el 100% de compatibilidad de código

     

     

  • La primera base de datos en soportar la auto-configuración y auto-sintonización

     

     

  • Primera base de datos con OLAP integrado

     

     

  • La primera base de datos con Servicios de Transformación de Datos integrado

     

     

  • El Data Warehousing Framework constituye el primer enfoque comprehensivo al problema de metadatos

     

     

  • La primera base de datos en proveer administración de multi-servidor para cientos de servidores

     

     

  • La más amplia gama de opciones de replicación de cualquier base de datos

     

     

  • La mejor integración con Windows NT Server

     

     

  • La mejor integración con Microsoft Transaction Server

     

Lanzamientos SQL Server Recientes

Esta sección provee una historia concisa de los lanzamientosSQL Server recientes. Una historia completa del desarrollo de SQL Server, desdesus comienzos hasta el lanzamiento del 6.5 se encuentra disponible en Dentro delMicrosoft SQL Server 6.5, de Ron Soukup, publicado por Microsoft Press, ISBN1-57231-331-5.

     

  • El Standard Edition de SQL Server fue lanzado en abril de 1996.

     

     

  • El Enterprise Edition fue lanzado en diciembre de 1997. Se incluyeron características adicionales en esta edición tales como soporte para Microsoft Cluster Server, sintonización de 4 GB RAM, English Query y soporte para sistemas de hasta 8 procesadores.

     

     

  • El Service Pack actual para SQL Server 6.5 es SP4, lanzado en diciembre de 1997. SP3 fue lanzado en junio de 1997, SP2 en diciembre de 1996 y SP1 en agosto de 1996.

     

     

  • Beta 1 fue lanzado en junio de 1997 a 200 clientes. Este grupo incluía un número limitado de proveedores independientes de software (ISV), autores de libros, diseñadores de materiales para cursos, OEMs y algunas cuentas corporativas. No se pusieron copias a disposición de la prensa o analistas. Este lanzamiento enfocó las pruebas de funcionalidad de bajo nivel y programación de interfaces.

     

     

  • Beta 2 fue lanzada a finales de diciembre de 1997 a 3000 clientes. El cubrimiento de las cuentas corporativas y de la comunidad ISV fue incrementado ampliamente, y se agregaron cuentas internacionales. Se entregaron copias de Beta 2 a la prensa y a los analistas en el Taller de Examinadores celebrado el 21 y 22 de enero.

     

     

  • La versión Beta de Mercadeo será lanzada el segundo trimestre del año en curso con alta disponibilidad.

     

     

  • El lanzamiento a fabricantes está planeado para la segunda mitad del año 1998. Las ediciones Standard y Enterprise de SQL Server 7.0 serán lanzadas simultáneamente.

     

Microsoft SQL Server revoluciona el concepto de Base de Datospara la Empresa. Reúne en un sólo producto la potencia necesaria paracualquier aplicación empresarial crítica junto con unas herramientas de gestiónque reducen al mínimo el coste de propiedad. Con Microdoft SQL Server, laempresa tiene todo de serie.

Miles de Soluciones Disponibles: Tendrá libertad de elección,ya que todas las aplicaciones de gestión del mercado corren sobre Microsoft SQLServer

     

  • Escalabilidad: Se adapta a las necesidades de la empresa, soportando desde unos pocos usuarios a varios miles. Empresas centralizadas u oficinas distribuidas, replicando cientos de sites.

     

     

  • Potencia: Microsoft SQL Server es la mejor base de datos para Windows NT Server. Posee los mejores registros de los benchmarks independientes (TCP) tanto en transacciones totales como en coste por transacción.

     

     

  • Gestión: Con un completo interfaz gráfico que reduce la complejidad innecesaria de las tareas de administración y gestión de la base de datos.

     

     

  • Orientada al desarrollo: Visual Basic, Visual C , Visual J , Visual Interdev, Microfocus Cobol y muchas otras herramientas son compatibles con Microsoft SQL Server.

     

La mejor base de datos para Internet, Internet y Extranet.

Diseñada desde su inicio para trabajar en entornos Internete Intranet, Microsoft SQL Server es capaz de integrar los nuevos desarrollospara estos entornos específicos con los desarrollos heredados de aplicaciones"tradicionales". Es más, cada aplicación que desarrollemos para serempleada en entornos de red local puede ser utilizada de forma transparente -enparte o en su totalidad- desde entornos Internet, Intranet o Extranet.

     

  • Plataforma de desarrollo fácil y abierta: integrada con las mejores tecnologías de Internet como ActiveX, ADC y Microsoft Transaction Server y con las mejores herramientas de gestión y desarrollo para Internet como FrontPage97, Microsoft Office97 y Visual Interdev.

     

     

  • Diseñada para INTERNET: Es el único gestor de base de datos que contiene de forma integrada la posibilidad de generar contenido HTML de forma automática.

     

     

  • La Base de Soluciones Integradas: La Integración total con BaclOffice permite resolver toda las necesidades de infraestructura de la empresa con un sólo paquete.

     

     

  • Potente y Escalable: Microsoft SQL Server es la única base de datos cuyo rendimiento sobre Internet está publicado, ofreciendo registros espectaculares.

     

     

  • Mínimo coste de Propiedad: La sencillez de la instalación, y la potencia de sus herramientas de gestión y el menor coste de toda la industria para entornos Internet, hacen de Microsoft SQL Server la mejor opción con el menor coste.

     

Arquitectura RDBMS

     

  • Arquitectura de servidor simétrico y paralelo con balanceo automático de carga en múltiples procesadores.

     

     

  • Kernel multithread real para mejor rendimiento transaccional y escalabilidad.

     

     

  • Soporte grandes bases de datos (VLDB) ( 1 TB).

     

     

  • Completo proceso transaccional interactivo con rollback automático y recuperación de roll-forward.

     

     

  • Optimizador de consultas mejorado basado en coste.

     

     

  • Checkpointing mejorado para un mejor throughput de datos y tiempo de respuesta.

     

     

  • Soporte E/S asíncrono para acceso en paralelo a múltiples dispositivos de disco para un mejor throughput.

     

     

  • Bloqueo a nivel fija y página con escalación de bloqueos; resolución automática de deadlocks.

     

Datos distribuidos y replicación

     

  • Llamadas a procedimientos remotos servidor-a-servidor (procedimientos almacenados remotos).

     

     

  • Replicación asíncrona o contínua basada en registros, o sincronización planificada de tablas point-in-time.

     

     

  • Configuración de replicación gráfica y características de gestión.

     

     

  • Replicación de subscriptores ODBC, incluyendo IBM DB2, ORACLE, SYBASE y Microsoft Access.

     

     

  • Ei Distributed Transaction Coordinator gestiona transacciones que involucran a dos o más servidores SQL (proceso Two Phase Commit 2PC) transparente.

     

     

  • Replicación de tipos de datos Texto e Imagen.

     

Data Warehousing y amplio soporte de datos

     

  • Ejecución transaccional en paralelo, carga e indexación de datos , y verificación de integridad.

     

     

  • Backup/restore en paralelo de alta velocidad que soporta hasta 32 discos o dispositivos de cinta.

     

     

  • Las extensiones de consulta OLAP, CUBE, y ROLLUP permiten conjuntos de resultados multidimensionales.

     

     

  • EXEC e INTO ahora permiten almacenar en tablas resultados desde procedimientos almacenados.

     

     

  • Copias de seguridad en cinta y recuperación de tablas individuales.

     

     

  • Reconstrucción de índice sin realizar dropping y recreación del índice.

     

Integración Internet y correo electrónico

     

  • MAPI, permitiendo aplicaciones de flujo de trabajo y notificación de cambio de datos automática.

     

     

  • Compatibilidad con Microsoft Internet Information Server y otros servidores Web populares.

     

     

  • SQL Web Assistant, para el retorno automático de datos en formato HTML.

     

     

  • Procedimientos almacenados para generar páginas HTML o actualizar datos en plantillas Web.

     

     

  • Posibilidad de poblar automáticamente carpetas públicas de Microsoft Exchange con datos.

     

Gestión y administración centralizada de bases de datos

     

  • SQL Enterprise Manager, una consola de gestión y motorización 32-bit visual basada en Windows.

     

     

  • Un único punto de configuración y gestión de control de datos remotas.

     

     

  • SQL Executive, planificador de trabajos y monitor para gestión proactiva de servidores distribuidos.

     

     

  • Operaciones remotas desatendidas mediante un "agente inteligente" que incluye evento-alerta- respuesta.

     

     

  • Scripts Visual Basic a través de SQL-Distributed Management Objects (SQL-DMO) basados en OLE.

     

     

  • DBA Assistant, para el mantenimiento automático rutinario en una única tarea planificada.

     

     

  • SQL Trace, para monitorizar consultas cliente-servidor mediante SQL almacenadas en archivos de registros.

     

     

  • Soporte de MIB y traps SNMP para monitorizar SQL Server desde herramientas de gestión basadas en SNMP.

     

Disponibilidad, fiabilidad y tolerancia a fallos

     

  • Mirroring de dispositivos de base de datos con failover automático para tolerancia a fallos de dispositivos.

     

     

  • Copias de seguridad online desatendidas garantizando la consistencia de datos para la más alta disponibilidad.

     

     

  • Contextos de usuario protegidos, que pueden aislar los fallos a un thread de un único usuario.

     

     

  • Recuperación point-in-time para restaurar bases de datos o transacción logs en un intervalo de tiempo.

     

     

  • Tolerancia a fallos de servidor, permitiendo failover automático a un servidor de backup o en espera.

     

     

  • Mejoras en programabilidad y lenguaje

     

     

  • Triggers, procedimientos almacenados (autoexec), disparador de eventos antes y después de conexiones.

     

     

  • Procedimientos almacenados extendidos (funciones definidas por el usuario) utilizando C/C .

     

     

  • Cursores basados en el motor con scrolling hacia adelante y atrás; posicionamiento absoluto y relativo.

     

     

  • Sentencias DLL permitidas dentro de transacciones.

     

     

  • Transacciones distribuidas dentro de interfaces DB-Librery, ODBC, Transact-SQL, XA y OLE Transaction.

     

     

  • Procedimientos almacenados OLE Automation.

     

Seguridad

     

  • Un único ID de login tanto para red como para la DB para mejorar la seguridad y facilitar la administración.

     

     

  • Password y encriptación de datos en red para mejorar la seguridad.

     

     

  • Encriptación de procedimientos almacenados para la integridad y seguridad de código de aplicación.

     

     

  • Interoperabilidad e integración con desktops.

     

     

  • API estándard DB-Library totalmente soportada: estándar ODBC Nivel 2 totalmente soportado como API nativa.

     

     

  • Gateway Open Data Services (ODS) programable para acceso transparente a fuentes de datos externas.

     

     

  • Gateways de Microsoft y de terceros para fuentes de datos relacionales y no-relacionales, incluyendo IBM DB2.

     

     

  • Soporte de importantes estándares de mercado como ANSI SQL-92, FIPS 127-2, XA, SNMP.

     

ORACLE

Es manejador de base de datos relacional que hace uso de losrecursos del sistema informático en todas las arquitecturas de hardware, paragarantizar su aprovechamiento al máximo en ambientes cargados de información.Es el conjunto de datos que proporciona la capacidad de almacenar y acude aestos de forma consecuente con un modelo definido como relacional. Además esuna suite de productos que ofrece una gran variedad de herramientas.

Es el mayor y mas usado Sistema Manejador de Base de DatoRelacional (RDBMS) en el mundo. La Corporación Oracle ofrece este RDBMS como unproducto incorporado a la línea de producción. Además incluye cuatrogeneraciones de desarrollo de aplicación, herramientas de reportes yutilitarios. Oracle corre en computadoras personasles (PC), microcomputadoras,mainframes y computadoras con procesamiento paralelo masivo. Soporta unos 17idiomas, corre automáticamente en más de 80 arquitectura de hardware ysoftware distinto sin tener la necesidad de cambiar una sola línea de código.Esto es porque más el 80% de los códigos internos de Oracle son iguales a losestablecidos en todas las plataformas de sistemas

operativos.

HISTORIA DE ORACLE

El manejador de Base de datos ORACLE, surgió a final de losaños 70 y principio de los años 80. George Koch y su equipo de tropas deasalto de técnicos fue el primero en desembarcar en el terreno de Oracle en1982, durante un proceso de evaluación de sistema de gestión de base de datospara una importante aplicación comercial que George estaba diseñando yconstruyendo. Cuando termino, la evaluación fue descrita en Computer World comoel estudio más severo de SGBD que se había hecho nunca. El estudio fue tanriguroso con los vendedores cuyos productos había estudiado George, que laprensa hizo eco de sus palabras en lugares tan distantes como Nueva Zelandia yen publicaciones muy alejadas del campo como el Christian Sciencia Monitor.

Oracle conocida entonces como Relational Software, teníapoco más de 25 empleados en aquel tiempo y solo unos pocos clientesimportantes. Sin embargo, cuando se completo el estudio, Oracle fue declaradavencedora. George afirmo que el SGBD Oracle era técnicamente el mejor productodel mercado. Estas declaraciones fueron hecha en una época en la que muy pocagente conocía el significado del término "Relacional", y los que loconocían (o creían conocerlo) no tenían muchas cosas favorables que decir deél.

La compañía de Oracle Corporation estaba trabajandoentonces para perfeccionar su joven producto, para comprender los tipos decaracterísticas y funcionalidad que podría hacerlo útil y productivo en elmundo de los negocios. El esfuerzo contribuyo a su refinamiento. Algunas de lascaracterísticas de Oracle, tales como las salidas de SQL*FORMS fueron elresultado de dicho esfuerzo.

EVOLUCIÓN

El poderoso modelo relacional ha evolucionado desdeherramientas y los modelos de datos de redes. La mayor manera aceptada y usadade un modelo de datos es el modelo relacional. El relacional conocido en 1969con la revisión hecha por IBM, Dr. E. F. Codd.

Un modelo relacional posee tres grandes aspectos:

     

  • Estructuras: Definición 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 información, como y quien manipular.

     

Una base de datos relacional simplifica y definida como unmodelo de información es estrictamente visualizable por los usuarios mediantetablas. Una tabla esta compuesta por una matriz bidimencional de filas ycolumnas. En cualquier ocasión la información es cambiada en una base de datosrelacional, cualquier información es el resultado de una consulta presentad porel usuario en el formato filas/columnas.

VERSIONES DE ORACLE

Oracle ha presentado cuatro generaciones para desarrollo deaplicación:

Oracle 5 y Oracle 6: fueron las dos primeras versiones deOracle, quedando aun rezagadas por las versiones sucesoras.

Oracle 7: La base de datos relacional componentes deOracle Universal Server. Posee además las versiones 7.1, 7.1.2, y 7.1.3.

Oracle 7 Parallel: Ofrece a los usuarios un métodoseguro y administrable para incrementar la performance de sus bases de datosexistentes introduciendo operaciones en paralelo y sincrónicas dentro de susambientes informáticos.

Oracle 8: Incluye mejoras de rendimiento y de utilizaciónde recursos. Independiente de que se necesite dar soporte a decenas de miles deusuarios y cientos de terabytes de datos, o se disponga de un sistema mucho máspequeño, pero igualmente critico, todos se benefician del rendimiento deOracle8. Este soporta aplicaciones de procesamiento de transacciones on line(OLTP) y de data warehousing mayores y más exigentes.

Oracle Fail Safe: Protege al sistema de caída deentornos Cluster Windows NT. Este producto es para que el sistema operativoWindows NT disponga de una mayor oferta de solucciones en entornos cluster.

Oracle Universal

Server: Con soporte completo de Web, mensajería ydatos multimedia, Oracle Universal Server es el eslabón fundamental en elcamino de transición de la industria de la tecnología a la informática dered, donde la complejidad de software es transferida desde la PC de escritorio apoderosos servidores y redes.

ESTRUCTURA

Proceso de Pre-Instalación

Planificación de Pre-Instalación:

1er. Paso es determinar el tamaño de los softwares deinstalación. Esto no incluye el espacio requerido para la producción delsistema o el espacio para el desarrollo de aplicaciones del o los sistemasOracle.

PRODUCTOS TAMAÑO

Oracle RDBMS 11.6 MB

SQL*PLUS 1.6 MB

SQL*FORMS 2.4 MB

SQL*MENU 1.8 MB

SQL*REPOT WRITER 2.1 MB

Pro*C, Pro*Fortran, Pro*Cobol 1.3 MB

NLS 2.1 MB

Archivos de Oracle RDBMS 2.8 MB

SQL*Net 2.8 MB

Oracle Demo Database 5.9 MB

39.4 MB

Una vez el tamaño determinado, el próximo paso esdeterminar la localización del producto y las aplicaciones que soportan elnuevo RDBMS Oracle, así como el espacio a ser reservado para los propiosobjetos de la base de datos.

Oracle soporta dos tipos de almacemiento, por caracter (RAW)o por bloques (Files System), generalmente es recomendable que los seancolocados en Raw Divice.

Raw Divice: es un dispositivo de caracteresdisponibles en algunos sistemas operativos el cual es asignado directamente aOracle.

Oracle corre más rápidamente con Raw Divice que con FilesSystem, por varias razones:

     

  1. E I/O (Input/Output) es realizado directamente en el disco por Oracle, independientemente del sistema operativo.

     

     

  2. El buffer cache del sistema del sistema operativo es dejado a un lado.

     

     

  3. Los buffers del sistema operativo y de oracle son independiente entre sí.

     

Con la intención de evitar la contención de los discos, sedebe considerar la instalación de Oracle en dispositivos separados,especialmente si se tienen varios discos, y más esencialmente, si se poseen másde una controladora de disco. La planeación debe realizarse teniendo en cuentalos sigueintes criterios:

     

  • Los Files System y sus dispositivos asignados.

     

     

  • El swapping y paginamiento en Oracle, deberán estar en los dispositivos más rápidos.

     

     

  • Los tablaspace para tables e índices en dispotivos separados.

     

     

  • Los Log Files en un dispositivo separado al del tablespace de RDBMS Oracle.

     

ESTRUCTURA FÍSICA Y LÓGICA

Las estructura física tales como los archivos del sistemaoperativo, son almacenados tangibles como son cintas magnéticas, discos yotros. A cada archivo le corresponde un espacio en el sistema operativo. Oraclerequiere de varios archivos para su funcionamiento, los cuales conforman suestructura física. A la estructura lógica le corresponde un espacio porunidad, pero sus limitaciones son independiente de las localizaciones de espaciofísico.

USO DE MEMORIA

El uso de memoria en el RDBMS Oracle tiene coo propósito losiguente:

     

  • Almacenar los códigos de los programas para empezar a ejecutarse.

     

     

  • Almacenar los datos necesarios durante la ejecución de un programa.

     

     

  • Almacenar información sobre como es la transferencia entre procesos y periféricos.

     

PROGRAMAS Y ARCHIVOS QUE COMPONE ORACLE

Un RDBMS Oracle esta compuesto por tres partes principales,que son:

     

  1. El Kernel de Oracle

     

     

  2. Las instancias del Sistema de Base de Datos.

     

     

  3. Los Archivos relacionados al sistema de Base de Datos.

     

EL KERNEL DE ORACLE

El Kernel es el corazón del RDBMS Oracle, el cual maneja lassiguientes tareas:

     

  • Manejar el almacenamiento y definición de los datos.

     

     

  • Suministrar y limitar el acceso a los datos y la concurrencia de los usuarios.

     

     

  • Permitir los backup y la recuperación de los datos.

     

     

  • Interpretar el SQL y PL/SQL.

     

Así como el Kernel es un sistema operativo, el Kernel Oraclees cargado a la memoria al inicio de las operaciones y es usado por cada base dedatos existente en el equipo.

EL PGA (Program Global Area): Es también llamadoProcess Global ¨Área, consta de datos e información de control de losprocesos, asegurando el uso correcto de estos. El PGA contiene informaciónacerca de las conexiones y los procesos que se realizan en Oracle, su tamaño esvariable en longitud, pero no es dinámico. El PGA se activa al conectarse unusuario.

EL SGA (System Global Area): Se puede llamar Sharedglobal área, se podría definir como una seria de buffers en memoria residente,a través de la cual todas las transacciones y el almacenamiento de dato fluyen.El SGA es localizado en memoria al iniciarse una instancia y desaparece albajarla. Su tamaño no puede ser cambiado, pero si puede ser visto con elcomando "SHOW SGA" en el SQL*DBA. Su longitud esta definida por loparametros del archivo de iniciación INIT.ORA.

Esta Compuesto por:

     

  • Diccionario Cache

     

     

  • Los Redo Log Buffers

     

     

  • Los Database Buffers

     

     

  • Diccionario Cache:

     

Es un conjunto de tablas que son usadas para proveer información asociada con la base de datos, donde se definen los nombres de usuarios, privilegios, objetos, retenciones y espacios que conforman un RDBMS Oracle.

     

  • Redo Log Buffers:

     

Es un espacio reservado en memoria que contiene los cambios realizados a los bloques de datos, permitiendo la reconstrucción de la base de datos en caso de ocurrir un accidente.

     

  • Database Buffers:

     

Es un espacio reservado en memoria para las operaciones normales de la base de datos, el cual depende del tamaño especificado en el archivo de inicialización (INIT.ORA).

DIFERENTES HERRAMIENTAS DE ORACLE

SQLForms: es la herramienta de Oracle que permite, de un modo sencillo y eficiente, diseñar 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 códigos, 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, quepermite seleccionar registros desde las tablas de la Base de Datos, devolviendoaquellos que cumplan las condiciones establecidas y pudiendo presentar elresultado en el orden deseado.

SQL (Structured Query Languague = Lenguaje de Consultaestructurado).

La orden FROM identifica la lista de tablas a consultar. Sialguna de las tablas a consultar no es propiedad del usuario, debe especificarseel nombre del propietario antes que el nombre de la tabla en la formanombre_propietario.nombre_tabla.

La orden WHERE decide los registros a seleccionar según lascondiciones establecidas, limitando el número de registros que se muestran.

La orden ORDER BY indica el orden en que aparece el resultadode la consulta.

Patrón de consulta: Una de las herramientas lógicas máspoderosas de SQL es el reconocimiento de un patrón de consulta, instrumento ésteque permite la búsqueda por nombre, dirección u otro dato parcialmenterecordado. Los patrones de consulta juegan un papel importante en el momento derealizar consultas, ya que es común que necesitemos encontrar un texto y norecordemos exactamente cómo fue ingresado. Con el uso del operador LIKE podemoscomparar patrones y ubicar un texto, independientemente de la posición en quese encuentre.

Para la definición del patrón de consulta existen dos tiposde caracteres especiales:

% (signo de porcentaje) llamado comodín, representacualquier cantidad de espacios o caracteres en esa posición. Significa que seadmite cualquier cosa en su lugar: un caracter, cien caracteres o ningúncaracter.

_ (signo de subrayado) llamado marcador de posición,representa exactamente una posición e indica que puede existir cualquiercaracter en esa posición.

Agrupamiento de datos

SQL proporciona una forma eficiente para manejar la informacióncon el agrupamiento de datos a través de la formación de grupos y lasfunciones correspondientes, dando la posibilidad de procesar no solo registrosindividuales como hemos hecho hasta ahora. También podemos agrupar registrospor un criterio determinado, como por ejemplo, agrupar por clientes las ventasrealizadas. Cada grupo tendrá como resultado de la consulta una fila resumenque contiene la información del grupo.

Para la formación de grupos adicionamos, a la forma básicade 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 mínimo del grupo.

MAX(columna) Valor máximo 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 expresión usada para formar losgrupos en la orden GROUP BY. En una misma consulta no se pueden mezclarfunciones de grupo con columnas o funciones que trabajan con registrosindividuales. 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, conla cantidad de ventas, valor mínimo, medio y máximo, así como la suma totalde ventas. La formación del grupo será por el nombre del cliente y la columnaa cuantificar para cada grupo será el valor de las ventas.

El orden en las consultas por grupos, cuando no esta presentela orden ORDER BY, está dado por la columna que forma los grupos. Si deseamoscambiar ese orden, como es el caso de ordenar por el valor total de ventas, sedebe adicionar al final la orden ORDER BY SUM(VALOR).

Subconsultas

Otro aspecto de fácil diseño y uso que muestra una vez máslas posibilidades de SQL son las subconsultas. Subconsulta es aquella consultade cuyo resultado depende otra consulta, llamada principal, y se define como unasentencia SELECT que esta incluida en la orden WHERE de la consulta principal.Una subconsulta, a su vez, puede contener otra subconsulta y así hasta un máximode 16 niveles.

Las particularidades de las subconsultas son:

1. Su resultado no se visualiza, sino que se pasa a laconsulta principal para su comprobación.

2. Puede devolver un valor único o una lista de valores y endependencia 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 más común, ovarias columnas. Este último caso se llama subconsulta con columnas múltiples.Cuando dos o más columnas serán comprobadas al mismo tiempo, deben encerrarseentre paréntesis.

Grupos con subconsulta

Para combinar grupos con subconsulta debemos incluir en lasentencia SELECT la orden HAVING, que tiene las siguientes características:

1. Funciona como la orden WHERE, pero sobre los resultados de las funciones de grupo, en oposición 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 después de la orden GROUP BY.

3. Puede usar una función de grupo diferente a la de la orden SELECT.

Indices

El índice es un instrumento que aumenta la velocidad derespuesta de la consulta, mejorando su rendimiento y optimizando su resultado.El manejo de los índices en ORACLE se realiza de forma inteligente, donde elprogramador sólo crea los índices sin tener que especificar, explícitamente,cuál es el índice que va a usar. Es el propio sistema, al analizar la condiciónde la consulta, quien decide qué índice se necesita. Por ejemplo cuando en unaconsulta se relacionan dos tablas por una columna, si ésta tiene definido un índicese activa, como en el caso cuando relacionamos la tabla de clientes y ventas porla columna código para identificar al cliente (WHEREclientes.codigo=ventas.codigo).

La identificación del índice a usar está relacionada conlas columnas que participan en las condiciones de la orden WHERE. Si la columnaque forma el índice está presente en alguna de las condiciones éste seactiva.

PL/SQL: es un lenguaje portable, procedural y detransacción muy potente y de fácil manejo, con las siguientes característicasfundamentales:

     

  1. Incluye todos los comandos de SQL.

     

2. Es una extensión de SQL, ya que este es un lenguaje no completo dado que no incluye las herramientas clásicas de programación. Por eso, PL/SQL amplia 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 código: La organización delbloque de código de PL/SQL, compuesto por cuatro secciones DECLARE, BEGIN,EXCEPTION y END.

Asignación de valores: Las dos formas que existen paraasignar valores a variables de memoria, vistas en el ejemplo anterior, son:

     

  • Con el operador de asignación: =, como cuando calculamos el promedio de las ventas asignándole valor a la variable xprom .

     

Manejo de cursores

El conjunto de filas resultantes de una consulta con lasentencia SELECT, como vimos anteriormente, puede estar compuesto por ninguna,una o varias filas, dependiendo de la condición que define la consulta. Parapoder procesar individualmente cada fila de la consulta debemos definir uncursor (que es un área de trabajo de memoria) que contiene los datos de lasfilas de la tabla consultada por la sentencia SELECT.

Los pasos para el manejo de cursores, tema novedoso en laprogramación de Oracle con PL/SQL, son:

- Definir el cursor, especificando la lista de parámetros 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 módulo SQL*Forms tiene incorporado una colección deprocedimientos y funciones llamados "empaquetados" que se puedenincluir en el código de procedimientos o disparadores definidos por el usuario.

El disparador es un bloque de código que se activa cuando sepulsa 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 transacción al insertar, modificar o eliminar registros de la base de datos.

Oracle asocia a cada tecla de función un procedimientoempaquetado, pudiendo el usuario redefinir esta asignación o capturar eldisparador para ampliarlo o modificarlo con su propio código.

A partir de la versión 7 de Oracle el usuario puedealmacenar, en forma independiente, sus funciones y procedimientos sin tener queescribirlos repetidamente para cada forma, y pudiendo compilarlosindependientemente de las formas que lo usen. Pero, además, las funciones yprocedimientos se pueden agrupar en un paquete para compartir definiciones,variables globales, constantes, cursores y excepciones, así como garantizar yrevocar los permisos a nivel de paquete.

En el caso que sea necesario modificar el contenido delpaquete, como el mismo se encuentra almacenado separadamente, no es necesariorecompilar nada que use ese paquete, lo que facilita la gestión y mantenimientode todos los procedimientos almacenados como una sola entidad para unadeterminada aplicación.

Además, en la versión 7, existe un nuevo tipo de disparadorllamado de base de datos, que es un procedimiento asociado a una tabla que seactiva cuando se produce un suceso que afecta a esa tabla. Su uso más comúnconsiste en la definición de restricciones complejas de integridad.

SQLReport de Oracle realiza de forma flexible, sencilla yeficiente la creación de reportes, informes o listados permitiendo, entre otrasfacilidades, la visualización previa por pantalla con una gran variedad enestilos de presentación.

Definiciones básicas: Para adentrarnos en el temaprimero veremos las definiciones básicas, fundamento del diseño del reporte enOracle:

Consulta: Define las columnas y filas de una o variastablas que serán emitidas en el reporte, así como su orden de presentación.Una consulta puede estar subordinada a otra consulta principal, relacionadas poruna o varias columnas.

Grupo: El grupo es una sección del reporte querepresenta al conjunto de columnas de la consulta, como una unidad, paradeterminar su ubicación en el reporte y su forma de presentación.

Para cada grupo se definen los siguientes atributos:

- Ubicación.

- Forma de presentación.

- Texto de cabecera y final.

- Título de las columnas.

- Ubicación de las columnas dentro del grupo.

En el momento de la definición de una consulta se crea, deforma automática, un grupo que contiene todos las columnas presentes en lalista de la sentencia SELECT. El nombre de este grupo se define como el nombrede la consulta, precedido por los caracteres G_.

Una consulta puede tener asociado más de un grupo, con elfin de separar las columnas de la consulta, por ejemplo para crear diferentesniveles en el reporte, como el cálculo de subtotales.

Campos: Cada columna de la consulta pasa a ser un campodel reporte. Además, podemos incluir como campos del reporte las siguientesvariables:

- Del sistema como &DATE y &PAGE

- Del usuario, cuyo contenido es un comando SQL para realizar cálculos.

Parámetro: Variables definidas por el usuario paratransferir datos a la consulta en el momento de la ejecución del reporte. Sehace referencia al parámetro en la consulta con su nombre precedido por dospuntos como: nombre_parametro.

Sumario: Define variables de tipo sumario para larealización de cálculos con el uso de las funciones Sum, Min, Max, Count yAvg.

Texto: Define la ubicación y forma de presentación delos campos dentro del grupo, así como los textos de inicio y final para cadagrupo y para el reporte.

Para ubicar un campo o un parámetro en la sección de textosse hace referencia con su nombre, precedido con el carácter & de la forma:&nombre.

SQLMenu: es el producto de ORACLE destinado a producir árbolesde menús que permiten al usuario desplazarse fácilmente a través de suaplicación, facilitando a su vez, la integración con los diferentes módulosde ORACLE.

La integración de módulos, herramienta que permite desde unproducto de Oracle invocar otros, también está presente en SQLForms, desdedonde, como veremos en este artículo, se pueden realizar tareas del sistemaoperativo con llamadas a los módulos SQLReport y SQLPlus.

Definiciones: Comenzaremos explicando las diferentespartes que componen el diseño de un menú en SQLMenu. Ellos son:

Aplicación Conjunto de uno o más menús interconectados para realizar las tareas necesarias del sistema y para el cual se definen su nombre, nombre del archivo ejecutable, fecha de creación, nombre del usuario, número de la versión, fecha de la última modificación, directorio de ubicación y su identificación.

Menú Lista de opciones o items que realizan las tareas específicas del sistema. Cuando se crea la aplicación el primer menú que se debe definir es el principal, cuyo nombre tiene que ser el mismo que el de la aplicación. Este será el menú que se activará en forma automática al cargar la aplicación.

Items Define las opciones del menú y su correspondiente acción. Un ítem puede llamar a otro menú, ejecutar un comando o un módulo de Oracle, así como cualquier otro programa. Para cada ítem se define su posición en el menú, tipo de comando, permisos de los usuarios, texto de identificación y la línea del comando a realizar.

Parámetros Variable que se carga en el momento de ejecución del menú y para la cual se definen un nombre de dos letras, cantidad máxima de caracteres, texto en pantalla en el momento de su ingreso, si es o no obligatorio, con o sin conversión a mayúsculas y su valor por defecto.

Integración desde SQLForms: La integración de módulos,como los casos que acabamos de estudiar, también esta presente en SQLForms,desde donde podemos activar los módulos SQLReport y SQLPlus a través delsistema operativo.

En SQLReport:

- Parámetros y sus valores por defecto. Esta es la vía que tenemos para pasar los datos necesarios, desde SQLForms, en el momento de la ejecución del reporte.

En SQLForms:

- Campos de la forma donde se van a ingresar los valores a pasar como parámetros al reporte.

Procedimiento que invoca a SQLReport con sus correspondientes parámetros. Para esto se usa la orden HOST, procedimiento del sistema que tiene como función enviar un comando al sistema operativo, en este caso RUNREP, garantizando el paso de variables a través de los parámetros y el retorno automático a SQLForms.

MEJORAS DE SQL SERVER EN ORACLE

Oracle posee igual interacción en todas la plataformas (Windows, Unix, Macintosh y Mainframes). Estos porque más del 80% de los códigos internos de Oracle son iguales a los establecidos en todas las plataformas de Sistemas Operativos.

Oracle soporta bases de datos de todos los tamaños, desde severas cantidades de bytes y gigabytes en tamaño.

Oracle provee salvar con seguridad de error lo visto en el monitor y la información 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 aplicación de programas.

Lenguajes de cuarta generación 4GL: Estos lenguajes sedistinguen por formar parte de un entorno de desarrollo, que comprende elmanejador de una base de datos, y todo lo que de esto se deriva, como laadministración de un diccionario de datos, el control de accesos, el manejo dela consistencia de la información y otras características enfocadas afacilitar los programas de acceso y explotación de la información. Comoejemplos podemos citar a los 4 grandes: PROGRESS, SYSBASE, INFORMIX, y ORACLE.

Historia deInformix

2 de junio de 1986 Es mi primer día en Sphinx 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. Sphinx es una pequeña compañía con grandes ambiciones; hacemos la distribución de software para productividad en la oficina en sistemas Unix. Somos el distribuidor en Europa de otra pequeña compañía, 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 compañero y yo trabajamos con gran dedicación en esto y de repente, la semana de los primeros cursos se presenta; 2 días para ISQL, 3 para I4GL. Con el tema precariamente dominado, me voy a la oficina el Lunes por la mañana temprano para terminar la instalación, en una máquina Zilog Z8000, solo para descubrir que está faltando energía eléctrica, y que va a faltar hasta pasadas las 10 de la mañana. A eso de las 11, hemos determinado que (a) tener el ISQL 1.10 en la máquina y las anotaciones del curso de ISQL 2.00 era una combinación inadecuada ya que los sistemas de menú han sido rediseñados por completo, (b) la máquina Zilog Z8000 no es muy fiable, aún cuando hay electricidad, y (c) aún cuando está 'funcionando', no es suficientemente rápida ni suficientemente grande para atender 8 alumnos. Nos arrastramos a lo largo de la semana. Fue una experiencia dolorosa, tanto para mi 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 días. Pocos meses después, teníamos 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.

 Más 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 extensión importante del material del curso y vende bien, estando en su segunda edición. Informix abre sus propias oficinas en el Reino Unido y en Europa, y se encarga de su propia distribución. Informix también introduce el nuevo servidor de banco de datos, Informix-Turbo, que se puede adquirir separadamente del ISQL e del I4GL. Con la introducción de la versión 4.00, el banco de datos original se re-identifica como Informix-SE (Standard Engine) y el Turbo recibe el nuevo nombre de Informix-OnLine. ISQL e I4GL ahora se compran en separado de cualquiera de los bancos de datos. La combinación es brillante, y sedimenta el ya amplio y creciente mercado de bancos de datos de Informix . I4GL aún es un lenguaje de gran potencia para las personas que utilizan bancos de datos Informix.

Informix:  Dynamic

IBM Informix® Dynamic Server (IDS) 9.30 proporcionafiabilidad superior, atendiendo las necesidades de las exigentes prácticasactuales del e-business-particularmente para aplicativos que requierantransacciones de alto desempeño. Soporta requisitos de procesamiento detransacción online, complejos y rigurosos. Optimiza capacidades de inteligenciadel negocio competitivas. Maximiza operaciones de datos para el grupo de trabajoy para la empresa en total. Proporciona la firmeza de una administración debase de datos comprobada, mejor de su especie.

Informix Dynamic Server con J/Foundation combina las característicasde IDS con un ambiente abierto, flexible, empotrado de Java™ Virtual Machine.IDS con J/Foundation permite que los desarrolladores de base de datos escriban lógicade negocio del lado servidor usando el lenguaje Java™. Java User DefinedRoutines (UDRs) tienen completo acceso a las características de la base dedatos extensible líder mundial, de la base de datos IDS. Haciendo del IDS laplataforma ideal para el desarrollo de base de datos Java. Además de Java UDRs,el IDS está en conformidad con el estándar SQLJ para procedimientosalmacenados en Java, permitiendo el uso de los paquetes Java estándar que seencuentran incluidos en el Java Development Kit (JDK). Escribir UDRs en Javaproporciona aplicativos mucho más flexibles que se pueden desarrollar más rápidamenteque C, y más potentes y administrables que los lenguajes de procedimientosalmacenados.

Una extensión adicional de escribir UDRs en Java es escribirmódulos DataBlade® en Java. Los módulos DataBlade son colecciones de nuevasfunciones del lado-servidor y tipos de datos puestos en conjunto para extenderel IBM Informix® Dynamic Server con el servidor de datos J/Foundation. ElDataBlade Developer's Kit (DBDK) ahora soporta Java y permite el desarrollo,diseminación y depuración de UDRs en Java. La tecnología IBM InformixDataBlade es líder en la industria en extender el servidor para permitir tantola administración de contenido rich, cuanto la lógica de negocio. J/Foundationestá provisto con IDS en muchas de las plataformas IDS 9.30 soportadas. Lasplataformas 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 más generalque Informix. Informix por su lado, se especializó más en aplicaciones tipoGIS (datos geográficos), Datawarehouse y Datamining. Sin duda a los gurús, lesagrada más Informix que Oracle.

En cuanto a precios, Informix tiene tendencia a ser más caro que Oracle enconfiguraciones parecidas.

En la practica, como buenos enemigos acérrimos, ambas tienen parecidascaracterísticas y funcionalidades. Cada una tiene las típicas ampliaciones quepermiten especializar la base de datos a un cierto tipo de aplicación (enInformix se llaman DataBlades, ver imagen 3). Para competir, en cada nueva versiónque sacaban, las dos iban añadiendo de serie muchas de las extensiones que enla versión anterior eran opcionales (de pago por separado). En el momento deescribir este artículo las dos están en la versión 9.X.

De cara a una instalación y configuración básicas, las diferencias frentea Oracle que el lector va a notar son dos:

  • En Oracle, tienes que definir los usuarios dentro la base de datos (gestión interna de usuarios). En cambio, Informix utiliza los mismos usuarios de Linux (los que creas con adduser), simplificando la administración.
  • Para conectar externamente vía TCP/IP a Oracle, hacía falta colgar un daemon llamado listener de un puerto. Luego el listener traducía las llamadas al SQLNet para hablar con la base de datos. Luego había 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 unabase de datos más moderna y integrada con Linux que Oracle. Pero los preciosson los precios, y el marketing es el marketing.

Objetivos que se han cubierto

La sintaxis del lenguaje es casi idéntica a la de Informix-4GL. Se hanimplementado los tipos de datos básicos, los de fecha y hora, intervalos y'datetime'.

Las sentencias de asignación, presentación en pantalla, estructurasrepetitivas (bucles while y for) y condicionales (if..else..), generación demenús y listados se han implementado completamente.

El manejo de los formularios de entrada de datos se ha implementado siguiendola sintaxis original de Informix-4GL, sin embargo se ha modificado la sintaxisde la definición de los formularios para dar cabida a nuevos tipos de objetos,como botones o casillas de verificación.

Se ha introducido una nueva sentencia (browse), que permite visualizar todaslas tuplas devueltas por una consulta y 'navegar' por ellas mediante movimientosdel cursor.

La sintaxis de algunas sentencias se ha ampliado, permitiendo nuevasfuncionalidades no encontradas en Informix-4GL, como asignaciones múltiples.Estas modificaciones están explicadas con detalle en el manual de usuario.

Posibilidades de ampliación

Se ha generado únicamente una interfaz en modo texto. Sin embargo, laimplementación de las funciones de manejo de formularios de entrada se harealizado de manera independiente de la implentación a bajo nivel (curses).Gracias a esto es posible desarrollar librerías de funciones que gestionen losformularios de entrada de manera gráfica, generando interfaces en X-Window.

La generación de código está actualmente muy enfocada a la interfaz dePostgreSQL. Una posible ampliación sería la generalización de este código,para permitir el desarrollo de aplicaciones que accedan a datos almacenados enotro tipo de servidores, o incluso usando ODBC (el API de acceso a bases dedatos definido por Microsoft y que se ha convertido en estándar).

CONCLUSIÓN

Con la idea de facilitarnos las tareas que debemos de desempeñar loshumanos, hemos venido inventado diversas herramientas a lo largo de nuestrahistoria, que nos permiten tener una mejor calidad de vida. Los ordenadores sonuno más de los inventos del hombre, aunque debemos decir que las tecnologíaspara su fabricación y explotación han tenido un desarrollo sorprendente apartir de la segunda mitad del siglo XX. Esta herramienta por sí sola no escapaz de efectuar ninguna tarea, es tan sólo un conjunto de cables y circuitosque necesitan recibir instrucción por parte de los humanos para desempeñaralguna tarea. El problema entonces, se puede fijar en ¿cómo vamos a poderhacer que un conjunto de circuitos desempeñen una determinada tarea y nosentreguen los resultados que nosotros esperamos?, es decir, ¿de qué manera sepuede lograr la comunicación entre el hombre y el ordenador?.

Así pues, tratando de dar una solución al problemaplanteado, surgieron los lenguajes de programación, que son como un lenguajecualquiera, pero simplificado y con ciertas normas, para poder trasmitirnuestros deseos al ordenador.

El Sistema de Gestión de Bases de Datos (SGBD) Consiste enun conjunto de programas, procedimientos y lenguajes que nos proporcionan lasherramientas necesarias para trabajar con una base de datos. Incorporar unaserie de funciones que nos permita definir los registros, sus campos, susrelaciones, insertar, suprimir, modificar y consultar los datos.

Microsoft SQL Server 7.0 constituye un lanzamiento determinante para losproductos de bases de datos de Microsoft, continuando con la base sólidaestablecida por SQL Server 6.5. Como la mejor base de datos para Windows NT, SQLServer es el RDBMS de elección para una amplia gama de clientes corporativos yProveedores Independientes de Software (ISVs) que construyen aplicaciones denegocios. Las necesidades y requerimientos de los clientes han llevado a lacreación de innovaciones de producto significativas para facilitar la utilización,escalabilidad, confiabilidad y almacenamiento de datos.

ORACLE Es manejador de base de datos relacional que hace uso de los recursosdel sistema informático en todas las arquitecturas de hardware, para garantizarsu aprovechamiento al máximo en ambientes cargados de información.

Informix-4GL ofrece herramientas para crear menús, formularios de entrada dedatos y generadores de listados. Será necesario definir estas mismasherramientas manteniendo, a ser posible, la sintaxis original. En principio segenerarán aplicaciones que funcionen en modo texto, dejando para una futuraampliación la generación de aplicaciones en entornos gráficos.

BIBLIOGRAFÍA

www.monografías.com

www.abcdatos.com

www.espanol.yahoo.com

www.ibm.com

 

Integrante:

Sanguinetti Corabel

korepropia@hotmail.com

Valencia

Articulos relacionados:
Bases de datos
Resumen:
Archivos convencionales. Definición de Base de Datos. Componentes principales Ventajas en el uso de Bases de Datos. El sistema organizador de Base de Datos (DBMS). El adm...
Lenguajes de Programación
Resumen:
Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la información sobre la tarea que iban a e...
Temas generales de Prolog
Resumen:
Hechos. Variables. Reglas. El ámbito de las variables. Operadores. La resolución de objetivos. El mecanismo de control de PROLOG. Entrada y Salida. Historia y desarrollo ...
Programación Orientada a Objetos, Oracle y Sql Server
Resumen:
Programación orientada a Objetos. Estructura De Un Objeto. Encapsulamiento y Ocultación. Organización de los objetos. Sistema de Gestión de Bases de Datos (SGBD). El mode...
Motores de búsqueda
Resumen:
Cómo buscar? Obtener sólo los resultados deseados. Operadores lógicos. Operadores de proximidad, de existencia y de exactitud. Buscadores automáticos. Robots. Bases de da...
Copyright © 2011 ilustrados.com, Monografias, tesis, bibliografias, educacion. Tofos los temas y publicaciones son propiedad de sus respectivos autores ©