Oracle

HISTORIA DE ORACLE Fue fundada en 1977 con la visión de encontrar formas más rápidas, fáciles y potentes, de manejar el

Views 404 Downloads 5 File size 221KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

HISTORIA DE ORACLE 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. Oracle se vende y se publicó por separado de la base de datos Oracle. Sin embargo, las versiones principales de una base de datos Oracle por lo general resultan en una nueva versión de Oracle para apoyar las nuevas funciones de la base de datos. La primera versión de Oracle fue nombrado aplicación interactiva Mundial (IAF). Esta tiene dos componentes principales, el compilador (Generador de Aplicaciones Interactivas - IAG) y el intérprete de tiempo de ejecución (interactivo de aplicaciones de procesador - IAP). Esto proporciona una interfaz en modo de caracteres para permitir a los usuarios ingresar y consultar datos de una base de datos Oracle. IAF fue puesto en libertad con Oracle Database Versión 2, la primera versión comercial de Oracle. Su nombre se cambió a FastForms con Oracle Database versión 4 y agregó una herramienta adicional para ayudar a generar un formulario predeterminado para editar con la herramienta estándar (IAG). Cambiado el nombre a la versión de SQL * Formas 2 con la base de datos Oracle 5. Oracle Forms 2.3 fue basada en caracteres, y no el uso de PL / SQL. El archivo de origen es un archivo ASCII *. INP. Era común que los desarrolladores para modificar el archivo INP directamente a pesar de que no contó con el apoyo por parte de Oracle. Esta versión utiliza su propio código primitivo y poco amigable integrado en el lenguaje, aumentada por el usuario sale compilado lenguaje vinculados con el binario de Oracle-siempre en tiempo de ejecución. Oracle Forms 3 fue basada en caracteres, y fue la verdadera primera versión de los formularios, utilizando PL / SQL. Todas las versiones posteriores son un desarrollo de esta versión. Puede ejecutarse en X, pero no apoyó ninguna de las características de interfaz X específicos, tales como casillas de verificación. El archivo de origen es un archivo ASCII *. INP. El IDE se ha mejorado mucho desde el 2,3 que redujo drásticamente la necesidad de editar el archivo INP directamente, aunque ésta sigue siendo una práctica común. Formas 3 genera automáticamente dispara y el código para apoyar algunas limitaciones base de datos. Las restricciones pueden ser definidas, pero no se aplica en la base de datos Oracle 6 en este momento, por lo que Oracle utiliza tres formas de reclamar el apoyo a la aplicación de restricciones. Hubo una "interfaz gráfica de usuario" versión de los formularios 3, que podría ejecutarse en entornos tales como X Windows, pero no de Microsoft Windows. Esto no tuvo ningún tipo nuevo disparo, lo que hacía difícil para fijar PL / SQL para eventos de interfaz gráfica de usuario, tales como los movimientos del ratón.

Versión de Oracle Forms 4.0 fue el primer "verdadero", basado en la versión GUI. Un tiempo de ejecución basada en caracteres todavía estaba disponible para ciertos clientes por encargo. La llegada de Microsoft Windows 3 forzada de Oracle para liberar esta versión de interfaz gráfica de las formas por razones comerciales. Formas 4.0 acompañados Oracle versión 6 con soporte para Microsoft Windows y X Window. Esta versión fue notoriamente con errores y presentó una IDE que no era popular con los desarrolladores. Esta versión no fue utilizada por la suite de software de Oracle Financials. El 4,0 archivos de código fuente fueron nombrados *. FMB y se binario. Oracle versión 4.5 Formularios fue realmente un gran lanzamiento en lugar de un "punto de desenganche" de 4.0 a pesar de su "5" número de versión. Contiene importantes cambios funcionales y un nuevo IDE, en sustitución del IDE impopular introducido en 4.0. Se cree que se denominará 4.5 con el fin de cumplir con las obligaciones contractuales para apoyar las formas 4 para un período de tiempo para determinados clientes. Añadió interfaz gráfica de usuario basada en factores desencadenantes y proporciona un IDE moderno con un navegador de objetos, las hojas de propiedades y el editor de código. Debido al conflicto paradigmas operativos, Oracle versión formas 5, que acompañaba a la versión de Oracle 7, presentada personalizado modos gráficos afinado especialmente para cada uno de los principales sistemas. Sin embargo, su interfaz de programación interna se mantuvo independiente del sistema. Fue rápidamente reemplazado por las formas 6. Formas 6 fue lanzado con base de datos Oracle 8.0, que fue publicado de nuevo como 6i Forms con Oracle 8i. Este fue, básicamente, las formas 4.5 con algunos asistentes adicionales y correcciones de errores. Pero también incluye la facilidad para ejecutar dentro de un servidor web. Un servidor de formularios que se suministró resuelto el problema de la adaptación de Oracle Forms a una de tres niveles, la entrega basada en el navegador, sin incurrir en grandes cambios en su interfaz de programación. El, muy forman interfaz interactiva complejo fue proporcionada por un applet de Java que se comunicaba directamente con el servidor de formularios. Sin embargo, la versión web no funciona muy bien a través de HTTP. Una revisión de las formas 9i fue adaptado a las versiones posteriores de 6i para hacer frente a esto. El sistema de nomenclatura y numeración aplicado a Oracle Forms sufrió varios cambios debido a factores de comercialización, sin alterar la naturaleza esencial del producto. La capacidad de código en Java, así como PL / SQL, se añadió en este período. Formas 7-8 no existía. Estos números se saltó a fin de que el número de versión de Oracle Forms para que coincida con la versión de base de datos en v9.

9i formas incluidas las correcciones de errores que muchos 6i y era una versión estable. Pero tampoco incluyó cliente-servidor o interfaces basadas en caracteres, y de tres niveles, la entrega basada en el navegador es la opción de despliegue único de aquí en adelante. La capacidad de importar clases Java significa que puede actuar como un cliente de servicios web. Formas 10g es en realidad la versión 9.0.4 Formas, por lo que no es más que una 9i formas rebautizado. Formularios 11 se incluyen algunas características nuevas, confiando en Oracle AQ para que pueda interactuar con JMS. 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. Sus innovaciones tecnológicas les 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 explica 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".

CARACTERISTICAS DE ORACLE ORACLE 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. Oracle es una potente herramienta basada en la arquitectura Cliente/Servidor para la gestión de Bases de Datos Relacionales desarrollada por Oracle Corporation. Ofrece una interfaz intuitiva basada en el explorador, que es capaz de administrar las bases de datos, crear tablas, vistas y otros objetos de bases de datos, importar, exportar y visualizar datos de tablas, ejecutar scripts de SQL y generar informes. Además, soporta transacciones, es estable, escalable y multiplataforma. Para desarrollar en Oracle se utiliza PL/SQL, el cual es un lenguaje de quinta generación, bastante potente para tratar y gestionar la base de datos. Oracle Designer y Oracle Developer son las herramientas de programación que se usan en este motor. Developer es una herramienta con la que podemos crear formularios, compilarlos y ejecutarlos de forma local. La principal ventaja de esta herramienta

es que es bastante intuitiva y dispone de un modo que nos permite componer el formulario. Designer es una herramienta que se conecta a la base de datos y creamos formularios en ella, de manera que todo el mundo se conecta mediante Designer a la aplicación que contiene todos los formularios y se evita interferir en el trabajo de otros.

ARQUITECTURA DE ORACLE Oracle se basa en Bases de datos objeto-relacionales. Estas incorporan sólo estructuras estáticas de datos, las llamadas tablas. Es suficiente para modelar problemas de datos muy grandes, pero no permite aplicar técnicas de programación orientada a objetos. Hay una serie de bases de datos llamadas orientadas a objetos, donde el elemento de trabajo en lugar de la tabla es el objeto, que incorpora datos y procedimientos. Pero este enfoque todavía está en estudio y no parece clara su ventaja sobre el enfoque relacional. Oracle aprovecha un nuevo enfoque, el objeto-relacional. Es un punto medio entre los dos anteriores, permite a los usuarios utilizar la base de datos de forma relacional, pero incorpora extensiones de las bases de datos orientadas a objetos. Oracle incluso soporta el enfoque orientado a objetos. El hecho que de permite los tres objetos hace que se pueda trabajar de forma relacional y añadir cualquier mejora orientada a objetos. Pero el núcleo de Oracle sigue estando pensado para el enfoque relacional. Mejoras procedentes del enfoque orientado a objetos: • •







Tipos abstractos: Permiten crear dominios complejos para almacenar datos en los atributos de las tablas. Tablas anidadas: Permiten seleccionar valores dentro de una lista para un atributo. Representan relaciones uno a varios, donde el contenido de la tabla representa la tabla relacionada con la actual. Sirven por ejemplo para elegir un mes de una lista con los doce meses. Varrays: Es una colección de valores que permite seleccionar varios valores relacionados con un atributo de una tabla. Por ejemplo permitiría elegir varias asignaturas en el mismo alumno (lo que está en desacuerdo con el modelo relacional, pero es que en realidad la información del varray se almacena aparte) Objetos grandes: Se trata de los llamados LOB (large object binary). Permiten almacenar textos larguísimos, archivos externos (de los que sólo se almacenará la dirección) y datos binarios. Vistas-objeto: Permiten crear objetos a partir de las tablas de datos.

El servidor Oracle está formado por dos elementos: La instancia de la base de datos: Consta de datos (llamados estructuras de memoria) y de procesos en memoria (procesos background) necesarios para dar servicio a los usuarios de la base de datos. Puede haber más de una instancia si se distribuye la base de datos en más de una máquina. Cada instancia abre una y sólo una base de datos. Ficheros en disco: Representan la base de datos en sí. Consta de: • •

Estructuras lógicas: Tablespaces, objetos del esquema de usuario. Estructuras físicas: Los ficheros de datos almacenados en disco. Los ficheros de datos (asociados a los tablespaces), los ficheros redo log y los ficheros de control

Las bases de datos relacionales incorporan sólo estructuras estáticas de datos, las llamadas tablas. Esto es suficiente para modelar problemas de datos muy grandes, pero no permite aplicar técnicas de programación orientada a objetos. Oracle aprovecha el enfoque objeto-relacional. Este permite a los usuarios utilizar la base de datos de forma relacional, pero incorpora extensiones de las bases de datos orientadas a objetos. Oracle incluso soporta el enfoque orientado a objetos. Las estructuras de las Bases de Datos Oracle pueden ser divididas en tres clases: • •

Internas a la Base de Datos. Internas a las áreas de memoria (incluidas la memoria compartida y procesos).

ESTRUCTURAS INTERNAS A LA BASE DE DATOS Las estructuras internas son: Tablas: Es la unidad lógica básica de almacenamiento. Contiene filas y columnas (como una matriz) y se identifica por un nombre. Columnas: Las columnas también tienen un nombre y deben especificar un tipo de datos. Una tabla se guarda dentro de un tablespace (o varios, en el caso de las tablas particionadas). Usuario: Es la indicación del nombre y el password de la cuenta (esquema) que se está creando. Esquema: Es una colección de objetos lógicos, utilizados para organizar de manera más comprensible la información como objetos del esquema. Índices: Un índice es una estructura creada para ayudar a recuperar datos de una manera más rápida y eficiente. Un índice se crea sobre una o varias columnas de una misma tabla. De esta manera, cuando se solicita recuperar datos de ella

mediante alguna condición de búsqueda, ésta se puede acelerar si se dispone de algún índice sobre las columnas. Cluster: Es un grupo de tablas almacenadas en conjunto físicamente como una sola tabla que comparten una columna en común. Si a menudo se necesita recuperar datos de dos o más tablas basadas en un valor de la columna que tienen en común, entonces es más eficiente organizarlas como un cluster, ya que la información podrá ser recuperada en una menor cantidad de operaciones de lectura realizadas sobre el disco. Vistas: Una vista implementa una selección de varias columnas de una o diferentes tablas. Una vista no almacena datos, sólo los presenta en forma dinámica. Se utilizan para simplificar la visión del usuario sobre un conjunto de tablas, haciendo transparente para él la forma de obtención de los datos. Secuencias: El generador de secuencias de Oracle se utiliza para generar números únicos y utilizarlos, por ejemplo, como claves de tablas. La principal ventaja es que libera al programador de obtener números secuenciales que no se repitan con los que pueda generar otro usuario en un instante determinado. Procedimientos y Funciones: Una función es un grupo de sentencias SQL, escritas generalmente en PL/SQL que implementan una serie de rutinas que devuelven un valor. Los procedimientos son casi idénticos, solo que no devuelven ningún valor. Triggers: Es un procedimiento que se ejecuta en forma inmediata cuando ocurre un evento especial. Estos eventos sólo pueden ser la inserción, actualización o eliminación de datos de una tabla. Sinónimos: Son objetos del sistema que apuntan a otros objetos. Implementan alias de tablas, vistas, secuencias o unidades de programas. Por lo general se utilizan para esconder ciertos detalles del objeto que representan al usuario final. Segmento de Rollback: son áreas lógicas de la base de datos que contienen información de las transacciones que se encuentran en curso y que aún no han sido confirmadas o deshechas. Dentro de los tablespaces y datafiles, el espacio utilizado para almacenar datos es controlado por el uso de tres estructuras, las cuales son las siguientes: •





Segmentos: Es un grupo de extensiones utilizados para almacenar un tipo particular de datos. Existen 4 tipos de segmentos: datos, índices, rollback y temporales. Extensiones: Es un grupo de bloques de datos. Se establecen en un tamaño fijo y crecen a medida que van almacenando más datos. También se pueden redimensionar para aprovechar mejor el espacio de almacenamiento. Bloques: Un bloque es la unidad de almacenamiento más pequeña en una base de datos Oracle. Contiene una pequeña porción de información (header) referente al bloque en sí y el resto a los datos que guarda.

Generalmente, un bloque de datos ocupará aprox. 2 KB de espacio físico en el disco (asignación típica).

ESTRUCTURAS DE MEMORIA INTERNA Oracle mantiene dos estructuras principales de memoria: el Área Global de Programa (Program Global Area, PGA) y el Área Global del Sistema (System Global Area o también Shared Global Area, SGA). El PGA es la zona de memoria de cada proceso Oracle. No está compartida y contiene datos e información de control de un único proceso. El SGA es la zona de memoria en la que la BD Oracle guarda información sobre su estado. Esta estructura de memoria está disponible para todos los procesos, por eso se dice que está compartida.

ESTRUCTURAS EXTERNAS A LA BASE DE DATOS Las estructuras externas están contenidas por ficheros que utiliza el servidor de la Base de Datos. Estos ficheros guardan información tanto de los datos almacenados en la Base de Datos como la necesaria para gobernar la propia Base de Datos. Los ficheros son: • • • •

Ficheros de la BD Ficheros redo log Ficheros de control Ficheros de Traza

Para poder ejecutar SQL sobre la base de datos, hay que conectar con la instancia Oracle de la base de datos, lo cual requiere la comunicación entre un proceso cliente y el servidor. Los componentes utilizados por Oracle para procesar el SQL dependen del código enviado y se efectúan estos eventos: • • •

Las consultas devuelven filas. Las instrucciones DML (Lenguaje de Manipulación de Datos) graban cambios. La instrucción commit asegura el proceso de la transacción.

SQL Básico: Es un lenguaje estándar de comunicación con las bases de datos que permite especificar diversos tipos de operaciones en éstas. SQL explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones en las bases de datos. Es un lenguaje de alto nivel, que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación y la orientación a objetos. De esta forma una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros. PL/SQL: Es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones. Los bloques PL/SQL presentan una estructura específica compuesta de tres partes bien diferenciadas: 1. 2. 3.

La sección declarativa en donde se declaran todas las constantes y variables que se van a utilizar en la ejecución del bloque. La sección de ejecución que incluye las instrucciones a ejecutar en el bloque PL/SQL. La sección de excepciones en donde se definen los manejadores de errores que soportará el bloque PL/SQL.

PL/SQL permite: • • • • • •

Manipular datos de una Base de Datos Oracle. Usar técnicas de control (bucles) y condicionales. Controlar las filas de una consulta, una a una. Controlar errores (excepciones) definidas por el usuario o propios de Oracle (predefinidos). No diferencia las minúsculas de las mayúsculas CLIENTE == cliente

Los bloques son la unidad básica de cualquier programa PL/SQL. La estructura básica de un bloque: tiene tres partes, aunque sólo es obligatoria la parte del conjunto de sentencias ejecutables. DECLARE: Declaraciones de uso local: variables, cursores, y excepciones de Usuario. BEGIN: Proceso: conjunto de sentencias ejecutables. EXCEPTION: Excepciones: zona de control de errores. END;

T-SQL (Transact SQL): es el lenguaje de programación que proporciona SQL Server para ampliar SQL con los elementos característicos de los lenguajes de programación: variables, sentencias de control de flujo, bucles,etc. Transact SQL existe desde las primeras versiones de SQL Server. La mayoría de las instrucciones de T-SQL son idénticas a SQL. T-SQL trabaja con transacciones. Una transacción es un conjunto de operaciones que van a ser tratadas como una única unidad. Estas transacciones deben cumplir 4 propiedades fundamentales comúnmente conocidas como ACID (atomicidad, coherencia, asilamiento y durabilidad). UPDATE Products SET UnitPrice=20 WHERE ProductName =’Hola’. Es una transacción. Un conjunto de operaciones debe marcarse como transacción para que todas las operaciones que la conforman tengan éxito o todas fracasen. La sentencia que se utiliza para indicar el comienzo de una transacción es ‘BEGIN TRAN’. Si alguna de las operaciones de una transacción falla hay que deshacer la transacción en su totalidad para volver al estado inicial en el que estaba la base de datos antes de empezar. Esto se consigue con la sentencia ‘ROLLBACK TRAN’. Si todas las operaciones de una transacción se completan con éxito hay que marcar el fin de una transacción para que la base de datos vuelva a estar en un estado consistente con la sentencia ‘COMMIT TRAN’. IntellisSense en el editor de consultas de Transact-SQL. Tiene una ventana de listado de errores e incluye el subrayado de los mismos. Cuenta con los siguientes operadores de asignación: – +=, -=, *=, /=, %= Con Transact SQL también es posible definir tratamientos procedimentales directamente en la base de datos. Estos tratamientos podrán ser utilizados por todos los usuarios de la base siempre y cuando posean los privilegios necesarios. Es posible conservar la definición de estos tratamientos y convertirlos en parametrizables mediante la creación de funciones y procedimientos. También se pueden establecer tratamientos procedimentales para definir restricciones de integridad complejas. Entonces estaremos hablando de triggers o desencadenadores de base de datos Otra de las posibilidades que nos ofrece el T-SQL es utilizar transacciones anidadas. Esto quiere decir que podemos tener transacciones dentro de transacciones, es decir, podemos empezar una nueva transacción sin haber terminado la anterior.

Tablespaces: Un tablespace es una división lógica de la Base de Datos. Cada Base de Datos tiene al menos uno. Un tablespace puede pertenecer sólo a una Base de Datos. Los tablespaces se utilizan para mantener juntos los datos de usuarios o de aplicaciones para facilitar su mantenimiento o mejorar las prestaciones del sistema. De esta manera, cuando se crea una tabla, se debe indicar el tablespace al que se destina. Por defecto se depositan en el tablespace SYSTEM, que se crea por defecto. Este espacio de tablas es el que contiene el diccionario de datos, por lo que conviene reservarlo para el uso del servidor, y asignar las tablas de usuario a otro. Lo razonable y aconsejable es que cada aplicación tenga su propio espacio de tablas. Hay varias razones que justifican este modo de organización de las tablas en tablespaces: 1. Un tablespace puede quedarse offline debido a un fallo de disco, pero el SGBD continúa funcionando sin problemas. 2. Los tablespaces pueden estar montados sobre dispositivos ópticos si son de sólo lectura. 3. Permiten distribuir a nivel lógico/físico los distintos objetos de las aplicaciones. 4. Son una unidad lógica de almacenamiento, pueden usarse para aislar completamente los datos de diferentes aplicaciones. 5. Oracle permite realizar operaciones de respaldo/recuperación a nivel de tablespace mientras la Base de Datos sigue funcionando. Cuando se crean los tablespace, se les asigna un espacio en disco que Oracle reserva inmediatamente, se utilice o no. Si este espacio inicial se ha quedado pequeño Oracle puede gestionar el crecimiento dinámico de los ficheros sobre los que se trabajan los tablespace. Esto elimina la posibilidad de error en las aplicaciones por fallos de dimensionamiento inicial. Los parámetros de crecimiento del tamaño de los espacios de tablas se especifican en la creación de los mismos. Se pueden ver los tablespace definidos en nuestra Base de D con el siguiente comando SQL: SELECT * FROM user_tablespaces; Dentro de cada espacio de tabla se pueden almacenar objetos de distinta naturaleza: tablas, índices, etc. Pero no se pueden mezclar si más. Una manera de separarlos es mediante los segmentos. Se puede almacenar más de un segmento por tablespace. Un segmento está contenido en su totalidad en un tablespace. Un segmento está constituido por un conjunto de extensiones, que no son más que grupos de bloques de disco contiguos. Cuando se borra un segmento, el espacio es devuelto al tablespace. Todos los datos de la BD están almacenados en segmentos.

Existen 5 tipos de segmentos: 1. Segmentos de datos: almacenan las tablas. 2. Segmentos de índices: permiten un acceso rápido a los datos dependiendo de la cantidad de los mismos. Las consultas que sólo referencian a columnas indexadas se resuelven en el índice. 3. Segmentos de rollback: son objetos internos de la Base de Datos que permiten efectuar la restauración de las transacciones no validadas asegurando la consistencia en lectura. 4. Segmentos temporales: son creados por Oracle para un uso temporal cuando debe realizar una ordenación que no le cabe en memoria. Son eliminados cuando la sentencia finaliza. 5. Segmentos de bootstrap: Se crea en SYSTEM y contiene definiciones del diccionario para sus tablas, que se cargan al abrir la Base de Datos. No requiere ninguna acción por parte del DBA. No cambia de tamaño. La tabla que guarda la información de los segmentos de usuario es user_segments, y se puede visualizar la información sobre los segmentos con la siguiente sentencia SQL: SELECT * FROM user_segments; Listener: es un proceso servidor que provee la conectividad de red con la base de datos Oracle. El listener está configurado para escuchar la conexión en un puerto específico en el servidor de base de datos. Cuando se pide una conexión a la base de datos, el listener devuelve la información relativa a la conexión. La información de una conexión para una instancia de una base de datos provee el nombre de usuario, la contraseña y el SID de la base de datos. Si estos datos no son correctos se devolverá un mensaje de error. Por defecto el puerto del listener es el 1521. El listener no limita el número de conexiones a la base de datos Toda la información del listener la contiene un archivo denominado listener.ora. El comando para gestionar el listener es lsnrctl. Mediante este comando podemos: • • • •

Detener el listener. Ver el estado del listener. Arrancar el listener. Reiniciar el listener.

VENTAJAS 1. Oracle es el motor de base de datos relacional más usado a nivel mundial. 2. Puede ejecutarse en todas las plataformas, desde una PC hasta un supercomputador. 3. Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente. 4. Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas. 5. El software del servidor puede ejecutarse en multitud de sistemas operativos. 6. Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa. 7. ¿Qué hay de los objetos de Oracle? Este sistema ha comenzado a evolucionar en esta dirección, añadiendo tipos de clases, referencias, tablas anidadas, matrices y otras estructuras de datos complejas. Desafortunadamente, la implementación actual de las mismas no ofrece una ventaja clara en eficiencia, como sería de esperar, y sí provocan la incompatibilidad de los diseños que aprovechan las nuevas características con otras bases de datos. 8. Oracle es la base de datos con más orientación hacía INTERNET. 9. Un aceptable soporte.

DESVENTAJAS 1. Una de las versiones más recientes de Oracle es la 8 punto algo (Aunque ya está la 9i). Y es que desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos. 2. El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperantemente lento.

3. También es elevado el coste de la formación, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración.

EJEMPLOS DE MANEJO DE ORACLE He aquí algunos ejemplos de ciertas acciones que podemos realizar en el entorno ORACLE. Tabla Clientes Objetivo: Ficha con datos para identificar al cliente. Consta del código del cliente (número secuencial), fecha de alta al sistema, nombre, teléfono, dirección y alguna anotación. Requisitos: Se debe identificar a cada cliente con un código único (clave primaria), registrando su nombre, teléfono y fecha de registro (estos datos son obligatorios). La dirección y anotaciones son campos opcionales. Creación de la tabla: Ver el fuente 1 Fuente 1 CREATE TABLE clientes ( codigo integer NOT NULL PRIMARY KEY, fecha date NOT NULL, nombre char(30) NOT NULL, telefono char(20) NOT NULL, direccion char(100), anotacion LONG ); Tabla Ventas Objetivo: Registrar las ventas con al siguiente información: Código del cliente, fecha de la venta, artículo y valor de la venta. Requisitos: El número del cliente es una clave externa que hace referencia a la columna codigo en la tabla Clientes. En este caso, todos los datos son obligatorios. Se controla que la columna valor sea mayor a cero. Creación de la tabla: ver fuente 2 Fuente 2 CREATE TABLE ventas ( codigo INTEGER NOT NULL REFERENCES clientes(codigo), fecha DATE NOT NULL, articulo CHAR(20) NOT NULL, valor NUMBER(10,2) NOT NULL CHECK (valor>0) ); Las restricciones de Claves Primaria y Clave Externa se definieron a nivel de columna, pero se pueden definir a nivel de tabla, al final de la misma, como se muestra en el fuente 3: Fuente 3 CREATE TABLE clientes (codigo INTEGER NOT NULL, nombre CHAR(30) NOT NULL, direccion CHAR(100), anotacion LONG, PRIMARY KEY (codigo));

CREATE TABLE ventas (codigo INTEGER NOT NULL, fecha DATE NOT NULL, articulo CHAR(10), valor NUMBER(6,2) NOT NULL CHECK (valor>0), FOREIGN KEY (codigo) REFERENCES clientes(codigo)); A continuación mostraremos cómo crear el índice cliente_codigo para garantizar la unicidad de la clave primaria: CREATE UNIQUE INDEX cliente_codigo ON clientes(código); Secuencias: codificación numérica La codificación numérica del cliente se puede realizar con una secuencia que automáticamente genera los números enteros en orden ascendente, no siendo necesario recordar cuál fue el último número asignado ; esto evita la duplicidad de códigos. La secuencia es un objeto que genera valores enteros únicos y se emplean para crear claves primarias numéricas, con el uso del siguiente mandato: CREATE SEQUENCE codigo_cliente INCREMENT BY 1 START WITH 1; Para registrar un nuevo código con la secuencia definida anteriormente se usa la pseudocolumna codigo_cliente.NEXTVAL, la cual nos dará el siguiente valor que le corresponde a la secuencia, la forma en que esto se realiza se explicará más adelante, cuando analicemos el ingreso de datos. Para conocer el valor actual de la secuencia, o sea, el último código asignado, se usa la pseudo-columna codigo_cliente.CURRVAL, desde la tabla DUAL del sistema, cuyo fin es poder consultar pseudo_columnas (como se muestra a continuación): SELECT user,sysdate,codigo_cliente.currval FROM DUAL; donde: 1.- user es el nombre del usuario 2.- sysdate es la fecha del sistema 3.- codigo_cliente.currval es el último valor asignado a la secuencia. Ingreso de datos Una vez creadas las tablas, índices y secuencias, estamos en condiciones de ingresar datos en la tabla. El ingreso, modificación y eliminación de registros se realiza fundamentalmente con el diseño de pantallas (formularios) desde el módulo SQLFORMS (que será tema de análisis específico en otro artículo). No obstante, en este artículo veremos el uso de los mandatos INSERT UPDATE y DELETE. Para ingresar un nuevo registro debemos ensayar lo que se muestra en la tabla 1: Nombre de la Tabla (acciones) Columnas INSERT INTO CLIENTES VALUES( codigo_cliente.NEXTVAL, codigo= secuencia 'PINTURERIAS PROPIOS', nombre '45 67 89' teléfono TO_DATE('10/04/95','DD/MM/YY'), fecha 'Uruguay 1234', dirección 'LIBRERIA' anotación

SOFTWARE LIBRE Oracle Database es un software de libre desarrollo, utilización y distribución. Se puede descargar completo, libremente, con licencia de uso incluida y un tiempo ilimitado de periodo de evaluación desde la página web de Oracle http://www.oracle.com/technetwork/database/expressedition/overview/index.html. La versión más reciente hasta ahora es Database 11g Express Edition Release 2. El interesado en este software debe primero crear una cuenta de usuario en dicha página para luego proceder con su libre descarga.

BIBLIOGRAFIA http://noticiadelmundo.com/especial-que-es-oracle-y-para-que-sirve/1277/ http://oraclefacil.blogspot.com/2007/06/oracle-creacin-y-manejo-de-tablas.html