Oracle

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 56

Leonardo Bernal

Manuel Villamil
Michael Torres
Wilmar Amado

HISTORIA

Oracle surge en 1977 bajo el nombre de SDL(Software Development Laboratories )


Larry Ellison vio una oportunidad que otras empresas no supieron apreciar al descubrir
la descripcin de un prototipo de trabajo para una base de datos relacional y enterarse
de que ninguna empresa se haba comprometido a comercializar la tecnologa. Ellison y
sus cofundadores, Bob Miner y Ed Oates, se dieron cuenta del gran potencial econmico
que ofreca el modelo de base de datos relacionalpero no se dieron cuenta de que
ellos cambiaran la informtica empresarial para siempre.en 1978 cambia su nombre a
Relational Software Inc. (RSI). en1979 la compaa lanza su producto de base de
datos relacional en1982 RSI (Relational Software Incorporated ) se convierte en
Oracle.

Que es Oracle
Es un SGBD que facilita las
funciones al DBA

Administrador de Base de Datos


(DBA)

Es el responsable para el buen funcionamiento de toda me estructura de datos y


todo su entorno de trabajo, deber tener un alto conocimiento de todo el sistema
que envuelve al SGBD.

Sobre este recae una alta responsabilidad, debido a las graves repercusiones que
puede traer la mala gestin de la informacin.

Analizar e instalar en la base de datos las aplicaciones con las que van a interactuar
los usuarios

Asignacin de espacios (tablespaces) en la base de datos y ubicacin de los mismos


en los discos de la mquina

Creacin de todos los objetos (tablas, ndices, vistas, etc.) requeridos por cualquiera
de las aplicaciones, as como su dimensionamiento dentro de la base de datos.

Actualizacin de los parmetros del sistema para el correcto funcionamiento de las


aplicaciones.

Administrador de Base de Datos


(DBA)

Creacin de los usuarios y asignacin de privilegios, con el in de controlar la


seguridad de acceso de estos a la informacin de la base de datos.

Controlar y monitorizar los accesos de los usuarios a la base de datos. Excesivas


conexiones pueden provocar cuellos de botella en la red y bloqueos en algunos
de los recursos de la mquina.

Gestionar y optimizar el rendimiento de los procesos contra la base de datos.


Esta ser una de las funciones ms 'importantes del administrador, porque de
nada sirve tener una buena infraestructura montada si los colapsos son continuos
y la lentitud en los meses es constante.

Planificacin de los sistemas de Backups y recuperacin de los datos en caso de


que sea necesario.

Control del crecimiento de los archivos y procesos generados en el sistema por


parte del mismo SGBD.

Sistema Gestor de Base de Datos Oracle


(SGBD)
Est concebido con el fin de manejar grandes cantidades de informacin,
adems de admitir conexiones concurrentes de multitud de usuarios
(entornos multi-usuario) hacia los mismos datos.
aporta un hardware especfico y bajo un sistema operativo determinado, La
eleccin del entorno de trabajo (hardware, y tipologa de la estructura
cliente/servidor) ser una decisin que estar acorde con las necesidades
del propio sistema de informacin.

Sistema Gestor de Base de Datos Oracle


(SGBD)
Las principales funcionalidades aportadas el SGBD Oracle son

Soporte y tratamiento de una gran cantidad de datos

Soporte de una gran cantidad


concurrentemente a los datos.

Seguridad de acceso a los datos, restringiendo dicho acceso


segn las necesidades de cada usuario

Integridad referencial en su estructura de base de datos.

Conectividad entre las aplicaciones de los clientes en sus


puestos de trabajo y el servidor de datos Oracle estructura
diente/servidor.

Conectividad entre bases de datos remotas (estructura de bases


de datos distribuidas)

Portabilidad.

Compatibilidad.

de

usuarios

accediendo

Conceptos Generales del SGBD Oracle


Archivo de configuracin INIT.ORA : Archivo de inicializacin de valores para el arranque de la
instancia y para el establecimiento de configuraciones Oracle. Se especifican parmetros
predeterminados con el valor que se desee, con el fin de optimizar los rendimientos o adecuar los
recursos.
Estos archivos son independientes por instancia. es decir, habr tantos archivos de configuracin
como instancias activas en el sistema de informacin.
Archivos de control (Control Files) : Conjunto de archivos, de tamao reducido y estable, encargados
de mantener la consistencia del resto de los archivos de la base de datos. Mantendrn informacin
como :

Contador de Commit almacenado en cada archivo.

Nmero de Redo Log actual.

Informacin adicional que indicar a la base de datos si los archivos son todos del mismo
momento o se han recuperado de backup. el punto de arranque de la recuperacin, etc. Aunque
pequeos y generalmente divididos, son transcendentales para trabajar con la base de datos.

Conceptos Generales del SGBD Oracle

Archivos histricos (Redo Log File) : Son archivos donde se irn almacenando los cambios
provocados por las transacciones sobre la base de datos. Son utilizados exclusivamente en modo
escritura, excepto cuando se produce una recuperacin de la base de datos.

Sentencias de Commit : Es el punto de decisin de la transaccin, indicando que los cambios hechos
sobre la base de datos son validados y realizados, es un punto sin retomo para una transaccin.
Cuando se produce un Commit ste provoca una escritura en los archivos histricos (Rodo log files).
con el objetivo de que quede grabada la decisin del Commit. Los datos nuevos no tienen por que
ser escritos en disco de forma inmediata. En realidad, permanecen en memoria hasta me sean
limpiados por falta de espacio, se produzca un Checkpoint o entren en los time outs de limpieza de
memoria.

Segmentos de Rol back : Dan la posibilidad a la transaccin de no hacer Commit sino Rol back. Esto
quiere decir que. mientras que no se rehace commit, el resto de las transacciones debern verlos
datos anteriores al comienzo de la misma. Para ello, en los segmentos de rol back se guarda el valor
anterior de los datos modificados por me transaccin para la consistencia en lectura en entornos
multi-usuario

Conceptos Generales del SGBD Oracle


Puntos de ruptura ( Checkpoint ): Eventos que se activan en un tiempo determinado para la limpieza de los
bloques sucios de memoria
Un punto de ruptura se provocar porque:

Ha habido un cambio en los archivos de redo log.


Se ha llegado al lmite previamente establecido por el parmetro log_checkpoint_interval del archivo de
configuracin INIT.ORA.
Se ha legado al lmite previamente establecido por el parmetro checkpoint_timeout.
su objetivo es poder marcar puntos de recuperacin basados en los archivos histricos actuales ( redo
log files).

Archivos de base de datos : Componentes fsicos de la base de datos a nivel de sistema operativo, los cuales
contendrn los datos generados por parte de los usuarios del sistema.
Espacios de tabla (tablespaces) : Agrupaciones lgicas de uno o ms archivos de la base de datos.
Un tablespaces puede estar formado por uno o ms archivos de la base de datos, y un archivo de la base de
datos slo puede estar englobado en nico tablespaces En los tablespaces ser donde se ubiquen los datos
que se creen en la base de datos, y fsicamente se almacenarn en los archivos de base de datos que

Lmites lgicos de las Bases de Datos


Tipo

Limite

Usuario y Roles

Maximo

2,147,483,638

Tablas

Maxima por BD

Ilimitada

Filas

Maximas por tabla

Ilimitados

Columnas

Maximas por tabla

1000 columnas maximo

Indices

Max por tabla

Ilimitados

Consultas

Max nivel se subconsultas SQL -Ilimitada a partir de la


instancia FROM
-255 en la clausula
WHERE

SGBD Oracle
Para establecer un entorno de trabajo en Oracle vamos a necesitar:
Software Oracle para servidor (Oracle Server Software): Este software incluye los ejecutables para el
funcionamiento del propio gestor de la base de datos, un conjunto de herramientas para el
tratamiento de la informacin y software especifico para que sean posibles las conexiones de los
usuarios al servidor en arquitecturas cliente/servidor.
Software Oracle para cliente (Oracle Cliente Software): Este software se ubicar en los puestos de
trabajo de los usuarios.
Archivos de base de datos: La base de datos en si. los cuales sern creados a travs de herramientas
o comandos especficos de Oracle. La ubicacin de la base de datos se realizar sobre los discos del
propio servidor donde se ha establecido el Oracle Server Software.
Recursos suficientes en nuestro servidor: Previamente habr que realizar un estudio del sistema de
informacin para conocer el alcance del mismo. Posteriormente, habr que estimar la cantidad de
memoria discos y unidades centrales de proceso que van a ser necesarias para un correcto
funcionamiento.

Sistemas Operativos
Oracle, es soportado por los siguientes sistemas operativos:

Windows.
Linux.
Mac OS X.
Unix
Entre otros

Ediciones

Oracle Database Enterprise Edition(EE).

Oracle Database Standard Edition (SE).

Oracle Database Standard Edition One


(SE1).

Oracle Database Express Edition (XE).

Oracle Database Personal Edition (PE).

Oracle Database Lite Edition (LE).

La nica edicin gratuita es la Express


Edition, que es compatible con las dems
ediciones de Oracle Database 10gR2 y
Oracle Database 11g.

Oracle Data base Server Editions

Oracle BD - Requerimientos
Mnimos de Hardware

Oracle BD - Requerimientos
Mnimos de Software

Estructura del SGBD de


Oracle
La estructura del SGBD Oracle consta de tres partes bien diferenciadas
1)INSTANCIA : Motor de Oracle. Conjunto de componentes bsicos necesarios para el
funcionamiento y arranque del SGBD. Est compuesta por
Estructura de Memoria : Se almacenan los ejecutables del software Oracle y todo el
sistema necesario para el tratamiento del SGBD. La Filosofa de Oracle es la de albergar la
mxima cantidad de informacin en memoria con el objeto de acelerar el tratamiento de
los datos.
La estructura de Oracle en memoria se drvide en:
) SGA (System Global rea)
) Cach de datos (Database Buffer Cache).
) Cach de redo logs ( Redo Log Buffer Cache).
) rea de memoria compartida (Shared Pool), compuesta por las reas compartidas para
sentencias SQL y de la cach de diccionario de datos (Dictionary Cach o Row Cache).

Estructura del SGBD de


Oracle
Informacin adicional sobre procesos,
como bloqueos y colas de entrada salida para
determinadas configuraciones.
PGA (Program Global rea)
* reas privadas para sentencias SOL.
* reas de ordenacin de sentencias.
rea para ejecutables de Oracle
Archivos de configuracin ( INIT.ORA )
Procesos Background : Serie de procesos encargados de mantener. manejar y
controlar todo el SGBD
Existen unos procesos estndar. que Oracle activa siempre que ejecuta una instancia
y otros que dependern de las configuraciones establecidas en el fichero de
inicializacin (INIT.ORA)

Estructura del SGBD de Oracle


Los procesos estndar que Oracle siempre activa son:

DBWR ( Database Writer ) : Encargado de escribir en los archivos de la base de datos


todos los buffers de datos que han sido modificados en memoria por operaciones
Update, Delete, o Insert.

LGWR ( Log Writer) : Encargado de escribir en los archivos histricos de la base de


datos (Rede Log Files) la informacin contenida en los redo log buffers.

SMON ( System MONitor ) : Encargado de tratar las recuperaciones en caso de fallo


cuando se arranca el gestor.

PMON ( Process MONitor ) : Trata las recuperaciones en caso de fallo en algn proceso
de usuario.

Estructura del SGBD de Oracle


2) BASE DE DATOS : Es un conjunto de informacin almacenada convenientemente
en una estructura de archivos de disco. Existen varios tipos de archivos en Oracle,
que son
Archivos de control ( Control Files ) Como mnimo habr un archivo de control por
base de datos. aunque se podrn realizar copias del mismo, como medida de
seguridad, este archivo ser fundamental para el arranque de una base de datos. de
ah la importancia de tener copias del mismo.
Archivos de Redo Log ( Redo Log files ) En los Redo Log Buffers se reflejar toda
aquella informacin que vare (valor antiguo y nuevo del dato modificado. as como
los correspondientes a los segmentos de rolback afectados), para posteriormente
pasar esta informacin a los archivos histricos (redo log buffers).
En los archivos histricos dela base de datos escribe nicamente el proceso LGWR.

Estructura del SGBD de Oracle


Archivos de datos e ndices ( Tablespaces de D. e I. ): Los archivos de datos
almacenan la informacin propiamente dicha mientras que los archivos de ndices
almacenan estructuras para un mejor acceso ala misma mportancia de tener copias
del mismo.
Archivos del diccionario de datos Oracle ( Tablespaces del Sistema ) : A la hora de
crear una base de datos se establece un fichero para contener toda una estructura
lgica para uso exclusivo de Oracle.
Esta estructura es el diccionario de datos. en el cual se almacena toda la informacin
relativa al flujo, estado, configuraciones, modos y estructuras lgicas de trabajo de
una base de datos, cualquier informacin sobre cualquier estructura tanto lgica
como fsica de la base de datos, as como el estado permanente de cada una de
ellas, se puede localizar en el diccionario de datos de Oracle.

Estructura del SGBD de Oracle


Archivos para ordenaciones temporales ( Temporary Tablespaces ) : Cuando alguna
sentencia requiere una serie de ordenaciones. Oracle trata de realizaras en memoria.
pero, en caso de no poder llevado a cabo (casi siempre porque el espacio reservado en
memoria para ordenaciones es escaso), se crean archivos para ordenaciones temporales,
con el fin de poder efectuar las dichas sentencias.
Archivos para consistencia en lectura y recuperaciones de datos ( Tablespaces para
segmentos de rollback ) : Existen en todas las bases de datos Oracle mas estructuras
llamadas segmentos de rolback, cuyas funciones son

Mantener la consistencia en lectura para los entornos multi-usuarios.

Establecer la posibilidad de volver al estado inicial de una transaccin que no ha sido


verificada (rolback).

Albergar informacin de apoyo para las recuperaciones en caso de cada del sistema.

Estructura del SGBD de


Oracle

3. Sistema basado en compartir aplicaciones y/o datos a travs de una red.


El entorno cliente/servidor bsico. quedara establecido de la siguiente manera:
Servidor de datos compartido, donde estar ubicado el SGBD Oracle. el software del
servidor y la propia estructura fsica de los datos.
Puestos de trabajo de los usuarios, donde se ubicar el software cliente Oracle.
Infraestructura de conexin, para establecer las comunicaciones, tanto fsicas como
lgicas, entre las estaciones de los clientes y el servidor de datos.
Software de comunicaciones.

instalacin

Qu es PL/SQL?
SQL es un lenguaje de conjuntos muy poderoso, cuyo nico objetivo es manipular el contenido de
bases de datos relacionales. Si se desarrollan aplicaciones basadas en bases de datos Oracle, debe
ejecutar sentencias SQL para recuperar datos desde o cambiar datos en la base de datos. Sin
embargo, SQL no se puede utilizar para implementar toda la lgica de negocios y la funcionalidad
que el usuario final necesita en nuestras aplicaciones. Esto nos lleva a PL/SQL.
PL/SQL ofrece un conjunto de instrucciones clsicos de la programacin estructurada (instruccin
condicional IF, loops o iteraciones, asignaciones), organizado dentro de bloques ,que complementan
y amplan el alcance de SQL.
Sin duda que es posible crear aplicaciones sobre Oracle y SQL sin usar PL/SQL. Sin embargo, utilizar
PL/SQL para realizar operaciones especficas de bases de datos, particularmente la ejecucin de
sentencias SQL, ofrece varias ventajas, incluyendo una estrecha integracin con SQL, un mejor
rendimiento a travs del trfico de red reducido, y la portabilidad (los programas PL/SQL pueden
correr en cualquier instancia de base de datos Oracle). Por lo tanto, el cdigo del front-end de
muchas aplicaciones ejecuta tanto sentencias SQL como bloques PL/SQL, para maximizar el
rendimiento al tiempo que mejora la capacidad de mantenimiento de las aplicaciones.

PL/SQL(Procedural Language/Structured
Query Language)
es un lenguaje de programacin incrustado en Oracle.PL/SQL soportar todas las consultas, ya que la
manipulacin de datos que se usa es la misma que en SQL, incluyendo nuevas caractersticas:

El manejo de variables.
Estructuras modulares.
Estructuras de control de flujo y toma de decisiones.
Control de excepciones.

En un entorno de base de datos los programadores pueden construir bloques PL/SQL para utilizarlos como
procedimientos o funciones, o bien pueden escribir estos bloques , Los programas o paquetes de PL/SQL se
pueden almacenar en la base de datos como otro objeto, y todos los usuarios que estn autorizados tienen
acceso a estos paquetes. Los programas se ejecutan en el servidor para ahorrar recursos a los clientes.

Tipos de datos en PL/SQL

Numricos

NUMBER (P, S): Puede contener un valor numrico entero o de punto flotante, donde P es la precisin y S la escala. La
precisin es el nmero de dgitos del valor, y la escala es la cantidad de dgitos a la derecha del punto decimal. La precisin
mxima es 38 y la escala 127.
BINARY_INTEGER: Debido al formato interno de las variables de tipo NUMBER, las operaciones entre ellas requieren ms
tiempo de CPU que si utilizamos variables de tipo BINARY_INTEGER. Es recomendable su uso en contadores de bucles.
Permite almacenar valores entre el rango -2147482647 y +2147482647.

Carcter

VARCHAR2 (L): Guarda una cadena de longitud variable de tamao mximo L. En PL/SQL el valor mximo del tamao de una
variable de este tipo es 32.767 bytes, sin embargo las bases de datos Oracle slo permiten campos de hasta 4.000 bytes.
CHAR (L): Anlogo al VARCHAR2 pero guarda cadenas de longitud fija. Si no se especifica L, su valor por defecto es 1. El
espacio sobrante de una variable CHAR se rellena con caracteres en blanco. En PLSQL el valor mximo del tamao de una
variable de este tipo es 32.767 bytes, sin embargo las bases de datos Oracle slo permiten columnas de hasta 2.000 bytes.
LONG: Este tipo, muy similar al VARCHAR2, se trata de una cadena de longitud variable de hasta 32.760 bytes. Los tipos de
datos LONG de una base de datos Oracle son capaces almacenar hasta dos gigabytes.

Tipos de datos en PL/SQL

Fecha e Intervalo

DATE: Guardar informacin sobre la fecha, hora, da, mes, ao, hora, minuto y segundo. Las variables de este
tipo no son capaces de almacenar milisegundos. Su tamao es de 7 bytes.
TIMESTAMP [P]: Con las caractersticas del tipo DATE pero adems permite almacenar fracciones de segundo.
El parmetro P es la precisin que por defecto es 6.

Raw

RAW: Almacena datos binarios de longitud fija. Los datos de tipo RAW no implican conversiones de carcter. La
longitud mxima de una variable de este tipo es 32.767 bytes, sin embargo un campo de una tabla de tipo
RAW slo admite 2.000 bytes.
LONG RAW: Anlogo al tipo de dato LONG, pero como el anterior no implican conversiones de carcter.

Booleanos

BOOLEAN: Slo es capaz de guardar los valores TRUE (1) y FALSE (0). Las bases de datos Oracle no utilizan
este tipo de dato pero si que se puede emplear dentro del cdigo PL/SQL.

Rowid

ROWID: Este tipo de dato sirve para almacenar identificadores nicos de registros. Este identificador es con el
que trabaja internamente la base de datos Oracle para identificar dichos registros.

Construyendo bloques programas PL de /SQL

Construyendo bloques programas PL de /SQL


PL/SQL es un lenguaje estructurado con bloques. Un bloque PL/SQL es definido
por las palabras clave DECLARE, BEGIN, EXCEPTION, y END, que dividen el
bloque en tres secciones
1.

Declarativa:sentencias que declaran variables, constantes y otros


elementos de cdigo, que despus pueden ser usados dentro del bloque

2.

Ejecutable:sentencias que se ejecutan cuando se ejecuta el bloque

3.

Manejo de excepciones:una seccin especialmente estructurada para


atrapar y manejar cualquier excepcin que se produzca durante la ejecucin
de la seccin ejecutable

Slo la seccin ejecutable es obligatoria. No es necesario que usted declare


nada en un bloque, ni que maneje las excepciones que se puedan lanzar.

Construyendo bloques programas PL


de /SQL

primera cosa que hacemos despus de conectarnos a la base


mediante SQL*Plus es habilitar la salida del servidor, por lo que
las llamadas a DBMS_OUTPUT.PUT_LINE resultarn en la
visualizacin de texto en la pantalla. Luego escribimos el
cdigo que constituye nuestro bloque. Finalmente, ingresamos
una barra (/) para decirle a SQL*Plus que ejecute ese cdigo.

SQL*Plus entonces ejecuta el bloque y muestra el Hola


Mundo! en la pantalla. SQL*Plus es provisto por Oracle

Construyendo bloques programas PL


de /SQL
crear un procedimiento denominado hola_mundo mediante la ejecucin de la siguiente sentencia
DDL (Data Definition Language):
CREATE OR REPLACE PROCEDURE hola_mundo IS
l_mensaje VARCHAR2(100) := 'Hola Mundo!';
BEGIN
DBMS_OUTPUT.put_line(l_mensaje);
END hola_mundo;
Con esto hemos extendido PL/SQL. Adems de llamar a los programas creados por Oracle e
instalados en la base de datos (como DBMS_OUTPUT.PUT_LINE), podemos llamar a nuestro propio
subprograma dentro de un bloque PL/SQL:
BEGIN
hola_mundo;
END;

Sobre los nombres en una base Oracle


Estas son las reglas para construir identificadores vlidos en
una base Oracle:

El largo mximo es de 30 caracteres.

El primer carcter debe ser una letra, pero cada carcter despus
del primero puede ser una letra, un nmero (0 a 9), un signo de
pesos ($), un guion bajo (_), o un numeral (#).

Vlidos:
hola_mundo
hola$mundo
hola#mundo
invlidos:
1hola_mundo
hola%mundo

Sobre los nombres en una base


Oracle
PL/SQL es case-insensitive (no es sensitivo a maysculas y minsculas) con respecto
a los identificadores. PL/SQL trata todos los siguientes como el mismo identificador:
hola_mundo
Hola_Mundo
HOLA_MUNDO
Para ofrecer ms flexibilidad, Oracle permite evitar las restricciones de la segunda y
tercera regla, encerrando al identificador entre comillas dobles. Un quoted identifier
(identificador encerrado entre comillas) puede contener cualquier secuencia de
caracteres imprimibles excluyendo las comillas dobles; Las Diferencias entre
maysculas y minsculas sern adems preservadas. As, todos los

Sobre los nombres en una base


Oracle
siguientes identificadores son vlidos y distintos:
"Abc"
"ABC"
"a b c"
Es muy raro encontrar identificadores entre comillas en cdigo PL/SQL; algunos grupos
de desarrollo los usan para conformar con sus convenciones de nombres o porque
encuentran que una mezcla de maysculas y minsculas resulta ms fcil de leer.
Estas mismas reglas aplican a los nombres de los objetos de base de datos como
tablas, vistas y procedimientos, con una regla adicional:
a menos que se encierren entre comillas los nombres de estos objetos, Oracle los
mantendr en maysculas.

Sobre los nombres en una base


Oracle
creamos un procedimiento como el que sigue:
CREATE OR REPLACE PROCEDURE hola_mundo IS
BEGIN
DBMS_OUTPUT.put_line('Hola Mundo!');
END hola_mundo;
la base de datos Oracle lo mantendr con el
nombre HOLA_MUNDO.
En el bloque siguiente, llamaremos este
procedimiento tres veces, y aunque el nombre
luzca diferente cada vez, siempre se ejecutar
el mismo procedimiento:
BEGIN
hola_mundo;
HOLA_MUNDO;
"HOLA_MUNDO";
END;

Por otro lado, la base Oracle no ser capaz de


ejecutar el procedimiento si lo llamamos como
sigue:
BEGIN
"hola_mundo";
END;
Esto buscar dentro de la base un
procedimiento llamado hola_mundo en lugar
de HOLA_MUNDO.
Si no se quiere que los nombres de los
subprogramas se mantengan en maysculas,
los nombres se deben encerrar entre comillas
cuando se crea el subprograma:
CREATE OR REPLACE PROCEDURE
"Hola_Mundo" IS
BEGIN
DBMS_OUTPUT.put_line('Hola Mundo!');
END "Hola_Mundo";

Ejecutando SQL dentro de bloques PL/SQL


PL/SQL es un lenguaje de programacin de base de datos. Casi todos los programas
que escribiremos en PL/SQL leern desde, o escribirn en, una base de datos Oracle
utilizando SQL. Aunque estas series asumen que se conoce SQL, debemos estar
conscientes de la forma en que llamamos a las sentencias desde un bloque PL/SQL.
Oracle hace que sea muy fcil escribir y ejecutar sentencias SQL en PL/SQL. La
mayor parte de las veces, simplemente escribiremos las sentencias SQL
directamente en nuestro bloque PL/SQL y despus agregaremos el cdigo necesario
para la interfaz entre las sentencias SQL y el cdigo PL/SQL.
Supongamos, por ejemplo, que tenemos una tabla llamada empleados, con una
columna clave primaria id_empleado, y una columna apellido. Podemos ver el
apellido del empleado con ID 138, como sigue:
SELECT apellido
FROM empleados
WHERE id_empleado = 138

Ejecutando SQL dentro de bloques PL/SQL


Ahora querramos ejecutar esta misma consulta dentro de nuestro bloque
PL/SQL y desplegar el nombre. Para hacer esto, necesitaremos copiar el
apellido desde la tabla a una variable local, lo cual podemos hacer con la
clusula INTO:
DECLARE
v_apellido empleados.apellido%TYPE;
BEGIN
SELECT apellido
INTO v_apellido
FROM empleados
WHERE id_empleado = 138;
DBMS_OUTPUT.put_line(v_apellido);
END;

Ejecutando SQL dentro de bloques


PL/SQL
Eliminamos todos los empleados en el departamento 10 y mostramos cuntas tuplas fueron
eliminadas:
DECLARE
v_id_departamento empleados.id_departamento%TYPE := 10;
BEGIN
DELETE FROM empleados
WHERE id_departamento = v_id_departamento;

DBMS_OUTPUT.put_line(SQL%ROWCOUNT);
END;

Referenciamos la variable PL/SQL directamente dentro de la sentencia DELETE. Cuando el bloque


se ejecuta, la variable se reemplaza con el valor actual, 10, y el DELETE es ejecutado por el motor
de SQL. SQL%ROWCOUNT es un atributo especial de cursor que retorna el nmero de tuplas
modificadas por la ltima sentencia DML ejecutada en nuestra sesin.

Ejecutando SQL dentro de bloques


PL/SQL
Modificar todos los empleados en el departamento 10 con un 20% de
incremento salarial.
DECLARE
v_id_departamento empleados.id_departamento%TYPE := 10;
BEGIN
UPDATE empleados
SET salario = salario * 1.2
WHERE id_departamento = v_id_departamento;

DBMS_OUTPUT.put_line(SQL%ROWCOUNT);
END;

Ejecutando SQL dentro de bloques


PL/SQL
Insertar un nuevo empleado en la tabla.
BEGIN
INSERT INTO empleados (id_empleado
, apellido
, id_departamento
, salario)
VALUES (100
, 'Feuerstein'
, 10
, 200000);

DBMS_OUTPUT.put_line(SQL%ROWCOUNT);
END;

En este bloque, provemos los valores de las columnas como literales, en lugar de variables,
directamente dentro de la sentencia SQL.

OBJETOS EN ORACLE

Una base de datos orientada a objetos, es una base de datos que


incorpora todos los conceptos importantes del modelo de objetos:
Encapsulacin, Herencia y Polimorfismo.

En base de datos orientada a objetos, los usuarios pueden definir


operaciones sobre los datos como parte de la definicin de la base de
datos.

OBJETOS EN ORACLE

La base de datos est constituida por objetos, que pueden ser de muy
diversos tipos, y sobre los cuales se encuentran definidas unas
operaciones. Las bases de datos orientadas a objetos tambin pueden
manejar informacin binaria de una forma eficiente.

OBJETOS EN ORACLE

Las bases de datos orientadas a objetos (BDOO) se disean para


trabajar con lenguajes de programacin como Java, C#, C++ y
Visual basic.Net

Al crear un sistema de BDOO se deben tener en cuenta las


siguientes caractersticas que estn divididas en 3 grupos:

Mandotarias: son aquellas obligatorias.

Opcionales: no son obligatorias y estn para hacer que el


sistema sea mejor

Abiertas: son aquellas en las que el diseador puede poner de su


parte y que estn relacionadas con la programacin.

OBJETOS EN ORACLE
Propiedades

Encapsulacin: Propiedad que permite ocultar la informacin al resto


de los objetos, impidiendo as accesos incorrectos o conflictos.

Herencia: Propiedad a travs de la cual los objetos heredan


comportamiento dentro de una jerarqua de clase.

Polimorfismo: Propiedad de una operacin mediante la cual puede ser


aplicada a distintos tipos de objetos.

OBJETOS EN ORACLE
Ventaja
s

Manipula datos complejos de forma rpida.

Tiene bastante flexibilidad.

Tiene muy bien desempeo.

OBJETOS EN ORACLE
Desventajas

Mecanismos de consulta muy primitivos, sin un estndar independiente


de la plataforma aceptado.

Imposibilidad de procedimientos almacenados, ya que los objetos solo


pueden ser consultados en el cliente.

Inmadurez en el mercado.

No hay agrupamiento fsico de objetos.

Su limitacin suele residir en su especializacin, ya que suelen estar


diseadas para un tipo particular de objetos.

OBJETOS EN ORACLE

La base de datos objeto-relacional permite que las tablas relacionales


que almacenan datos existentes y los nuevos objetos coexistan y
accedan a los mismos.

Oracle presenta un importante avance en la tecnologa de gestin de


datos con la introduccin de un paradigma objeto-relacional.

Consiste en ampliar el gestor de la base de datos con datos complejos,


tales como coordenadas espaciales, imgenes, vdeo o sonidos.

OBJETOS EN ORACLE

Por ejemplo, una aplicacin de seguros podra almacenar informacin de


sus clientes, como nombres, direcciones, infracciones y datos de
vehculos. Estos simples datos pueden ayudar a responder a preguntas
tiles tales como "Cul es el factor de riesgo de este cliente concreto?"
o "Cuntos clientes son propietarios de automviles que tienen una
antigedad de menos de tres aos?" Pero no se puede realizar un
anlisis ms complicado del tipo "Qu clientes viven en un radio de 10
kilmetros del cruce ms peligroso?". Este tipo de consulta utilizara
idealmente datos espaciales extrados de las direcciones de los clientes
y de los lugares en que se producen los accidentes, y efectuara
funciones tales como distancia y superficie. Los tipos relacionales
pueden almacenar datos complejos, pero no permiten el uso de
extensiones para efectuar un procesamiento especial.

OBJETOS EN ORACLE

La modelizacin de objetos aporta una manera de crear un marco


comn que puedan utilizar y comprender todas las aplicaciones. Cada
aplicacin puede disponer de una interfaz comn para interactuar con
los datos. Utilizando el ejemplo anterior, un objeto podra ser
VentaCliente. En lugar de crear una compleja correlacin entre los datos
de objetos en cada una de las aplicaciones y los datos fsicos del
esquema relacional, el usuario puede crear en la base de datos un
objeto que todas las aplicaciones puedan utilizar.

Esto facilita el desarrollo de todas las aplicaciones, ya que gran parte


del cdigo se sita fuera de ellas. Adems, la tecnologa de objetos,
como puede ser el almacenamiento de punteros y colecciones de
objetos, tambin simplifica en gran medida las instrucciones SQL.

OBJETOS EN ORACLE

Las bases de datos relacionales admiten tres tipos de datos: caracteres,


nmeros y fechas.

Los tipos de objetos permiten definir nuevos tipos de datos y utilizarlos


de la misma manera que se usaran los tipos de datos relacionales
normales. Por ejemplo, se puede crear un nuevo tipo denominado
Direccin que puede contener datos, denominados atributos, tales como
la calle, la poblacin y el cdigo postal. El tipo de objeto tambin puede
contener mtodos, tales como Distancia, para calcular la distancia entre
las direcciones. Estos mtodos se pueden escribir en PL/SQL, C o Java.
La direccin se podr utilizar entonces en cualquier lugar en el que
pueda usarse un tipo de datos normal, tanto en definiciones de columna
como en variables PL/SQL, o incluso como definicin de una tabla de
objetos.

OBJETOS EN ORACLE

Esta caracterstica ofrece las ventajas de crear componentes de cdigo


reutilizables y una segmentacin transparente de las aplicaciones, por lo
que el cdigo puede residir y ejecutarse en el nivel que mayor
rendimiento aporte ya sea el cliente, el servidor de aplicaciones o el
servidor de base de datos.

Al aadir vdeo, imgenes y sonidos a los datos escalares tradicionales


se mejora la utilidad de la aplicacin, pero tambin aumenta
considerablemente la cantidad de almacenamiento que ocupa un objeto.
El ORDBMS debe gestionar objetos grandes (LOBs) de manera eficaz y
con un rendimiento razonable. La base de datos tambin debe
proporcionar a las aplicaciones clientes un acceso aleatorio y por partes
a grandes objetos, con el fin de que slo sea necesario recuperar a
travs de la red la parte solicitada de los datos.

OBJETOS EN ORACLE

Los objetos grandes, llamados LOBs gestionan datos no estructurados


tales como imgenes, sonidos, vdeo y texto, y cuentan con una
funcionalidad superior que sus predecesores LONG y LONG RAW. Los
LOBs de caracteres (CLOB o NCLOB), los LOBs binarios y los BFILES o
LOBs almacenados externamente se pueden duplicar y utilizarse como
atributo de un objeto. Tambin se puede disponer de ms de un LOB por
tabla/objeto. Los LOBs tienen un tamao mximo superior que los LONGs
y cuentan con mecanismos diferentes para mantener la coherencia de
lectura y el acceso aleatorio.

Los datos de los LOBs estn indexados para permitir un acceso rpido a
partir de un byte especificado. Tambin es posible leer/escribir LOBs a
travs de la memoria cach intermedia de Oracle, o acceder a los
mismos directamente desde disco.

Anlisis F.O.D.A
Es multiplataforma.
Soporta todas las funciones que se esperan de un servidor.
Fortalezas
Permite las particiones para la mejora de la eficiencia.
Permite que los computadores compartan a travs de internet u tras
redes de telecomunicaciones no solo informacin si no tambin
poder de calculo y capacidad de almacenamiento
Costo.
Orientacin hacia la internet.
Oportunidades
Evolucin hacia los objetos.
Soporte.
Debilidades

Configuracin del Oracle muy lento.


Un error frecuente consiste en pensar que basta instalar el Oracle en
un servidor y enchufar directamente las aplicaciones

Amenazas

Necesidad de ajustes.
Desafortunadamente, la implementacin de los objetos no ofrece
una ventaja clara en eficiencia

Conclusiones
El comercio electrnico ofrece opciones de automatizacin en todos los
negocios de las empresas, los documentos digitales son el futuro, al ser este
servicio tan imprescindible, se hace necesario analizar las posibilidades
existentes en el mercado de bases de datos y las caractersticas que una
base de datos libre puede solventar frente a las bases de datos comerciales.
La inversin en una base de datos de cdigo abierto es una alternativa vlida
que gerentes y desarrolladores deberan considerar el momento de escoger
una solucin informtica.
La base de datos Oracle es una herramienta muy confiable y segura, tiene
opciones de auditoria, backup y aplicaciones para la toma de decisiones que
la diferencian de sus competidores libres y propietarios. En ocasiones es
mejor sacrificar los recursos (memoria, disco) para obtener a cambio
integridad en los datos.

GRACIAS

También podría gustarte