Descargar

Breve historia de SQLde SQL

Enviado por korepropia


    SQL-ORACLE-INFORMIX

    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. Anexos
    10. Bibliografía

    INTRODUCCION

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

    Para ello existe afortunadamente formas o maneras de como poder guarda información necesaria y de vital importancia para nuestras empresas o compañías.

    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 más adecuada 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 el terreno del marketing. Oracle capturó la mayor parte del mercado y Informix no se recuperó de las perdidas económicas. DB2 y SQL Server tenían grandes compañías detrás con otros negocios que les permitió aguantar la política 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 información sobre Oracle sobre Linux en Internet, pero muy poca sobre Informix. La poca información es debido a la poca comunidad Internet que tiene Informix, al menos comparada con la de Oracle. Y es que, hoy en día, las documentaciones oficiales, de tan sencillas que quieren ser, cada vez son más confusas e incompletas. Sin duda, el mejor soporte técnico que hay para un producto es su comunidad de usuarios en Internet. Informix por desgracia no ha sabido crearla. Una búsqueda de "oracle linux" en Google devuelve unas 972.000 páginas, mientras que "informix 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 mas claramente los conceptos se realizaran ejemplo sobre relaciones que se crearan aquí para entender mejor como funciona SQL.

    También 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 extensión junto a nuestras bases de datos, obteniendo potentes resultados. De hecho, las consultas que se realizan en Access, están desarrolladas o basadas en este lenguaje, por lo que su implementación en Visual Basic no es complicada.

    El objetivo principal de SQL es la realización de consultas 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 que tener en cuenta a la hora de escribir mandatos SQL en nuestras aplicaciones en Visual Basic:

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

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

    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 de escribir primero el nombre de la tabla, un punto y, a continuación, el nombre del campo (nombre_tabla.nombre_campo).

    5. Al especificar una expresión de búsqueda, si ésta se refiere a una expresió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 entre signos numeral (#fecha#) en Access, Dbase X, etc., y entre comillas simples ('fecha') para bases Sql Server, Informix, etc.

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

    El lenguaje SQL está compuesto por una serie de sentencias y de cláusulas muy reducidas en número, pero muy potentes en efectividad. De entre todas las palabras, existen cuatro que son las más utilizadas, estando compuestas por una sentencia 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és las letras que lo componen, es decir "ese-cu-ele" y no "siquel" como se oye a menudo) empieza en 1974 con la definición, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje para la especificación de las características 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 revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales, convirtiéndose 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 todavía comercializado, también otras compañías 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 años ochenta, numerosas compañías (por ejemplo Oracle y Sybase, sólo por citar algunos) comercializaron productos basados en SQL, que se convierte en el estándar 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 estándar para los lenguajes relacionales y en 1987 se transfomó en estándar ISO. Esta versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha sufrido diversas revisiones que han conducido primero a la versión SQL/89 y, posteriormente, a la actual SQL/92. El hecho de tener un estándar 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 práctico, por desgracia las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e implementa en la propia base de datos sólo el corazón del lenguaje 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 tenga del mundo de las bases de datos. Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los comités ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce como SQL3. Las características principales de esta nueva encarnació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 la introducció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 se utilizará para los ejemplos de las siguientes lecciones. No se describirán las fases de análisis ni los modelos conceptuales y lógicoa que han sido necesarios para alcanzar tal estructura, desde el momento en que esto se apartaría de los objetivos de este curso. La estructura de la base de datos está representada en el diagrama relacional de la Figura 3. Cada rectángulo representa una relación. El nombre de la relación está en la sección más oscura 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ísticas de los atributos que componen la relación. La columna central contiene los nombres de los atributos; la de la derecha, su tipo (han sido utilizados los tipos del SQL/92), y la de la izquierda sus propiedades, Las propiedades de los atributos se indican con las siglas "PK" y "FK", que significan respectivamente que los correspondientes atributos forman parte de la llave primaria de la relación (Primary Key) o de una llave externa (Foreign Key). Las flechas hacen converger las llaves externas con las primarias a las que se refieren. Los nombres de los atributos en negrita indican que éstos no pueden 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 las informaciones bibliográficas de un conjunto de publicaciones, a fin de poderlas consultar 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 sistema LaTeX, para contar con un ambiente consolidado al que referirse y facilitar la realización de programas de conversión entre un sistema y otro. El significado de 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 todas las publicaciones presentes en la base de datos, dejando la especificación de las demás características en relaciones específicas para cada tipo de publicación. Además, se usa para implementar uniones complejas entre las publicaciones y otras relaciones. Por ejemplo, la que existe entre una publicación y 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 publicación. La llave primaria está compuesta por el identificativo de la publicación y por el de la persona, lo que grantiza la unidad de la asociación entre las dos entidades.

    Editor: Representa al coordinador de una publicación. La estructura es idéntica 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 sólo el apellido y el nombre.

    Publisher: La casa editorial de una publicación.

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

    Book: Un libro con una casa editorial precisa.

    InBook: Una parte de un libro. La parte puede caracterizarse 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 diferentes partes, se memorizan en la relación 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 publicación que contiene esa parte están en la relación Proceedings.

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

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

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

    Thesis: Una tesina o una tesis.

    Misc: Una publicación que no puede englobarse en ninguna de las categorías anteriores. No voy a explicar el significado de los atributos que componen las diferentes relaciones, puesto que sus nombres se explican por sí mismos. Sólo una anotación 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 deberían ser bastante fáciles de entender. Como ejemplo para todos, usaremos el que conecta la relación Book con la relación Publisher. Este lazo sirve para describir la la editorial de un libro. 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 llave primaria de la relación Publisher y como tal permitirá identificar una editorial precisa. En la relación Book el atributo publisher es una llave externa hacia la relación Publisher.

    Una situación más compleja es la que afecta a las relaciones Publication, Author y Person; efectivamente, en Author están presentes dos llaves externas: una que identifica la publicación a la que la instancia de relación se refiere, y otra que permite remontarse a los datos de la persona que desempeña el papel de autor. Se podría preguntar cuál es la utilidad de la relación Publication y por qué no se ha establecido directamente un nexo entre la relación Author y las relaciones que representan los tipos de publicación 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 publicación, el atributo pubblicationID debería ser una llave externa hacia todas las relaciones de las publicaciones, pero esto no está permitido desde el momento en que contradice la definición misma de llave externa.

    En las siguientes lecciones se implementará la base de datos de ejemplo usando el lenguaje SQL estándar. El DBMS específico usado será PostgresSQL, pero se podrá sustituir con cualquier DBMS que soporte l'Entry level 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 sólida establecida por SQL Server 6.5. Como la mejor base de datos para Windows NT, SQL Server es el RDBMS de elección 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 creación de innovaciones de producto significativas para facilitar la utilización, escalabilidad, confiabilidad y almacenamiento de datos.

    .Objetivos del Diseño de SQL Server

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

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

    Los clientes invierten en sistemas de administración de bases de datos, en forma de aplicaciones escritas para esa base de datos y la educación que implica para la implementación y administración. Esa inversión debe protegerse: a medida que el negocio crece, la base de datos deberá crecer y manejar más datos, transacciones y usuarios. Los clientes también desean proteger las inversiones a medida que escalan aplicaciones de base de datos hacia equipos portátiles y sucursales.

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

    Nueva para el lanzamiento de 7.0 es una versión de rastro de baja memoria con capacidades de replicación de multi-sitio. Se ajusta muy bien a las necesidades cada vez mayores del mercado de la computación móvil. Las otras características tales como bloqueo a nivel de línea dinámico, 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 elección ideal para sistemas OLTP de alta tecnología y sistemas de data warehousing.

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

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

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

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

    Las áreas de liderazgo e innovación en el Microsoft SQL Server 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 lanzamientos SQL Server recientes. Una historia completa del desarrollo de SQL Server, desde sus comienzos hasta el lanzamiento del 6.5 se encuentra disponible en Dentro del Microsoft SQL Server 6.5, de Ron Soukup, publicado por Microsoft Press, ISBN 1-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 Datos para la Empresa. Reúne en un sólo producto la potencia necesaria para cualquier aplicación empresarial crítica junto con unas herramientas de gestión que reducen al mínimo el coste de propiedad. Con Microdoft SQL Server, la empresa 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 SQL Server

    • 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 Internet e Intranet, Microsoft SQL Server es capaz de integrar los nuevos desarrollos para estos entornos específicos con los desarrollos heredados de aplicaciones "tradicionales". Es más, cada aplicación que desarrollemos para ser empleada en entornos de red local puede ser utilizada de forma transparente -en parte 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 los recursos del sistema informático en todas las arquitecturas de hardware, para garantizar su aprovechamiento al máximo en ambientes cargados de información. Es el conjunto de datos que proporciona la capacidad de almacenar y acude a estos de forma consecuente con un modelo definido como relacional. Además es una suite de productos que ofrece una gran variedad de herramientas.

    Es el mayor y mas usado Sistema Manejador de Base de Dato Relacional (RDBMS) en el mundo. La Corporación Oracle ofrece este RDBMS como un producto incorporado a la línea de producción. Además incluye cuatro generaciones de desarrollo de aplicación, herramientas de reportes y utilitarios. Oracle corre en computadoras personasles (PC), microcomputadoras, mainframes y computadoras con procesamiento paralelo masivo. Soporta unos 17 idiomas, corre automáticamente en más de 80 arquitectura de hardware y software 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 los establecidos en todas las plataformas de sistemas

    operativos.

    HISTORIA DE ORACLE

    El manejador de Base de datos ORACLE, surgió a final de los años 70 y principio de los años 80. George Koch y su equipo de tropas de asalto de técnicos fue el primero en desembarcar en el terreno de Oracle en 1982, durante un proceso de evaluación de sistema de gestión de base de datos para una importante aplicación comercial que George estaba diseñando y construyendo. Cuando termino, la evaluación fue descrita en Computer World como el estudio más severo de SGBD que se había hecho nunca. El estudio fue tan riguroso con los vendedores cuyos productos había 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, tenía poco más de 25 empleados en aquel tiempo y solo unos pocos clientes importantes. Sin embargo, cuando se completo el estudio, Oracle fue declarada vencedora. George afirmo que el SGBD Oracle era técnicamente el mejor producto del mercado. Estas declaraciones fueron hecha en una época en la que muy poca gente conocía el significado del término "Relacional", y los que lo conocían (o creían conocerlo) no tenían muchas cosas favorables que decir de él.

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

    EVOLUCIÓN

    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 1969 con 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 un modelo de información es estrictamente visualizable por los usuarios mediante tablas. Una tabla esta compuesta por una matriz bidimencional de filas y columnas. En cualquier ocasión la información es cambiada en una base de datos relacional, cualquier información es el resultado de una consulta presentad por el usuario en el formato filas/columnas.

    VERSIONES DE ORACLE

    Oracle ha presentado cuatro generaciones para desarrollo de aplicación:

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

    Oracle 7: La base de datos relacional componentes de Oracle 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étodo seguro y administrable para incrementar la performance de sus bases de datos existentes introduciendo operaciones en paralelo y sincrónicas dentro de sus ambientes informáticos.

    Oracle 8: Incluye mejoras de rendimiento y de utilización de recursos. Independiente de que se necesite dar soporte a decenas de miles de usuarios y cientos de terabytes de datos, o se disponga de un sistema mucho más pequeño, pero igualmente critico, todos se benefician del rendimiento de Oracle8. 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 de entornos Cluster Windows NT. Este producto es para que el sistema operativo Windows NT disponga de una mayor oferta de solucciones en entornos cluster.

    Oracle Universal

    Server: Con soporte completo de Web, mensajería y datos multimedia, Oracle Universal Server es el eslabón fundamental en el camino de transición de la industria de la tecnología a la informática de red, donde la complejidad de software es transferida desde la PC de escritorio a poderosos 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 de instalación. Esto no incluye el espacio requerido para la producción del sistema o el espacio para el desarrollo de aplicaciones del o los sistemas Oracle.

    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 es determinar la localización del producto y las aplicaciones que soportan el nuevo RDBMS Oracle, así como el espacio a ser reservado para los propios objetos de la base de datos.

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

    Raw Divice: es un dispositivo de caracteres disponibles en algunos sistemas operativos el cual es asignado directamente a Oracle.

    Oracle corre más rápidamente con Raw Divice que con Files System, 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, se debe considerar la instalación de Oracle en dispositivos separados, especialmente si se tienen varios discos, y más esencialmente, si se poseen más de una controladora de disco. La planeación debe realizarse teniendo en cuenta los 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 sistema operativo, son almacenados tangibles como son cintas magnéticas, discos y otros. A cada archivo le corresponde un espacio en el sistema operativo. Oracle requiere de varios archivos para su funcionamiento, los cuales conforman su estructura física. A la estructura lógica le corresponde un espacio por unidad, pero sus limitaciones son independiente de las localizaciones de espacio físico.

    USO DE MEMORIA

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

    • 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 las siguientes 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 Oracle es cargado a la memoria al inicio de las operaciones y es usado por cada base de datos existente en el equipo.

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

    EL SGA (System Global Area): Se puede llamar Shared global á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 al bajarla. Su tamaño no puede ser cambiado, pero si puede ser visto con el comando "SHOW SGA" en el SQL*DBA. Su longitud esta definida por lo parametros 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, 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 forma nombre_propietario.nombre_tabla.

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

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

    Patrón de consulta: Una de las herramientas lógicas más poderosas de SQL es el reconocimiento de un patrón de consulta, instrumento éste que permite la búsqueda por nombre, dirección u otro dato parcialmente recordado. Los patrones de consulta juegan un papel importante en el momento de realizar consultas, ya que es común que necesitemos encontrar un texto y no recordemos exactamente cómo fue ingresado. Con el uso del operador LIKE podemos comparar patrones y ubicar un texto, independientemente de la posición en que se encuentre.

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

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

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

    Agrupamiento de datos

    SQL proporciona una forma eficiente para manejar la información con el agrupamiento de datos a través de la formación de grupos y las funciones correspondientes, dando la posibilidad de procesar no solo registros individuales como hemos hecho hasta ahora. También 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 información del grupo.

    Para la formación de grupos adicionamos, a la forma básica 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 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 contener las funciones de grupo, así como la columna o expresión 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 de los grupos. En el siguiente caso se hace un resumen de ventas por cliente, con la cantidad de ventas, valor mínimo, medio y máximo, así como la suma total de ventas. La formación del grupo será por el nombre del cliente y la columna a cuantificar para cada grupo será el valor de las ventas.

    El orden en las consultas por grupos, cuando no esta presente la 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).

    Subconsultas

    Otro aspecto de fácil diseño y uso que muestra una vez más las posibilidades de SQL son las subconsultas. Subconsulta es aquella consulta de cuyo resultado depende otra consulta, llamada principal, y se define como una sentencia 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áximo de 16 niveles.

    Las particularidades de las subconsultas son:

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

    2. Puede devolver un valor único o una lista de valores y en dependencia de esto se debe usar el operador del tipo correspondiente.

    3. No puede usar el operador BETWEEN, ni contener la orden ORDER BY.

    4. Puede contener una sola columna, que es lo más común, o varias columnas. Este último caso se llama subconsulta con columnas múltiples. Cuando dos o más columnas serán comprobadas al mismo tiempo, deben encerrarse entre paréntesis.

    Grupos con subconsulta

    Para combinar grupos con subconsulta debemos incluir en la sentencia 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 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 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ón 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 índice se activa, como en el caso cuando relacionamos la tabla de clientes y ventas por la columna código para identificar al cliente (WHERE clientes.codigo=ventas.codigo).

    La identificación 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 se activa.

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

    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 del bloque de código de PL/SQL, compuesto por cuatro secciones DECLARE, BEGIN, EXCEPTION y END.

    Asignación de valores: Las dos formas que existen para asignar 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 la sentencia SELECT, como vimos anteriormente, puede estar compuesto por ninguna, una o varias filas, dependiendo de la condición que define la consulta. Para poder procesar individualmente cada fila de la consulta debemos definir un cursor (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 programació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 de procedimientos y funciones llamados "empaquetados" que se pueden incluir en el código de procedimientos o disparadores definidos por el usuario.

    El disparador es un bloque de código que se activa cuando se pulsa 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 procedimiento empaquetado, pudiendo el usuario redefinir esta asignación o capturar el disparador para ampliarlo o modificarlo con su propio código.

    A partir de la versión 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, además, 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 gestión y mantenimiento de todos los procedimientos almacenados como una sola entidad para una determinada aplicación.

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

    SQLReport de Oracle realiza de forma flexible, sencilla y eficiente la creación de reportes, informes o listados permitiendo, entre otras facilidades, la visualización previa por pantalla con una gran variedad en estilos de presentación.

    Definiciones básicas: Para adentrarnos en el tema primero veremos las definiciones básicas, fundamento del diseño del reporte en Oracle:

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

    Grupo: El grupo es una sección del reporte que representa al conjunto de columnas de la consulta, como una unidad, para determinar 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, de forma automática, un grupo que contiene todos las columnas presentes en la lista 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 más de un grupo, con el fin de separar las columnas de la consulta, por ejemplo para crear diferentes niveles en el reporte, como el cálculo de subtotales.

    Campos: Cada columna de la consulta pasa a ser un campo del reporte. Además, 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 cálculos.

    Parámetro: Variables definidas por el usuario para transferir datos a la consulta en el momento de la ejecución del reporte. Se hace referencia al parámetro en la consulta con su nombre precedido por dos puntos como: nombre_parametro.

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

    Texto: Define la ubicación y forma de presentación de los 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 parámetro en la sección de textos se hace referencia con su nombre, precedido con el carácter & de la forma: &nombre.

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

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

    Definiciones: Comenzaremos explicando las diferentes partes 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 del sistema 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 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 administración de un diccionario de datos, el control de accesos, el manejo de la consistencia de la información y otras características enfocadas a facilitar los programas de acceso y explotación de la información. Como ejemplos podemos citar a los 4 grandes: PROGRESS, SYSBASE, INFORMIX, y ORACLE.

    Historia de Informix

    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 proporciona fiabilidad superior, atendiendo las necesidades de las exigentes prácticas actuales del e-business-particularmente para aplicativos que requieran transacciones de alto desempeño. Soporta requisitos de procesamiento de transacción online, complejos y rigurosos. Optimiza capacidades de inteligencia del negocio competitivas. Maximiza operaciones de datos para el grupo de trabajo y para la empresa en total. Proporciona la firmeza de una administración de base de datos comprobada, mejor de su especie.

    Informix Dynamic Server con J/Foundation combina las características 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 lógica de negocio del lado servidor usando el lenguaje Java™. Java User Defined Routines (UDRs) tienen completo acceso a las características de la base de datos extensible líder mundial, de la base de datos IDS. Haciendo del IDS la plataforma 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 procedimientos almacenados en Java, permitiendo el uso de los paquetes Java estándar que se encuentran incluidos en el Java Development Kit (JDK). Escribir UDRs en Java proporciona aplicativos mucho más flexibles que se pueden desarrollar más rápidamente que C, y más potentes y administrables que los lenguajes de procedimientos almacenados.

    Una extensión adicional de escribir UDRs en Java es escribir módulos DataBlade® en Java. Los módulos DataBlade son colecciones de nuevas funciones del lado-servidor y tipos de datos puestos en conjunto para extender el IBM Informix® Dynamic Server con el servidor de datos J/Foundation. El DataBlade Developer's Kit (DBDK) ahora soporta Java y permite el desarrollo, diseminación y depuración de UDRs en Java. La tecnología IBM Informix DataBlade es líder en la industria en extender el servidor para permitir tanto la administración de contenido rich, cuanto la lógica 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 más general que Informix. Informix por su lado, se especializó más en aplicaciones tipo GIS (datos geográficos), Datawarehouse y Datamining. Sin duda a los gurús, les agrada más Informix que Oracle.

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

    En la practica, como buenos enemigos acérrimos, ambas tienen parecidas características y funcionalidades. Cada una tiene las típicas ampliaciones que permiten especializar la base de datos a un cierto tipo de aplicación (en Informix se llaman DataBlades, ver imagen 3). Para competir, en cada nueva versión que sacaban, las dos iban añadiendo de serie muchas de las extensiones que en la versión anterior eran opcionales (de pago por separado). En el momento de escribir 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 frente a 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 una base de datos más moderna y 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 idéntica a la de Informix-4GL. Se han implementado los tipos de datos básicos, los de fecha y hora, intervalos y 'datetime'.

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

    El manejo de los formularios de entrada de datos se ha implementado siguiendo la sintaxis original de Informix-4GL, sin embargo se ha modificado la sintaxis de 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 todas las tuplas 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 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, la implementación de las funciones de manejo de formularios de entrada se ha realizado de manera independiente de la implentación a bajo nivel (curses). Gracias a esto es posible desarrollar librerías de funciones que gestionen los formularios de entrada de manera gráfica, generando interfaces en X-Window.

    La generación de código está actualmente muy enfocada a la interfaz de PostgreSQL. Una posible ampliación sería la generalización de este código, 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 de datos definido por Microsoft y que se ha convertido en estándar).

    A N E X O S

    Figura 1. Modelo de Bases de Datos

    CONCLUSIÓN

    Con la idea de facilitarnos las tareas que debemos de desempeñar 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 más de los inventos del hombre, aunque debemos decir que las tecnologías para su fabricación y explotación han tenido un desarrollo sorprendente a partir de la segunda mitad del siglo XX. Esta herramienta por sí sola no es capaz de efectuar ninguna tarea, es tan sólo un conjunto de cables y circuitos que necesitan recibir instrucción por parte de los humanos para desempeñar alguna tarea. El problema entonces, se puede fijar en ¿cómo vamos a poder hacer que un conjunto de circuitos desempeñen una determinada tarea y nos entreguen los resultados que nosotros esperamos?, es decir, ¿de qué manera se puede lograr la comunicación entre el hombre y el ordenador?.

    Así pues, tratando de dar una solución al problema planteado, surgieron los lenguajes de programación, que son como un lenguaje cualquiera, pero simplificado y con ciertas normas, para poder trasmitir nuestros deseos al ordenador.

    El Sistema de Gestión 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 sólida establecida por SQL Server 6.5. Como la mejor base de datos para Windows NT, SQL Server es el RDBMS de elección 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 creació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 recursos del sistema informático en todas las arquitecturas de hardware, para garantizar su aprovechamiento al máximo en ambientes cargados de información.

    Informix-4GL ofrece herramientas para crear menús, formularios de entrada de datos y generadores de listados. Será necesario definir estas mismas herramientas manteniendo, a ser posible, la sintaxis original. En principio se generarán aplicaciones que funcionen en modo texto, dejando para una futura ampliació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

    Valencia