Sei sulla pagina 1di 29

1

Introducción a las
tecnologías de Oracle
Server

OBJETIVOS DE CERTIFICACIÓN

1.01 Coloque la Familia Producto de Oracle 1.04 Apreciar el papel de la DBA

1.02 Explicar estructuras relacionales ✓ Taladro de dos minutos

1.03 Comprender el lenguaje SQL Q & A Autotest

Copyright © 2008 por The McGraw-Hill Companies, Inc. C lamer aquí para condiciones de uso.
2 Capítulo 1: Introducción a las tecnologías de Oracle Server

T se prueba
bases de datos, el lenguaje SQL, y el papel del administrador de la base (DBA) en el entorno de TI. El contenido no
su capítulo describe
directamente en toda la familia
el examen de productos
de OCP, pero se de Oracle,
supone los conceptosque
el conocimiento detrás relacionaluna base esencial para el
proporciona
estudio de la administración de bases de datos Oracle. También da una idea del alcance del trabajo de un DBA. El DBA es a
menudo espera que sepa todo acerca de todo. Bueno, eso no es posible, pero al menos él / ella debe estar al tanto de todo el
entorno y cómo las partes se enlazan entre sí.

El conjunto de tecnologías de servidor de productos de Oracle es más que una base de datos. Hay también el
servidor de aplicaciones de Oracle y Oracle Enterprise Manager. Tomados en conjunto, estos son los tecnologías
de servidor que conforman la oferta de Oracle Grid. La computación grid es un entorno emergente de la gestión del
entorno de TI completa y para proporcionar recursos a los usuarios bajo demanda.

Se suministra con las tecnologías de servidor son las herramientas de desarrollo: lenguajes de tercera generación (3GLs)

y herramientas de desarrollo rápido de aplicaciones. También es posible escribir software en una amplia gama de entornos de

desarrollo de aplicaciones de terceros. Oracle Corporation tiene un compromiso total con el apoyo a los estándares

internacionales para el procesamiento de datos, lo que significa que es perfectamente posible hacer funcionar productos de

terceros en la pila de tecnología de Oracle.

La parte final del conjunto de productos de Oracle son las aplicaciones, principalmente Oracle E-Business Suite y Oracle

Collaboration Suite. Estas son las aplicaciones escritas con las herramientas de desarrollo de Oracle y que se ejecutan en los

servidores de Oracle que pueden satisfacer las necesidades de prácticamente cualquier organización para el procesamiento de datos

de la empresa.

La base de datos Oracle es un sistema de gestión de base de datos relacional (RDBMS) con extensiones de objetos. Los

datos a ser gestionados por un RDBMS debe ser normalizado - convertido en tablas de dos dimensiones. lenguaje de consulta

estructurado (SQL, que se pronuncia “secuela”) es una norma internacional para la gestión de los datos almacenados en bases

de datos relacionales. Oracle Database 11 gramo ofrece una implementación de SQL que es generalmente compatible con el

estándar actual, que es SQL-2003. Los detalles completos del cumplimiento se pueden encontrar en el Apéndice B de la

“Consulta de SQL”, que forma parte del conjunto de documentación de base de datos Oracle.

El trabajo del DBA es administrar la base de datos. Pero esta definición tautológica desperdicia una gran cantidad. El
DBA tiene un papel fundamental en la estructura de gestión y el conocimiento de la organización; él / ella por lo general se
espera que sea competente en todos los temas tratados aquí.

Este capítulo consta de descripciones resumidas de la familia de productos de Oracle, los conceptos
detrás del paradigma relacional y la normalización de los datos en estructuras relacionales, el lenguaje
SQL, y el papel del DBA.
Coloque la Familia Producto de Oracle 3

OBJETIVO DE CERTIFICACIÓN 1.01

Coloque la Familia Producto de Oracle


Hay muchos productos desarrollados y comercializados por Oracle Corporation. Adquisiciones realizadas en los últimos años se han

ampliado considerablemente la lista. Los productos de la base se pueden agrupar de la siguiente manera:

Las tecnologías de servidor

■ La base de datos Oracle

■ El servidor de aplicaciones Oracle

■ El Administrador corporativo de Oracle

Las herramientas de desarrollo

■ Los idiomas

■ El Developer Suite de Oracle

Las aplicaciones

■ Oracle E-Business Suite

■ Oracle Collaboration Suite

Las Tecnologías de Servidor

Hay una familia de productos que componen la pila de la tecnología de servidor de Oracle. Tomados en conjunto, apuntan a

entregar los componentes de la arquitectura de computación Grid de Oracle.

Rejilla oferta de Oracle Corporation no siempre es la misma que la cuadrícula definida por otros. Oracle
tiende a enfatizar el lado de la tecnología de servidor de computación Grid.

El concepto que subyace a la cuadrícula es virtualización: usuarios finales piden un servicio, sino que ni
conocen ni necesitan saber la fuente de ese servicio.
Las tecnologías de servidor que tres Oracle proporciona para ayudar a entregar la rejilla están

■ La base de datos del servidor de Oracle

■ El servidor de aplicaciones Oracle

■ El Administrador corporativo de Oracle


4 Capítulo 1: Introducción a las tecnologías de Oracle Server

La base de datos es la preocupación principal aquí: es el repositorio de datos y el motor que gestiona el acceso a los datos.

El servidor de aplicaciones Oracle ejecuta el software en nombre de los usuarios finales: genera las interfaces de usuario en

forma de ventanas que se muestran en los navegadores de los usuarios, y envía peticiones de recuperación de datos y la

modificación de la base de datos para su ejecución. El Oracle Enterprise Manager es una herramienta de administración para

controlar, gestionar y afinar los procesos de Oracle y también (a través de plug-ins) muchos productos de terceros.

La base de datos del servidor de Oracle

Capítulo 2 trata de la arquitectura de la base de datos del servidor de Oracle en detalle. Por ahora, todo lo que es necesario es

saber que es un repositorio de datos sin límites efectivos en tamaño, y al que se accede por los usuarios finales, ya sea

directamente a través de las herramientas de cliente-servidor y aplicaciones o indirectamente a través de aplicaciones que se

ejecutan en un servidor de aplicaciones.

La elección entre una arquitectura cliente-servidor de dos niveles y una arquitectura que consiste en tres o más niveles es

irrelevante para la base de datos: se puede ejecutar SQL invocado por el software de cliente que se ejecuta en un PC local al

usuario final la forma más eficiente, ya que puede ejecutar SQL presentado por un servidor de aplicaciones que se ejecuta en un

servidor de nivel medio en nombre de un cliente remoto mediante un navegador.

El servidor de aplicaciones Oracle


Con la aparición de la Web como la plataforma estándar de facto para la entrega de aplicaciones a los usuarios finales ha llegado la

necesidad de servidores de aplicaciones. Un servidor de aplicaciones reemplaza el software del lado del cliente tradicionalmente

instalado en los ordenadores de los usuarios finales: se ejecuta aplicaciones de forma centralizada, presentándolos a los usuarios en

las ventanas que aparecen localmente en los navegadores web. Las aplicaciones hacen uso de los datos almacenados en uno o más

servidores de bases de datos.

Oracle Application Server es una plataforma para el desarrollo, implementación y administración de

aplicaciones web. Una aplicación web se puede definir como cualquier aplicación con la que los usuarios se comunican a través
de HTTP. Las aplicaciones Web que generalmente se ejecuta en al menos tres niveles: un nivel de base de datos gestiona el

acceso a los datos, el nivel de cliente (a menudo implementado como un navegador web) se encarga de la gestión de ventanas

local para la comunicación con los usuarios, y un nivel de aplicación en el medio ejecuta el la lógica del programa que genera la

interfaz de usuario y el SQL llama a la base de datos.

Las aplicaciones web se pueden desarrollar con una serie de tecnologías, entre las que predomina hoy en día
es Java. Las aplicaciones escritas en Java deben ajustarse a la J2EE (Java 2 Enterprise Edition) estándar, que
define cómo este tipo de aplicaciones
Coloque la Familia Producto de Oracle 5

deben ser envasados ​y desplegado. estándares J2EE y otros relacionados son controlados por Sun
Microsystems y aceptados por casi todos los desarrolladores de software. Oracle Application Server
es un servidor de aplicaciones compatible con J2EE. aplicación de las normas de Oracle permite el
equilibrio de carga y tolerancia a fallos automática a través de múltiples servidores de aplicaciones en
múltiples máquinas embargo agrupación J2EE. La agrupación virtualiza la prestación del servicio de
aplicación: los usuarios piden una aplicación, lo que podría estar disponible en un número de
ubicaciones, y el grupo funciona desde donde mejor se pueden atender cualquier sesión o solicitud.
Si falla un solo lugar, otros tomarán la carga, y más recursos pueden ser puestos a disposición de una
aplicación según sea necesario.

Es importante señalar que el compromiso de Oracle con las normas internacionales es total. Aplicaciones que se ejecutan en

el entorno de Oracle Application Server puede conectarse a cualquier base de datos para los que no son conductores de Java

compatibles: no es necesario el uso de una base de datos Oracle. Las aplicaciones desarrolladas con los kits de herramientas de

Oracle Application Server podrían ser desplegadas a un servidor de aplicaciones compatible con J2EE de terceros. Sin embargo,

el conjunto de productos de Oracle es particularmente potente y con frecuencia será la mejor opción.

El modelo de procesamiento más simple de las aplicaciones web es de tres niveles: un nivel de cliente que gestiona la

interfaz de usuario, un nivel medio que genera la interfaz y emite sentencias SQL al nivel de datos, y una capa de datos que

administra los datos en sí. En el entorno de Oracle, el nivel de cliente será un navegador (como Mozilla o Microsoft Internet

Explorer) que se encarga de la gestión de ventanas locales, se encarga de la entrada de teclado, y un seguimiento de los

movimientos del ratón. El nivel medio será un servidor de aplicaciones de Oracle que ejecuta el software (probablemente

escrito en Java) que está generando las ventanas enviados a la capa de cliente para su visualización, y las instrucciones SQL

enviadas a la capa de datos para su ejecución. El nivel de datos será un servidor Oracle: una instancia y una base de datos.

En este entorno de tres niveles, hay dos tipos de sesiones: sesiones de los usuarios finales de la capa de cliente a la capa

media, y sesiones de bases de datos de la capa media a la capa de datos. Las sesiones de los usuarios finales se

establecerán con HTTP. Las sesiones de base de datos son las sesiones de cliente-servidor que consta de un proceso de

usuario y un proceso de servidor, como se describe en la sección anterior.

Es posible que una aplicación utilice un mapeo uno a uno de la sesión del usuario final a la sesión de base de datos:
cada usuario, de su / su navegador, se establecerá una sesión en el servidor de aplicaciones y el servidor de aplicaciones
a continuación, establecer una la sesión en el servidor de base de datos en nombre del usuario. Sin embargo, este modelo
ha demostrado ser muy ineficiente en comparación con el la agrupación de conexiones modelo. con la conexión
6 Capítulo 1: Introducción a las tecnologías de Oracle Server

la puesta en común, el servidor de aplicaciones establece un número relativamente pequeño de sesiones de bases de datos

persistentes y los pone a disposición de la demanda (solicitudes en cola si es necesario) a un número relativamente grande de

sesiones de usuario final contra el servidor de aplicaciones.

Desde el punto de vista de la base de datos, no hace ninguna diferencia si una declaración SQL proviene de un
proceso del lado del cliente como SQL * Plus o Microsoft Access o desde una sesión combinada a un servidor de
aplicaciones. En el primer caso, el proceso de usuario todo sucede en una máquina; en este último, el proceso de usuario
se ha dividido en dos niveles: un nivel de aplicaciones que genera el interfaz de usuario y un nivel de cliente que lo
muestra. Pero el nivel de base de datos realmente no le importa.

Los administradores de bases se encuentran a menudo puesto en servicio como administradores del servidor de

aplicaciones. Esté preparado para esto. Hay un plan de estudios de OCP separada para Servidor de aplicaciones, por lo

que bien puede ser digno de estudio.

Oracle Enterprise Manager


El creciente tamaño y complejidad de las instalaciones que hace que la gestión de cada componente dado una
tarea difícil. Esto no es sorprendente: nadie ha dicho que la gestión de un entorno de gran alcance
necesariamente debe ser simple. herramientas de gestión pueden hacer la tarea más fácil, y el personal de
gestión más productiva.
Oracle Enterprise Manager está disponible en tres formas:

■ control de la base de datos

■ Control de servidor de aplicaciones

■ control de cuadrícula

Oracle Database Enterprise Control Manager es una herramienta gráfica para la gestión de una base de datos, que puede ser

un Clusters (RAC) de base de datos real aplicación en clúster. bases de datos de RAC están cubiertas de libros más avanzados;

que se mencionan aquí, ya que pueden ser manejados a través de la herramienta. Base de datos de control dispone de

instalaciones para la gestión en tiempo real y monitoreo, para la ejecución de las tareas programadas, como las operaciones de

copia de seguridad, para informar de condiciones de alerta y de forma interactiva a través de correo electrónico. Una base de datos

RAC tendrá un proceso de control de base de datos que se ejecuta en cada nodo en el que hay una instancia de base de datos;

estos procesos se comunican entre sí, de manera que cada uno tiene una imagen completa del estado de la RAC.

Oracle Enterprise Administrador de control de Application Server es una herramienta gráfica para la gestión de
una instancia de servidor de aplicaciones, o un grupo de instancias. La tecnología de agrupación depende de la
versión. Hasta e incluyendo la aplicación Oracle Server 10 gramo versión 2, varios servidores de aplicaciones se
gestionan como un granja, con
Coloque la Familia Producto de Oracle 7

un depósito de metadatos (típicamente residen en una base de datos Oracle) como el punto de administración
central. Este es un excelente modelo de gestión y ofrece excelentes capacidades para la implementación y
mantenimiento de aplicaciones, pero es propiedad de Oracle. De Application Server 10 gramo versión 3 en adelante,
la tecnología se basa en la agrupación J2EE, que no es propiedad de Oracle.

Tanto el control de base de datos y de control de servidor de aplicaciones consisten en un proceso de Java que se ejecuta

en la máquina servidor, que escucha para HTTP y HTTPS solicitudes de conexión. Los administradores se conectan a estos

procesos desde un navegador. Control de base de datos entonces se conecta al servidor de base de datos local, y Control

Application Server conecta al servidor de aplicaciones local. Una ventaja de utilizar el acceso del navegador es que la gestión

remota debería haber ningún problema. La mayoría, aunque, naturalmente, no todos, los sitios le permitirá HTTP o HTTPS

conexiones entrantes a través de sus servidores de seguridad.

Oracle Enterprise Manager Grid Control globaliza el entorno de gestión. Un repositorio de gestión (que reside en una

base de datos Oracle) y uno o más servidores de administración gestionar el entorno completo: todas las bases de datos y

servidores de aplicaciones, dondequiera que se encuentren. Grid Control también puede administrar los nodos, o máquinas,

en el que los servidores se ejecutan, y (a través de plug-ins) una amplia gama de productos de terceros. Cada nodo

administrado se ejecuta un proceso de agente, que se encarga de supervisar los objetivos administrados en el nodo: la

ejecución de los trabajos en su contra y la presentación de informes de estado, los niveles de actividad y las condiciones de

alerta de vuelta al servidor (s) de gestión.

Rejilla de control proporciona una visión integral del medio ambiente, y si así configurado hace que el personal de
administración mucho más productivo que sin él. Se hace posible que un administrador para gestionar con eficacia
cientos o miles de objetivos. Todas las comunicaciones son a través de HTTP o HTTPS. Siempre que los firewalls
corporativos están configurados para permitir que estos protocolos, se hace posible que el personal de la administración
para conectarse a los servidores de administración desde cualquier lugar que tenga un navegador. Por otra parte, las
comunicaciones entre los agentes que se ejecutan en los distintos nodos y el servidor (s) de gestión son también HTTP o
HTTPS, por lo que el medio ambiente, incluso completa de una organización si extiende por muchos sitios
geográficamente separados, el uso de Internet para inter-sitio comunicaciones-can gestionarse como un todo.

La funcionalidad principal de Oracle Enterprise Manager (OEM) está disponible sin cargo adicional, que se incluye
con la licencia del servidor de base de datos o aplicación. Hay, sin embargo, adicional paquetes que tienen licencia por
separado. Los paquetes consisten en su mayor parte de asistentes que hacen el trabajo de supervisión, puesta a punto,
y la dirección general más fácil. Algunos administradores de bases hacen un amplio uso de la empresa de Oracle y se
basan en los paquetes. Otros (tal vez los mayores) todavía prefieren trabajar con utilidades de línea de comandos,
como SQL * Plus. Hay pocas dudas de que el uso de Oracle Enterprise Manager puede hacer un DBA mucho más
productivo, pero no es de ninguna manera obligatoria.
8 Capítulo 1: Introducción a las tecnologías de Oracle Server

Cualquier cosa que se pueda hacer el uso de SQL para la administración trabajan habitualmente.
con OEM también se puede hacer a través de sentencias Es vital estar familiarizado con las técnicas de línea de
SQL. La prueba de los exámenes OCP comandos.

grid Computing
Fundamental para el concepto de computación Grid es virtualización. Esto significa que en todos los niveles hay
una capa de abstracción entre lo que se pide y lo que se proporciona. En el entorno de Oracle Grid, los usuarios
finales piden un servicio de aplicación y dejar que la cuadrícula se resuelve el cual agrupa servidor de
aplicaciones J2EE mejor puede proporcionarla. Los servidores de aplicaciones piden servicio de base a partir de
una base de datos RAC y dejar que la cuadrícula se resuelve de qué instancia RAC mejor se puede proporcionar
el servicio de datos. Dentro de la rejilla hay un mapeo de los posibles servicios a los proveedores de servicios
disponibles, y algoritmos para la asignación de la carga de trabajo y recursos de forma apropiada. El resultado es
que los usuarios finales tienen ni la necesidad ni la capacidad de saber desde donde se están proporcionando en
realidad sus recursos informáticos. La analogía a menudo es dibujado con la entrega de la electricidad
doméstica: se suministra en la demanda,

La cuadrícula no es exclusivo de Oracle. A nivel físico, algunos proveedores de sistemas operativos y


hardware están proporcionando capacidades de rejilla. Estas incluyen la habilidad para particionar servidores en
máquinas virtuales, y dinámicamente añadir o eliminar CPU (s) y la memoria RAM de las máquinas virtuales de
acuerdo con la demanda. Esto es conceptualmente similar al método de asignación dinámica de servidor de
aplicaciones y el servidor de bases de recursos a los servicios lógicos de Oracle. No hay ninguna razón por qué
los dos enfoques no se pueden combinar. Ambos están trabajando hacia el mismo objetivo y pueden trabajar
juntos. El resultado debe ser un entorno donde los recursos adecuados están siempre disponibles en la
demanda, sin hacer frente a los problemas de exceso de capacidad en algunos momentos y bajo rendimiento en
los demás. También debería ser posible diseñar un entorno de cuadrícula con ningún punto único de fallo,

Las herramientas de desarrollo y lenguajes


Las tecnologías de servidor de Oracle incluyen varias instalaciones para el desarrollo de aplicaciones, algunas existentes en
la base de datos, otros externos a ella.
Coloque la Familia Producto de Oracle 9

Dentro de la base de datos, es posible utilizar tres idiomas:

■ SQL

■ PL / SQL

■ Java

Aplicaciones que se ejecutan externamente a la base de datos se pueden escribir en una amplia variedad de 3GLs (en

particular de Java) o en las herramientas suministradas con Oracle Application Server. Predominantes entre estos están

■ formas

■ Informes

■ XML Publisher

■ Descubridor

También hay una amplia variedad de herramientas de terceros y entornos que pueden ser utilizados para el desarrollo de

aplicaciones que se van a conectar a una base de datos Oracle; en particular

. NET de Microsoft, para los que Oracle proporciona un amplio conjunto de herramientas de desarrolladores.

Idiomas internos a la Base de Datos


El único lenguaje que es inevitable es SQL. SQL se utiliza para el acceso a los datos, pero no se puede utilizar sólo en su propia

para desarrollar aplicaciones completas. No tiene instalaciones reales para el desarrollo de interfaces de usuario, y también

carece de las estructuras de procedimiento necesarias para la manipulación de filas de forma individual. Los otros dos idiomas

disponibles en la base de datos llenar estos vacíos. Son PL / SQL y Java. PL / SQL es una propiedad 3GL a Oracle. Tiene las

construcciones de procedimiento habituales (tales como Bifurcación condicional basan en if-then-else e iterativo looping) y las

instalaciones para el diseño de interfaz de usuario. En el código PL / SQL, se puede incrustar llamadas a SQL. Por lo tanto, una

aplicación PL / SQL podría utilizar SQL para recuperar una o más filas de la base de datos, a continuación, realizar diversas

acciones en función de su contenido, y luego emitir más de SQL para escribir filas de nuevo a la base de datos. Java ofrece una

capacidad similar para incrustar llamadas SQL dentro del código Java. Esta es la tecnología estándar de la industria: cualquier

programador de Java debe ser capaz de escribir código que funcione con una base de datos Oracle (o con cualquier otra base

de datos compatible con Java).

Todos los DBA de Oracle debe ser plenamente competente con SQL y PL / SQL. Esto supone, y
requiere, el conocimiento.
El conocimiento de Java no se asume y, de hecho rara vez se requiere. Una razón principal de esto es que las aplicaciones

Java a medida están ahora rara vez se ejecutan dentro de la base de datos.
10 Capítulo 1: Introducción a las tecnologías de Oracle Server

Las primeras versiones de servidor de aplicaciones de Oracle no podían ejecutar algunos de los componentes de la
aplicación Java industrystandard, tales como servlets Java y Enterprise JavaBeans (EJB). Para evitar esto seria
divergencia con respecto a los estándares, Oracle implementa un motor de Java dentro de la base de datos que no se
ajustan a las normas. Sin embargo, a partir de la liberación de Oracle Application Server 9 yo, que ha sido posible ejecutar
servlets y EJB en el que se debe ejecutar: en el nivel medio del servidor de aplicaciones. Debido a esto, cada vez es
menos común para ejecutar Java dentro de la base de datos.

Algunos componentes de Oracle, como Intermedia y texto, están escritos en Java, y por esta razón un DBA por lo
general necesita activar Java en la base de datos, pero él / ella no se espera que para sintonizar o depurar estos. El DBA
es, sin embargo, es probable que gastar una gran cantidad de tiempo y afinación depuración de SQL y PL / SQL. El
modelo de Oracle para la división de la responsabilidad aquí es claro: el DBA identifica con el código de problemas y lo
pasa a los desarrolladores para la fijación. Pero en muchos casos, los desarrolladores carecen de las habilidades (o tal
vez la inclinación) de hacer esto y el DBA tiene que llenar este papel. Él / ella también suelen convertirse en un maestro:
dar a conocer las mejores técnicas entre los desarrolladores.

Todos los administradores de bases deben ser plenamente competente con SQL y con PL / SQL. El conocimiento de Java

y otros lenguajes no suele ser necesaria, pero a menudo es útil.

Idiomas externa a la Base de Datos


Otros idiomas están disponibles para el desarrollo de aplicaciones cliente-servidor que se ejecutan externamente a la
base de datos. Los más utilizados son C y Java, pero es posible utilizar la mayor parte de la corriente principal 3GLs.
Para la mayoría de idiomas, Oracle proporciona las bibliotecas OCI (Oracle Call Interface) que permiten que el código
escrito en idiomas conectarse a una base de datos Oracle e invocar comandos SQL.

Las aplicaciones escritas en C o en otros lenguajes de procedimientos hacen uso de las bibliotecas OCI para establecer sesiones

con el servidor de base de datos. Estas bibliotecas son propiedad de Oracle. Esto significa que cualquier código de usarlos será escrito

específicamente para Oracle, y tendría que ser reescrito sustancialmente antes de que pudiera funcionar en contra de cualquier otra

base de datos. Las aplicaciones Java pueden evitar este problema. Oracle proporciona conectividad de base de datos para los dos grueso

y Delgado los clientes de Java.

Un cliente Java gruesa es consciente de Oracle. Utiliza la biblioteca de clases OCI suministrado para conectar a la base de

datos. Esto significa que la aplicación puede hacer uso de todas las capacidades de la base de datos, que incluye

características que son únicas en el entorno Oracle. aplicaciones de cliente Java de espesor pueden explotar la base de datos al

completo. Pero nunca pueden trabajar con un producto de terceros, y requieren el software de cliente OCI a ser instalado.
Coloque la Familia Producto de Oracle 11

Un cliente ligero Java no está al tanto de la base de datos contra el que se está ejecutando: trabaja con una base de datos

virtual definido de acuerdo con el estándar de Java, y permite que el contenedor en el que se está ejecutando mapa esta base de

datos virtual en la base de datos de Oracle. Esto da a la portabilidad de las aplicaciones a través de las versiones y los proveedores

de bases de datos: una aplicación cliente de Java delgada podría ser desplegado en un entorno no-Oracle sin ningún cambio. Sin

embargo, cualquier característica de Oracle que no son parte del estándar Java Database Connectivity no estarán disponibles.

La elección entre los clientes de Java gruesos y finos debe ser realizada por un equipo de personas bien informadas e

influenciado por una serie de factores que incluyen el rendimiento, la necesidad de que sean de Oracle características específicas,

las normas corporativas, portabilidad de las aplicaciones, la productividad del programador. herramienta de Oracle JDeveloper se

puede utilizar para desarrollar aplicaciones Java tanto gruesa y fina-cliente.

Oracle Developer Suite


Muchas organizaciones no desee utilizar un 3GL para desarrollar aplicaciones de bases de datos. Oracle Corporation proporciona

herramientas de desarrollo rápido de aplicaciones como parte del Developer Suite de Oracle. Estos pueden hacer que los

programadores mucho más productivo que si estuvieran trabajando con un 3GL. Al igual que las lenguas, todas estas herramientas

de desarrollo de aplicaciones terminan haciendo lo mismo: la construcción de sentencias SQL que se envían al servidor de base de

datos para su ejecución.

Oracle Forms desarrollador construye aplicaciones que se ejecutan en una etapa intermedia de Oracle Application Server y

mostrar en un applet de Java en el terminal del usuario. El punto de entrada para aplicaciones de formularios es a través de un

navegador. aplicaciones de formularios son generalmente mucho más rápido de desarrollar que las aplicaciones escritas en, por

ejemplo, Java. Una ventaja para los usuarios finales es que la inteligencia del lado del cliente proporcionado por el applet significa que

las aplicaciones de formularios pueden tener una mejor interfaz de usuario de aplicaciones con interfaces de usuario generados por los

servlets Java. aplicaciones de servlet están restringidas por las limitaciones de las etiquetas HTML, mientras que las formas applet

puede generar cualquier dispositivo de interfaz de usuario que puede ser requerida. Por ejemplo, no hay ninguna etiqueta HTML para

un cuadro combinado de rodadura, pero estos no son un problema para formularios.

Oracle Reports es una herramienta para generar y dar formato a los informes, ya sea bajo demanda o de acuerdo con un

horario. Los informes completos pueden almacenar en caché para su distribución. Al igual que con las formas, la productividad

del programador puede ser mayor que cuando se trabaja con un 3GL. Una aplicación Oracle Reports impone restricciones a la

máquina cliente a causa de los posibles formatos de salida; estos son comúnmente HTML o PDF. Las restricciones provienen

de la necesidad de que el cliente sea capaz de mostrar estos formatos, y la necesidad de que el desarrollador para estar al

tanto de las capacidades de los clientes. XML Publisher


12 Capítulo 1: Introducción a las tecnologías de Oracle Server

evita estos problemas al dar formato a la salida de un informe como etiquetas XML. Cualquier cliente puede solicitar un informe

XML Publisher y (siempre que tenga un analizador XML) mostrar los resultados. Esta es la clave para la distribución de informes a

través de protocolos inalámbricos a cualquier dispositivo, como un teléfono celular.

Oracle Discoverer es una herramienta de usuario final para la generación de informes. Oracle Reports y XML Publisher

necesitan un programador para diseñar el informe. Un informe bien diseñado puede ser altamente adaptable por el usuario final a

través del uso de los parámetros suministrados en el momento de la solicitud, pero un programador sigue siendo necesaria para

diseñar la definición de informe. Oracle Discoverer permite a los usuarios finales para desarrollar propios informes. Una vez que

Oracle Discoverer, que se ejecuta en un nivel intermedio de Oracle Application Server, se ha configurado adecuadamente, no se

necesita más entrada del programador: los usuarios finales hacer todo el desarrollo. Descubridor puede añadir un inmenso valor

para los usuarios finales, al tiempo de liberar personal de programación para el trabajo de desarrollo de bienes.

Las aplicaciones de Oracle


El número de aplicaciones de Oracle se ha incrementado sustancialmente en los últimos años debido a un gran número de

adquisiciones corporativas, pero dos aplicaciones seguir siendo predominante. La Suite de Oracle E-Business es un

conjunto completo de aplicaciones basadas alrededor de un motor de contabilidad y Oracle Collaboration Suite es un

conjunto de herramientas de automatización de oficina.

Oracle E-Business Suite, en torno a un núcleo de aplicaciones financieras, incluye instalaciones para la
contabilidad, recursos humanos, fabricación, gestión de relaciones con los clientes, los servicios al cliente, y mucho
más. Todos los componentes comparten un modelo de datos común. La versión actual tiene una interfaz de usuario
escrito con Oracle Forms Developer y Java, dependiendo de qué herramienta es la más adecuada para los
distintos módulos y los usuarios esperados, que se ejecuta en Oracle Application Server. Hay una gran cantidad de
PL / SQL en la base de datos para habilitar las funciones de negocio. Las futuras versiones se fusionarán la
funcionalidad de otros productos adquiridos recientemente (tales como las aplicaciones Siebel y PeopleSoft) en una
interfaz Javabased común.

Oracle Collaboration Suite incluye (entre otras cosas) para los servidores de correo electrónico, gestión de agenda,

correo de voz y fax, las conferencias web, y el archivo (tal vez lo más impresionante) que sirve. Hay una integración

completa entre los diversos componentes. Las aplicaciones se ejecutan en servidores de aplicaciones de Oracle, y se

puede acceder a través de una interfaz web de los navegadores o puestos a disposición en los dispositivos móviles

inalámbricos, tales como teléfonos celulares.


Explicar estructuras relacionales 13

EJERCICIO 1-1

Investigar los DBMS en su entorno


Este es un ejercicio basado en papel, sin solución específica.
Identificar las aplicaciones, servidores de aplicaciones y bases de datos utilizadas en su entorno. A continuación, se concentra

en las bases de datos, trata de hacerse una idea de lo grande y ocupado que son. Considere el número de usuarios, la volatilidad

de los datos, y los volúmenes de datos. Por último, tenga en cuenta lo importante que son para la organización: la cantidad de

tiempo de inactividad o la pérdida de datos puede ser tolerada para cada aplicación y base de datos? ¿Es posible dar una cifra

financiera sobre esto?

El resultado de este estudio debería dar una idea de lo importante que el papel de la DBA es.

OBJETIVO CERTIFICACION 1,02

Explicar estructuras relacionales


Fundamental para la comprensión de SQL es la comprensión del paradigma relacional, y la capacidad de normalizar datos
en estructuras relacionales. La normalización es el trabajo de los analistas de sistemas, ya que modelan los datos de
negocio en una forma adecuada para almacenar en tablas relacionales. Es una ciencia que puede ser estudiado desde
hace años, y hay muchas escuelas de pensamiento que han desarrollado sus propios métodos y notaciones.

Las filas y las Tablas

Utilizando el paradigma relacional, los datos se almacenan en tablas de dos dimensiones. Una tabla consiste en un número

de filas, cada una consistente en un conjunto de columnas. Dentro de una tabla, todas las filas tienen la misma estructura de

la columna, aunque es posible que en algunas filas algunas columnas pueden no tener nada en ellos. Un ejemplo de una

mesa sería una lista de uno de los empleados, cada empleado está representado por una fila. Las columnas pueden ser el

número de empleado, nombre y un código para el departamento en el que él / ella trabaja. Cualquier empleado que no están

asignados actualmente a un departamento que tendrían columna en blanco. Otra mesa podría representar los

departamentos: una fila por cada departamento, con columnas para el código del departamento y el nombre del

departamento.
14 Capítulo 1: Introducción a las tecnologías de Oracle Server

Nota sobre la terminología: lo que se refiere a Oracle como una mesa También puede ser llamado

relación o un entidad. Las filas se denominan a veces archivos o tuplas, y C olumns que puede llamarse atributos o campos.
El número de filas de la tabla es el cardinalidad de las tuplas.
tablas relacionales se ajustan a ciertas normas que limitan y definen los datos. A nivel de la columna, cada columna
debe ser de un cierto tipo de datos, tales como numérico, fecha y hora, o el carácter. El tipo de datos “carácter” es el
más general, en la que puede aceptar cualquier cosa. En el nivel de la fila, por lo general cada fila debe tener alguna
característica identificar de manera única: este podría ser el valor de una columna, tal como el número de empleado y
número de departamento en los ejemplos que acabamos de dar, que no se pueden repetir en diferentes filas. También
puede haber reglas que definen los vínculos entre las tablas, como una regla que cada empleado se le debe asignar un
código de departamento, que puede ajustarse a una fila en la tabla de departamentos. Los siguientes son ejemplos de
las definiciones de los datos tabulados.

tabla de departamentos:

Nombre de la columna Descripción Tipo de datos Longitud

DEPTNO número de departamento numérico 2

DNAME Nombre de Departamento Personaje 14

tabla de empleados:

Nombre de la columna Descripción Tipo de datos Longitud

EMPNO Número de empleado Numérico 4

ENAME Nombre de empleado Personaje 10

DEPTNO número de departamento numérico 2

Las tablas pueden contener las filas que se muestran a continuación.

departamentos:

DEPTNO DNAME

10 CONTABILIDAD

20 INVESTIGACIÓN

30 VENTAS

40 OPERACIONES
Explicar estructuras relacionales 15

Empleados:

EMPNO ENAME DEPTNO

7369 HERRERO 20

7499 ALLEN 30

7521 SALA 30

7566 JONES 20

7654 MARTÍN 30

7698 BLAKE 30

7782 CLARK 10

7788 SCOTT 20

En cuanto a las mesas, la estructura de dos dimensiones es clara. Cada fila es de longitud fija, cada columna es
de longitud fija (rellena con espacios cuando sea necesario), y las filas están delimitadas con una nueva línea. Las filas
se han almacenado con el fin de código, pero esto sería una cuestión de azar, no de diseño; tablas relacionales no
imponen ninguna orden particular en sus filas. Departamento número 10 tiene un empleado, y número de
departamento 40 no tiene ninguno. Cambios en los datos suelen ser muy eficiente con el modelo relacional. Los
nuevos empleados se pueden añadir a la mesa de los empleados, o que se pueden mover de un departamento a otro
simplemente cambiando el valor DEPTNO en su fila.

Considere una estructura alternativa, donde los datos se almacenan de acuerdo con el paradigma jerárquico. El modelo

jerárquico se desarrolló antes de que el modelo relacional, por razones tecnológicas. En los primeros días de la computación,

dispositivos de almacenamiento carecían de la capacidad para el mantenimiento de los muchos archivos separados que se

necesitaban para las muchas tablas relacionales. Tenga en cuenta que este problema se evita en la base de datos de Oracle

mediante la abstracción del almacenamiento físico (archivos) desde el almacenamiento lógico (tablas); no hay conexión directa

entre tablas y archivos, y ciertamente no es un mapeo uno a uno. En efecto, muchas mesas se pueden almacenar en muy pocos

archivos.

A jerárquicos tiendas estructura de todos los datos relacionados en una sola unidad. Por ejemplo, el registro de un departamento

incluiría todos los empleados de ese departamento. El paradigma jerárquico puede ser muy rápido y muy eficiente del espacio. Un

acceso a los archivos puede ser todo lo que se necesita para recuperar todos los datos necesarios para satisfacer una consulta. Los

empleados y departamentos mencionados anteriormente pueden ser almacenados jerárquicamente de la siguiente manera:

10, CONTABILIDAD 7782, CLARK

20, RESEARCH, 7369, SMITH, 7566, Jones, 7788, SCOTT

30, ventas, 7499, Allen, 7521, WARD, 7654, Martin, 7698, BLAKE

40, OPERACIONES
dieciséis Capítulo 1: Introducción a las tecnologías de Oracle Server

En este ejemplo de diseño, las filas y columnas son de longitud variable. Las columnas se delimitan con una
coma, filas con una nueva línea. La recuperación de datos es típicamente muy eficiente si la consulta puede acceder
a la jerarquía: si uno sabe departamento de un empleado, el empleado puede encontrar rápidamente. Si uno no lo
hace, la recuperación puede ser lenta. Cambios en los datos puede ser un problema si el cambio requiere
movimiento. Por ejemplo, para mover empleado 7566, Jones, desde la investigación hasta VENTAS implicaría un
esfuerzo considerable por parte de la base de datos debido a que el movimiento tiene que ser implementado como
una retirada de una línea y una inserción en otra. Nótese que en este ejemplo, si bien es posible tener un
departamento sin empleados (el departamento de operaciones), es absolutamente imposible tener a un empleado
sin un departamento: no hay ningún lugar para poner ella.

El paradigma relacional es altamente eficiente en muchos aspectos para muchos tipos de datos, pero no es
apropiado para todas las aplicaciones. Como regla general, un análisis relacional debe ser el primer enfoque adoptado
al modelar un sistema. Sólo si resulta apropiado debe uno recurrir a estructuras no relacionales. Aplicaciones en las
que el modelo relacional ha demostrado ser muy eficaz incluyen prácticamente todos los sistemas de procesamiento
de transacciones en línea (OLTP) y sistemas de soporte de decisiones (DSSS). El paradigma relacional puede ser
exigente en sus requisitos de hardware y de la habilidad necesaria para desarrollar aplicaciones en torno a él, pero si
los datos caben, que ha demostrado ser el modelo más versátil. Los problemas surgen de la necesidad de mantener
los índices que dan la versatilidad de acceso de mantener los vínculos entre las tablas, y los requisitos de espacio de
mantener múltiples copias de los datos indexados en los índices de sí mismos y en las tablas en las que residen las
columnas. No obstante, el diseño relacional es en la mayoría de los casos el modelo óptimo.

Un número de fabricantes de software han producido sistemas de gestión de bases de datos que conforman (con
diferentes grados de precisión) hasta el paradigma relacional; Oracle es único. IBM fue quizás la primera empresa de
cometer grandes recursos a la misma, pero su producto (que más tarde se convirtió en DB2) no fue portado a
plataformas que no son de IBM durante muchos años. SQL Server de Microsoft es otra base de datos relacional que se
ha visto limitado por las plataformas en las que se ejecuta. bases de datos Oracle, por el contrario, siempre se han
portado a las principales plataformas de la primera versión. Puede que sea esto lo que dio el borde de Oracle en el
mercado de RDBMS.

Nota sobre la terminología: la confusión puede surgir cuando se habla de bases de datos relacionales con la gente que se

utilizan para trabajar con productos de Microsoft. SQL es un lenguaje y SQL Server es una base de datos, pero en el mundo de

Microsoft, el término “SQL” se utiliza a menudo para referirse a cualquiera.


Explicar estructuras relacionales 17

La normalización de datos

El proceso de modelado de datos en tablas relacionales se conoce como la normalización. Se dice comúnmente para ser
tres niveles de normalización: la primera, segunda y tercera formas normales. Hay niveles más altos de la normalización:
cuarta y quinta formas normales están bien definidos, pero no tendrán que preocuparse por ellos cualquier analista de
datos normal (y desde luego cualquier ser humano normal). Es posible que una aplicación de SQL para hacer frente a los
datos no normalizado, pero esto normalmente será terriblemente ineficiente porque eso no es lo que el lenguaje está
diseñado para hacer. En la mayoría de casos, los datos almacenados en una base de datos relacional y se accede con
SQL deben ser normalizado a la tercera forma normal.

Como un ejemplo de la normalización, considere una tabla llamada LIBROS almacenamiento de datos de libros, autores
y editores, utilizando el número de ISBN como la clave principal. UN Clave primaria es el atributo que puede identificar de
manera única un registro. Se trata de dos entradas típicas:

ISBN Título autores Editor

12345 Oracle 11 gramo Conceptos fundamentales de SQL John Watson,


Guía de Examen 1 Roopesh Ramklass McGraw-Hill,
Street, Lanza
San Francisco, CA

67890 Oracle 11 gramo Nuevas características Sam Alapati McGraw-Hill, Spear Street,
Guía de examen San Francisco, CA

El almacenamiento de los datos en esta tabla da lugar a varias anomalías. En primer lugar, aquí es la anomalía de
inserción: es imposible entrar en detalles de los autores que aún no se publican, porque no habrá ningún número de
ISBN en virtud del cual para almacenarlos. En segundo lugar, un libro no se puede eliminar sin perder los detalles del
editor: una anomalía eliminación. En tercer lugar, si la dirección de un editor, será necesario actualizar las filas de todos
los libros que él / ella ha publicado: una anomalía de actualización. Además, será muy difícil identificar cada libro escrito
por un autor. El hecho de que un libro puede tener varios autores significa que el campo “autor” debe ser de varios
valores, y una búsqueda tendrá que buscar todos los valores. Relacionado con esto está el problema de tener que
reestructurar la mesa de un libro viene junto con más autores bronceado el diseño original puede manejar. También, el
almacenamiento es muy ineficiente debido a la replicación de datos de la dirección a través de las filas, y la posibilidad de
error que se introduce repetidamente estos datos es alta. La normalización debe resolver todos estos problemas.
18 Capítulo 1: Introducción a las tecnologías de Oracle Server

La primera forma normal es eliminar los grupos de repetición. En este caso, los múltiples autores: tirar de ellos

hacia fuera en una tabla separada llamados autores. Las estructuras de datos ahora se verá así: LIBROS

ISBN Título Editor

12345 Oracle 11 gramo Conceptos Fundamentales de SQL McGraw-Hill, Spear Street, San
1 Guía de Examen Francisco, CA

67890 Oracle 11 gramo Nuevas características McGraw-Hill, Spear Street, San


Guía de Examen Francisco, CA

AUTORES

Nombre ISBN

John Watson 12345

roopesh Ramklass 12345

Sam Alapati 67890

Una fila de la tabla LIBROS ahora está vinculado a dos filas de la tabla autores. Esto resuelve la inserción
anomalía (no hay ninguna razón para no insertar tantos autores inéditos como sea necesario), el problema de la
recuperación de la identificación de todos los libros por un autor (se puede buscar en la tabla autores en su
nombre), y el problema de un fijo número máximo de autores por cualquier libro (basta con insertar tantos o tan
pocos autores como sean necesarias).

Esta es la primera forma normal: no grupos de repetición.


La segunda forma normal elimina columnas de la tabla que no son dependientes de la clave principal.
En este ejemplo, es decir detalles de la dirección de la editorial: dependen de la editorial, no el ISBN. La
tabla de libros y una nueva tabla publishers luego tener este aspecto: LIBROS

ISBN Título Editor

12345 Oracle 11 gramo OCP Fundamentales de SQL 1 examen de guía de McGraw-Hill

67890 Oracle 11 gramo Nuevas características Guía de Examen McGraw-Hill


Explicar estructuras relacionales 19

EDITORES

Editor Calle Ciudad Estado

McGraw-Hill spear Street San Francisco California

Todos los libros publicados por un editor ahora se apuntan a un único registro de editores. Esto resuelve el
problema de almacenar la dirección muchas veces, y las consiguientes anomalías de actualización y también los
errores de coherencia de datos causadas por múltiples entradas inexactas.

Tercera forma normal, elimina todas las columnas que son interdependientes. En la tabla publishers, esto significa

que las columnas de dirección: existe la calle en una sola ciudad, y la ciudad sólo puede estar en un estado; una

columna debe hacer, no tres. Esto podría lograrse mediante la adición de un código de dirección, apuntando a una

tabla de direcciones separadas: Editores

Editor dirección Código

McGraw-Hill 123

DIRECCIONES

dirección Código Calle Ciudad Estado

123 spear Street San Francisco California

Una característica de los datos normalizados que hay que resaltar ahora es el uso de las claves principales y
claves externas. UN Clave primaria es el identificador único de una fila de una tabla, ya sea una columna o una
concatenación de varias columnas (conocido como
compuesto llave). Cada tabla debe tener una clave principal definida.
Tenga en cuenta que la base de datos Oracle se desvía de esta norma: es posible definir tablas sin una
llave, aunque esto no suele ser una buena idea principal y algunos otros RDBMS no lo permiten.

UN clave externa es una columna (o una concatenación de varias columnas) que puede ser utilizado para
identificar una fila relacionados de otra tabla. Una clave externa en una de ellas coincidan con una clave primaria
en otra tabla. Esta es la base de la muchos-a-uno. Una relación muchos-a-uno es una conexión entre dos mesas,
donde muchas filas de una tabla se refieren a una sola fila de otra tabla. Esto a veces se llama un padre-hijo
20 Capítulo 1: Introducción a las tecnologías de Oracle Server

relación: un padre puede tener muchos niños. En el ejemplo de los libros hasta el momento, las teclas son las siguientes:

Mesa Llaves

LIBROS clave principal: clave ISBN


extranjera: Editorial

AUTORES clave principal: clave Nombre + ISBN


extranjera: ISBN

EDITORES clave principal: clave Editor extranjero:


Código de dirección

DIRECCIONES Clave primaria: Código de dirección

Estas teclas definir relaciones tales como que un libro puede tener varios autores. Existen varios estándares para
la documentación de las estructuras de datos normalizados, desarrollados por diferentes organizaciones como
métodos formales estructuradas. En términos generales, lo que realmente no importa qué método se utiliza siempre
todos los que lean los documentos entiende. Parte de la documentación incluirá siempre una lista de los atributos
que componen cada entidad (también conocido como las columnas que componen cada mesa) y un diagrama
entidad-relación que representa gráficamente las conexiones clave en el extranjero a primaria. Un estándar
ampliamente utilizado es que las claves primarias columnas deben ser identificados con una almohadilla (#);
columnas de clave externa con una barra invertida (\); columnas obligatorias (que no se puede dejar vacío) con un
asterisco (*); columnas opcionales con una o minúscula.

libros de mesa

#* ISBN clave primaria, es necesario

o Título Opcional

\* Editor clave externa, enlace a la tabla publishers

AUTORES mesa

#* Nombre Junto con el ISBN, la clave primaria

#\o ISBN Parte de la clave primaria, y una clave externa a la tabla LIBROS
opcional, ya que algunos autores no pueden todavía ser
publicados
Explicar estructuras relacionales 21

tabla publishers

#* Editor Clave primaria

\o código de dirección clave externa, enlace a la mesa DIRECCIONES

DIRECCIONES mesa

#* código de dirección Clave primaria

o calle o

ciudad

o Estado

La segunda parte necesaria de documentar el modelo de datos normalizada es la


diagrama de entidad-relación (ERD). Esto representa las conexiones entre las tablas gráficamente. Existen
diferentes normas para estos; La figura 1-1 muestra el diagrama entityrelationship para el ejemplo de libros
utilizando una notación muy simple limitado a mostrar la dirección de las relaciones de uno a muchos. Se puede
observar que un libro puede tener varios autores, un editor puede publicar muchos libros, y así sucesivamente.
Más notaciones complejas se pueden utilizar para demostrar si se requiere el enlace u opcional, la información
que coincida con la que figura en las columnas de tabla listados anteriormente.

Este es un ejemplo muy simple de normalización y de hecho no es completa. Si un autor fuera a escribir varios
libros, esto requeriría varios valores en la columna de ISBN de la tabla de autores. Eso sería un grupo de repetición,
lo que tendría que ser eliminado porque grupos de repetición rompen la regla para la primera forma normal. Un
ejercicio importante con la normalización de datos es garantizar que las estructuras pueden manejar todas las
posibilidades. Tablas de una aplicación en el mundo real pueden tener cientos de columnas y de las claves externas
docenas.

Los errores en el análisis relacional pueden ser desastrosas para una aplicación. Es muy difícil (y caro)
para corregir los errores más tarde. Por el contrario, los errores cometidos durante la fase de
programación del desarrollo por lo general pueden ser fijos relativamente rápida y barata.

FIGURA 1-1 Un diagrama de entidad-relación, que muestra las relaciones básicas de uno a muchos

AUTORES LIBROS EDITORES DIRECCIONES


22 Capítulo 1: Introducción a las tecnologías de Oracle Server

OBJETIVO DE CERTIFICACIÓN 1,03

Comprender el lenguaje SQL


SQL se define, desarrollado y controlado por organismos internacionales. Oracle Corporation no tiene que
cumplir con el estándar SQL, pero decide hacerlo. El lenguaje en sí mismo puede ser considerado como muy
sencilla (sólo hay dieciséis comandos), pero en la práctica la codificación SQL puede ser extraordinariamente
complicado.
Lo que sigue son los comandos SQL dieciséis, separados en grupos de uso común. El lenguaje de
manipulación de datos (DML) ordena:

■ SELECCIONAR

■ INSERTAR

■ ACTUALIZAR

■ BORRAR

■ UNIR

El lenguaje de definición de datos (DDL) ordena:

■ CREAR

■ ALTERAR

■ SOLTAR

■ REBAUTIZAR

■ TRUNCAR

■ COMENTARIO

El Lenguaje de control de datos (DCL) ordena:

■ CONCEDER

■ REVOCAR

El Lenguaje de control de transacción (TCL) ordena:

■ COMETER

■ RETROCEDER

■ PUNTO DE GUARDADO
Comprender el lenguaje SQL 23

SQL es una set-lenguaje orientado, mientras que la mayoría 3GLs son lenguas de procedimiento. Los programadores que trabajan

en lenguajes procedimentales especificar qué hacer con los datos, una fila a la vez. Los programadores que trabajan en un lenguaje

orientado a conjuntos dicen lo que quieren hacer a un grupo (a conjunto) de filas, y dejar que la base de datos de averiguar cómo lo

hacen para sin embargo muchas filas están en el conjunto.

lenguajes de procedimientos suelen ser menos eficientes que los lenguajes orientado a conjuntos en la gestión de
datos, tanto en materia de desarrollo y en cuanto a la ejecución. Una rutina de procedimiento para recorrer a través de un
grupo de filas y actualización de ellos uno por uno implicará muchas líneas de código, mientras que SQL puede hacer toda
la operación con un solo comando: aumenta la productividad del programador. Durante la ejecución del programa, el código
de procedimiento da la base de datos sin opciones; debe ejecutar el código, ya que se ha escrito. Con SQL, el programador
declara lo que él / ella quiere hacer, pero no cómo hacerlo: la base de datos tiene la libertad de trabajar a cabo la mejor
manera de llevar a cabo la operación. Esto suele dar mejores resultados.

Cuando falla SQL es que es puramente un lenguaje de acceso a datos. La mayoría de aplicaciones necesitan construcciones

de procedimiento, como el control de flujo: bifurcación condicional y iteración. Ellos normalmente también tendrá control de

pantalla, instalaciones de interfaz de usuario, y las variables. SQL tiene ninguno de estos. SQL es un lenguaje orientado a

conjuntos capaz de otra cosa que de acceso a datos. Para el desarrollo de aplicaciones, uno de ellos por lo tanto necesitan un

lenguaje de procedimientos que pueden invocar llamadas SQL. Por ello es necesario para SQL para trabajar con un lenguaje de

procedimientos.

Considere una aplicación que solicita al usuario un nombre, recupera todas las personas con ese nombre de una
tabla, le pide al usuario que elija una de ellas, y luego borra la persona elegida. El lenguaje de procedimientos dibujará
una pantalla y generar una solicitud de un nombre. El usuario deberá introducir el nombre. El lenguaje de
procedimientos construirá una instrucción SQL SELECT utilizando el nombre y presentar la declaración a través de una
sesión de base de datos para el servidor de base de datos para su ejecución. El servidor devolverá un conjunto de filas
(todas las personas con ese nombre) a la lengua de procedimiento, que formatear el conjunto de pantalla para el
usuario, y le pedirá a escoger uno (o más) de ellos. El identificador de la persona elegida (o personas) se utilizará
entonces para construir un SQL DELETE para el servidor para ejecutar. Si el identificador es un identificador único (la
clave principal), entonces el conjunto de filas que se desea borrar será un conjunto de una sola fila; Si el identificador
es no único, entonces el conjunto seleccionado para su eliminación sería más grande. El código de procedimiento
sabrá nada sobre el posible tamaño de los conjuntos recuperados o eliminados, y el programador no sabrá si la fila (s)
que desea eliminar se encuentra mediante el escaneo de toda la tabla, o mediante acceso directo después de buscar
un índice.
24 Capítulo 1: Introducción a las tecnologías de Oracle Server

OBJETIVO DE CERTIFICACIÓN 1,04

Apreciar el papel de la DBA


“Administrador de base de datos” a menudo no es un trabajo muy definido con precisión. En muchas organizaciones, los usuarios

finales esperan el DBA para ser un experto en todos los aspectos del entorno de TI. Si se bloquea la base de datos, que ellos llaman

el DBA. Lo suficientemente justo. Pero también pueden llamarla si falla la red, si el accidente servidores, o si la aplicación tiene un

error. Algunos creen que los administradores de bases usuarios finales llamar si la tubería se bloquea. Tal vez esto se debe a que

prácticamente cualquier fallo en los resultados de entorno de TI en los usuarios finales no poder utilizar la base de datos, por lo que

el DBA es el primer punto de contacto natural.

Aparte de estas expectativas excesivas, el DBA es a menudo la única persona en la estructura de administración de TI que

tiene una visión holística del medio ambiente. Oracle Enterprise Manager Grid Control es una herramienta destinada

específicamente para ayudar a los DBA con esto: se presenta un cuadro completo del rendimiento y la disponibilidad de todas

las bases de datos, servidores de aplicaciones y máquinas servidor de la organización. Una parte fundamental del trabajo del

DBA es identificar donde en un entorno de tecnología de la información compleja ha producido un error o un problema de

rendimiento, y trabajar con el grupo de apoyo adecuada para solucionarlo. Funciones más específicamente relacionados con la

administración de bases de datos incluyen

■ aplicaciones de encolado y el hardware del servidor pronósticos exactos de la memoria necesaria principal,

espacio en disco y CPU que se necesita para asegurar que las aplicaciones funcionarán bien sin exigir recursos

innecesarios son una parte importante de mantener el rendimiento sin necesidad de utilizar el presupuesto

excesivo.

■ la instalación del software de Oracle y mantenimiento Esta es una tarea no trivial en organizaciones con muchos

servidores. instalaciones de software deben mantenerse hasta la fecha con los parches críticos (para la seguridad,

por ejemplo), y los parches de mantenimiento se deben aplicar a medida que se emiten, pero antes de cualquier

actualización se realiza a vivir sistemas, el DBA debe asegurarse de que se prueba de manera adecuada .

■ diseño físico de bases de datos Normalmente habrá muchas maneras de configurar el almacenamiento físico de una base

de datos, algunos de los cuales pueden tener un gran impacto en el rendimiento del sistema y su capacidad de gestión. El

DBA también debe ser consciente del impacto de las diferentes estructuras de almacenamiento en dispositivos tales como

los sistemas de disco y de cinta.

■ Supervisión del rendimiento y puesta a punto Esta es una actividad continua de los sistemas de

producción. Un buen DBA será capaz de anticipar los problemas de rendimiento y solucionarlos antes de que

surjan.
Apreciar el papel de la DBA 25

■ Ayudar a los desarrolladores el diseño de aplicaciones y SQL tuning Algunos administradores de bases pasan

ocho horas al día SQL Tuning. Tal vez esto debería ser el trabajo de los programadores, pero por lo menos el DBA

debe identificar las áreas problemáticas que deben ser direccionamiento.

■ Servir de enlace con los proveedores, usuarios finales, desarrolladores, la alta dirección y otros grupos de

apoyo Como el técnico con la imagen más completa del medio ambiente, el DBA debe tomar un papel de liderazgo

en la coordinación de la planificación y la acción de todas las partes involucradas en el entorno de TI.

■ Backup, restauración y recuperación Quizás la parte más importante del trabajo. El DBA debe establecer rutinas

que aseguren que los objetivos acordados para el tiempo de actividad y la pérdida de datos (tal vez tan exigente

como el 100 por ciento y cero, respectivamente) se puede cumplir en la cara de cualquier posible problema. No

hay bien o mal aquí, solamente la conformidad (o falta de ella) a los objetivos acordados.

■ Gestión de usuarios y seguridad Otra parte fundamental del trabajo. Al igual que con el tiempo de actividad y la

pérdida de datos, no hay bien y el mal en la conformidad de sólo la seguridad de los estándares acordados. El

DBA debe establecer procedimientos que aseguren la conformidad, y vigilar su eficacia.

Algunos creen que los administradores de bases que están haciendo su trabajo a la perfección si nadie sabe que están allí.

Hay una cierta cantidad de verdad en esto. administración de base de datos es un trabajo de apoyo medida grande, y si el trabajo

se hace lo suficientemente bien con la suficiente planificación proactiva y el mantenimiento preventivo, nunca habrá una razón

para que los usuarios informar de un problema. Por lo general, este ideal no puede ser alcanzado, y una gran cantidad de tiempo

será dedicado a trabajar de forma reactiva con diferentes personas en diferentes grupos para resolver problemas.

El amplio alcance de la función de DBA requiere un estudio continuo y el desarrollo personal, el estudio de la base de
datos Oracle sí mismo y también de las tecnologías relacionadas. También se requiere la inclinación de educar y difundir
las informaciones. Esto puede ser la parte más gratificante del trabajo.

CERTIFICACION RESUMEN
En este capítulo se resumen algunos de los conocimientos que se asume antes de comenzar a estudiar para los
exámenes de OCP: la posición de la base de datos Oracle en la familia de productos de Oracle, los principios de bases
de datos relacionales y la normalización de datos, el lenguaje SQL, y otras herramientas de desarrollo de aplicaciones.
Por último, se considera el papel del DBA en el entorno de TI. Un muy amplio papel de hecho.
26 Capítulo 1: Introducción a las tecnologías de Oracle Server

✓ SIMULACRO DE DOS MINUTOS

Coloque la Familia Producto de Oracle

❑ Las tiendas de bases de datos Oracle y gestiona el acceso a los datos del usuario.

❑ El Oracle Application Server se ejecuta aplicaciones que se conectan los usuarios a la

base de datos.

❑ Oracle Enterprise Manager es una herramienta para la gestión de bases de datos, aplicaciones

servidores, y si se desea, todo el entorno informático.


❑ Idiomas incorporados en la base de datos para el desarrollo de aplicaciones de SQL son,

PL / SQL y Java.

Explicar estructuras relacionales

❑ Los datos deben ser normalizados en tablas bidimensionales.

❑ Las mesas están vinculados a través de claves primarias y externas.

❑ diagramas entidad-relación representan gráficamente las tablas.

Comprender el lenguaje SQL


❑ SQL es un lenguaje orientado a conjuntos.

❑ Los comandos DML son SELECT, INSERT, UPDATE, DELETE y MERGE.

❑ Los comandos DDL son crear, alterar, borrar, renombrar, TRUNCATE,


y comentario.
❑ Los comandos DCL son conceder y revocar.

❑ Los comandos de TCL son COMMIT, ROLLBACK, y SAVEPOINT.

Apreciar el papel de la DBA


❑ aplicaciones de encolado y el hardware del servidor.

❑ instalación del software Oracle y mantenimiento.

❑ diseño físico de bases de datos.

❑ Supervisión y ajuste del rendimiento.

❑ Ayudar a los desarrolladores el diseño de aplicaciones y SQL tuning.

❑ Servir de enlace con los proveedores, usuarios finales, desarrolladores, la alta dirección, y otra

grupos de apoyo.

❑ Copia de seguridad, restauración y recuperación.

❑ De usuario y gestión de la seguridad.


Autotest 27

AUTOTEST

Coloque la Familia Producto de Oracle

1. ¿Cuál de estos idiomas se puede ejecutar dentro de la base de datos? (Elija todas las respuestas correctas.)

A. do

Java
SEGUNDO.

DO. PL / SQL

RE. SQL

MI. Cualquier otro idioma, si se vincula con las bibliotecas OCI

2. En una aplicación web, del nivel en que se ejecuta el software de aplicación? (Elige la mejor respuesta.)

A. En el navegador web en el nivel de cliente

SEGUNDO. En el nivel medio

DO. Dentro de una base de datos compatible con Java

Explicar estructuras relacionales

3. Por lo paradigma almacenamiento de datos deben normalizarse datos? (Elige la mejor respuesta.)

A. bases de datos jerárquicas

SEGUNDO. bases de datos de red

DO. bases de datos orientadas a objetos

RE. Bases de datos relacionales

4. ¿Qué tipo de relación se debe evitar cuando la normalización de los datos? (Elige la mejor respuesta.)

A. Uno a muchos

SEGUNDO. Muchos-a-uno

DO. Muchos a muchos

RE. Doce y cincuenta y nueve de la noche

Comprender el lenguaje SQL


5. SQL no puede hacerlo todo. ¿Qué funciones requieren otro idioma? (Elija los correctos
respuestas.)

A. Diseño de interfaz de usuario

SEGUNDO. La ramificación estructuras tales como IF ... THEN ... ELSE

DO. Las operaciones que afectan a muchas filas a la vez

RE. creación de la tabla y el borrado


28 Capítulo 1: Introducción a las tecnologías de Oracle Server

6. Cuál de estos no es un comando SQL? (Elige la mejor respuesta.)


A. UNIR
SEGUNDO. UPSERT

DO. COMENTARIO

RE. PUNTO DE GUARDADO

MI. Todo lo anterior son comandos SQL

Apreciar el papel de la DBA

7. Con vistas a garantizar que los datos no se perderán y no se verá comprometida la seguridad de que,
lo que no sería normalmente parte de las tareas del DBA? (Elige las mejores respuestas.)

A. El diseño de rutinas de copia de seguridad

SEGUNDO. Configuración de la duplicación de discos

DO. Crear y eliminar objetos de la base


RE. Prueba de estrategias de recuperación y restauración

PREGUNTA LAB
Un DBA novato necesita un sistema en el que el estudio de la base de datos Oracle, y practicar las habilidades necesarias para alcanzar el

nivel de competencia OCA. Lo ideal sería que él / ella tendrá

■ Una máquina con un monitor de gráficos, 1 GB de RAM, y el espacio libre en disco 5 GB

■ La base de datos 11 gramo software de instalación, en DVD o descargado

■ El software SQL Developer

■ Una dirección IP: ya sea fijo, DHCP o de bucle invertido

■ Un sistema operativo como Windows XP o Linux

■ El acceso a la documentación de base de datos Oracle

■ Si lo permiten, una cuenta en Metalink el montaje de

estos elementos.
respuesta de laboratorio 29

RESPUESTAS Self Test

Coloque la Familia Producto de Oracle

1. ® ✓ SEGUNDO, DO, y RE. SQL, PL / SQL y Java se implementan internamente a la base de datos.
® UN es incorrecto debido a que C no está disponible internamente (aunque con OCI, que por supuesto puede ser utilizado para la escritura de los

procesos de usuario). mi es incorrecto porque la OCI se utiliza para escribir los procesos de usuario que se ejecutan externamente a la base de datos.

2. ® ✓ SEGUNDO. En una aplicación Web de tres niveles, el software de aplicación reside en el nivel medio.

® UN es incorrecto debido a que el nivel de cliente gestiona sólo la interfaz de usuario. do es incorrecto debido a que el nivel de base de datos gestiona

sólo el acceso a los datos.

Explicar estructuras relacionales

3. ® ✓ RE. La normalización es el proceso de convertir los datos a tablas relacionales bidimensionales.


® UN, SEGUNDO, y DO. , redes y bases de datos jerárquicas orientadas a objetos no implementan estructuras de datos normalizados.

4. ® ✓ DO. -Muchos-a-muchos relaciones deben ser resueltos en uno-a-muchos, por


la inserción de otra entidad entre los dos.
® UN, SEGUNDO, y RE. Estos son todos aceptables en el tercer modelo de forma normal.

Comprender el lenguaje SQL


5. ® ✓ UN y SEGUNDO. SQL no tiene instalaciones para el diseño de interfaz de usuario o para el control de flujo.

® do que está mal porque las operaciones de este tipo son inherentes a la orientación del conjunto de SQL. re que está mal porque los comandos DDL

son una parte de SQL.

6. ® ✓ SEGUNDO. El comando UPSERT no existe, aunque algunos desarrolladores se refieren a una combinación de

operación como un UPSERT


® UN, DO, RE, y MI. MERGE, COMENTARIO, y SAVEPOINT son todos los comandos SQL.

Apreciar el papel de la DBA

7. ® ✓ SEGUNDO. la administración de disco suele ser responsabilidad de los administradores del sistema, no el

administrador de base de datos.

® UN, DO, y RE. Por lo general son todos parte del trabajo del DBA.

RESPUESTA LAB
Después de haber reunido los elementos necesarios, ya está listo para continuar con sus estudios. Disfrutar.

Potrebbero piacerti anche