Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

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

     

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter