0% encontró este documento útil (0 votos)
84 vistas48 páginas

S1 - Instalación de Oracle 11g

Este documento presenta una guía de laboratorio para instalar Oracle 11g. Explica los objetivos e introduce conceptos clave de Oracle como su arquitectura de base de datos, que incluye estructuras de memoria como el SGA y PGA, y archivos como los datafiles y tablespaces que almacenan los datos físicamente. También cubre los requisitos de hardware y software necesarios para la instalación, como un sistema operativo compatible, memoria y espacio en disco duro.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
84 vistas48 páginas

S1 - Instalación de Oracle 11g

Este documento presenta una guía de laboratorio para instalar Oracle 11g. Explica los objetivos e introduce conceptos clave de Oracle como su arquitectura de base de datos, que incluye estructuras de memoria como el SGA y PGA, y archivos como los datafiles y tablespaces que almacenan los datos físicamente. También cubre los requisitos de hardware y software necesarios para la instalación, como un sistema operativo compatible, memoria y espacio en disco duro.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 48

Guía de Laboratorio

Programación en Base de Datos – Instalación de Oracle 11g 1


______________________________________________________________________
___________________

Programación en Base de Datos


INTRODUCCIÓN Y DEFINICIÓN DE ORACLE.

Semana 01:

OBJETIVO DEL LABORATORIO


Instala, identifica componentes y configura una conexión con la BD Oracle 11g, interactuando con la herramienta SQL
*PLUS cumpliendo con los requerimientos de hardware.

MARCO TEÓRICO
“Es un sistema de gestión de base de datos de tipo objeto-relacional (ORDBMS, por el acrónimo en inglés de Object -
Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera como uno de los sistemas
de bases de datos más completos, destacando: soporte de transacciones, estabilidad, escalabilidad, y soporte
multiplataforma”.

Oracle es un sistema gestor de base de datos con características objeto - relacional, que pertenece al modelo evolutivo de
SGDB, este sistema permite controlar y gestionar grandes volúmenes de contenidos.

RECURSOS
Hardware
 Sistema. Oracle en Windows requiere un PC Intel x86, AMD64 o Intel EM64T
 Memoria. Al menos 1 GB de RAM y el doble en virtual.
 Espacio en disco duro. Al menos 6 GB para la instalación (algunas instalaciones requieren menos). Además,
necesitamos poder almacenar 500 MB en la carpeta TEMP del sistema.
 Tarjeta gráfica. Debe de ser capaz de mostrar 1024 por 768 píxeles como mínimo y 256 colores.

Software
Sistema Operativo.
 Windows 2003 Server y 2003 Server R2.
 Windows XP Professional.
 Windows Vista, pero no la versión Home Edition.
 Windows Server 2008 y 2012. No la versión Server Core.

Compiladores. Se usan para la gente que crean aplicaciones en Oracle usando lenguajes como Pro C, Pro COBOL,
JAVA.
o Visual C++.NET 2005 8.0 o Intel 10.1 C, .Net Express.

Navegador. Para configurar algunos servicios de Oracle. Debe de ser navegador moderno (Internet Explorer 6 o
superior, Firefox 2.0 o superior, Safari 3.1 o superior, Chrome 3.0 o superior)
Usar dirección IP única en la máquina en la que se instala Oracle. Es decir, no usar DHCP para direccionar la IP
en el servidor de Oracle. No es un requisito obligatorio, pero es muy recomendable.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 2
______________________________________________________________________
___________________
INTRODUCCIÓN A UN BD RELACIONAL Y LA ARQUITECTURA ORACLE
Modelo Relacional
El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicado y en la
teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos
dinámicamente.

En este modelo, todos los datos son almacenados en relaciones y como cada relación es un conjunto de datos, el orden en el
que estos se almacenen no tiene mayor relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene
la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser
recuperada o almacenada por medio de «consultas» que ofrecen una amplia flexibilidad y poder para administrar la
información.
Este modelo considera la base de datos como una colección de relaciones. De manera simple, una relación representa una
tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que
interpretado describe el mundo real. Cada fila también se puede denominar tupla o registro y a cada columna también se le
puede llamar campo o atributo.
Una tabla es una estructura lógica que sirve para almacenar los datos de un mismo tipo (desde el punto de vista conceptual).
Almacenar los datos de un mismo tipo no significa que se almacenen sólo datos numéricos, o sólo datos alfanuméricos.
Desde el punto de vista conceptual, esto significa que cada entidad se almacena en estructuras separadas.

IMPORTANTE
LA ESTRUCTURA Y DATOS DE LAS TABLAS, SE ENCUENTRAN
EN LOS ARCHIVOS SCRIPT DE BASE DE DATOS.
Semana01_Indices.sql,
Semana01_Secuencias.sql,
Semana01_Sinonimos.sql,
FAVOR DE DESCARGAR TODOS LOS ARCHIVOS.

Componentes de la Arquitectura de una Base de Datos


La arquitectura de ORACLE tiene tres componentes básicos: las estructuras de memoria para almacenar los datos y el
código ejecutable, los procesos que corren el sistema de bases de datos y las tareas de cada usuario conectado a la base de
datos y los archivos que sirven para el almacenamiento físico, en disco, de la información de la base de datos.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 3
______________________________________________________________________
___________________
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 4
______________________________________________________________________
___________________
Estructuras de memoria
Hay dos clases de memoria, una de ellas compartida por todos los usuarios conectados y otra, dedicada al trabajo de cada
uno de ellos.

El área global del sistema SGA (system global area), es el área compartida por todos los usuarios y se divide en tres partes:
 Fondo común compartido (Shared pool), en ella mantiene el diccionario de datos y las áreas compartidas de las
órdenes SQL que se solicitan para su procesamiento.
 Área de memoria rápida (Database buffer cache), donde mantiene los datos traídos por las órdenes SQL de los
usuarios conectados a la base de datos.
 Área de registros de rehacer (Redo log buffer), aquí se registran los cambios hechos a la base de datos.

Por cada sesión de usuario, se crea también, en memoria, un área específica llamada área global de programa o PGA
(program global area). Esta área no se comparte con las otras sesiones de usuario.

A. Archivos de la base de datos


Los archivos que maneja ORACLE se clasifican en cuatro grupos:
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 5
______________________________________________________________________
___________________
Los Archivos de Datos (Datafiles)
Estos archivos sirven para el almacenamiento físico de las tablas, índices y agrupamientos (clusters), y procedimientos.
Estos archivos, son los únicos que contienen los datos de los usuarios de la base de datos.
Las unidades lógicas más grandes manejadas por ORACLE, para el almacenamiento de los datos, son llamadas espacios de
tablas (tablespaces) que le permiten manejar y controlar el espacio en los discos.

No es necesario que todos los espacios de tablas estén en un mismo disco. Cuando se crean en distintos discos se busca un
mejor desempeño y mejor manejo del espacio de almacenamiento.
Una base de datos puede tener un solo espacio de tablas, pero, por las razones anteriores, se recomienda varios espacios de
tablas. Como mínimo, se debe tener un espacio de tablas del sistema (SYSTEM), un espacio de tablas por cada aplicación,
un espacio de tablas para los usuarios y otro espacio de tablas para los índices.
EI espacio de tablas SYSTEM se crea automáticamente cuando se crea una base de datos. Allí se guardan los archivos de
control y el diccionario de datos y toda la información de los procedimientos almacenados.

EI DBA (Administrador de Base de Datos) puede crear un espacio de tablas con una orden, como la siguiente:
CREATE T ABLESPACE indices datafile ‘discod/bd/datosl.dbf’ size 300m;

Los archivos de datos (datafiles) almacenan los datos del usuario. Se requiere como mínimo uno para una base de datos.
Cuando se agote el espacio, un DBA tiene dos alternativas:

Adicionar un nuevo archivo de datos con la orden ALTER


ALTER TABLESPACE indices add datafile ‘discod/bd/datos3.dbf’ size 150m

Crear un nuevo espacio de tablas como se mostró previamente.


En el momento de la creación de una base de datos, el DBA debe planear o estimar los requerimientos de almacenamiento
y, también, el nombre, tamaño y localización de los archivos de datos, junto con el número máximo de archivos de datos
permitido para la base de datos.
EI DBA puede crear varios espacios de tablas (tablespaces) en discos separados para planear el crecimiento de la base de
datos y hacer una mejor administración de la base de datos.
Un objeto de datos, por su parte, es una estructura lógica que puede ser una tabla, un archivo de índice, un archivo
temporal, un archivo de deshacer o un clúster. Estos objetos se almacenan físicamente en segmentos que se componen de
extensiones (extents).
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 6
______________________________________________________________________
___________________
A su vez, una extensión está hecha de bloques que, de acuerdo con el sistema operativo subyacente, puede tener un número
determinado de bytes y que el DBA específica, en el momento de la creación de la base de datos. EI tamaño del bloque es
dependiente del sistema operativo y nunca puede ser menor al que éste maneja.

En una base de datos, pueden existir otros objetos que no contienen datos como las vistas, los sinónimos y las secuencias.
Sin embargo, todo objeto, independientemente de si contiene datos o no, debe pertenecer a un esquema. Por eso, una
colección de objetos de un usuario se denomina esquema.
Un objeto se puede crear en un esquema de tres formas:
 Si un usuario da una orden de creación de un objeto, por defecto, el sistema lo crea en su propio esquema.
 Copiando el objeto de otro usuario (al nombre de un objeto siempre se le antepone el nombre del esquema, por
ejemplo juan.empleado) con una orden como:

CREATE TABLE empleado as SELECT * from scott.emp;

 Otro usuario lo crea para uno, como en la orden:

CREATE TABLE juan.proyecto (codigo number primay key, .....) tablespace


planeacion storage (initial 1000 next 1000 minextents 1 maxextentents 6 ....)

Reglas para el almacenamiento de objetos en la base de datos

Un objeto puede almacenarse en uno o más archivos de datos (datafiles), pero en un solo espacio de tablas (tablespace).
Dos objetos diferentes de un esquema pueden estar en distintos tablespaces.
Los objetos pueden almacenarse en múltiples discos. Por ejemplo, parte de jane.emp es almacenado en el archivo de datos
1 sobre el disco A y parte en el archivo de datos 2 sobre el disco B.

B. Archivos de control (Control Files)


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 7
______________________________________________________________________
___________________
Tienen la descripción física y dirección de los archivos de la base de datos y de los archivos de rehacer para el arranque
correcto de la base de datos. En estos archivos se especifican cuáles datafiles conforman la base de datos para poder tener
acceso a los datos o para poder recuperar la base de datos, ante una falla.
Los archivos de control se crean automáticamente cuando se da una orden CREATE DATABASE y no son editables, pues
también se actualizan automáticamente.

C. Archivos de rehacer (redo log files)


Tienen los cambios hechos a la base de datos para la recuperación ante fallas o para el manejo de las transacciones. Poseen
los valores antes de una transacción, la orden ejecutada y, opcionalmente, el valor después de la transacción. EI principal
propósito de estos archivos es servir de respaldo de los datos en la memoria RAM. Este conjunto de archivos debe estar
conformado por dos grupos, como mínimo, y se recomienda que cada grupo esté almacenado en discos separados. EI
DBMS utiliza la técnica de ir sobrescribiendo sobre la información más vieja, cuando se agota el espacio en estos grupos de
archivos. Se puede decir que guarda las instrucciones SQL que se van realizando en toda la base de datos.

D. Archivos fuera de línea (archived files)


Son archivos opcionales donde se guarda información vieja de los archivos de rehacer, muy convenientes para los respaldos
de la base de datos.

E. E. Procesos
Los procesos son programas que se ejecutan para permitir el acceso a los datos. Los procesos se cargan en memoria y son
transparentes para los usuarios. Los procesos se clasifican en tres grupos: procesos de base, de usuario y procesos
servidores.

Procesos de Base o de Soporte


Los procesos de base (background) son los que se encargan de traer datos desde y hacia la SGA, mejorando el desempeño
al consolidar las tareas que son impartidas por todos los usuarios. Cada proceso de base tiene su propia área de memoria.
Los procesos de base o soporte son los siguientes:

DBWR: (Database writer) se encarga de manejar los “buffers” de memoria cache para que los procesos del usuario siempre
encuentren a algunos uno de ellos disponibles. Es un proceso obligatorio que, además, escribe los bloques de datos
modificados por los usuarios en los archivos de datos que componen la B.D cuando el proceso LGWR le envía el mensaje
de hacerlo.

LGWR: (Log writer) este proceso escribe datos desde la SGA a los archivos de rehacer (redo log files) que sirven en caso
de fallas en la instancia. Este proceso es obligatorio y es el único encargado de escribir y leer en estos archivos. El proceso
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 8
______________________________________________________________________
___________________
de llenado de estos archivos es circular, por lo tanto, antes de empezar a sobrescribir en uno de ellos, se marca un punto de
verificación y LGWR envía la orden de escritura en los datafiles al proceso DBWR. Cuando se cambia de uso de grupo de
redo log (archivo deshacer), se produce un SWITCH LOG
 LCKn, Lock: (lock processes) El bloqueo es un proceso opcional. Efectúa los bloqueos entre instancias, en caso de
ambientes con servidores paralelos (hasta con 10 servidores).
 CKPT: (Check point) El punto de comprobación es un proceso opcional que ocurre cuando los usuarios conectados
a la base de datos, hacen solicitudes de exámenes de datos. Uno de los eventos que dispara a este proceso es el
SWITCH LOG.
 SNPn: (Snapshot process) se encarga de refrescar los snapshots o réplicas de tablas que se usan, principalmente, en
ambientes distribuidos.
 SMON: (System monitor) recupera el sistema ante una falla de la instancia.
 RECO: (Recovery) recupera ante las fallas, en una transacción en ambientes distribuidos.
 ARCH: (Archive) copia los registros de rehacer de la RAM en archivos de datos (archive redo logs) que permiten la
recuperación cuando se presentan fallas de los medios magnéticos.
 PMON: (Process Monitor) recupera la instancia ante una falla de un proceso de usuario; libera los recursos del
proceso que falló.
 Procesos del Usuario
Cuando un usuario se conecta a la base de datos, se crea un proceso de usuario que se encarga de ejecutar el código de
aplicación del usuario y manejar el perfil del usuario con sus variables de ambiente. Los procesos de usuario no se pueden
comunicar directamente con la base de datos, únicamente, lo hacen a través de procesos servidores.
Procesos Servidores
Ejecutan las órdenes SQL de los usuarios y llevan los datos al “database buffer cache” para que los procesos del usuario
puedan tener acceso a los datos. Se pueden tener distintas arquitecturas para trabajar en ORACLE, según los tipos de
servidores: dedicados o multihilos.

Una configuración dedicada significa que cada conexión de un usuario de Base de Datos será atendida exclusivamente por
un proceso servidor. Una configuración multihilo (multithread) o compartida es cuando existe un número limitado de
procesos servidores que atienden a todas las conexiones de Bases de Datos existentes cuando haya un requerimiento de por
medio. En esta última configuración, existen los despachadores (dispatchers), que son los que ante algún requerimiento de
sesión asignan dicho trabajo a un proceso servidor disponible.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 9
______________________________________________________________________
___________________
F. Instancia de ORACLE
Se denomina instancia al conjunto de estructuras de memoria y procesos de fondo que acceden los archivos de
bases de datos. Es posible que una misma base de datos sea accedida por múltiples instancias; cada una de ellas
residiendo en una máquina diferente (ésta es la opción de servidores paralelos de ORACLE).

El sistema de bases de datos ORACLE, cuando inicia, sigue los pasos que se detallan a continuación:
1. Iniciar la instancia. Para hacer este paso, ORACLE lee el archivo de parámetros y configura la instancia, con base en
ellos. En ese momento, se crea la SGA y se activan los procesos de base, pero aún no se puede hacer nada.
2. Montar la base de datos. Consiste en preparar el sistema para su uso trayendo a la RAM el diccionario de datos; es como
poner el sistema en primera, listo para recibir algunas órdenes del DBA.
3. Abrir la base de datos. En este momento se abren los archivos y los usuarios ya pueden tener acceso a los datos.

De acuerdo cómo se defina la instancia, ORACLE, a través de sus parámetros, puede determinarse que tan poderoso y
grande es el motor. Los parámetros se definen en el archivo INIT.ORA. Entre ellos se pueden mencionar los siguientes:

db_block_buffers = número de bloques de bases de datos en la SGA. Existirá un buffer por cada bloque.

db_block_size = tamaño del bloque de la base de datos. shared_poo_size = tamaño del área compartida “shared pool”, en
bytes.

Además, allí se especifica el número de usuarios concurrentes, el número de transacciones concurrentes y los nombres de
los archivos de control para la base de datos.
Estos parámetros se pueden ajustar durante el proceso de afinamiento porque ellos inciden en el desempeño del sistema.
Algunos de los parámetros son específicos a una base de datos y, por lo tanto, deben ser cambiados antes de crear una base
de datos. Se incluyen en estos:
database_name = nombre de la base de datos. db_block_size = tamano del bloque.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 10
______________________________________________________________________
___________________
INTERACTUANDO CON LA BD: CONEXIÓN SQL*PLUS Y PL/SQL DEVELOPER.

SQL *Plus.
El SQL Plus tiene un entorno orientado a carácter. Forma parte del grupo de programas de Oracle11g Express Edition. Es
usado para conectarse con la base de datos de Oracle, solo es necesario tener una cuenta de usuario con su respectiva
contraseña.

Puedes buscarlo, en el grupo de programas: “Oracle Database 11g Express Edition” desde el botón de inicio de
Windows.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 11
______________________________________________________________________
___________________
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 12
______________________________________________________________________
___________________
Existen varias formas de conectarse con una base de datos Oracle:

PRIMERA FORMA:
Una primera forma sería después de ejecutar el SQL *PLUS desde el explorador de Windows, digitar en la línea de
dirección: SQLPLUS y presione Enter. Tal como se muestra en la imagen.

Inmediatamente aparecerá la ventana Shell de conexión con base de datos, ahí debe ingresar el usuario (SYSTEM) y la
contraseña (Oracle) del perfil de base de datos donde se desea conectar.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 13
______________________________________________________________________
___________________
SEGUNDA FORMA

Desde el Explorador de Windows, en la línea de dirección digitar: SQLPlus SYSTEM/oracle


Donde:

SQLPlus SYSTEM/oracle

EL Programa EL Usuario la Contraseña

Tal como se muestra en la siguiente imagen:

EL resultado es: muestra el SQL *Plus con la base de datos conectada:


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 14
______________________________________________________________________
___________________
TERCERA FORMA

Por favor abrir el SQL Plus desde el botón de inicio.

Se obtendrá la ventana del SQL Plus, donde Ud. Deberá usar el Comando Connect. Luego digitar el usuario y la
contraseña de la base de datos, hágalo de la siguiente manera:
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 15
______________________________________________________________________
___________________
CUARTA FORMA

Desde la ventana de ejecutar, es decir presione la tecla de Windows + tecla R, obtendrá esta ventana y digitara SQLPLUS
usuario/contraseña tal como se observa en la imagen:

Como Resultado obtendrá la conexión con la base de datos:


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 16
______________________________________________________________________
___________________
Conectando con una base de datos desde PL/SQL
Ingrese a la herramienta PL/SQL, desde el acceso directo de su escritorio de Windows, o desde la ubicación su ejecutable,
sqldveloper.exe.

Se presenta la ventana principal de PL/SQL Proceda a realizar una nueva conexión, haciendo Click en el signo +, y elija la
opción “Nueva Conexión de Base de Datos…”, tal como se muestra en la imagen:
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 17
______________________________________________________________________
___________________
Proceda a ingresar el usuario y contraseña del motor de base de datos.

5
4 6

1. Ingrese Nombre del Perfil de Conexión, en este caso LOCAL.


2. Ingrese el nombre de usuario, en este caso SYSTEM
3. Ingrese la contraseña, en este caso “oracle”
4. Probar la conexión, cuando lo haga, observará al lado derecho de la ventana el mensaje “Estado: correcto”, en
caso contrario se visualizará un error.
5. Mensaje: “Estado Correcto”, resultado de prueba.
6. Conectar. Para finalizar el proceso de conexión.

Entorno conectado de PL/SQL. Listo para trabajar con oracle.


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 18
______________________________________________________________________
___________________
CREACIÓN Y MODIFICACIÓN DE TABLAS
Es importante saber que un usuario de Oracle, debe contar con privilegios para realizar esta operación:

 Para crear una nueva tabla en el esquema debe contar con el privilegio de sistema CREATE TABLE.
 Para crear una nueva tabla en otro esquema de usuario, debe contar con el privilegio de sistema CREATE ANY
TABLE.

PRUEBA TU MISMO:
Video referencial: https://www.youtube.com/watch?v=0UPOeKzmsAw
https://www.youtube.com/watch?v=B9ftErgvdmI
Antes de crear una tabla debemos de determinar a qué esquema de la base de datos pertenecerá. Para poner esto en práctica,
vamos a crear en la base de datos un espacio para las tablas (Tablespace) llamado IDAT y también, vamos a crear un
usuario llamado ALUMNO que utilizaremos para crear todos los objetos a ver en esta sesión.

PASO 1:
Crear una carpeta en su disco físico (C:\ D:\ o el que disponga), en este caso creara la carpeta ORACLE_DATA, en el
disco C:\. Tal como se muestra e la imagen.

PASO 2:
Conéctese a través de SQL *PLUS, a una cuenta de usuario con privilegios suficientes para crear tablespaces y nuevos
usuarios, en este caso el usuario será: SYSTEM y la contraseña es: oracle.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 19
______________________________________________________________________
___________________
PASO 3:
A continuación crear el espacio de tablas IDAT de 50 megas de tamaño, para almacenar en esta parte de base de datos, las
tablas a crear, para usaremos el comando CREATE TABLESPACE.

CREATE TABLESPACE IDAT DATAFILE ‘C:\ORACLE_DATA\IDAT01.DBF’ SIZE 50M;

Verificando la existencia del TABLESPACE, llamado IDAT01.DBF.

PASO 4:
A continuación, verificamos la creación de nuestro TABLESPACE. Usando la tabla de sistema v$tablespace.

PASO 5:
La base de datos requiere un usuario (CREATE USER), crearemos el usuario ALUMNO.y contraseña IDAT.

Usuario: ALUMNO, Contraseña: IDAT


Puedes usar otra contraseña si lo deseas.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 20
______________________________________________________________________
___________________
PASO 6:
Ahora crearemos un Rol (CREATE ROLE) llamado PERMISOS, el cual contendrá los permisos de usuario pertinentes.

PASO 7:
Asignaremos los permisos (GRANT) de usuario pertinentes para este ejemplo, Los permisos son: CONNECT, CREATE
TABLE, CREATE ANY TABLE, RESOURCE. Y los asociamos al Rol PERMISOS ya antes creado.

Permisos adicionales que podría usar.


ALTER ANY INDEX, ALTER ANY SEQUENCE, ALTER ANY TABLE, ALTER ANY TRIGGER,
CREATE ANY INDEX, CREATE ANY SEQUENCE, CREATE ANY SYNONYM, CREATE ANY TABLE, CREATE
ANY TRIGGER, CREATE ANY VIEW, CREATE PROCEDURE, CREATE PUBLIC SYNONYM, CREATE
TRIGGER, CREATE VIEW, CREATE ANY TABLE, DROP ANY INDEX, DROP ANY SEQUENCE, DROP ANY
TABLE, DROP ANY TRIGGER, DROP ANY VIEW, INSERT ANY TABLE, QUERY ANY REWRITE, SELECT ANY
TABLE, UNLIMITED TABLESPACE.

PASO 8:
Asociamos (GRANT) el Rol PERMISOS con el usuario ALUMNO, de esta manera el usuario ALUMNO, podrá realizar
las tareas i/o permisos que el Rol tiene.

PASO 9:
Desconéctese del esquema actual. Use el comando DISCONNECT.

PASO 10:
Conéctese con el usuario ALUMNO y su contraseña IDAT, para probar la configuración de todo lo realizado.

FIN DE CREACION DE TABLESPACE, CUENTA DE USUARIO, ROLES,


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 21
______________________________________________________________________
___________________
CREANDO TABLAS.

Comando: CREATE TABLE


Ejemplo desde SQL *Plus.

PASO 1:
Ingrese a su usuario reciente mente creado: usuario: ALUMNO, contraseña: IDAT.

PASO 2:
En el prompt del sistema SQL>, proceda a crear la tabla CLIENTE con sus campos y llave respectiva.

PASO 3:
Verificando la existencia de la tabla CLIENTE.

Puede usar el comando DESCRIBE, para mostrar la estructura de la tabla CLIENTE.

Nota:
En esta ventana de SQL *PLUS, puede crear tablas, restricciones, relaciones incluidas.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 22
______________________________________________________________________
___________________
MODIFICANDO ESTRUCTURA DE TABLAS:

Comando: ALTER TABLE.- ADD


Ejemplo desde SQL *PLUS.

Agregando Columnas a una tabla:


Agregar una nueva columna a la tabla CLIENTE, la columna se llamara BONOS numérico de 12 posiciones numéricas,
incluido 2 decimales.

SQL> alter table CLIENTE add Bonos NUMBER (12, 2) Not Null;

El siguiente ejemplo adiciona más de una columna: Pruébelo!

SQL> alter table CLIENTE add (Ruc Char (11) Not Null, Telefono Char (9) Not Null);

Modificando Columnas de una tabla:


Comando: ALTER TABLE – MODIFY.
Ejemplo desde SQL *PLUS.

Por ejemplo, el siguiente comando disminuye la longitud de la columna BONOS de la tabla CLIENTE, verifique la
modificación usando el comando DESCRIBE.

SQL> alter table CLIENTE MODIFY BONOS NUMBER (9, 2);


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 23
______________________________________________________________________
___________________
Cambiar de Nombre a una Columna.
Comando: ALTER TABLE – RENAME COLUMN

Ejemplo desde SQL *PLUS.

Por ejemplo, el siguiente comando renombra la columna BONOS de la tabla CLIENTE por BONO_CLIENTE, use el
comando DESCRIBE para verificar el cambio.

SQL> alter table CLIENTE rename column BONOS to BONO_CLIENTE;


El comando puede ser cancelado si la columna tiene objetos dependientes, basado en relaciones.

Eliminando Columnas de tablas:


Comando: ALTER TABLE – DROP COLUMN
Ejemplo desde SQL *PLUS.

E siguiente comando elimina la columna BONO_CLIENTE de la tabla CLIENTE.


SQL> alter table CLIENTE drop column BONO_CLIENTE;

Eliminando Tablas.
Comando: DROP TABLE.
Si la tabla a eliminar está referenciada por otra tabla a través de una llave foránea, usted no podrá eliminarla con el
comando anterior, usted tiene que adicionar la cláusula CASCADE CONSTRAINT al comando DROP TABLE para forzar
la eliminación de la tabla.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 24
______________________________________________________________________
___________________
Por ejemplo, el siguiente comando elimina la tabla CLIENTE del esquema ALUMNO junto con la llave primaria y las
foráneas que hacen referencia (constraints).

SQL> drop table ALUMNO.CLIENTE cascade constraints;

FIN DE CREACION Y MODIFICACION DE TABLA.


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 25
______________________________________________________________________
___________________
CREACIÓN DE RESTRICCIONES A NIVEL DE CAMPO Y TABLA. CONSTRAINST

Restricciones
Las restricciones de los datos son reglas que se imponen para asegurarnos que los datos cumplen con una serie de
condiciones predefinidas para cada tabla. Estas restricciones ayudan a conseguir la integridad referencial: todas las
referencias dentro de una Base de Datos son válidas y todas las restricciones se cumplen.

Las restricciones se van a definir acompañadas por un nombre, lo que permitirá activarlas o desactivarlas según sea el caso;
o también mezcladas en la definiciones de las columnas de la tabla. A continuación vamos a describir cada una de las
restricciones mencionadas.
Restricción Descripción

DEFAULT Establece el valor por defecto para esa columna, si no se le asigna ninguno.
CHECK Comprueba que se cumpla una condición determinada al rellenar esa columna. Esta condición sólo
debe estar construida con columnas de esta misma tabla.
FOREIGN El contenido de esta columna será uno de los valores contenidos en una columna de otra tabla
KEY maestra. Esta columna marcada como clave foránea o ajena puede ser NULL. No hay límite en el
número de claves foráneas. La clave ajena puede ser otra columna de la misma tabla. Se puede forzar
que cuando una fila de la tabla maestra sea borrada, todas las filas de la tabla detalle cuya clave ajena
coincida con la clave borrada se borren también (borrado en cascada). Esto se consigue añadiendo la
cláusula ON DELETE CASCADE en la definición de la clave ajena.
NOT NULL Establece la obligatoriedad de que esta columna tenga un valor no nulo. Se debe especificar junto a la
columna a la que afecta. Los valores nulos no ocupan espacio, y son distintos a 0 y al espacio en
blanco. Hay que tener cuidado con los valores nulos en las operaciones, ya que e1 * NULL es igual a
NULL.
PRIMARY Conjunto de columnas que forman la clave primaria de esa tabla. Se comporta como única y
KEY obligatoria sin necesidad de explicitarlo. Sólo puede existir una clave primaria por tabla. Puede ser
referenciada como clave ajena por otras tablas. Crea un índice automáticamente cuando se habilita o
se crea esta restricción.
UNIQUE Evita valores repetidos en una columna, admitiendo valores nulos. Oracle crea un índice
automáticamente cuando se habilita esta restricción y lo borra al deshabilitarse.
NULL Cuyo significado es nulidad (Sin Valor), es decir, no tener valor, ejemplo: un billete de 20 soles falso,
ya que este no tiene valor.
NOT NULL Cuyo significado es (Con valor) es decir, este dato deberá valer algo obligatoriamente al momento de
acceder datos a la tabla. Ejemplo: un billete de 20 soles verdadero (ya que tiene valor)

Ejemplo: Se tiene el siguiente modelo relacional (Erwin)

Se pide crear el Script de base de datos, usando el comando CREATE TABLE, cada tabla tiene sus restricciones y son las
siguientes:
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 26
______________________________________________________________________
___________________
En la Tabla ALUMNO considere las siguientes restricciones CONSTRAINT a nivel de tabla:
1. Establecer el Primary Key en la mencionada tabla.
2. En el campo Sexo o Género se debe considerar únicamente ‘M’ o ‘F’.
3. En el Campo Grado considerar del 1 hasta el 6.
4. En el campo Edad, considere alumnos entre 10 a 22 años.

En la Tabla CURSOS considere las siguientes restricciones:


1. Establecer el Primary Key en la mencionada tabla.

En la Tabla PROFESOR considere las siguientes restricciones CONSTRAINT a nivel de tabla:


1. Establecer el Primary Key en la mencionada tabla.
2. La Edad del docente debe estar comprendida entre 25 y 60 años

En la Tabla NOTAS considere las siguientes restricciones CONSTRAINT a nivel de tabla:


1. Los campos COD_ALU, COD_CURSO Y COD_PROF deben ser considerados como campos primarios en la
tabla.
2. Todas las notas deben estar comprendidas entre 0 y 20
3. Procurar generar las relaciones con las tablas de origen (Padre)

DESARROLLO:

PASO 1:
Ingrese a la herramienta PL/SQL, usando como usuario a: ALUMNO y contraseña: IDAT. Y redacte el siguiente código,
luego grábelo con el nombre: VALIDACIONES.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 27
______________________________________________________________________
___________________
PUEDE COPIAR Y PEGAR ESTE CODIGO AL ENTORNO DE PL/SQL.
Create Table Alumno(
Cod_Alu VARCHAR2(5) Not Null,
Nombre VARCHAR2(20) Not Null,
Sexo VARCHAR2(1) Not Null,
Grado Int Not Null,
Edad Int Not Null,
CONSTRAINT PK_COD_ALU PRIMARY KEY (Cod_Alu),
CONSTRAINT CHK_SEXO_VALID CHECK (SEXO IN ('M','F')),
CONSTRAINT CHK_GRADO_VALID CHECK (GRADO IN (1,2,3,4,5,6)),
CONSTRAINT CHK_EDAD_VALID CHECK (EDAD>=10 AND EDAD<=22)
);

Create Table Cursos(


Cod_Curso VARCHAR2(5) Not Null,
Descripcion VARCHAR2(30) Not Null,
CONSTRAINT PK_COD_CURSO PRIMARY KEY (Cod_Curso)
);

Create Table Notas (


Cod_Alu VARCHAR2(5) Not Null,
Cod_Curso VARCHAR2(5) Not Null,
Nota Int Not Null,
Fecha Date Not Null,
CONSTRAINT PK_COD_ALU_COD_CURSO PRIMARY KEY (Cod_Alu,Cod_Curso),
CONSTRAINT CHK_NOTA_VALID CHECK (NOTA>=0 AND NOTA<=20),
CONSTRAINT FK_COD_ALU FOREIGN KEY (COD_ALU) REFERENCES ALUMNO
ON DELETE CASCADE,
CONSTRAINT FK_COD_CURSO FOREIGN KEY (COD_CURSO) REFERENCES CURSOS
ON DELETE CASCADE
);

PASO 2:
Para ejecutar este código, se tienen 2 botones en el panel, con las siguientes apariencias:

1. Este botón ejecuta una sola línea de instrucción o comando.


2. Este botón ejecuta un conjunto de líneas redactadas o script.

Nota:
Use el 2do botón para ejecutar todo el código sin necesidad de seleccionarlo, aunque puede seleccionar el bloque de
instrucciones deseado y ejecutarlo de la misma manera.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 28
______________________________________________________________________
___________________
Ver el resultado:

1. Ejecute el Script
2. Refrescar la carpeta Tablas (filtrado), hacer Click derecho sobre la opción “Tablas” y seleccionar Refrescar. Esto
se hace la mostrar las tablas creadas.

FIN DE CREACIÓN DE RESTRICCIONES A NIVEL DE CAMPO Y TABLA. CONSTRAINST


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 29
______________________________________________________________________
___________________

CREACIÓN DE DIAGRAMA DE BASE DE DATOS. CUMPLIENDO REQUERIMIENTO DE NEGOCIO

Para crear un diagrama de base de datos en oracle, se debe realizar los siguientes pasos:

PASO 1:
Seleccionar del menú principal del PL/SQL la opción: Ver / Data Modeler / Explorador, tal como se indica en la imagen:

PASO 2:
En el panel de la izquierda se obtendrá una nueva ventana con el nombre: Explorador, expanda las opciones y encuentre la
carpeta Modelos Relacionales, haga Click derecho sobre esa opción y elija la sub opción: “Nuevo Modelo Relacional”. Tal
como se indica en la siguiente
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 30
______________________________________________________________________
___________________
PASO 3:
Se presentará a lado derecho del entorno del PL/SQL una sub ventana titulada: Relational_1 (sin titulo_1), es ahí donde
tiene que ir arrastrando cada tabla (de izq. a der.) hacia dicho entorno. Para el arrastre debe hacerlo con el botón derecho
del mouse.

FIN DE CREACION DE DIAGRAMA DE BASE DE DATOS. CUMPLIENDO EL REQUERIMIENTO DEL


NEGOCIO.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 31
______________________________________________________________________
___________________
MANEJO DE ÍNDICES

Los índices son elementos que ayudan a las tablas, a obtener acceso más rápido a los datos contenidos en una tabla.
Las consultas que se harán mediante un índice. Sobre una tabla, reduce notablemente la búsqueda de registros aumentando
el rendimiento.

Otros Conceptos:
 Es un objeto de esquema.
 Oracle Server lo utiliza para acelerar la recuperación de filas utilizando un puntero.
 Puede reducir la E/S de disco mediante un método de ruta de acceso rápido para encontrar datos.
 Es independiente de su tabla indexada.
 Oracle Server lo utiliza y mantiene automáticamente.

¿Cómo se crean los índices?


 Automáticamente: Un índice único se crea automáticamente al definir una restricción UNIQUE o PRIMARY
KEY en una definición de tabla.
 Manualmente: Los usuarios pueden crear índices no únicos en columnas para acelerar el acceso a las filas.

Creación de un índice:
 Cree un índice en una o varias columnas.

CREATE INDEX Nombre_index ON table (column [, column]...);

 Mejore la velocidad de acceso de consulta a la columna Nombre de la tabla CLIENTE.

CREATE INDEX Nombre_Cliente_idx


ON Cliente (Nombre);
Index created.

Debe crear un índice si:


 Una columna contiene un amplio rango de valores.
 Una columna contiene un gran número de valores nulos.
 Una o más columnas se utilizan juntas frecuentemente en una cláusula WHERE o en una condición de unión.
 La tabla es grande y se espera que la mayoría de las consultas recuperen menos del 2-4 por ciento de las filas.

Normalmente no merece la pena crear un índice si:


 La tabla es pequeña.
 Las columnas no se suelen utilizar como condición en la consulta.
 Se espera que la mayoría de las consultas recuperen más del 2-4 por ciento de las filas de la tabla.
 La tabla se actualiza frecuentemente.
 Se hace referencia a las columnas indexadas como parte de una expresión.

Índices basados en Funciones:


 Un índice basado en función es un índice basado en expresiones.
 La expresión de índice se crea desde columnas de tabla, constantes, funciones SQL y funciones definidas por el
usuario.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 32
______________________________________________________________________
___________________

SQL> CREATE INDEX Mayuscula_Nombre_Cliente_idx


ON CLIENTE (UPPER (Nombre));
Index created.

SQL> SELECT * FROM CLIENTE


WHERE UPPER (Nombre) = 'Luis';
Eliminación de un índice:
 Elimine un índice del diccionario de datos utilizando el comando DROP INDEX.

DROP INDEX Nombre_index;

 Elimine el índice Mayuscula_Nombre_Cliente_idx del diccionario de datos.

DROP INDEX Mayuscula_Nombre_Cliente_idx;


Index dropped.

 Para borrar un índice, debe ser el propietario del mismo o tener el privilegio DROP ANY INDEX.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 33
______________________________________________________________________
___________________
HORA PRUEBE UD. MISMO.
PASO 1:
Ingrese a PL/SQL usando al usuario SYSTEM y contraseña: oracle.
PASO 2:

Proceda a crear las tablas relacionadas: EMPLEADO y CARGO, mostrando luego su Diagrama de BD.

DIAGRAMA DE BASE DE DATOS

AQUÍ NO HAY INDICES 


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 34
______________________________________________________________________
___________________
PASO 3:
Proceda a crear un índice llamado: Nombre_Idx sobre el campo “Nombre” de la tabla EMPLEADO y luego proceda a crear
el diagrama de BD.

Create Index Nombre_Idx ON Empleado (Nombre);

EL DIAGRAMA DE BASE DE DATOS


MUESTRA AL
INDICE CREADO. NOMBRE_IDX (NOMBRE).

COMPROBANDO AQUI
QUE DICHO INDICE
YA ESTA CREADO.

Si desea probar el índice,


debe hacerlo mediante una
consulta SELECT desde
la cláusula WHERE
usando el campo NOMBRE
comparándolo con algún
Valor existente. 
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 35
______________________________________________________________________
___________________
Nota:
Si desea eliminar el índice, puede usar el comando DROP INDEX, y volver a mostrar el diagrama de BD, para demostrarlo.

El índice ya no forma parte de la tabla EMPLEADO.

FIN DE PRUEBA.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 36
______________________________________________________________________
___________________

Manejo de secuencias
Una secuencia:
 Genera automáticamente números únicos.
 Es un objeto compartible.
 Normalmente se utiliza para crear un valor de clave primaria.
 Sustituye al código de aplicación.
 Acelera la eficacia del acceso a los valores de secuencia al almacenarse en memoria caché.

Sintaxis de la secuencia CREATE SEQUENCE.


Defina una secuencia para generar números secuenciales automáticamente:

CREATE SEQUENCE Nombre_sequence


[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];

 MINVALUE es el valor mínimo que tendrá la secuencia


 MAXVALUE es el valor máximo que tendrá la secuencia (se puede obviar y por defecto se le asignará
999999999999999999999999999)
 START WITH es el valor con el que empezará la secuencia
 INCREMENT BY es el valor con el que se incrementará la secuencia
 CACHE / NOCACHE el uso de CACHE permite indicar cuantos valores queremos que sean guardados en
memoria para un acceso más rápido. No se recomienda su uso ya que podría generar inconsistencia.
 CYCLE indica que, cuando la secuencia llegue a máximo valor (valor de "maxvalue") se reinicie, comenzando
con el mínimo valor ("minvalue") nuevamente, es decir, la secuencia vuelve a utilizar los números.

Creación de Secuencia:

Cree una secuencia llamada CARGO_CARGOID_SEQ para utilizarla para la clave primaria de la tabla CARGO. No
utilice la opción CYCLE para valores de clave primaria.

SQL> CREATE SEQUENCE cargo_cargoid_seq


INCREMENT BY 10
START WITH 280
MINVALUE 0
MAXVALUE 1000
NOCACHE
NOCYCLE;
Sequence created.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 37
______________________________________________________________________
___________________
Verifique los valores de secuencia en la tabla USER_SEQUENCES del diccionario de datos.

SQL> SELECT sequence_name, min_value, max_value,


increment_by, last_number
FROM user_sequences;

Nota:
La columna LAST_NUMBER muestra el siguiente número de secuencia disponible si se especifica NOCACHE.

Pseudocolumnas NEXTVAL y CURRVAL.

 NEXTVAL devuelve el siguiente valor de secuencia disponible. Devuelve un valor único cada vez que se hace
referencia a ella, incluso para usuarios distintos.
 CURRVAL obtiene el valor de la secuencia actual.

NEXTVAL se debe emitir para dicha secuencia antes de que CURRVAL contenga un valor.

Puede utilizar NEXTVAL y CURRVAL en los siguientes contextos:


 La lista SELECT de una sentencia SELECT que no forme parte de una subconsulta
 La lista SELECT de una subconsulta en una sentencia INSERT
 La cláusula VALUES de una sentencia INSERT
 La cláusula SET de una sentencia UPDATE
No puede utilizar NEXTVAL y CURRVAL en los siguientes contextos:
 La lista SELECT de una vista
 Una sentencia SELECT con la palabra clave DISTINCT
 Una sentencia SELECT con cláusulas GROUP BY, HAVING u ORDER BY
 Una subconsulta en una sentencia SELECT, DELETE o UPDATE
 La expresión DEFAULT en una sentencia CREATE TABLE o ALTER TABLE
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 38
______________________________________________________________________
___________________
HORA PRUEBE UD. MISMO.

PASO 1:
Inicie sesión en PL/SQL usando al usuario SYSTEM y la contraseña: oracle, proceda a ejecutar el siguiente Script de Base
de Datos, donde se crearan las tablas: EMPLEADO y CARGO. Que están debidamente relacionados.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 39
______________________________________________________________________
___________________
Paso 2:
Agregar a su Script las siguientes líneas de código, que corresponde a la creación de la secuencia, la secuencia llevará el
nombre GENERAR_CODIGO_SEQ, esta empezara desde 1 hasta el tope de 2000. Incrementable de 1 en 1.

CREATE SEQUENCE GENERAR_CARGOID_SEQ


INCREMENT BY 1
START WITH 1
MINVALUE 0
MAXVALUE 2000
NOCACHE
NOCYCLE;

PASO 3:
Agregar a su Script las siguientes líneas de código, que corresponde a la verificación de la existencia de la secuencia
GENERAR_CARGOID_SEQ en la tabla USER_SEQUENCES del diccionario de datos.

SELECT sequence_name, min_value, max_value,


increment_by, last_number
FROM user_sequences;
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 40
______________________________________________________________________
___________________
Agregar a su Script las siguientes líneas de código, que corresponde a la realización de la prueba de la secuencia
GENERAR_CARGOID_SEQ. Para ello se deberá insertar algunos registros. Recuerde en este paso, la secuencia inicia
con el valor 1. E ira incrementando de 1 en 1, hasta quedar en un determinado valor, desde luego no pasara más de 2000 ya
que ese será el valor de tope.

insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Administrador');


insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Gerente');
insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Asistencial');
insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Secretaria');
insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Contador');

Select * From Cargo;

Resultados:

PASO 5:
¿En qué valor se quedó la secuencia GENERAR_CARGOID_SEQ?

Forma 1: desde el diccionario de datos.


SELECT sequence_name, min_value, max_value,
increment_by, last_number FROM user_sequences;

Forma 2: usando la tabla DUAL.


Select GENERAR_CARGOID_SEQ.CURRVAL From DUAL;
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 41
______________________________________________________________________
___________________
Resultados: Forma 1.

Resultados: Forma 2.

Eliminando la Secuencia GENERAR_CARGOID_SEQ.


 Elimine una secuencia del diccionario de datos utilizando la sentencia DROP SEQUENCE.
 Una vez que se ha eliminado, ya no se puede hacer referencia a la secuencia.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 42
______________________________________________________________________
___________________
FIN DE CREACION Y USO DE SECUENCIA

EL CODIGO COMPLETO DE LA CREACION Y USO DE SECUENCIA.


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 43
______________________________________________________________________
___________________
--Creando las tablas Cargo y Empleado debidamente Relacionados.
Create Table Cargo(
IdCargo Integer Not Null,
Nombre Varchar2(50) Not Null,
CONSTRAINT Llave_Principal Primary Key (IdCargo));

Create Table Empleado (


IdEmpleado Varchar2(5) Not Null,
IdCargo Integer Not Null,
Nombre Varchar2(50) Not Null,
Direccion Varchar2(50) Not Null,
CONSTRAINT PK_IdEmpleado Primary Key (IdEmpleado),
CONSTRAINT FK_IdCargo FOREIGN KEY (IdCargo) REFERENCES Cargo (IdCargo));

--Creando la Secuencia GENERAR_CARGOID_SEQ, esta empezara desde 1


--hasta el tope de 2000. Incrementable de 1 en 1
CREATE SEQUENCE GENERAR_CARGOID_SEQ
INCREMENT BY 1
START WITH 1
MINVALUE 0
MAXVALUE 2000
NOCACHE
NOCYCLE;

--Probando la existencia de la secuencia GENERAR_CARGOID_SEQ con sus respectivos


--valores de configuracion.
SELECT sequence_name, min_value, max_value,
increment_by, last_number
FROM user_sequences;

--Probando a la Secuencia GENERAR_CARGOID_SEQ, para ello se deberá insertar algunos


--registros en la tabla CARGO, he aquí donde se verá el valor incrementable
--en la columna IdCargo, observe el ejemplo:

insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Administrador');


insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Gerente');
insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Asistencial');
insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Secretaria');
insert into CARGO values (GENERAR_CARGOID_SEQ.NEXTVAL,'Contador');

Select * From Cargo;

--¿En qué valor se quedó la secuencia GENERAR_CARGOID_SEQ?


--Forma 1:
SELECT sequence_name, min_value, max_value,
increment_by, last_number
FROM user_sequences;

--Forma 2:
Select GENERAR_CARGOID_SEQ.CURRVAL From DUAL;

--Eliminando la secuencia GENERAR_CARGOID_SEQ


Drop Sequence GENERAR_CARGOID_SEQ;
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 44
______________________________________________________________________
___________________
MANEJO DE SINÓNIMOS.

Simplifique el acceso a los objetos mediante la creación de un sinónimo (un objeto con otro nombre). Con los sinónimos,
puede:
 Facilitar la referencia a una tabla propiedad de otro usuario
 Reducir nombres largos de objeto.

Sintaxis de cómo Crear un Sinónimo.

CREATE [PUBLIC] SYNONYM Nombre_synonym


FOR object;

Sintaxis de cómo Borrar un Sinónimo.


DROP SYNONYM Nombre_synonym;
Synonym dropped.

Ejemplo:
 Cree una abreviatura para la tabla DEPARTAMENTO, esta será dep.
CREATE SYNONYM dep
FOR DEPARTAMENTO;
Synonym Created.

 Usando el Sinónimo. Con el comando de consulta hacemos la llamada del sinónimo dep, este visualizara a todos
los registros de la tabla DEPARTAMENTO.

SELECT * FROM dep;

 Elimine el sinónimo dep que hace referencia a la tabla DEPARTAMENTO,


DROP SYNONYM dep;
Synonym dropped.

HORA PRUEBE UD. MISMO.

PASO 1:
Inicie sesión en PL/SQL usando al usuario SYSTEM y la contraseña: oracle, proceda a ejecutar el siguiente Script de Base
de Datos del ejemplo anterior, donde se crearan las tablas: EMPLEADO y CARGO. Que están debidamente relacionados.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 45
______________________________________________________________________
___________________

PASO 2:
Agregar a su Script las siguientes líneas de código, que corresponde a la creación del sinónimo EMP que hace referencia a
la tabla EMPLEADO.
CREATE SYNONYM EMP FOR EMPLEADO;

PASO 2:
Usando el sinónimo en una consulta.
Select * From EMP;
Como observa ya no usamos el nombre de la tabla EMPLEADO si no al Sinónimo EMP.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 46
______________________________________________________________________
___________________
PASO 3:
Elimine el sinónimo EMP.

CODIGO COMPLETO DE MANEJO Y USO DE SINONIMOS.


--Creando las tablas Cargo y Empleado debidamente Relacionados.
Create Table Cargo(
IdCargo Integer Not Null,
Nombre Varchar2(50) Not Null,
CONSTRAINT Llave_Principal Primary Key (IdCargo));

Create Table Empleado(


IdEmpleado Varchar2(5) Not Null,
IdCargo Integer Not Null,
Nombre Varchar2(50) Not Null,
Direccion Varchar2(50) Not Null,
CONSTRAINT PK_IdEmpleado Primary Key (IdEmpleado),
CONSTRAINT FK_IdCargo FOREIGN KEY (IdCargo) REFERENCES Cargo (IdCargo));

--Crear un sinónimo para la tabla EMPLEADO, este será llamado EMP


CREATE SYNONYM EMP FOR EMPLEADO;

--Usando el sinónimo en una consulta.


Select * From EMP;

--Eliminando el sinónimo EMP


DROP SYNONYM EMP;

FIN DE MANEJO Y USO DE SINONIMOS.


Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 47
______________________________________________________________________
___________________
CONCLUSIONES Y RECOMENDACIONES DE LA EXPERIENCIA

 El objetivo de este capítulo es comprender las habilidades necesarias para convertirse en un profesional de
Programación en Base de Datos Oracle exitoso.
 El estudiante detalla la arquitectura de la base de datos Oracle y configura la conexión de un cliente local o
remoto, a través del archivo TSN. Así mismo crea y maneja información mediante las herramientas SQL *PLUS
y PL/SQL, gestionando una instancia de base de datos.

ACTIVIDAD VIRTUAL
Ingresa a la plataforma virtual, revisa y analiza el siguiente diagrama. Luego súbelo a la plataforma siguiendo las
instrucciones.

Se tiene el siguiente modelo relacional:

Desarrollar lo Siguiente:

 Crear un TableSpace llamado CENTINELLA cuyo tamaño es 150Megas, este archivo debe ser colocado en una
carpeta llamada DBO, en su disco C:\, todo esto desde la herramienta SQL *PLUS.
 Desde SQL *PLUS, crear una cuenta de usuario con el nombre IDAT3000 cuya contraseña será: 12345678, con
todos los roles y permisos posibles, presentado en el manual de sesión de clase semana 01. Luego inicie con dicha
cuenta en el PL/SQL.
 Desde PL/SQL crear el Script de Base de Datos del modelo relacional presentado, considerando las siguientes
restricciones o CONSTRAINTS.

TABLA CARGO:
o El Nombre del cargo solo debe aceptar: ADMINISTRADOR, GERENTE, SERVICIOS, CONTADOR y
SECRETARIA, mas no otros.
o El campo sueldo solo debe aceptar las siguientes cantidades: 980, 1500, 2500, 3000 y 4000. Más no
otros.

TABLA SEDE:
o Los campos NombreSede y Dirección solo deben aceptar datos escritos en mayúsculas. No se permitirá
ingresar datos en minúsculas.
Guía de Laboratorio
Programación en Base de Datos – Instalación de Oracle 11g 48
______________________________________________________________________
___________________
TABLE EMPLEADO:
o Los Nombres de los empleados siempre en mayúsculas.
o El Campo Sexo, solo debe acepta: MASCULINO, FEMENINO.
o El Dni no debe pasar de ocho dígitos.
o El Campo Estado Civil sólo debe aceptar: SOLTERO, CASADO, VIUDO, DIVORCIADO.
o La dirección siempre en mayúsculas.
o El Campo Estado, sólo debe aceptar: ACTIVO, BLOQUEADO, CESADO, SUSPENDIDO,
DESPEDIDO más no otros.

 Respetar las relaciones entre todas las tablas.


 Crear un índice llamado EMPLEADO_NOMBRE_IDX que indexe la columna Nombre del Empleado, en la tabla
EMPLEADO.
 Crear dos secuencias: GENERAR_CARGOIDX_SEQ para la tabla Cargo, esta deberá está configurada con las
siguientes características: debe empezar en 1, incrementable de 1 en 1, y no pasar de 5000.
GENERAR_SEDEIDX_SEQ con las siguientes características: debe empezar en 1, incrementable de 1 en 1, y no
pasar de 5000. Y probarlos.
 Eliminar las secuencias: GENERAR_CARGOID_SEQ y GENERAR_SEDEID_SEQ.
 Crear los sinónimos para las siguientes tablas:
o CARGO por CAR
o SEDE por SED
o EMPLEADO por EMP
 Elimine los sinónimos.

DESARROLLAR Y PRESENTAR TODO LO EXPUESTO EN UN SCRIPT DE BASE DE DATOS, DICHO ESCRIPT


DEBE USAR EL NOMBRE DE: TAREA_VIRTUAL_01.sql.

También podría gustarte