Oracle es una potente herramienta cliente/servidor para la
gestión
de bases de datos.
Explicamos la herramienta y las ayudas que ofrece al
desarrollador
- Introducción
- Oracle en el
mundo - Oracle en punta
´96 - Introducción al
Oracle - Versiones de
Oracle - Estructura
- Uso de
memoria - Programas y archivos que
compone Oracle - Diferentes herramientas de
Oracle - Patrón de
consulta - Agrupamiento de
datos - Sub-consultas
- Indices
- Estructura del bloque de
código - Disparadores
- Definiciones
básicas - Definiciones
- Integración desde
SQLForms - Mejoras de SQL Server en
Oracle - La familia de base de
datos - Otros
productos - Conclusión
Oracle es básicamente un herramienta
cliente/servidor para la gestión de base de datos,
es un producto
vendido a nivel mundial, aunque la gran potencia que
tiene y su elevado precio hace
que solo se vea en empresas muy
grandes y multinacionales, por norma general.
En el desarrollo de
paginas Web pasa lo mismo
como es un sistema muy caro
no está tan extendido como otras bases de datos, por
ejemplo, Access,
MySQL,
SQL Server
etc.
Oracle como antes lo mencionamos se basa en la tecnología cliente/
servidor, pues bien, para su utilización primero seria
necesario la instalación de la herramienta servidor (
Oracle8i ) y posteriormente podríamos atacar a la base de
datos desde otros equipos con herramientas
de desarrollo como Oracle
Designer y Oracle Developer, que son las herramientas de programación sobre Oracle a partir de esta
premisa vamos a desarrollar las principales acepciones de Oracle
y sus aplicaciones en las distintas ares de trabajo.
——–
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.
Oracle es básicamente una herramienta cliente/servidor
para la gestión de Bases de Datos. Es un producto vendido
a nivel mundial, aunque la gran potencia que tiene y su elevado
precio hace que sólo se vea en empresas muy grandes y
multinacionales, por norma general. En el desarrollo de páginas
Web pasa lo mismo: como es un sistema muy caro no está
tan extendido como otras bases de datos, por ejemplo, Access, MySQL,
SQL Server, etc.
Vamos ahora en centrarnos en que es Oracle exactamente y como
funciona la programación sobre éste. Oracle como
antes he mencionado se basa en la tecnología
cliente/servidor, pues bien, para su utilización primero
sería necesario la instalación de la herramienta
servidor (Oracle 8i) y posteriormente podríamos atacar a
la base de datos desde otros equipos con herramientas de
desarrollo como Oracle Designe y Oracle Developer, que son las
herramientas básicas de programación sobre
Oracle.
Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de
5ª generación, bastante potente para tratar y
gestionar la base de datos, también por norma general se
suele utilizar SQL al crear un formulario.
Referencia: Podemos |
Es posible lógicamente atacar a la base de datos
a través del SQL plus incorporado en el paquete de
programas
Oracle para poder realizar
consultas, utilizando el lenguaje
SQL.
El Developer es una herramienta que nos permite crear
formularios en
local, es decir, mediante esta herramienta nosotros podemos crear
formularios, compilarlos y ejecutarlos, pero si queremos que los
otros trabajen sobre este formulario deberemos copiarlo
regularmente en una carpeta compartida para todos, de modo que,
cuando quieran realizar un cambio,
deberán copiarlo de dicha carpeta y luego volverlo a subir
a la carpeta.
Este sistema como podemos observar es bastante engorroso
y poco fiable pues es bastante normal que las versiones se
pierdan y se machaquen con frecuencia. La principal ventaja de
esta herramienta es que es bastante intuitiva y dispone de un
modo que nos permite componer el formulario, tal y como lo
haríamos en Visual Basic o en
Visual C, esto
es muy de agradecer.
Los problemas
anteriores quedan totalmente resueltos con Designe que es una
herramienta que se conecta a la base de datos y por tanto creamos
los formularios en ella, de esta manera todo el mundo se conecta
mediante Designe a la aplicación que contiene todos los
formularios y no hay problemas de diferentes versiones, esto es
muy útil y perfecto para evitar machacar el trabajo de
otros.
Pero el principal y más notable problema es la
falta de un entorno visual para diseñar el formulario, es
decir, nos aparece una estructura
como de árbol en la cual insertamos un formulario, a la
vez dentro de éste insertamos bloques o módulos que
son las estructuras
que contendrán los elementos del formularios, que pueden
estar basados en tablas o no.
Por lo tanto si queremos hacer formularios para
practicar o para probar qué es esto de Oracle, os
recomiendo que uséis Developer pues es mucho más
fácil e intuitivo al principio.
Por casi dos décadas, Oracle Corporación
ha estado
resolviendo complejos retos en el manejo de información para empresas de todos los
tipos y tamaños. De hecho, Oracle es la mayor empresa
independiente proveedora de software y servicios para
el manejo de la información, con más de 16.000
profesionales del software trabajando en ello y operaciones en
más de 90 países.
Fue fundada en 1977 con la visión de encontrar
formas más rápidas, fáciles y potentes, de
manejar el acceso a la información, y esa visión se
ha convertido en una realidad.
Entre sus logros cuentan con la construcción del primer sistema comercial
de base de datos relacional. Vendieron el primer producto que
empleaba SQL (lenguaje de preguntas estructuradas), hoy un
estándar en la industria.
Descubrieron el potencial de un sistema cliente/servidor de bajo
costo, en lugar
de las tradicionales mainframes propietarias. Fueron pioneros en
software portable que hoy día corre sobre
prácticamente cualquier hardware.
Esta corporación de tres mil millones de
dólares, con su casa matriz ubicada
en Redwood Shores, California, es la compañía
proveedora de software para manejo de información
más grande del mundo, y la segunda mayor
compañía de software en general.
Sus innovaciones tecnológicas han guiado a la
industria de la computación, y lo que es más
importante, le han permitido a sus clientes una mayor productividad y
competitividad, usando computadoras
que cuestan menos pero que hacen más. Este enfoque en las
innovaciones del software explican por qué su programa para
manejo de información, se ha posicionado como la columna
vertebral para lo que ellos han llamado "la era de la
información".
El software que produce Oracle no sólo soporta
datos alfanuméricos ubicados en las tradicionales "filas y
columnas" de las bases de datos, sino que también soporta
textos sin estructura, imágenes,
audio y video. Puede ser
usado tanto para el manejo de información personal, como
para gigantescas bibliotecas
multimedia, y
corre en equipos desde la más pequeña laptop hasta
la mayor supercomputadora.
La base de datos "Oracle7", su producto principal, se ha
posicionado como el líder
indiscutido alrededor del mundo, y sus ingenieros
continúan extendiendo su potente tecnología. Han
creado el primer software de segunda generación para el
desarrollo de herramientas, dándoles a los usuarios las
armas
necesarias para construir aplicaciones que corran en sus
empresas. Oracle7 es el resultado de 18 años de continuo
desarrollo y mejoras. Soporta la mayoría de los lenguajes
de computación al igual que 26 idiomas
diferentes.
Una de las herramientas más populares de esta
empresa es "Oracle Power Objects". Fue la primer herramienta en
la industria que le permitía a los desarrolladores de
software, trabajar con el sistema de arrastrar y soltar los
objetos. También les permite desarrollar y correr
aplicaciones cliente/servidor que soportan desde cinco a
cincuenta usuarios en cualquier plataforma, incluyendo Windows,
Macintosh y OS/2 Warp. Para el caso de aplicaciones de gran
escala, el
programa "Designer/2000" le permite a los equipos de
desarrolladores, construir modelos para
los más sofisticados sistemas.
Tuvo lugar días pasados, en el marco del Hotel Dunas de Punta del Este, un seminario de dos
días de la compañía Oracle Argentina para
periodistas informáticos del Mercosur.
Invitados por la misma, asistimos a dicho evento, a efectos de
interiorizarnos respecto al enfoque tecnológico actual de
Oracle y su visión para el futuro inmediato en la
región y en el mundo
Para ver el gráfico seleccione la
opción "Descargar" del menú
superior
De acuerdo a la publicación especializada
Fortuna, esta compañía se ubicó en 1995 en
el segundo lugar como compañía más admirada
en el rubro de software y servicios, situándose Microsoft
Corporation en la primera posición de dicho
ránking.
A lo largo de los últimos diez años, la
compañía ha experimentado un crecimiento sostenido,
con una media de crecimiento anual del orden del 30 al
40%.
En lo que respecta al "Revenue" o ganancias, y durante
su último año fiscal, Oracle
osciló el 50%, posicionándose por encima de Intel,
Motorola, Microsoft, HP, Apple, Sun, IBM y Novell.
Tan solo en la Argentina, contando con 100 empleados, su
facturación anual ha crecido de 300.000 dólares en
1990 a 20 millones en 1995.
Una de las especialidades de esta compañía
de software, es la creación de los sistemas de
facturación para grandes volúmenes de
información, tales como los usados por las
compañías telefónicas, de gas, de electricidad,
etc., para la cobranza de sus servicios. Entre los
próximos proyectos de esta
compañía, se destaca la reestructuración del
Banco de
Previsión Social junto con la compañía
IBM.
Sobre las 11:30 hrs., del primer día de
conferencias, arribaron al aeropuerto de Laguna del Sauce, los
casi 25 periodistas provenientes de todo el Mercosur,
trasladándose luego a las instalaciones del Hotel
Dunas.
Comenzando las conferencias, hizo su alocución de
bienvenida, Sebastián Gunningham, Presidente de Oracle
Argentina. Entre otros temas, realizó una breve
reseña de la compañía Oracle a nivel
mundial, y en particular referido a la gestión de esta
empresa en la región. Presentó también las
perspectivas de crecimiento y desafío, la atención a clientes e instituciones
en Argentina, Uruguay,
Paraguay y
Bolivia,
concluyendo la disertación con una sesión de
preguntas y respuestas.
Luego del almuerzo, y sobre las 15:00 hrs., hizo su
presentación H. Figueroa, relacionada con Internet, Network Computers
y TV interactiva. Seguidamente hizo uso de la palabra, M.
Dainesi, quien enfocó su oratoria a las
soluciones de
negocios, los sistemas de
información ejecutiva (con ejemplos como Bases de
Datos Universales, etc.).
Finalizada la jornada tecnológica, tuvo lugar una
cena en el restaurant Blue Cheese, a la cual asistimos invitados
por Oracle Argentina, dando de este modo, por finalizado el
mismo.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Es un 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 acudir a estos de forma recurrente 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 personales (PC),
microcomputadoras, mainframes y computadoras con procesamiento
paralelo masivo. Soporta unos 17 idiomas, corre
automáticamente en más de 80 arquitecturas 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.
El poderoso modelo relacional ha evolucionado desde
herramientas y los modelos de datos de redes. La mayor
aceptación y uso de un modelo de datos es el modelo
relacional que fue 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, cómo y qué
manipular.
Una base de datos relacional definida como un modelo de
información es estrictamente visualizable por los usuarios
mediante tablas. Una tabla está compuesta por una matriz
bidimensional 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
presentada por el usuario en el formato de
filas/columnas.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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.
Proceso de Pre-Instalación
Planificación de
Pre-Instalación:
1er. Paso es determinar el tamaño del software 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
- Total 34.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.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Oracle soporta dos tipos de almacenamiento,
por carácter (RAW) o por bloques (Files
System), generalmente es recomendable que sean colocados en Raw
Device.
Raw Device: 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
Device que con Files System, por varias
razones:
- E I/O (Input/Output) es realizado directamente en el
disco por Oracle, independientemente del sistema
operativo. - El buffer cache del sistema del sistema operativo es
dejado a un lado. - 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 siguientes
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
dispositivos 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 en dispositivos 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
independientes de las localizaciones de espacio
físico.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
USO DE MEMORIA:
El uso de memoria en el RDBMS Oracle tiene como
propósito lo siguiente:
- 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:
- El Kernel de Oracle
- Las instancias del Sistema de Base de
Datos. - 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 (Programa Global Área)
Es también llamado Proceso 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.
Para ver el gráfico seleccione la
opción "Descargar" del menú
superior
EL SGA (System Global Area)
Se puede llamar Shared global área. Se
podría definir como una serie 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 parámetros 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.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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.
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 carácter, cien caracteres o ningún
carácter.
_ (signo de subrayado) llamado marcador de
posición, representa exactamente una posición e
indica que puede existir cualquier carácter en esa
posición.
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.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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.
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).
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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)
USO DE MEMORIA
El uso de memoria en el RDBMS Oracle tiene como
propósito lo siguiente:
- 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:
- El Kernel de Oracle
- Las instancias del Sistema de Base de
Datos. - Los Archivos relacionados al sistema de Base de
Datos.
Para ver el gráfico seleccione la
opción ¨Descargar trabajo¨ del menú
superior
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:
- 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: =.
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.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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.
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 todas 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.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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.
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.
Uno de los problemas en comprender un producto masivo
como lo es Oracle es tratar de entender como funciona el producto
sin perderse en los miles de detalles que contiene cada
solución específica. Oracle ha crecido desde
su humilde origen, como una de las tantas bases de datos
existentes en los años setentas, hasta convertirse en el
mayor líder de este segmento del mercado.
El concepto original
de base de datos relacional fue descrito por primera vez por el
Dr. Egar F. Codd a mediados de los setentas, en una
publicación del centro de investigaciones
de IBM con el título de "Sistema R4 relacional".
Aquí se habla por primera vez del SQL (Structured Query
Language) que es empleado en todas las bases de datos
relacionales existentes.
En 1979 la empresa
Relational Software Incorporated (RSI) sacó al mercado su
producto ORACLE versión 2 y se convirtió en la
primera base de datos comercial relacional de mundo. Para 1985
Oracle tenía mas de 1,000 bases de datos instaladas. IBM
no pudo hacer comercial su tecnología relacional sino
hasta 1983.
Ese mismo año RSI fue renombrado como
Oracle Corporation para evitar confusión con un competidor
llamado RTI. Para ese entonces ya estaba el Oracle versión
3 y ya no solo corría en sistemas de Digital VAX/VMS sino
también en UNIX y otras plataformas. Para 1985 Oracle
podía correr sobre 30 distintas Plataformas hasta llegar a
más de 70 hoy en día.
Algunas plataformas son curiosidades
históricas pero otras permanecen hasta nuestros
días. Actualmente Oracle puede ser usado en plataformas
Windows NT/2000/XP y Linux para captar
un importante segmento del mercado en franco crecimiento. A
continuación se presenta un resumen de lo que pasó
después: 1986 Oracle presenta la base de datos
Cliente/Servidor1987 Presenta los programas de desarrollo de
cuarta generación (Form y Reports hoy conocidos como
Developer).
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
En 1988 Oracle hace programas de aplicaciones
financieras1989 Oracle versión 61991 Oracle puede ser
corrido en plataformas masivas y paralelas 1993 Oracle
versión 7 con optimizadores sugeridos por el usuario y
programación a nivel de base de datos. 1997 Oracle
versión 8 con orientación a objetos y capacidad
masiva de almacenamiento. 1999 Oracle versión 8i con
orientación a servicios de
Internet, incluyendo programación en Java. 2000 Oracle
9i.
Aplicaciones con servicios de tres capas. 2001 Oracle 9i
con Cluster reales para servicios críticos. 2002 Oracle 91
release 2 con mejoras de
rendimiento.
LA
FAMILIA DE
BASE DE DATOS
Oracle Edición
Estándar
Esta versión fue conocida como Servidor de grupos de
trabajo (Workgroup). Este producto está considerado base
de datos multiusuario pero con un número limitado de
usuarios. Actualmente existe para Windows, Unix y Linux.
Oracle Edición Enterprise
Está dirigido a implementaciones a gran escala y
funciona en más plataformas que la Estándar e
incluye mejoras en el manejo de redes, administración, características de
Data Warehousing. También tiene otras opciones para
funciones especiales tales como integración con datos a
sistemas de información geográfica, Sonido y
Vídeo.
Personal Oracle
Esta versión es para un solo usuario y es usada
normalmente por desarrolladores que trabajan individualmente en
sus máquinas.
Como "personal" Oracle comparte las mismas características
que el Enterprise, las aplicaciones pueden ser transportadas al
área de producción real sin ningún
problema.
Algunas compañías lo utilizar para aplicaciones
móviles o donde requieren un sólo usuario aunque
para ello es mejor y más económico utilizar el
"Oracle Lite".
Oracle Lite
Fue conocido como el "Oracle Móvil" y esta
diseñado para usuarios que utilizan dispositivos
móviles inalámbricos. Este producto difiere de los
demás porque no utiliza el mismo núcleo del resto
de la familia. En
lugar de ello Oracle desarrolló un nuevo núcleo que
requiere de muy poca memoria para hacerlo compatible con las
computadoras portátiles incluyendo las agendas
electrónicas basadas en los sistemas operativos Windows CE
y Palm OS. (Requiere menos de un megabyte de memoria).
Obviamente es posible intercambiar datos (replicación)
entre este producto con cualquier otra base de datos de la
familia. Además como Oracle Lite funciona con el mismo SQL
que sus hermanos mayores, los programas diseñados para los
otros miembros pueden funcionar también con este
producto.
Oracle 9iAS (Application Server)
La popularidad de Internet e Intranet ha
estado cambiando el concepto de cliente-servidor (Donde los
clientes eran computadores con suficiente capacidad para manejar
parte de los programas) a un concepto de arquitectura de
tres capas (Donde el cliente solamente necesita de un navegador
de Internet para correr las aplicaciones y programas).
Oracle 9iAS, que remplaza al Oracle Application Server (OAS) y
al Oracle Web Application, permite colocar las aplicaciones
tradicionales de cliente-servidor a un ambiente completo de
Internet e Intranet. También añade nuevas
capacidades para publicaciones de páginas HTML.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Oracle Internet Developer Suite
Oracle también ha desarrollado una familia de
productos para desarrollo de aplicaciones:
Oracle Forms Developer
Provee de una poderosa herramienta basada en formas para
el desarrollo de aplicaciones tradicionales cliente-servidor o
para la arquitectura de tres capas utilizando Oracle 9iAS. Es
considerada de 4ta. Generación y permite construir
aplicaciones transaccionales muy robustas. La versión 6 de
este producto tiene una máquina virtual de Java para su
presentación en internet.
Oracle Reports Developer
Está diseñada para el desarrollo y
producción de reportes para ser publicados via internet
(con Oracle 9iAS) o en el concepto tradicional
cliente-servidor.
Oracle JDeveloper
Fue introducido en 1998 para desarrollar aplicaciones en
Java. Tiene muchas ayudas para evitar que el programador tenga
que escribir
mucho código de bajo nivel. El código de
Java es más flexible para el concepto de Internet pero
desafortunadamente, es menos productivo que el concepto
tradicional de 4ta. Generación como Formas. Actualmente se
están haciendo esfuerzos para mejorarlo ya que tiene la
ventaja de programación
orientada a objetos.
Oracle Designer
Provee un interfase gráfico para realizar
aplicaciones muy rápidas eliminando la programación
tradicional. Esta herramienta recibe los requerimientos y los
convierte en programas de Forms, Reports, HTML y C++. Todo esto
suena fantástico pero tiene un requisito: Los
requerimientos deben estar completamente establecidos antes de
usarlo, de lo contrario puede requerir más tiempo
implementación que con la programación
tradicional.
Oracle Discoverer
Es una herramienta para el usuario final que desea
generar su propia información a partir de los datos
existentes sin depender de un programador. Su objetivo es
realizar análisis de negocios: Ver tendencias,
creación de escenarios etc.
Oracle 9iAS Portal
Fue introducido como WebDB en 1999 y provee una
herramienta para desarrollar páginas HTML en Internet con
capacidad de utilizar otros productos de Oracle como
Reporte.
La gran mejora de este producto respecto a su antecesor
es que se puede usar "portlets" que permite a una página
de Internet dividirse entre diferentes áreas que pueden
independizar la información desplegada e interactuar con
el usuario.
10g Grids: Lo Mejor para su
Empresa
Con Oracle Database 10g, la primera
diseñada para grid computing, usted puede reducir los
costos de IT al
automatizar los servidores en cluster y la
administración para asignar recursos en forma dinámica. Las críticas editoriales
elogian el valor, la escalabilidad y capacidad de administración de Oracle, y los analistas
colocan a Oracle como el líder en amplitud de
visión y capacidad de ejecución.
Los bajos precios
convierten a Oracle Database 10g en la mejor opción
para pequeñas, medianas y grandes empresas. Y solamente
Oracle ofrece los beneficios de clustering alta disponibilidad y
escalamiento horizontal a pedido—con Oracle Real
Application Clusters.
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.
Para ver los gráficos seleccione la opción
¨Descargar trabajo¨ del menú
superior
Alexandra Del Valle Brito Gómez