Microsoft SQL Server

download Microsoft SQL Server

of 38

Transcript of Microsoft SQL Server

Microsoft SQL Server es un sistema para la gestin de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, PostgreSQL o MySQL.

Caractersticas de Microsoft SQL ServerHistoria de versiones Versin Ao Nombre de la versin Nombre clave 1.0 1989 SQL Server 1-0 SQL (OS/2) 4.21 1993 SQL Server 4.21 SEQUEL (WinNT) 6.0 1995 SQL Server 6.0 SQL95 6.5 1996 SQL Server 6.5 Hydra 7.0 1998 SQL Server 7.0 Sphinx SQL Server 7.0 1999 Plato OLAP Tools 8.0 2000 SQL Server 2000 Shiloh SQL Server 2000 8.0 2003 Liberty 64-bit Edition 9.0 2005 SQL Server 2005 Yukon 10.0 2008 SQL Server 2008 Katmai 10.50 2010 SQL Server 2008 R2 Kilimanjaroy y y y y y

Soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. Incluye tambin un potente entorno grfico de administracin, que permite el uso de comandos DDL y DML grficamente. Permite trabajar en modo cliente-servidor, donde la informacin y datos se alojan en el servidor y los terminales o clientes de la red slo acceden a la informacin. Adems permite administrar informacin de otros servidores de datos.

Este sistema incluye una versin reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos ms pequeos, que en sus versines 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita. Es comn desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a travs de los llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a travs de la implementacin de aplicaciones de dos capas mediante el uso de formularios Windows.

En el manejo de SQL mediante lneas de comando se utiliza el SQLCMD Para el desarrollo de aplicaciones ms complejas (tres o ms capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor slo est disponible para Sistemas Operativos

ProgramacinT-SQLArtculo principal: T-SQL

T-SQL (Transact-SQL) es el principal medio de programacin y administracin de SQL Server. Expone las palabras clave para las operaciones que pueden realizarse en SQL Server, incluyendo creacin y modificacin de esquemas de la base de datos, introducir y editar datos en la base de datos, as como supervisin y gestin del propio servidor. Las aplicaciones cliente, ya sea que consuman datos o administren el servidor, aprovechan la funcionalidad de SQL Server mediante el envo de consultas de T-SQL y declaraciones que son procesadas por el servidor y los resultados (o errores) regresan a la aplicacin cliente. SQL Server que sean administrados mediante T-SQL. Para esto, expone tablas de slo lectura con estadsticas del servidor. La funcionalidad para la administracin se expone a travs de procedimientos almacenados definidos por el sistema que se pueden invocar desde las consultas de T-SQL para realizar la operacin de administracin. Tambin es posible crear servidores vinculados (Linked Servers) mediante T-SQL. Los servidores vinculados permiten el funcionamiento entre mltiples servidores con una consulta.

Cliente Nativo de SQLCliente Nativo de SQL es la biblioteca de acceso a datos para los clientes de Microsoft SQL Server versin 2005 en adelante. Implementa nativamente soporte para las caractersticas de SQL Server, incluyendo la ejecucin de la secuencia de datos tabular, soporte para bases de datos en espejo de SQL Server, soporte completo para todos los tipos de datos compatibles con SQL Server, conjuntos de operaciones asincrnas, las notificaciones de consulta, soporte para cifrado, as como recibir varios conjuntos de resultados en una sola sesin de base de datos. Cliente Nativo de SQL se utiliza como extensin de SQL Server plug-ins para otras tecnologas de acceso de datos, incluyendo ADO u OLE DB. Cliente Nativo de SQL puede tambin usarse directamente, pasando por alto las capas de acceso de datos de Guadalajara.....

Desventajasy

MSSQL usa Address Windowing Extensin (AWE) para hacer el direccionamiento de 64-bit. Esto le impide usar la administracin dinmica de memoria, y slo le permite alojar un mximo de 64 GB de memoria compartida.

y

y

MSSQL no maneja compresin de datos (excepto la versin 2008 Enterprise Edition, que s lo hace), por lo que las bases de datos pueden llegar a ocupar mucho espacio en disco. MSSQL requiere de un sistema operativo Microsoft Windows, por lo que no puede instalarse, por ejemplo, en servidores Linux.

INTRODUCCION En vista del auge que toma cada vez la tecnologa, espreciso saber hacer de todo lo relacionado son software, pero no podemos olvidarque tambin existe la parte de cmo manejar datos e informacin. Para ello existe afortunadamente formas o maneras de comopoder guarda informacin necesaria y de vital importancia para nuestrasempresas o compaas. Es por tal motivo, es preciso conocer hacer muy de fondo lasdiferentes plataformas o manejadores de bases de datos para poder optar por la msadecuada para ser implanta, si es necesario, en nuestras compaas o empresas,como lo son SQL, ORACLE y INFORMIX. Informix es uno de los cuatro grandes de las bases de datos junto DB2 de IBM,SQL Server de Microsoft y Oracle. Aunque en muchos aspectos es mejor que Oracle, no se ha sabido mover en elterreno del marketing. Oracle captur la mayor parte del mercado y Informix nose recuper de las perdidas econmicas. DB2 y SQL Server tenan grandes compaasdetrs con otros negocios que les permiti aguantar la poltica agresiva deOracle. Recientemente IBM adquiri Informix con lo que el mercado de las basesde datos comerciales en UNIX (Linux) qued entre IBM y Oracle. Puedes encontrar una infinidad de informacin sobre Oracle sobre Linux enInternet, pero muy poca sobre Informix. La poca informacin es debido a la pocacomunidad Internet que tiene Informix, al menos comparada con la de Oracle. Y esque, hoy en da, las documentaciones oficiales, de tan sencillas que quierenser, cada vez son ms confusas e incompletas. Sin duda, el mejor soporte tcnicoque hay para un producto es su comunidad de usuarios en Internet. Informix pordesgracia no ha sabido crearla. Una bsqueda de "oracle linux" enGoogle devuelve unas 972.000 pginas, mientras que "informix linux"143.000. SQL (Standar Query Lenguaje) es un lenguaje estandarizadode base de datos, el cual nos permite realizar tablas y obtener datos de ella demanera muy sencilla. Para exponer mas claramente los conceptos se realizaranejemplo sobre relaciones que se crearan aqu para entender mejor como funcionaSQL. Tambin se puede decir, SQL es un lenguaje bastantesencillo, principalmente orientado a bases de datos y, sobre todo, al manejo deconsultas. Visual Basic incorpora esta extensin junto a nuestras bases dedatos, obteniendo potentes resultados. De hecho, las consultas que se realizanen Access, estn desarrolladas o basadas en este lenguaje, por lo que suimplementacin en Visual Basic no es complicada. El objetivo principal de SQL es la realizacin deconsultas y clculos con los datos de una o varias tablas.

Consejos Para Escribir Mandatos En SQL He aqu una serie de consejos (a veces normas), que hay quetener en cuenta a la hora de escribir mandatos SQL en nuestras aplicaciones enVisual Basic: 1. Un mandato en SQL se expresa en una cadena de caracteres oString. 2. Dicho mandato se puede escribir en la propiedadRecordSource de un control Data (ms adelante, podremos prescindir del controlData para realizar nuestras consultas), con el fin de crear una consulta en lainterfaz. 3. Los nombres de los campos especificados (y de las tablas),que contengan ms de una palabra, han de encerrarse entre corchetes ([nombre]).Como norma general, se suelen escribir siempre entre corchetes. 4. Para especificar un determinado campo de una determinada tabla, se ha deescribir primero el nombre de la tabla, un punto y, a continuacin, el nombredel campo (nombre_tabla.nombre_campo). 5. Al especificar una expresin de bsqueda, si sta se refiere a unaexpresin de caracteres, stos han de encerrarse entre comillas simples('expresin_a_buscar'). 6. Para especificar una fecha en una bsqueda, sta debe encerrarse entresignos numeral (#fecha#) en Access, Dbase X, etc., y entre comillas simples ('fecha') parabases Sql Server, Informix, etc. 7. Si se utiliza la propiedad RecordSource del control Data, para crearnuestras consultas en SQL, tras introducir el mandato SQL (siempre como unaexpresin de cadena) es necesario refrescar el control Data(control_data.Refresh). Mandato Sql Estndar El lenguaje SQL est compuesto por una serie de sentencias y de clusulasmuy reducidas en nmero, pero muy potentes en efectividad. De entre todas laspalabras, existen cuatro que son las ms utilizadas, estando compuestas por unasentencia y por tres clusulas: 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 inglslas letras que lo componen, es decir "ese-cu-ele" y no"siquel" como se oye a menudo) empieza en 1974 con la definicin, porparte de Donald Chamberlin y de otras personas que trabajaban en loslaboratorios de investigacin de IBM, de un lenguaje para la especificacin delas caractersticas de las bases de datos que adoptaban el modelo relacional.Este lenguaje se llamaba SEQUEL (Structured English Query Language) y seimplement en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Lasexperimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisindel lenguaje (SEQUEL/2), que a partir de ese momento cambi de nombre pormotivos legales, convirtindose en SQL. El prototipo (System R), basado en estelenguaje, se adopt y utiliz internamente en IBM y lo adoptaron algunos desus clientes elegidos. Gracias al xito de este sistema, que no estaba todavacomercializado, tambin otras compaas empezaron a desarrollar sus productosrelacionales basados en SQL. A partir de 1981, IBM comenz a entregar susproductos relacionales y en 1983 empez a vender DB2. En el curso de los aosochenta, numerosas compaas (por ejemplo Oracle y Sybase, slo por citaralgunos) comercializaron productos

basados en SQL, que se convierte en el estndarindustrial de hecho por lo que respecta a las bases de datos relacionales. En 1986, el ANSI adopt SQL (sustancialmente adopt el dialecto SQL de IBM)como estndar para los lenguajes relacionales y en 1987 se transfom en estndarISO. Esta versin del estndar va con el nombre de SQL/86. En los aossiguientes, ste ha sufrido diversas revisiones que han conducido primero a laversin SQL/89 y, posteriormente, a la actual SQL/92. El hecho de tener un estndar definido por un lenguaje para bases de datosrelacionales abre potencialmente el camino a la intercomunicabilidad entre todoslos productos que se basan en l. Desde el punto de vista prctico, pordesgracia las cosas fueron de otro modo. Efectivamente, en general cadaproductor adopta e implementa en la propia base de datos slo el corazn dellenguaje SQL (el as llamado Entry level o al mximo el Intermediate level),extendindolo de manera individual segn la propia visin que cada cual tengadel mundo de las bases de datos. Actualmente, est en marcha un proceso de revisin del lenguaje por parte delos comits ANSI e ISO, que debera terminar en la definicin de lo que eneste momento se conoce como SQL3. Las caractersticas principales de esta nuevaencarnacin de SQL deberan ser su transformacin en un lenguaje stand-alone(mientras ahora se usa como lenguaje hospedado en otros lenguajes) y laintroduccin de nuevos tipos de datos ms complejos que permitan, por ejemplo,el tratamiento de datos multimediales. Una base de datos como ejemplo Presentaremos ahora la estructura de la base de datos que seutilizar para los ejemplos de las siguientes lecciones. No se describirn lasfases de anlisis ni los modelos conceptuales y lgicoa que han sidonecesarios para alcanzar tal estructura, desde el momento en que esto se apartarade los objetivos de este curso. La estructura de la base de datos estrepresentada en el diagrama relacional de la Figura 3. Cada rectngulorepresenta una relacin. El nombre de la relacin est en la seccin msoscura de la parte alta del rectngulo. El resto del rectngulo estsubdividido en tres columnas, en las cuales estn definidas las caractersticasde los atributos que componen la relacin. La columna central contiene losnombres de los atributos; la de la derecha, su tipo (han sido utilizados lostipos del SQL/92), y la de la izquierda sus propiedades, Las propiedades de losatributos se indican con las siglas "PK" y "FK", quesignifican respectivamente que los correspondientes atributos forman parte de lallave primaria de la relacin (Primary Key) o de una llave externa (ForeignKey). Las flechas hacen converger las llaves externas con las primarias a lasque se refieren. Los nombres de los atributos en negrita indican que stos nopueden tomar el valor NULL, o sea que no pueden ser indeterminados. Figura 1. Ver en anexos cuadro de ejemplo de la base de dato. La finalidad de la base de datos consiste en contener lasinformaciones bibliogrficas de un conjunto de publicaciones, a fin de poderlasconsultar fcilmente y utilizarlas para la construccin de otras bibliografas.sta se ha modelado en la falsa lnea del sistema bibliogrfico del sistemaLaTeX, para contar con un ambiente consolidado al que referirse y facilitar larealizacin de programas de conversin entre un sistema y otro. El significadode las relaciones que componen la base de datos es el siguiente: Publication: Una publicacin genrica. Normalmente,esta relacin se usa slo para asignarles un identificativo unvoco a todaslas publicaciones presentes en la base de datos, dejando la especificacin delas dems caractersticas en relaciones especficas para cada tipo depublicacin. Adems, se usa para implementar uniones complejas entre laspublicaciones y otras relaciones. Por ejemplo, la que existe entre una publicaciny su autor. Gracias a la estructura adoptada, se puede contar con publicacionesescritas de muchos autores y con autores que escriben diferentes tipos depublicaciones.

Author: Representa al autor de una publicacin. La llaveprimaria est compuesta por el identificativo de la publicacin y por el de lapersona, lo que grantiza la unidad de la asociacin entre las dos entidades. Editor: Representa al coordinador de una publicacin. La estructura esidntica a la de la tabla Author. Person: Representa a una persona (por ejemplo, un autor) en la base dedatos. Actualmente, las informaciones consideradas interesantes son slo elapellido y el nombre. Publisher: La casa editorial de una publicacin. Institution: La institucin (por ejemplo una universidado una software house) responsable de una publicacin. Book: Un libro con una casa editorial precisa. InBook: Una parte de un libro. La parte puedecaracterizarse por un ttulo, por el nmero del captulo o por el de la pgina.Las informaciones a propsito del libro y, por tanto, comunes a sus diferentespartes, se memorizan en la relacin Book. Proceedings: Las actas de un congreso o de unaconferencia. InProceedings: Una parte de las actas de un congreso. Lasinformaciones referidas a la publicacin que contiene esa parte estn en larelacin Proceedings. Article: Un artculo publicado en un peridico o en unarevista. Manual: Una publicacin de documentacin tcnica. Techreport: Un informe tcnico publicado por una escuelau otra institucin. Thesis: Una tesina o una tesis. Misc: Una publicacin que no puede englobarse en ninguna de las categorasanteriores. No voy a explicar el significado de los atributos que componen las diferentesrelaciones, puesto que sus nombres se explican por s mismos. Slo una anotacinsobre el atributo "pub_month": se ha definido como de tipo CHAR(3), esdecir una cadena con una longitud fija de tres caracteres que incluir lasabreviaturas de los nombres de los meses (las primeras tres letras de losnombres ingleses). Los lazos entre las relaciones deberan ser bastante fcilesde entender. Como ejemplo para todos, usaremos el que conecta la relacin Bookcon la relacin Publisher. Este lazo sirve para describir la la editorial de unlibro. En la relacin Book no estn presentes todos los datos de la editorial,sino slo un identificativo numrico para ella. El nmero ser la llaveprimaria de la relacin Publisher y como tal permitir identificar unaeditorial precisa. En la relacin Book el atributo publisher es una llaveexterna hacia la relacin Publisher. Una situacin ms compleja es la que afecta a lasrelaciones Publication, Author y Person; efectivamente, en Author estnpresentes dos llaves externas: una que identifica la publicacin a la que lainstancia de relacin se refiere, y otra que permite remontarse a los datos dela persona que desempea el papel de autor. Se podra preguntar cul es lautilidad de la relacin Publication y por qu no se ha establecidodirectamente un nexo entre la relacin Author y las relaciones que representanlos tipos de publicacin concretos. La respuesta es que el modelo relacional nopermite

hacerlo. En efecto, desde el momento en que un autor puede escribirdiferentes tipos de publicacin, el atributo pubblicationID debera ser unallave externa hacia todas las relaciones de las publicaciones, pero esto no estpermitido desde el momento en que contradice la definicin misma de llaveexterna. En las siguientes lecciones se implementar la base de datosde ejemplo usando el lenguaje SQL estndar. El DBMS especfico usado serPostgresSQL, pero se podr sustituir con cualquier DBMS que soporte l'Entrylevel del SQL/92. SQL SERVER Microsoft SQL Server 7.0 constituye un lanzamientodeterminante para los productos de bases de datos de Microsoft, continuando conla base slida establecida por SQL Server 6.5. Como la mejor base de datos paraWindows NT, SQL Server es el RDBMS de eleccin para una amplia gama de clientescorporativos y Proveedores Independientes de Software (ISVs) que construyenaplicaciones de negocios. Las necesidades y requerimientos de los clientes hanllevado a la creacin de innovaciones de producto significativas para facilitarla utilizacin, escalabilidad, confiabilidad y almacenamiento de datos. .Objetivos del Diseo de SQLServer Los clientes estn buscando soluciones para sus problemas denegocios. La mayora de las "soluciones" de bases de datos solamentetraen mltiples niveles de costos y complejidad. La estrategia de Microsoft esla de hacer que SQL Server sea la base de datos ms fcil de utilizar paraconstruir, administrar e implementar aplicaciones de negocios. Esto significatener que poner a disposicin un modelo de programacin rpido y sencillopara desarrolladores, eliminando la administracin de base de datos paraoperaciones estndar, y suministrando herramientas sofisticadas paraoperaciones ms complejas. SQL Server 7.0 disminuye el costo total de propiedad a travsde caractersticas como administracin multi-servidor y con una sola consola;ejecucin y alerta de trabajos basadas en eventos; seguridad integrada; yscripting administrativo. Esta versin tambin libera al administrador de basede datos para aspectos ms sofisticados del trabajo al automatizar las tareasde rutina. Al combinar estos poderosos servicios de administracin con lasnuevas caractersticas de configuracin automtica, Microsoft SQL Server 7.0es la eleccin ideal de automatizacin de sucursales y aplicaciones de base dedatos insertadas. Los clientes invierten en sistemas de administracin debases de datos, en forma de aplicaciones escritas para esa base de datos y laeducacin que implica para la implementacin y administracin. Esa inversindebe protegerse: a medida que el negocio crece, la base de datos deber crecery manejar ms datos, transacciones y usuarios. Los clientes tambin deseanproteger las inversiones a medida que escalan aplicaciones de base de datoshacia equipos porttiles y sucursales. Para cumplir con estas necesidades, Microsoft ofrece un motorde base datos nico que escala desde una computadora porttil que ejecutaWindows 95 o Windows 98, hasta clusters de procesadores mltiples simtricosde terabyte que ejecutan Windows NT Server Enterprise Edition. Todos estossistemas mantienen la seguridad y confiabilidad que exigen los sistemas denegocios de misin crtica. Nueva para el lanzamiento de 7.0 es una versin de rastro debaja memoria con capacidades de replicacin de multi-sitio. Se ajusta muy biena las necesidades cada vez mayores del mercado de la computacin mvil. Lasotras caractersticas tales como bloqueo a nivel de lnea dinmico, elparalelismo intra-query, query distribuido, y mejoras para las bases de datosmuy grandes (VLDB)

hacen que el SQL Server 7.0 sea la eleccin ideal parasistemas OLTP de alta tecnologa y sistemas de data warehousing. Mientras los sistemas de procesamiento siguen siendo uncomponente clave para las infraestructuras de bases de datos corporativas, lascompaas tambin estn invirtiendo bastante en mejorar la comprensin quetienen de sus datos. La estrategia de Microsoft consiste en reducir el costo yla complejidad del data warehousing mientras hace que la tecnologa sea msaccesible a una mayor cantidad de pblico. Microsoft ha establecido un enfoque total a todo el procesode data warehousing (almacenamiento de datos) . El objetivo es facilitar laconstruccin y diseo de soluciones de data warehousing costo efectivas a travsde una combinacin de tecnologas, servicios y alianzas con los proveedores. La Microsoft Alliance for Data Warehousing es una coalicinque une a los lderes en la industria de almacenamiento de datos yaplicaciones. El Microsoft Data Warehousing Framework constituye un conjunto deinterfaces de programacin diseadas para simplificar la integracin yadministracin de soluciones de data warehousing. Las innovaciones del productoen SQL Server 7.0 mejoran el proceso de data warehousing: Servicios deTransformacin de Datos; manejo mejorado de las consultas complejas y bases dedatos muy grandes; procesamiento analtico en lnea e integrado; y elMicrosoft Repository. Otro componente esencial es el soporte extenso paraintegracin de terceros. Las innovaciones permiten que SQL Server 7.0 sea el lder envarias de las categoras de aplicacin de rpido crecimiento en la industriade base de datos. Estas incluyen comercio electrnico, computacin mvil,automatizacin de sucursales, aplicaciones de lnea de negocios insertadas ymercados de datos. Las reas de liderazgo e innovacin en el Microsoft SQLServer 7.0 incluyen:

y

La primera base de datos en escalar desde la computadora porttil hasta la empresa utilizando la misma base de cdigo y ofrecer el 100% de compatibilidad de cdigo

y

La primera base de datos en soportar la auto-configuracin y auto-sintonizacin

y

Primera base de datos con OLAP integrado

y

La primera base de datos con Servicios de Transformacin de Datos integrado

y

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

y

La primera base de datos en proveer administracin de multi-servidor para cientos de servidores

y

La ms amplia gama de opciones de replicacin de cualquier base de datos

y

La mejor integracin con Windows NT Server

y

La mejor integracin con Microsoft Transaction Server

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

y

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

y

El Enterprise Edition fue lanzado en diciembre de 1997. Se incluyeron caractersticas adicionales en esta edicin tales como soporte para Microsoft Cluster Server, sintonizacin de 4 GB RAM, English Query y soporte para sistemas de hasta 8 procesadores.

y

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.

y

Beta 1 fue lanzado en junio de 1997 a 200 clientes. Este grupo inclua un nmero limitado de proveedores independientes de software (ISV), autores de libros, diseadores de materiales para cursos, OEMs y algunas cuentas corporativas. No se pusieron copias a disposicin de la prensa o analistas. Este lanzamiento enfoc las pruebas de funcionalidad de bajo nivel y programacin de interfaces.

y

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.

y

La versin Beta de Mercadeo ser lanzada el segundo trimestre del ao en curso con alta disponibilidad.

y

El lanzamiento a fabricantes est planeado para la segunda mitad del ao 1998. Las ediciones Standard y Enterprise de SQL Server 7.0 sern lanzadas simultneamente.

Microsoft SQL Server revoluciona el concepto de Base de Datospara la Empresa. Rene en un slo producto la potencia necesaria paracualquier aplicacin empresarial crtica junto con unas herramientas de gestinque reducen al mnimo el coste de propiedad. Con Microdoft SQL Server, laempresa tiene todo de serie. Miles de Soluciones Disponibles: Tendr libertad de eleccin,ya que todas las aplicaciones de gestin del mercado corren sobre Microsoft SQLServer

y

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.

y

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 transaccin.

y

Gestin: Con un completo interfaz grfico que reduce la complejidad innecesaria de las tareas de administracin y gestin de la base de datos.

y

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. Diseada desde su inicio para trabajar en entornos Internete Intranet, Microsoft SQL Server es capaz de integrar los nuevos desarrollospara estos entornos especficos con los desarrollos heredados de aplicaciones"tradicionales". Es ms, cada aplicacin que desarrollemos para serempleada en entornos de red local puede ser utilizada de forma transparente -enparte o en su totalidad- desde entornos Internet, Intranet o Extranet.

y

Plataforma de desarrollo fcil y abierta: integrada con las mejores tecnologas de Internet como ActiveX, ADC y Microsoft Transaction Server y con las mejores herramientas de gestin y desarrollo para Internet como FrontPage97, Microsoft Office97 y Visual Interdev.

y

Diseada para INTERNET: Es el nico gestor de base de datos que contiene de forma integrada la posibilidad de generar contenido HTML de forma automtica.

y

La Base de Soluciones Integradas: La Integracin total con BaclOffice permite resolver toda las necesidades de infraestructura de la empresa con un slo paquete.

y

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

y

Mnimo coste de Propiedad: La sencillez de la instalacin, y la potencia de sus herramientas de gestin y el menor coste de toda la industria para entornos Internet, hacen de Microsoft SQL Server la mejor opcin con el menor coste.

Arquitectura RDBMS

y

Arquitectura de servidor simtrico y paralelo con balanceo automtico de carga en mltiples procesadores.

y

Kernel multithread real para mejor rendimiento transaccional y escalabilidad.

y

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

y

Completo proceso transaccional interactivo con rollback automtico y recuperacin de rollforward.

y

Optimizador de consultas mejorado basado en coste.

y

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

y

Soporte E/S asncrono para acceso en paralelo a mltiples dispositivos de disco para un mejor throughput.

y

Bloqueo a nivel fija y pgina con escalacin de bloqueos; resolucin automtica de deadlocks.

Datos distribuidos y replicacin

y

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

y

Replicacin asncrona o contnua basada en registros, o sincronizacin planificada de tablas point-in-time.

y

Configuracin de replicacin grfica y caractersticas de gestin.

y

Replicacin de subscriptores ODBC, incluyendo IBM DB2, ORACLE, SYBASE y Microsoft Access.

y

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

y

Replicacin de tipos de datos Texto e Imagen.

Data Warehousing y amplio soporte de datos

y

Ejecucin transaccional en paralelo, carga e indexacin de datos , y verificacin de integridad.

y

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

y

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

y

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

y

Copias de seguridad en cinta y recuperacin de tablas individuales.

y

Reconstruccin de ndice sin realizar dropping y recreacin del ndice.

Integracin Internet y correo electrnico

y

MAPI, permitiendo aplicaciones de flujo de trabajo y notificacin de cambio de datos automtica.

y

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

y

SQL Web Assistant, para el retorno automtico de datos en formato HTML.

y

Procedimientos almacenados para generar pginas HTML o actualizar datos en plantillas Web.

y

Posibilidad de poblar automticamente carpetas pblicas de Microsoft Exchange con datos.

Gestin y administracin centralizada de bases de datos

y

SQL Enterprise Manager, una consola de gestin y motorizacin 32-bit visual basada en Windows.

y

Un nico punto de configuracin y gestin de control de datos remotas.

y

SQL Executive, planificador de trabajos y monitor para gestin proactiva de servidores distribuidos.

y

Operaciones remotas desatendidas mediante un "agente inteligente" que incluye evento-alertarespuesta.

y

Scripts Visual Basic a travs de SQL-Distributed Management Objects (SQL-DMO) basados en OLE.

y

DBA Assistant, para el mantenimiento automtico rutinario en una nica tarea planificada.

y

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

y

Soporte de MIB y traps SNMP para monitorizar SQL Server desde herramientas de gestin basadas en SNMP.

Disponibilidad, fiabilidad y tolerancia a fallos

y

Mirroring de dispositivos de base de datos con failover automtico para tolerancia a fallos de dispositivos.

y

Copias de seguridad online desatendidas garantizando la consistencia de datos para la ms alta disponibilidad.

y

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

y

Recuperacin point-in-time para restaurar bases de datos o transaccin logs en un intervalo de tiempo.

y

Tolerancia a fallos de servidor, permitiendo failover automtico a un servidor de backup o en espera.

y

Mejoras en programabilidad y lenguaje

y

Triggers, procedimientos almacenados (autoexec), disparador de eventos antes y despus de conexiones.

y

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

y

Cursores basados en el motor con scrolling hacia adelante y atrs; posicionamiento absoluto y relativo.

y

Sentencias DLL permitidas dentro de transacciones.

y

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

y

Procedimientos almacenados OLE Automation.

Seguridad

y

Un nico ID de login tanto para red como para la DB para mejorar la seguridad y facilitar la administracin.

y

Password y encriptacin de datos en red para mejorar la seguridad.

y

Encriptacin de procedimientos almacenados para la integridad y seguridad de cdigo de aplicacin.

y

Interoperabilidad e integracin con desktops.

y

API estndard DB-Library totalmente soportada: estndar ODBC Nivel 2 totalmente soportado como API nativa.

y

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

y

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

y

Soporte de importantes estndares de mercado como ANSI SQL-92, FIPS 127-2, XA, SNMP.

ORACLE Es manejador de base de datos relacional que hace uso de losrecursos del sistema informtico en todas las arquitecturas de hardware, paragarantizar su aprovechamiento al mximo en ambientes cargados de informacin.Es el conjunto de datos que proporciona la capacidad de almacenar y acude aestos de forma consecuente con un modelo definido como relacional. Adems esuna suite de productos que ofrece una gran variedad de herramientas. Es el mayor y mas usado Sistema Manejador de Base de DatoRelacional (RDBMS) en el mundo. La Corporacin Oracle ofrece este RDBMS como unproducto incorporado a la lnea de produccin. Adems incluye cuatrogeneraciones de desarrollo de aplicacin, herramientas de reportes yutilitarios. Oracle corre en computadoras personasles (PC), microcomputadoras,mainframes y computadoras con procesamiento paralelo masivo. Soporta unos 17idiomas, corre automticamente en ms de 80 arquitectura de hardware ysoftware distinto sin tener la necesidad de cambiar una sola lnea de cdigo.Esto es porque ms el 80% de los cdigos internos de Oracle son iguales a losestablecidos en todas las plataformas de sistemas operativos. HISTORIA DE ORACLE El manejador de Base de datos ORACLE, surgi a final de losaos 70 y principio de los aos 80. George Koch y su equipo de tropas deasalto de tcnicos fue el primero en desembarcar en el terreno de Oracle en1982, durante un proceso de evaluacin de sistema de gestin de base de datospara una importante aplicacin comercial que George estaba diseando yconstruyendo. Cuando termino, la evaluacin fue descrita en Computer World comoel estudio ms severo de SGBD que se haba hecho nunca. El estudio fue tanriguroso con los vendedores cuyos productos haba estudiado George, que laprensa hizo eco de sus palabras en lugares tan distantes como Nueva Zelandia yen publicaciones muy alejadas del campo como el Christian Sciencia Monitor. Oracle conocida entonces como Relational Software, tenapoco ms de 25 empleados en aquel tiempo y solo unos pocos clientesimportantes. Sin embargo, cuando se completo el estudio, Oracle fue declaradavencedora. George afirmo que el SGBD Oracle era tcnicamente el mejor productodel mercado. Estas declaraciones fueron hecha en una poca en la que muy pocagente conoca el significado del trmino "Relacional", y los que loconocan (o crean conocerlo) no tenan muchas cosas favorables que decir del. La compaa de Oracle Corporation estaba trabajandoentonces para perfeccionar su joven producto, para comprender los tipos decaractersticas y funcionalidad que podra hacerlo til y productivo en elmundo de los negocios. El esfuerzo contribuyo a su refinamiento. Algunas de lascaractersticas de Oracle, tales como las salidas de SQL*FORMS fueron elresultado de dicho esfuerzo. EVOLUCIN

El poderoso modelo relacional ha evolucionado desdeherramientas y los modelos de datos de redes. La mayor manera aceptada y usadade un modelo de datos es el modelo relacional. El relacional conocido en 1969con la revisin hecha por IBM, Dr. E. F. Codd. Un modelo relacional posee tres grandes aspectos:

y

Estructuras: Definicin de objetos que contengan datos y que son accesibles a los usuarios.

y

Operaciones: Definir acciones que manipulen datos u objetos.

y

Reglas: Leyes para gobernar la informacin, como y quien manipular.

Una base de datos relacional simplifica y definida como unmodelo de informacin es estrictamente visualizable por los usuarios mediantetablas. Una tabla esta compuesta por una matriz bidimencional de filas ycolumnas. En cualquier ocasin la informacin es cambiada en una base de datosrelacional, cualquier informacin es el resultado de una consulta presentad porel usuario en el formato filas/columnas. VERSIONES DE ORACLE Oracle ha presentado cuatro generaciones para desarrollo deaplicacin: Oracle 5 y Oracle 6: fueron las dos primeras versiones deOracle, quedando aun rezagadas por las versiones sucesoras. Oracle 7: La base de datos relacional componentes deOracle Universal Server. Posee adems las versiones 7.1, 7.1.2, y 7.1.3. Oracle 7 Parallel: Ofrece a los usuarios un mtodoseguro y administrable para incrementar la performance de sus bases de datosexistentes introduciendo operaciones en paralelo y sincrnicas dentro de susambientes informticos. Oracle 8: Incluye mejoras de rendimiento y de utilizacinde recursos. Independiente de que se necesite dar soporte a decenas de miles deusuarios y cientos de terabytes de datos, o se disponga de un sistema mucho mspequeo, pero igualmente critico, todos se benefician del rendimiento

deOracle8. Este soporta aplicaciones de procesamiento de transacciones on line(OLTP) y de data warehousing mayores y ms exigentes. Oracle Fail Safe: Protege al sistema de cada deentornos Cluster Windows NT. Este producto es para que el sistema operativoWindows NT disponga de una mayor oferta de solucciones en entornos cluster. Oracle Universal Server: Con soporte completo de Web, mensajera ydatos multimedia, Oracle Universal Server es el eslabn fundamental en elcamino de transicin de la industria de la tecnologa a la informtica dered, donde la complejidad de software es transferida desde la PC de escritorio apoderosos servidores y redes. ESTRUCTURA Proceso de Pre-Instalacin Planificacin de Pre-Instalacin: 1er. Paso es determinar el tamao de los softwares deinstalacin. Esto no incluye el espacio requerido para la produccin delsistema o el espacio para el desarrollo de aplicaciones del o los sistemasOracle. PRODUCTOS TAMAO 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 tamao determinado, el prximo paso esdeterminar la localizacin del producto y las aplicaciones que soportan elnuevo RDBMS Oracle, as como el espacio a ser reservado para los propiosobjetos de la base de datos.

Oracle soporta dos tipos de almacemiento, por caracter (RAW)o por bloques (Files System), generalmente es recomendable que los seancolocados en Raw Divice. Raw Divice: es un dispositivo de caracteresdisponibles en algunos sistemas operativos el cual es asignado directamente aOracle. Oracle corre ms rpidamente con Raw Divice que con FilesSystem, por varias razones:

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

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

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

Con la intencin de evitar la contencin de los discos, sedebe considerar la instalacin de Oracle en dispositivos separados,especialmente si se tienen varios discos, y ms esencialmente, si se poseen msde una controladora de disco. La planeacin debe realizarse teniendo en cuentalos sigueintes criterios:

y

Los Files System y sus dispositivos asignados.

y

El swapping y paginamiento en Oracle, debern estar en los dispositivos ms rpidos.

y

Los tablaspace para tables e ndices en dispotivos separados.

y

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

ESTRUCTURA FSICA Y LGICA Las estructura fsica tales como los archivos del sistemaoperativo, son almacenados tangibles como son cintas magnticas, discos yotros. A cada archivo le corresponde un espacio en el sistema operativo. Oraclerequiere de varios archivos para su funcionamiento, los cuales conforman suestructura fsica. A la estructura lgica le corresponde un espacio porunidad, pero sus limitaciones son independiente de las localizaciones de espaciofsico. USO DE MEMORIA El uso de memoria en el RDBMS Oracle tiene coo propsito losiguente:

y

Almacenar los cdigos de los programas para empezar a ejecutarse.

y

Almacenar los datos necesarios durante la ejecucin de un programa.

y

Almacenar informacin sobre como es la transferencia entre procesos y perifricos.

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 corazn del RDBMS Oracle, el cual maneja lassiguientes tareas:

y

Manejar el almacenamiento y definicin de los datos.

y

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

y

Permitir los backup y la recuperacin de los datos.

y

Interpretar el SQL y PL/SQL.

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

EL PGA (Program Global Area): Es tambin llamadoProcess Global rea, consta de datos e informacin de control de losprocesos, asegurando el uso correcto de estos. El PGA contiene informacinacerca de las conexiones y los procesos que se realizan en Oracle, su tamao esvariable en longitud, pero no es dinmico. El PGA se activa al conectarse unusuario. EL SGA (System Global Area): Se puede llamar Sharedglobal rea, se podra definir como una seria de buffers en memoria residente,a travs de la cual todas las transacciones y el almacenamiento de dato fluyen.El SGA es localizado en memoria al iniciarse una instancia y desaparece albajarla. Su tamao no puede ser cambiado, pero si puede ser visto con elcomando "SHOW SGA" en el SQL*DBA. Su longitud esta definida por loparametros del archivo de iniciacin INIT.ORA. Esta Compuesto por:

y

Diccionario Cache

y

Los Redo Log Buffers

y

Los Database Buffers

y

Diccionario Cache:

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

y

Redo Log Buffers:

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

y

Database Buffers:

Es un espacio reservado en memoria para las operaciones normales de la base de datos, el cual depende del tamao especificado en el archivo de inicializacin (INIT.ORA). DIFERENTES HERRAMIENTAS DE ORACLE SQLForms: es la herramienta de Oracle que permite, de un modo sencillo y eficiente, disear pantallas para el ingreso, modificaciones, bajas y consultas de registros. El usuario podr, una vez definida la forma, trabajar con ella sin necesidad de generar cdigos, dado que Oracle trae incorporado un conjunto de procedimientos y funciones asociados a las teclas de funciones, como por ejemplo la tecla [F7], que se usa para iniciar una consulta. La herramienta fundamental de SQL es la sentencia SELECT, quepermite seleccionar registros desde las tablas de la Base de Datos, devolviendoaquellos que cumplan las condiciones establecidas y pudiendo presentar elresultado en el orden deseado. SQL (Structured Query Languague = Lenguaje de Consultaestructurado). La orden FROM identifica la lista de tablas a consultar. Sialguna de las tablas a consultar no es propiedad del usuario, debe especificarseel nombre del propietario antes que el nombre de la tabla en la formanombre_propietario.nombre_tabla. La orden WHERE decide los registros a seleccionar segn lascondiciones establecidas, limitando el nmero de registros que se muestran. La orden ORDER BY indica el orden en que aparece el resultadode la consulta. Patrn de consulta: Una de las herramientas lgicas mspoderosas de SQL es el reconocimiento de un patrn de consulta, instrumento steque permite la bsqueda por nombre, direccin u otro dato parcialmenterecordado. Los patrones de consulta juegan un papel importante en el momento derealizar consultas, ya que es comn que necesitemos encontrar un texto y norecordemos exactamente cmo fue ingresado. Con el uso del operador LIKE podemoscomparar patrones y ubicar un texto, independientemente de la posicin en quese encuentre. Para la definicin del patrn de consulta existen dos tiposde caracteres especiales: % (signo de porcentaje) llamado comodn, representacualquier cantidad de espacios o caracteres en esa posicin. Significa que seadmite cualquier cosa en su lugar: un caracter, cien caracteres o ningncaracter.

_ (signo de subrayado) llamado marcador de posicin,representa exactamente una posicin e indica que puede existir cualquiercaracter en esa posicin. Agrupamiento de datos SQL proporciona una forma eficiente para manejar la informacincon el agrupamiento de datos a travs de la formacin de grupos y lasfunciones correspondientes, dando la posibilidad de procesar no solo registrosindividuales como hemos hecho hasta ahora. Tambin podemos agrupar registrospor un criterio determinado, como por ejemplo, agrupar por clientes las ventasrealizadas. Cada grupo tendr como resultado de la consulta una fila resumenque contiene la informacin del grupo. Para la formacin de grupos adicionamos, a la forma bsicade la sentencia SELECT, la orden GROUP BY ubicada antes de ORDER BY. Las funciones para el procesamiento de grupos son: COUNT(columna) Cantidad de registros en que la columna tiene valores no nulos. COUNT(*) Cantidad de registros que hay en la tabla, incluyendo los valores nulos. MIN(columna) Valor mnimo del grupo. MAX(columna) Valor mximo del grupo. SUM(columna) Suma los valores del grupo. AVG(columna) Calcula valor medio del grupo, sin considerar los valores nulos. La lista de columnas a mostrar en la consulta puede contenerlas funciones de grupo, as como la columna o expresin usada para formar losgrupos en la orden GROUP BY. En una misma consulta no se pueden mezclarfunciones de grupo con columnas o funciones que trabajan con registrosindividuales. Las ventas por cliente es un buen ejemplo para mostrar el uso delos grupos. En el siguiente caso se hace un resumen de ventas por cliente, conla cantidad de ventas, valor mnimo, medio y mximo, as como la suma totalde ventas. La formacin del grupo ser por el nombre del cliente y la columnaa cuantificar para cada grupo ser el valor de las ventas. El orden en las consultas por grupos, cuando no esta presentela orden ORDER BY, est dado por la columna que forma los grupos. Si deseamoscambiar ese orden, como es el caso de ordenar por el valor total de ventas, sedebe adicionar al final la orden ORDER BY SUM(VALOR). Subconsultas Otro aspecto de fcil diseo y uso que muestra una vez mslas posibilidades de SQL son las subconsultas. Subconsulta es aquella consultade cuyo resultado depende otra consulta, llamada principal, y se define como unasentencia SELECT que esta incluida en la orden WHERE de la consulta principal.Una subconsulta, a su vez, puede contener otra subconsulta y as hasta un mximode 16 niveles. Las particularidades de las subconsultas son:

1. Su resultado no se visualiza, sino que se pasa a laconsulta principal para su comprobacin. 2. Puede devolver un valor nico o una lista de valores y endependencia de esto se debe usar el operador del tipo correspondiente. 3. No puede usar el operador BETWEEN, ni contener la ordenORDER BY. 4. Puede contener una sola columna, que es lo ms comn, ovarias columnas. Este ltimo caso se llama subconsulta con columnas mltiples.Cuando dos o ms columnas sern comprobadas al mismo tiempo, deben encerrarseentre parntesis. Grupos con subconsulta Para combinar grupos con subconsulta debemos incluir en lasentencia SELECT la orden HAVING, que tiene las siguientes caractersticas: 1. Funciona como la orden WHERE, pero sobre los resultados de las funciones de grupo, en oposicin a las columnas o funciones para registros individuales que se seleccionan mediante la orden WHERE. O sea, trabaja como si fuera una orden WHERE, pero sobre grupos de registros. 2. Se ubica despus de la orden GROUP BY. 3. Puede usar una funcin de grupo diferente a la de la orden SELECT. Indices El ndice es un instrumento que aumenta la velocidad derespuesta de la consulta, mejorando su rendimiento y optimizando su resultado.El manejo de los ndices en ORACLE se realiza de forma inteligente, donde elprogramador slo crea los ndices sin tener que especificar, explcitamente,cul es el ndice que va a usar. Es el propio sistema, al analizar la condicinde la consulta, quien decide qu ndice se necesita. Por ejemplo cuando en unaconsulta se relacionan dos tablas por una columna, si sta tiene definido un ndicese activa, como en el caso cuando relacionamos la tabla de clientes y ventas porla columna cdigo para identificar al cliente (WHEREclientes.codigo=ventas.codigo). La identificacin del ndice a usar est relacionada conlas columnas que participan en las condiciones de la orden WHERE. Si la columnaque forma el ndice est presente en alguna de las condiciones ste seactiva. PL/SQL: es un lenguaje portable, procedural y detransaccin muy potente y de fcil manejo, con las siguientes caractersticasfundamentales:

1. Incluye todos los comandos de SQL.

2. Es una extensin de SQL, ya que este es un lenguaje no completo dado que no incluye las herramientas clsicas de programacin. Por eso, PL/SQL 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 cdigo: La organizacin delbloque de cdigo de PL/SQL, compuesto por cuatro secciones DECLARE, BEGIN,EXCEPTION y END. Asignacin de valores: Las dos formas que existen paraasignar valores a variables de memoria, vistas en el ejemplo anterior, son:

y

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

Manejo de cursores El conjunto de filas resultantes de una consulta con lasentencia SELECT, como vimos anteriormente, puede estar compuesto por ninguna,una o varias filas, dependiendo de la condicin que define la consulta. Parapoder procesar individualmente cada fila de la consulta debemos definir uncursor (que es un rea de trabajo de memoria) que contiene los datos de lasfilas de la tabla consultada por la sentencia SELECT. Los pasos para el manejo de cursores, tema novedoso en laprogramacin de Oracle con PL/SQL, son: - Definir el cursor, especificando la lista de parmetros con sus correspondientes tipos de datos y estableciendo la consulta a realizar con la sentencia SELECT.

y

Abrir el cursor para inicializarlo, siendo ste el momento en que se realiza la consulta.

- Leer una fila del cursor, pasando sus datos a las variables locales definidas a tal efecto. - Repetir el proceso fila a fila hasta llegar a la ltima.

- Cerrar el cursor una vez que se termin de procesar su ltima fila. Disparadores El mdulo SQL*Forms tiene incorporado una coleccin deprocedimientos y funciones llamados "empaquetados" que se puedenincluir en el cdigo de procedimientos o disparadores definidos por el usuario. El disparador es un bloque de cdigo que se activa cuando sepulsa una determinada tecla u ocurre cierto evento, como puede ser: - Mover el cursor hacia o desde un campo, registro, bloque o forma. - Realizar una consulta. - Validar un dato. - Hacer una transaccin al insertar, modificar o eliminar registros de la base de datos. Oracle asocia a cada tecla de funcin un procedimientoempaquetado, pudiendo el usuario redefinir esta asignacin o capturar eldisparador para ampliarlo o modificarlo con su propio cdigo. A partir de la versin 7 de Oracle el usuario puedealmacenar, en forma independiente, sus funciones y procedimientos sin tener queescribirlos repetidamente para cada forma, y pudiendo compilarlosindependientemente de las formas que lo usen. Pero, adems, las funciones yprocedimientos se pueden agrupar en un paquete para compartir definiciones,variables globales, constantes, cursores y excepciones, as como garantizar yrevocar los permisos a nivel de paquete. En el caso que sea necesario modificar el contenido delpaquete, como el mismo se encuentra almacenado separadamente, no es necesariorecompilar nada que use ese paquete, lo que facilita la gestin y mantenimientode todos los procedimientos almacenados como una sola entidad para unadeterminada aplicacin. Adems, en la versin 7, existe un nuevo tipo de disparadorllamado de base de datos, que es un procedimiento asociado a una tabla que seactiva cuando se produce un suceso que afecta a esa tabla. Su uso ms comnconsiste en la definicin de restricciones complejas de integridad. SQLReport de Oracle realiza de forma flexible, sencilla yeficiente la creacin de reportes, informes o listados permitiendo, entre otrasfacilidades, la visualizacin previa por pantalla con una gran variedad enestilos de presentacin. Definiciones bsicas: Para adentrarnos en el temaprimero veremos las definiciones bsicas, fundamento del diseo del reporte enOracle: Consulta: Define las columnas y filas de una o variastablas que sern emitidas en el reporte, as como su orden de presentacin.Una consulta puede estar subordinada a otra consulta principal, relacionadas poruna o varias columnas. Grupo: El grupo es una seccin del reporte querepresenta al conjunto de columnas de la consulta, como una unidad, paradeterminar su ubicacin en el reporte y su forma de presentacin. Para cada grupo se definen los siguientes atributos:

- Ubicacin. - Forma de presentacin. - Texto de cabecera y final. - Ttulo de las columnas. - Ubicacin de las columnas dentro del grupo. En el momento de la definicin de una consulta se crea, deforma automtica, un grupo que contiene todos las columnas presentes en lalista de la sentencia SELECT. El nombre de este grupo se define como el nombrede la consulta, precedido por los caracteres G_. Una consulta puede tener asociado ms de un grupo, con elfin de separar las columnas de la consulta, por ejemplo para crear diferentesniveles en el reporte, como el clculo de subtotales. Campos: Cada columna de la consulta pasa a ser un campodel reporte. Adems, podemos incluir como campos del reporte las siguientesvariables: - Del sistema como &DATE y &PAGE - Del usuario, cuyo contenido es un comando SQL para realizar clculos. Parmetro: Variables definidas por el usuario paratransferir datos a la consulta en el momento de la ejecucin del reporte. Sehace referencia al parmetro en la consulta con su nombre precedido por dospuntos como: nombre_parametro. Sumario: Define variables de tipo sumario para larealizacin de clculos con el uso de las funciones Sum, Min, Max, Count yAvg. Texto: Define la ubicacin y forma de presentacin delos campos dentro del grupo, as como los textos de inicio y final para cadagrupo y para el reporte. Para ubicar un campo o un parmetro en la seccin de textosse hace referencia con su nombre, precedido con el carcter & de la forma:&nombre. SQLMenu: es el producto de ORACLE destinado a producir rbolesde mens que permiten al usuario desplazarse fcilmente a travs de suaplicacin, facilitando a su vez, la integracin con los diferentes mdulosde ORACLE. La integracin de mdulos, herramienta que permite desde unproducto de Oracle invocar otros, tambin est presente en SQLForms, desdedonde, como veremos en este artculo, se pueden realizar tareas del sistemaoperativo con llamadas a los mdulos SQLReport y SQLPlus. Definiciones: Comenzaremos explicando las diferentespartes que componen el diseo de un men en SQLMenu. Ellos son: Aplicacin Conjunto de uno o ms mens interconectados para realizar las tareas necesarias del sistema y para el cual se definen su nombre, nombre del archivo ejecutable, fecha de creacin, nombre del usuario, nmero de la versin, fecha de la ltima modificacin, directorio de ubicacin y su identificacin.

Men Lista de opciones o items que realizan las tareas especficas del sistema. Cuando se crea la aplicacin el primer men que se debe definir es el principal, cuyo nombre tiene que ser el mismo que el de la aplicacin. Este ser el men que se activar en forma automtica al cargar la aplicacin. Items Define las opciones del men y su correspondiente accin. Un tem puede llamar a otro men, ejecutar un comando o un mdulo de Oracle, as como cualquier otro programa. Para cada tem se define su posicin en el men, tipo de comando, permisos de los usuarios, texto de identificacin y la lnea del comando a realizar. Parmetros Variable que se carga en el momento de ejecucin del men y para la cual se definen un nombre de dos letras, cantidad mxima de caracteres, texto en pantalla en el momento de su ingreso, si es o no obligatorio, con o sin conversin a maysculas y su valor por defecto. Integracin desde SQLForms: La integracin de mdulos,como los casos que acabamos de estudiar, tambin esta presente en SQLForms,desde donde podemos activar los mdulos SQLReport y SQLPlus a travs delsistema operativo. En SQLReport: - Parmetros y sus valores por defecto. Esta es la va que tenemos para pasar los datos necesarios, desde SQLForms, en el momento de la ejecucin del reporte. En SQLForms: - Campos de la forma donde se van a ingresar los valores a pasar como parmetros al reporte. Procedimiento que invoca a SQLReport con sus correspondientes parmetros. Para esto se usa la orden HOST, procedimiento del sistema que tiene como funcin enviar un comando al sistema operativo, en este caso RUNREP, garantizando el paso de variables a travs de los parmetros y el retorno automtico a SQLForms. MEJORAS DE SQL SERVER EN ORACLE Oracle posee igual interaccin en todas la plataformas (Windows, Unix, Macintosh y Mainframes). Estos porque ms del 80% de los cdigos internos de Oracle son iguales a los establecidos en todas las plataformas de Sistemas Operativos. Oracle soporta bases de datos de todos los tamaos, desde severas cantidades de bytes y gigabytes en tamao. Oracle provee salvar con seguridad de error lo visto en el monitor y la informacin de acceso y uso. Oracle soporta un verdadero ambiente cliente servidor. Este establece un proceso entre bases de datos del servidor y el cliente para la aplicacin de programas. Lenguajes de cuarta generacin 4GL: Estos lenguajes sedistinguen por formar parte de un entorno de desarrollo, que comprende elmanejador de una base de datos, y todo lo que de esto se

deriva, como laadministracin de un diccionario de datos, el control de accesos, el manejo dela consistencia de la informacin y otras caractersticas enfocadas afacilitar los programas de acceso y explotacin de la informacin. Comoejemplos podemos citar a los 4 grandes: PROGRESS, SYSBASE, INFORMIX, y ORACLE. Historia deInformix 2 de junio de 1986 Es mi primer da 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 pequea compaa con grandes ambiciones; hacemos la distribucin de software para productividad en la oficina en sistemas Unix. Somos el distribuidor en Europa de otra pequea compaa, Relational Database Systems Inc, que produce este excelente banco de datos Informix 3.30 y que est introduciendo ahora las herramientas Informix-SQL e Informix-4GL que utilizan el lenguaje SQL originalmente desarrollado por IBM para el System R. Mi compaero y yo trabajamos con gran dedicacin en esto y de repente, la semana de los primeros cursos se presenta; 2 das para ISQL, 3 para I4GL. Con el tema precariamente dominado, me voy a la oficina el Lunes por la maana temprano para terminar la instalacin, en una mquina Zilog Z8000, solo para descubrir que est faltando energa elctrica, y que va a faltar hasta pasadas las 10 de la maana. A eso de las 11, hemos determinado que (a) tener el ISQL 1.10 en la mquina y las anotaciones del curso de ISQL 2.00 era una combinacin inadecuada ya que los sistemas de men han sido rediseados por completo, (b) la mquina Zilog Z8000 no es muy fiable, an cuando hay electricidad, y (c) an cuando est 'funcionando', no es suficientemente rpida ni suficientemente grande para atender 8 alumnos. Nos arrastramos a lo largo de la semana. Fue una experiencia dolorosa, tanto para 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 das. Pocos meses despus, tenamos todo el contenido del curso cerrado, ya no tenemos el Z8000, y el RDS es cosa del pasado; nuestro proveedor ahora se llama Informix Software. Ms tarde, nuestro jefe inici conversaciones con Addison-Wesley sobre la posibilidad de convertir en libro nuestras anotaciones del curso. As naci, "Usando Informix-SQL", que se hizo una extensin importante del material del curso y vende bien, estando en su segunda edicin. Informix abre sus propias oficinas en el Reino Unido y en Europa, y se encarga de su propia distribucin. Informix tambin introduce el nuevo servidor de banco de datos, Informix-Turbo, que se puede adquirir separadamente del ISQL e del I4GL. Con la introduccin de la versin 4.00, el banco de datos original se re-identifica como Informix-SE (Standard Engine) y el Turbo recibe el nuevo nombre de Informix-OnLine. ISQL e I4GL ahora se compran en separado de cualquiera de los bancos de datos. La combinacin es brillante, y sedimenta el ya amplio y creciente mercado de bancos de datos de Informix . I4GL an es un lenguaje de gran potencia para las personas que utilizan bancos de datos Informix. Informix: Dynamic IBM Informix Dynamic Server (IDS) 9.30 proporcionafiabilidad superior, atendiendo las necesidades de las exigentes prcticasactuales del e-business-particularmente para aplicativos que requierantransacciones de alto desempeo. Soporta requisitos de procesamiento detransaccin online, complejos y rigurosos. Optimiza capacidades de inteligenciadel negocio

competitivas. Maximiza operaciones de datos para el grupo de trabajoy para la empresa en total. Proporciona la firmeza de una administracin debase de datos comprobada, mejor de su especie. Informix Dynamic Server con J/Foundation combina las caractersticasde IDS con un ambiente abierto, flexible, empotrado de Java Virtual Machine.IDS con J/Foundation permite que los desarrolladores de base de datos escriban lgicade negocio del lado servidor usando el lenguaje Java. Java User DefinedRoutines (UDRs) tienen completo acceso a las caractersticas de la base dedatos extensible lder mundial, de la base de datos IDS. Haciendo del IDS laplataforma ideal para el desarrollo de base de datos Java. Adems de Java UDRs,el IDS est en conformidad con el estndar SQLJ para procedimientosalmacenados en Java, permitiendo el uso de los paquetes Java estndar que seencuentran incluidos en el Java Development Kit (JDK). Escribir UDRs en Javaproporciona aplicativos mucho ms flexibles que se pueden desarrollar ms rpidamenteque C, y ms potentes y administrables que los lenguajes de procedimientosalmacenados. Una extensin adicional de escribir UDRs en Java es escribirmdulos DataBlade en Java. Los mdulos DataBlade son colecciones de nuevasfunciones del lado-servidor y tipos de datos puestos en conjunto para extenderel IBM Informix Dynamic Server con el servidor de datos J/Foundation. ElDataBlade Developer's Kit (DBDK) ahora soporta Java y permite el desarrollo,diseminacin y depuracin de UDRs en Java. La tecnologa IBM InformixDataBlade es lder en la industria en extender el servidor para permitir tantola administracin de contenido rich, cuanto la lgica de negocio. J/Foundationest provisto con IDS en muchas de las plataformas IDS 9.30 soportadas. Lasplataformas soportadas incluyen Sun Solaris 32 bit, Microsoft Windows NT/2000,Linux, IBM AIX, SGI Irix, y Compaq Tru 64. INFORMIX: ALGUNAS DIFERENCIAS CON ORACLE Oracle siempre ha sido considerada una base de datos para uso ms generalque Informix. Informix por su lado, se especializ ms en aplicaciones tipoGIS (datos geogrficos), Datawarehouse y Datamining. Sin duda a los gurs, lesagrada ms Informix que Oracle. En cuanto a precios, Informix tiene tendencia a ser ms caro que Oracle enconfiguraciones parecidas. En la practica, como buenos enemigos acrrimos, ambas tienen parecidascaractersticas y funcionalidades. Cada una tiene las tpicas ampliaciones quepermiten especializar la base de datos a un cierto tipo de aplicacin (enInformix se llaman DataBlades, ver imagen 3). Para competir, en cada nueva versinque sacaban, las dos iban aadiendo de serie muchas de las extensiones que enla versin anterior eran opcionales (de pago por separado). En el momento deescribir este artculo las dos estn en la versin 9.X. De cara a una instalacin y configuracin bsicas, las diferencias frentea Oracle que el lector va a notar son dos: y En Oracle, tienes que definir los usuarios dentro la base de datos (gestin interna de usuarios). En cambio, Informix utiliza los mismos usuarios de Linux (los que creas con adduser), simplificando la administracin. Para conectar externamente va TCP/IP a Oracle, haca falta colgar un daemon llamado listener de un puerto. Luego el listener traduca las llamadas al SQLNet para hablar con la base de datos. Luego haba dos procesos: el daemon de la base de datos (oracle), y el daemon que escuchaba el puerto (listener). En Informix, el mismo daemon de la base de datos (ONINIT) atiende los puertos. De esta manera Informix ocupa menos memoria y recursos.

y

Con estas diferencias ya podemos ver, que Informix es unabase de datos ms moderna y integrada con Linux que Oracle. Pero los preciosson los precios, y el marketing es el marketing. Objetivos que se han cubierto La sintaxis del lenguaje es casi idntica a la de Informix-4GL. Se hanimplementado los tipos de datos bsicos, los de fecha y hora, intervalos y'datetime'. Las sentencias de asignacin, presentacin en pantalla, estructurasrepetitivas (bucles while y for) y condicionales (if..else..), generacin demens y listados se han implementado completamente. El manejo de los formularios de entrada de datos se ha implementado siguiendola sintaxis original de Informix-4GL, sin embargo se ha modificado la sintaxisde la definicin de los formularios para dar cabida a nuevos tipos de objetos,como botones o casillas de verificacin. Se ha introducido una nueva sentencia (browse), que permite visualizar todaslas tuplas devueltas por una consulta y 'navegar' por ellas mediante movimientosdel cursor. La sintaxis de algunas sentencias se ha ampliado, permitiendo nuevasfuncionalidades no encontradas en Informix-4GL, como asignaciones mltiples.Estas modificaciones estn explicadas con detalle en el manual de usuario. Posibilidades de ampliacin Se ha generado nicamente una interfaz en modo texto. Sin embargo, laimplementacin de las funciones de manejo de formularios de entrada se harealizado de manera independiente de la implentacin a bajo nivel (curses).Gracias a esto es posible desarrollar libreras de funciones que gestionen losformularios de entrada de manera grfica, generando interfaces en X-Window. La generacin de cdigo est actualmente muy enfocada a la interfaz dePostgreSQL. Una posible ampliacin sera la generalizacin de este cdigo,para permitir el desarrollo de aplicaciones que accedan a datos almacenados enotro tipo de servidores, o incluso usando ODBC (el API de acceso a bases dedatos definido por Microsoft y que se ha convertido en estndar). CONCLUSIN Con la idea de facilitarnos las tareas que debemos de desempear loshumanos, hemos venido inventado diversas herramientas a lo largo de nuestrahistoria, que nos permiten tener una mejor calidad de vida. Los ordenadores sonuno ms de los inventos del hombre, aunque debemos decir que las tecnologaspara su fabricacin y explotacin han tenido un desarrollo sorprendente apartir de la segunda mitad del siglo XX. Esta herramienta por s sola no escapaz de efectuar ninguna tarea, es tan slo un conjunto de cables y circuitosque necesitan recibir instruccin por parte de los humanos para desempearalguna tarea. El problema entonces, se puede fijar en cmo vamos a poderhacer que un conjunto de circuitos desempeen una determinada tarea y nosentreguen los resultados que nosotros esperamos?, es decir, de qu manera sepuede lograr la comunicacin entre el hombre y el ordenador?. As pues, tratando de dar una solucin al problemaplanteado, surgieron los lenguajes de programacin, que son como un lenguajecualquiera, pero simplificado y con ciertas normas, para poder trasmitirnuestros deseos al ordenador. El Sistema de Gestin de Bases de Datos (SGBD) Consiste enun conjunto de programas, procedimientos y lenguajes que nos proporcionan lasherramientas necesarias para trabajar con

una base de datos. Incorporar unaserie de funciones que nos permita definir los registros, sus campos, susrelaciones, insertar, suprimir, modificar y consultar los datos. Microsoft SQL Server 7.0 constituye un lanzamiento determinante para losproductos de bases de datos de Microsoft, continuando con la base slidaestablecida por SQL Server 6.5. Como la mejor base de datos para Windows NT, SQLServer es el RDBMS de eleccin para una amplia gama de clientes corporativos yProveedores Independientes de Software (ISVs) que construyen aplicaciones denegocios. Las necesidades y requerimientos de los clientes han llevado a lacreacin de innovaciones de producto significativas para facilitar la utilizacin,escalabilidad, confiabilidad y almacenamiento de datos. ORACLE Es manejador de base de datos relacional que hace uso de los recursosdel sistema informtico en todas las arquitecturas de hardware, para garantizarsu aprovechamiento al mximo en ambientes cargados de informacin. Informix-4GL ofrece herramientas para crear mens, formularios de entrada dedatos y generadores de listados. Ser necesario definir estas mismasherramientas manteniendo, a ser posible, la sintaxis original. En principio segenerarn aplicaciones que funcionen en modo texto, dejando para una futuraampliacin la generacin de aplicaciones en entornos grficos. BIBLIOGRAFA www.monografas.com www.abcdatos.com www.espanol.yahoo.com www.ibm.com