You are on page 1of 14

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

Microsoft SQL Server


NexusDB

CA-IDMS

SGBD NO LIBRES - GRATUITOS

Oracle Express Edition 9g, 10g, 11g (slo corre en un servidor,


capacidad limitada)

Microsoft SQL Server Express Edition (Es una edicin gratis de SQL Server
ideal para desarrollo y pequeas aplicaciones)

Microsoft SQL Server Compact Edition Bsica

Sybase ASE Express Edition para Linux (edicin gratuita para Linux)

DB2 Express-C

1.2. SISTEMA GESTOR DE BASE DE DATOS ORACLE:

Oracle es un SGBD orientado a la administracin de bases de datos tipo objeto-relacionales, sus


principales caractersticas son:

Entorno cliente/servidor.

Gestin de grandes bases de datos.

Usuarios concurrentes.

Alto rendimiento en transacciones.

Sistemas de alta disponibilidad.

Disponibilidad controlada de los datos de las aplicaciones.

Adaptacin a estndares de la industria, como SQL-92.

Gestin de la seguridad.

Autogestin de la integridad de los datos.

Opcin distribuida.

Portabilidad.

Compatibilidad.

Conectabilidad.

Replicacin de entornos.

@DJCV | Material de Apoyo

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

1.2.1. TIPOS DE DATOS EN ORACLE:

TIPO

CARACTERSTICAS

CHAR

Cadena de caracteres (alfanumricos) de longitud fija

VARCHAR2

Cadena de caracteres de longitud variable

VARCHAR

Cadena de caracteres de longitud variable

NCHAR

Cadena de caracteres de longitud fija que slo almacena


caracteres Unicode.

NVARCHAR2

Cadena de caracteres de longitud variable que slo


almacena caracteres Unicode

LONG

Cadena de caracteres de longitud variable

LONG RAW

Almacenan cadenas binarias de ancho variable

RAW

Almacenan cadenas binarias de ancho variable

LOB (BLOG, CLOB,


NCLOB, BFILE)

Permiten almacenar y manipular bloques grandes de datos


no estructurados (tales como texto, imgenes, videos,
sonidos, etc.) en formato binario o del carcter

BLOB

Permite almacenar datos binarios no estructurados

CLOB

Almacena datos de tipo carcter

NCLOB

Almacena datos de tipo carcter

BFILE

Almacena datos binarios no estructurados en archivos del


sistema operativo, fuera de la base de datos. Una columna
BFILE almacena un localizador del archivo a uno externo
que contiene los datos

ROWID

Almacenar la direccin nica de cada fila de la tabla de la


base de datos

UROWID

ROWID universal

NUMBER

Almacena nmeros fijos y en punto flotante

FLOAT

Almacena tipos de datos numricos en punto flotante

DATE

Almacena un punto en el tiempo (fecha y hora)

TIMESTAMP

Almacena datos de tipo hora, fraccionando los segundos

TIMESTAMP WITH
TIME ZONE

Almacena datos de tipo hora incluyendo la zona horaria


(explcita), fraccionando los segundos

TIMESTAMP WITH
LOCAL TIME ZONE

Almacena datos de tipo hora incluyendo la zona horaria


local (relativa), fraccionando los segundos

XMLType

Tipo de datos abstracto. En realidad se trata de un CLOB.


Tabla 1: Tipos de datos en Oracle

@DJCV | Material de Apoyo

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

LABORATORIO DIRIGIDO
1. OBSERVE EL SIGUIENTE MODELO DE BASE DE DATOS: MATRCULA:

FACULTAD
codigo_facultad
nombre_facultad
descripcion_facultad

CARRERA_PROFESIONAL
codigo_carrera
nombre_carrera
descripcion_carrera
codigo_facultad (FK)

DETALLE_MATRICULA
num_matricula (FK)
codigo_curso (FK)
estado_curso
promedio

REGULAR
codigo_alumno (FK)
obs_regular
EGRESADO
codigo_alumno (FK)
anio_egreso

ALUMNO

CURSO
codigo_curso
nombre_curso
creditos_curso
horas_teoria
horas_practica
ciclo_curso

codigo_alumno
nombre_alu
apellido_pat_alu
apellido_mat_alu
direccion_alu
telefono_alu
sexo_alu
codigo_carrera (FK)

MATRICULA
num_matricula
fecha_matricula
codigo_alumno (FK)
periodo_academico

2. DEFINA EL TIPO DE DATO QUE LE CORRESPONDA A CADA ATRIBUTO DE LAS TABLAS Y


MUESTRE UN EJEMPLO PARA CADA UNO:
A. Alumno
B. Matrcula
C. Detalle matrcula
D. Curso

@DJCV | Material de Apoyo

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

II.

SGBD ORACLE 11 G

En este acpite conoceremos el entorno de trabajo y algunas funcionalidades de Oracle


11g, como administracin de usuarios y creacin de una base de datos.

2.1. DESCRIPCIN DE ORACLE 11G:


2.1.1.

INGRESAR AL SGBD ORACLE 11G:

La primera forma para acceder ORACLE 11g EXPRESS


EDITION haga doble clic sobre el cono ubicado en su
escritorio.

La segunda forma se realiza a travs del


Men INICIO:
Clic en Oracle Database 11g Express
Edition
Clic sobre la opcin GET STARTED

Se le mostrar la ventana de administracin de Oracle 11g:

Para iniciar su trabajo como administrador de base de datos debe hacer clic sobre
el botn SESSIONS, se le direccionar a la siguiente ventana:

@DJCV | Material de Apoyo

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

Inicialmente deber ingresar


con el usuario SYSTEM, que
tiene el rol de DBA y privilegios
de SYSDBA, a travs del cual
puede
crear
usuarios,
esquemas,
modificar
parmetros, etc.
Registre los siguientes datos:
USERNAME: SYSTEM
PASSWORD: (el mismo que utiliz al
momento de la instalacin del producto)

2.1.2.

Ingresar al panel principal de administracin de Oracle 11g.

CREACIN DE USUARIOS:

Para acceder al panel de administracin de usuarios deber concectarse con el


usuario SYSTEM y hacer clic en la pestaa APPLICATION EXPRESS.

En la ventana que se le muestra deber ingresar los datos que se solicitan para la
creacin de usuarios. Existen dos tipos de usuarios que se pueden
ADMINISTRAR: NUEVOS y habilitar los USUARIOS EXISTENTES.

Para nuestras prcticas habilitaremos el usuario HR y crearemos al usuario


ADMINISTRATOR.

@DJCV | Material de Apoyo

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

A. CREAR UN USUARIO EXISTENTE: HR


El usuario existente HR est incluido dentro del paquete de instalacin del producto.
Este usuario es propietario de la base de datos de Recursos Humanos, la misma que
se podr visualizar cuando creemos al usuario.
Para su creacin haremos clic sobre la opcin USE EXISTING, luego aparecer una
ventana adicional que muestra los usuarios existentes, en la que elegiremos el usuario
HR, luego registrar los siguientes datos:

Database Username: HR
Application Express Username:
hr
Password: hr
Confirm Password: hr
Si el usuario ha sido creado con xito, le aparecer un mensaje de operacin realizada
satisfactoriamente. Invitndolo a loguearse con el usuario creado.
B. CREAR UN NUEVO USUARIO:
El nuevo usuario que crearemos nos servir para administrar la base de datos
MATRCULA.
Para su creacin deber conectarse con el usuario SYSTEM y hacer clic sobre la
pestaa APPLICATION EXPRESS (Tal como se indic en el literal A).
Luego deber elegir la opcin CREATE NEW, Y registrar los siguientes datos:

Database Username: ADMINISTRATOR


Application Express Username: administrator
Password: administrator
Confirm Password: administrator

Si el usuario ha sido creado con xito, se le mostrar el siguiente mensaje, que le indica
que puede loguearse con el usuario ADMINISTRATOR.

@DJCV | Material de Apoyo

10

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

2.2. CONEXIN Y MIGRACIN DE TABLAS DE ERWIN A ORACLE 11 G:


2.2.1.

CONEXIN Y MIGRACIN DE TABLAS DESDE ERWIN:


Para nuestro ejemplo crearemos la base de datos relacional MATRCULA, utilizando
la herramienta CASE ERWIN 7.3, en ella modelaremos las entidades, atributos y

relaciones; adems de establecer sus respectivas especificaciones. Tal como se


muestra a continuacin.
FACULTAD
CARRERA_PROFESIONAL

codigo_facultad

codigo_carrera

nombre_facultad
descripcion_facultad

nombre_carrera
descripcion_carrera
codigo_facultad (FK)

DETALLE_MATRICULA
num_matricula (FK)
codigo_curso (FK)
estado_curso
promedio

REGULAR
codigo_alumno (FK)
obs_regular

ALUMNO

CURSO
codigo_curso
nombre_curso
creditos_curso
horas_teoria
horas_practica
ciclo_curso

codigo_alumno

EGRESADO

nombre_alu
apellido_pat_alu
apellido_mat_alu
direccion_alu
telefono_alu
sexo_alu
codigo_carrera (FK)

codigo_alumno (FK)
anio_egreso

MATRICULA
num_matricula
fecha_matricula
codigo_alumno (FK)
periodo_academico

Para conectar y migrar nuestra base de datos desde ERWIN hacia Oracle 10g
deber ubicarse en la VISTA FSICA de su modelo relacional, desde all generar
su conexin a ORACLE, tal como se indica:
EN ERWIN:
Ir al men DATABASE.
Elegir la opcin DATABASE CONECCTION

@DJCV | Material de Apoyo

11

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

Se le mostrar la ventana de
autenticacin
con
los
requerimientos de informacin
que presenta el grfico.
El User Name representa el
usuario creado en Oracle y que
administrar la base de datos a
generar.
Complete los siguientes datos:

Database: Oracle 10g/11g


Authentication: Database Authentication
User Name: administrator
Password: ******
Connection String: XE
Para finalizar su conexin haga clic sobre el botn CONNECT.
Si la conexin no fue exitosa se le mostrarn mensajes de error que deber leer y

corregir, para luego volver a intentar la conexin.

@DJCV | Material de Apoyo

12

BASE DE DATOS I - II

2.2.2.

[GUA PRCTICA CON ORACLE 10G - 11G]

VERIFICACIN DE TABL AS MIGRADAS A ORACLE 11 G:


Para verificar las tablas migradas a ORACLE, deber acceder a su SGBD ORACLE

10g, ingresando con el usuario ADMINISTRATOR.

Una vez logueado, debe ubicarse en el explorador de objetos del usuario. Haga clic

sobre la opcin Object Browser.

Ahora, podr apreciar todas las tablas que model en Erwin y han sido generadas

en el SGBD ORACLE. Cada tabla se mostrar con sus respectivos atributos y


especificaciones:

@DJCV | Material de Apoyo

13

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

2.3. CREANDO UNA BASE DE DATOS EN ORACLE 11G A PARTIR DE UN SCRIPT

SQL E IMPORTANDO REGISTROS DESDE ARCHIVOS *.TXT:


2.3.1.

CREANDO UNA BD A TRAVS DE UN SRIPT SQL:


Para la creacin de la base de datos NORTHWIND utilizaremos el archivo
NorthwindOracle.sql, exportado del SGBD SQL. El mismo que administraremos con
el usuario ADMINISTRATOR.
Ingrese al SGBD Oracle 11g, loguendose con el usuario ADMINISTRATOR,

considerando los datos registrados al momento de su creacin:

Utilizando un editor de texto, abra el archivo NorthwindOracle.sql, en el se

mostrar el cdigo SQL para la creacin de las diferentes tablas contenidas en la


base de datos NORTHWIND. Copie todo su contenido utilizando los comando Ctrl
+ C:
CREATE TABLE "CATEGORIES"
(
"CATEGORYID" NUMBER(6,0),
"CATEGORYNAME" VARCHAR2(15),
CONSTRAINT "PK_CATEGORIES" PRIMARY KEY ("CATEGORYID") ENABLE
)
/
CREATE TABLE "CUSTOMERS"
(
"CUSTOMERID" CHAR(5),
"COMPANYNAME" VARCHAR2(40),
"CONTACTNAME" VARCHAR2(30),
"CONTACTTITLE" VARCHAR2(30),
"ADDRESS" VARCHAR2(60),
"CITY" VARCHAR2(15),
"REGION" VARCHAR2(15),
"POSTALCODE" VARCHAR2(10),
"COUNTRY" VARCHAR2(15),
"PHONE" VARCHAR2(24),
"FAX" VARCHAR2(24),
CONSTRAINT "PK_CUSTOMERS" PRIMARY KEY ("CUSTOMERID") ENABLE
)
/
CREATE TABLE "EMPLOYEES"
(
"EMPLOYEEID" NUMBER(6,0),
"LASTNAME" VARCHAR2(20),
"FIRSTNAME" VARCHAR2(10),
"TITLE" VARCHAR2(30),
"TITLEOFCOURTESY" VARCHAR2(25),
"BIRTHDATE" DATE,
"HIREDATE" DATE,
"ADDRESS" VARCHAR2(60),
"CITY" VARCHAR2(15),
"REGION" VARCHAR2(15),

@DJCV | Material de Apoyo

14

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]


"POSTALCODE" VARCHAR2(10),
"COUNTRY" VARCHAR2(15),
"HOMEPHONE" VARCHAR2(24),
"EXTENSION" VARCHAR2(4),
"REPORTSTO" NUMBER(6,0),
"PHOTOPATH" VARCHAR2(255),
CONSTRAINT "PK_EMPLOYEES" PRIMARY KEY ("EMPLOYEEID") ENABLE,
CONSTRAINT "FK_EMPLOYEES_EMPLOYEES" FOREIGN KEY ("REPORTSTO")
REFERENCES "EMPLOYEES" ("EMPLOYEEID") ENABLE

)
/
CREATE TABLE "EMPLOYEETERRITORIES"
(
"EMPLOYEEID" NUMBER(6,0),
"TERRITORYID" VARCHAR2(20)
)
/
CREATE TABLE "SHIPPERS"
(
"SHIPPERID" NUMBER(6,0),
"COMPANYNAME" VARCHAR2(40),
"PHONE" VARCHAR2(24),
CONSTRAINT "PK_SHIPPERS" PRIMARY KEY ("SHIPPERID") ENABLE
)
/
CREATE TABLE "ORDERS"
(
"ORDERID" NUMBER(6,0),
"CUSTOMERID" CHAR(5),
"EMPLOYEEID" NUMBER(6,0),
"ORDERDATE" DATE,
"REQUIREDDATE" DATE,
"SHIPPEDDATE" DATE,
"SHIPVIA" NUMBER(6,0),
"FREIGHT" NUMBER(8,2),
"SHIPNAME" VARCHAR2(40),
"SHIPADDRESS" VARCHAR2(60),
"SHIPCITY" VARCHAR2(15),
"SHIPREGION" VARCHAR2(15),
"SHIPPOSTALCODE" VARCHAR2(10),
"SHIPCOUNTRY" VARCHAR2(15),
CONSTRAINT "PK_ORDERS" PRIMARY KEY ("ORDERID") ENABLE,
CONSTRAINT "FK_ORDERS_CUSTOMERS" FOREIGN KEY ("CUSTOMERID")
REFERENCES "CUSTOMERS" ("CUSTOMERID") ENABLE,
CONSTRAINT "FK_ORDERS_EMPLOYEES" FOREIGN KEY ("EMPLOYEEID")
REFERENCES "EMPLOYEES" ("EMPLOYEEID") ENABLE,
CONSTRAINT "FK_ORDERS_SHIPPERS" FOREIGN KEY ("SHIPVIA")
REFERENCES "SHIPPERS" ("SHIPPERID") ENABLE
)
/
CREATE TABLE "SUPPLIERS"
(
"SUPPLIERID" NUMBER(6,0),
"COMPANYNAME" VARCHAR2(40),
"CONTACTNAME" VARCHAR2(30),
"CONTACTTITLE" VARCHAR2(30),
"ADDRESS" VARCHAR2(60),
"CITY" VARCHAR2(15),
"REGION" VARCHAR2(15),
"POSTALCODE" VARCHAR2(10),
"COUNTRY" VARCHAR2(15),
"PHONE" VARCHAR2(24),
"FAX" VARCHAR2(24),
CONSTRAINT "PK_SUPPLIERS" PRIMARY KEY ("SUPPLIERID") ENABLE
)
/
CREATE TABLE "PRODUCTS"
(
"PRODUCTID" NUMBER(6,0),
"PRODUCTNAME" VARCHAR2(40),
"SUPPLIERID" NUMBER(6,0),
"CATEGORYID" NUMBER(6,0),
"QUANTITYPERUNIT" VARCHAR2(20),
"UNITPRICE" NUMBER(8,2),

@DJCV | Material de Apoyo

15

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

"UNITSINSTOCK" NUMBER(6,0),
"UNITSONORDER" NUMBER(6,0),
"REORDERLEVEL" NUMBER(6,0),
CONSTRAINT "CK_PRODUCTS_UNITPRICE" CHECK (UnitPrice >= 0)
ENABLE,
CONSTRAINT "CK_REORDERLEVEL" CHECK (ReorderLevel >= 0) ENABLE,
CONSTRAINT "CK_UNITSINSTOCK" CHECK (UnitsInStock >= 0) ENABLE,
CONSTRAINT "CK_UNITSONORDER" CHECK (UnitsOnOrder >= 0) ENABLE,
CONSTRAINT "PK_PRODUCTS" PRIMARY KEY ("PRODUCTID") ENABLE,
CONSTRAINT "FK_PRODUCTS_CATEGORIES" FOREIGN KEY ("CATEGORYID")
REFERENCES "CATEGORIES" ("CATEGORYID") ENABLE,
CONSTRAINT "FK_PRODUCTS_SUPPLIERS" FOREIGN KEY ("SUPPLIERID")
REFERENCES "SUPPLIERS" ("SUPPLIERID") ENABLE
)
/
CREATE TABLE "ORDER_DETAILS"
(
"ORDERID" NUMBER(6,0),
"PRODUCTID" NUMBER(6,0),
"UNITPRICE" NUMBER(8,2),
"QUANTITY" NUMBER(6,0),
"DISCOUNT" NUMBER(7,2),
CONSTRAINT "CK_DISCOUNT" CHECK (Discount >= 0 and (Discount <=
1)) ENABLE,
CONSTRAINT "CK_QUANTITY" CHECK (Quantity > 0) ENABLE,
CONSTRAINT "CK_UNITPRICE" CHECK (UnitPrice >= 0) ENABLE,
CONSTRAINT "PK_ORDER_DETAILS" PRIMARY KEY ("ORDERID",
"PRODUCTID") ENABLE,
CONSTRAINT "FK_ORDER_DETAILS_ORDERS" FOREIGN KEY ("ORDERID")
REFERENCES "ORDERS" ("ORDERID") ENABLE,
CONSTRAINT "FK_ORDER_DETAILS_PRODUCTS" FOREIGN KEY ("PRODUCTID")
REFERENCES "PRODUCTS" ("PRODUCTID") ENABLE
)
/
CREATE TABLE "REGION"
(
"REGIONID" NUMBER(6,0),
"REGIONDESCRIPTION" CHAR(50)
)
/
CREATE TABLE "TERRITORIES"
(
"TERRITORYID" VARCHAR2(20),
"TERRITORYDESCRIPTION" CHAR(50),
"REGIONID" NUMBER(6,0)
)
/

Ahora, acceda a la opcin SQL

Script y haga clic en el botn


CREATE.

Se le mostrar una ventana SCRIPT EDITOR, en la que pegar (Ctrl + V) el script


copiado anteriormente, adems es necesario asignar un nombre al SCRIPT,
utilizaremos NORTHWIND.

@DJCV | Material de Apoyo

16

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

Haga clic en el botn RUN.

Aparecer una ventana de


confirmacin, haga clic en el
botn RUN NOW.

Si su script no tuvo problemas en la ejecucin, se le mostrar la ventana:

Ahora, si usted revisa su


almacn de objetos podr ver las
tablas que han sido creadas, las
mismas que an no tienen
ningn dato registrado.
Para ello procederemos con la
importacin de datos.

2.3.2.

IMPORTANDO REGISTROS DESDE ARCHIVOS *.TXT:


Si la importacin de datos fue exitosa, se le mostrar el repositorio indicando cero
(0) fallos y la cantidad de registros importados, tal como se muestra:

Para importar los datos de las tablas pendientes,


deber repetir el mismo procedimiento con los
dems archivos.
No olvide tener en cuenta las reglas de integridad
de datos y los formatos del texto de exportacin e
importacin.

@DJCV | Material de Apoyo

17

BASE DE DATOS I - II

[GUA PRCTICA CON ORACLE 10G - 11G]

2.4. MIGRANDO UNA BASE DE DATOS DESDE UN ARCHIVO DMP:

Para la creacin de la base de datos NORTHWIND utilizaremos el archivo northwind.dmp.


Luego debe seguir los siguientes pasos:
Crear un nuevo usuario a travs de la interfaz del SGBD Oracle.
Copiar el archivo northwind.dmp en la raz del disco C:/.
Ir al men principal y acceder a SQL PLUS:

En la ventana de comandos que aparece deber digitar la siguiente lnea de cdigo:


$IMP usuario/contrasea FILE=C:/northwind.dmp FULL=YES
Si la migracin fue exitosa se le mostrar la siguiente ventana, que detalla las tablas y
registros migrados.

Ahora podr visualizar en la interfaz del SGBD Oracle, las tablas y registros importados.

@DJCV | Material de Apoyo

18