100% encontró este documento útil (2 votos)
302 vistas34 páginas

Manual de Base de Datos

Este documento presenta un manual de 17 semanas sobre el uso de bases de datos con Oracle. En las primeras dos semanas, se explica cómo conectarse a Oracle como usuario system, crear y eliminar usuarios, y listar usuarios existentes. También muestra cómo crear tablas, insertar, eliminar y modificar registros.

Cargado por

Anonymus
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 PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
302 vistas34 páginas

Manual de Base de Datos

Este documento presenta un manual de 17 semanas sobre el uso de bases de datos con Oracle. En las primeras dos semanas, se explica cómo conectarse a Oracle como usuario system, crear y eliminar usuarios, y listar usuarios existentes. También muestra cómo crear tablas, insertar, eliminar y modificar registros.

Cargado por

Anonymus
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 PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 34

MANUAL de

BASE DE DATOS CON


ORACLE
17 semanas

Por:
Mg. Daniel Lévano Rodriguez
Mg. Flor Elizabeth Cerdán León
2019
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

SEMANA 01 Y 02
Manual de Base de Datos con ORACLE

En el caso de no conocer la clave del system, nos conectamos como sysdba para cambiar
la clave del usuario: System

Para salir de SQLplus

1
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

1. CREACIÓN DE USUARIO

● Ingresar al sqlplus con usuario ​system ​y clave ​123

Recuerde​: La información de todos los usuarios que existen en oracle se


encuentra en la tabla: ​DBA_USERS​.

● Para ver la estructura de la tabla ​DBA_USERS​, hacemos lo siguiente:

2
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

● Para ​listar los usuarios​ existentes en oracle, hacemos lo siguiente:

● Para listar el username y el account_status en oracle, hacemos lo siguiente:

3
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

● Para ​crear un usuario ​o esquema o BD, hacemos lo siguiente:

Recuerde​:
● Es importante ​asignar los privilegios​ al usuario creado, de lo contrario no
podrás loguearte, crear tablas, vistas y secuencias entre otros.
● El usuario ​SYSTEM ​es un usuario de administración del Sistema Gestor de
Base de Datos.
● Para realizar un proyecto, debo crear otras cuentas de usuario.
Ejemplo: ​VENTAS, BDLOGISTICA, BDACADEMICO.​

● Para ​cambiar de usuario​ sin salir de la sesión hacemos lo siguiente:

● Para ​eliminar un usuario​, hacemos lo siguiente:

● Para ​mostrar el usuario activo​, hacemos lo siguiente:

4
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Ejercicio

● Crear 5 usuarios y listarlos

5
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

CREACIÓN DE TABLAS
1. Crear BD: ​ACADEMICO

2. Crear la siguiente tabla:


Nos ​conectamos ​al usuario ​ACADEMICO ​y creamos la siguiente tabla:

alumno

idalumno number ​PK


nombre varchar2(20)
dni char(8)
estado varchar2(1)

3. Para​ listar las tablas​ que he creado, hacemos lo siguiente:

6
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

4. Insertar los siguientes registros


idalumno nombre dni estado

1 ESTRADA VIGURIA JEAN 10101010 A

2 FLORES GOMEZ HEBERT 20202020 A

3 PIÑAN REYES MICHEL 30303030 A

Importante​: Considere los siguientes comando:


- COMMIT (Confirmar los cambios)
- ROLLBACK (Deshacer los cambios desde el último COMMIT)
- SET LINESIZE 1000
- SET PAGESIZE 30000

7
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

● Para eliminar utilizamos la función ​DELETE

Resultado​:

● Para modificar utilizamos la función ​UPDATE​.

8
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Tarea:
En la tabla ALUMNO:
- Insertar 10 registros de alumnos
- Eliminar 3
- Modificar datos de 3 personas
PD. Mostrar el resultado (SELECT) por cada operación.

9
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Semana 03
Práctica 02

Apellidos y Nombre:
Indicaciones​:
● La solución es individual
● Tiempo asignado: 30 minutos
● La solución subirlo al Classroom del curso
● Por cada pregunta se debe visualizar el script de la solución con el resultado
satisfactorio de la operación.
○ Ejemplo:
■ Si hace un insert, además del Script debe visualizarse el mensaje:
“1 raw created”
● Todos los campos deben tener el estado ​A
---------------------------------------------------------------------------------------------------------------------------
1. Crear BD: Academico
2. Crear las siguientes tablas:
Curso

idcurso number ​PK


ciclo number
nombre varchar2 (30)
horas number
creditos number
estado varchar2(1)

Docente

iddocente number ​PK


nombre varchar2(40)
gradoacademico varchar2(20)
estado varchar2(1)

EP

idep number ​PK


nombre varchar2(40)
nombrecorto varchar2(5)
estado varchar2(1)

3. Ingrese los cursos de la carrera de Ingeniería de sistemas del ciclo 1 y ciclo 2


4. Ingrese registro de 5 docentes de su carrera.
5. Ingrese registro de 5 EP de su universidad
6. Elimina 3 cursos, elimina un registro de la tabla docente, elimine 2 EP
7. Corrige los nombres de 3 cursos, el grado académico de 1 docente y los
datos completos de 1 EP

10
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Tabla Dual

¿Qué es?

La ​tabla DUAL​ es una ​tabla​ temporal especial de una sola columna presente de
manera predeterminada en todas las instalaciones de bases de datos de Oracle
para hacer diferentes operaciones.

Consulta Resultado

SELECT 6*15 6*15


FROM DUAL; ----------
90

SELECT 6+3*2-3 6+3*2-3


FROM DUAL; ----------
9

SELECT 'HOLA AMIGOS.. ESTAN AHÍ????' 'HOLAAMIGOS..ESTANAHÍ????'


FROM DUAL; ----------------------------
HOLA AMIGOS.. ESTAN AHÍ????

SELECT SYSDATE SYSDATE


FROM DUAL; --------
02/04/19

SELECT SYSDATE FECHA FECHA


FROM DUAL; --------
02/04/19

SELECT SYSDATE FECHA_DEL_SISTEMA FECHA_DEL_SISTEMA


FROM DUAL; -------------------------------
02/04/19

SELECT SYSDATE "Fecha del Sistema" Fecha de


FROM DUAL; --------
02/04/19

SELECT SYSTIMESTAMP SYSTIMESTAMP


FROM DUAL; ------------------------------------------------------
02/04/19 04:02:47,490000 PM -05:00

11
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Manejo de cadenas
Consulta Resultado

SELECT CHR(65) FROM DUAL; C


-
A

SELECT CONCAT('HOLA','AMIGOS') CONCATENAR CONCATENAR


FROM DUAL; ----------
HOLAAMIGOS

SELECT INITCAP('iglesia adventista”') titulo TITULO


from dual; -------------------------
Iglesia Adventista

SELECT LOWER('IgLEsia AdveNTISTA') titulo TITULO


from dual; ------------------------
univeridad peruana union

SQL> SELECT upper('univeridaD PEruana UNion') titulo TITULO


from dual; ------------------------
IGLESIA ADVENTISTA

SQL> SELECT TRIM(' HOLA WEILL ') ESPACIOS ESPACIOS


FROM DUAL; ----------
HOLA WEILL

SELECT REPLACE('Bienvenidos a base de datos','a','X') REEMPLAZAR


reemplazar ---------------------------
from dual; Bienvenidos X bXse de dXtos

select substr('Bienvenidos a base de datos',5,10) substr SUBSTR


from dual; ----------
venidos a

select substr('Bienvenidos a base de datos',1,10) substr SUBSTR


from dual; ----------
Bienvenido

select translate('Mediante un comunicado, el Centro de TRANSLATE


Operaciones de Emergencia Nacional informó que se ha ---------------------------------------
restringido el acceso en la zona donde se reportó la M3d1@nt3 vn c0mvn1c@d0,
caída del objeto','aeiou','@310v') translate from dual; 3l C3ntr0 d3 Op3r@c10n3s d3
Em3rg3nc1@ N@c10n@l
1nf0rmó qv3 s3 h@
r3str1ng1d0 3l @cc3s0 3n l@
z0n@ d0nd3 s3 r3p0rtó l@
c@íd@ d3l 0bj3t0

12
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Funciones matemáticas

select abs(-20) abs ABS


from dual; ----------
20

select ceil(12.35) ceil CEIL


from dual; ----------
13

select ceil(12.55) ceil CEIL


from dual; ----------
13

select floor(12.35) floor FLOOR


from dual; ----------
12

select floor(12.55) floor FLOOR


from dual; ----------
12

select round(123.456) round ROUND


from dual; ----------
123

select round(123.456,2) round ROUND


from dual; ----------
123,46

select round(123.456,1) round ROUND


from dual; ----------
123,5

select round(123.456,0) round ROUND


from dual; ----------
123

select round(123.456,-1) round ROUND


from dual; ----------
120

SQL> select round(123.456,-2) round ROUND


from dual; ----------
100

select round(645.456,-2) round ROUND


from dual; ----------
600

select round(645.456,-1) round ROUND


from dual; ----------

13
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

650

select power(5,3) potencia POTENCIA


from dual; ----------
125

select sqrt(25) raizcuadrada RAIZCUADRADA


from dual; ------------
5

select mod(5,2) modulo from dual; MODULO


----------
1

select mod(12,3) modulo from dual; MODULO


----------
0

select sign(520) signo from dual; SIGNO


----------
1

select sign(-520) signo from dual; SIGNO


----------
-1

select sign(0) signo from dual; SIGNO


----------
0

14
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Sesión 04 - Secuencias

Para entender la importancia de la secuencia, haga lo siguiente:


1. Cree un usuario llamado bdprueba y clave 123

2. Cree un tabla: ​PERSONA​, con los siguientes datos:


PERSONA

idpersona number ​PK


nombre varchar2(40)

3. Inserte los siguientes registros:


idpersona nombre

1 Pablo Lévano

2 Mario Rosales

31 Mario Rosales

32 Fernando Casas

15
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

4. Elimine el registro de ​Fernando Casas

5. Agregue a la persona: ​Pedro Zambrano ​y liste la tabla


a. Use su criterio para asignar un ID.

16
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

6. Preguntas para dialogar:


a. ¿Que ID le asignaste?
b. ¿Por qué le asignaste 32?

17
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Importante​: En relación a los ID:


● Son únicos, es decir, solo se asigna a un registro
● Si un registro se elimina, ningún otro registro debe tomar el ID del
registro eliminado.

Una ​secuencia ​es una tabla de un solo campo, de valor numérico, que se incrementa cada
vez que se consulta, generalmente se utiliza para asignar valores a las llaves primarias.

La estructura de una secuencia es como sigue:

create sequence NOMBRESECUENCIA


start with VALORENTERO
increment by VALORENTERO
maxvalue VALORENTERO
minvalue VALORENTERO
cycle | nocycle;

Ahora, apliquemos secuencia:

1. Cree un usuario llamado AcademicoPrueba y clave 123

2. Cree un tabla: ​CURSO​, con los siguientes datos:

CURSO

idcurso number ​PK


nombre varchar2(40)
th number
tc number

18
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

3. Cree una secuencia llamada ​SQ_CURSO

4. Pruebe la secuencia utilizando ​SQ_CURSO.NEXTVAL

5. Inserte los siguientes registros:

nombre TH TC

Cálculo I 5 4

19
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Diseño de Base de Datos 6 5

Lenguaje de Programación I 5 4

Estructuras Discretas 6 5

6. Liste los registros insertados

7. Elimine los registros y muestre el resultado


○ Lenguaje de Programación I
○ Estruturas Discretas

20
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

8. Inserte nuevamente los siguientes registros y muestre todos los registros de la tabla.

nombre TH TC

Lenguaje de Programación I 5 4

Estructuras Discretas 6 5

9. Muestre el mismo reporte, ordenado por ID y otro ordenado por total de horas.

21
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

22
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Ejercicio 003
1. Crear la base de datos: bd_tuapellido
2. Crear la tabla trabajador:

trabajador

idtrabajador number ​PK


nombre varchar2(20) not null
dni char(8) not null
profesion varchar2(15)
sueldo number(6,2)
estado varchar2(1) not null

3. Cree una secuencia para la tabla trabajador


4. Insertar 5 registros y listar el resultado

nombre dni profesión sueldo estado

Juan Perez 11111111 Arquitecto 4700.12 A

Pedro Gonzales 22222222 Ing. Civil 5345.16 A

Ricardo Vivas 33333333 Ing. Sistemas 4980.82 A

Ronaldo Garcia 44444444 Contador 3401.75 A

Renzo Gonzales 55555555 Administrador 3507.56 A

IDTRAB NOMBRE DNI PROFESION SUELDO E


------------ -------------------- ------------ --------------- ---------- -
1 Juan Perez 11111111 Arquitecto 4700,12 A
2 Pedro Gonzales 22222222 Ing. Civil 5345,16 A
3 Ricardo Vivas 33333333 Ing. Sistemas 4980,82 A
4 Ronaldo Garcia 44444444 Contador 3401,75 A
5 Renzo Gonzales 55555555 Administrador 3507,56 A

5. Eliminar el registro de ​Ronaldo Garcia​ y ​Renzo Gonzales


6. Insertar 3 registro de trabajadores, con datos que usted desee.
7. Mostrar el siguiente reporte

ID Nombre Sueldo Sueldo Sueldo Sueldo


redondeado redondeado redondeado
a solo hacia abajo hacia arriba
enteros

23
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

24
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Ejercicio

Producto

idproducto
nombre
f_elaboracion
f_vencimiento
codigo
precio
cantidad
idproveedor

Proveedor

idproveedor
nombre
ruc
idpais

Pais

idpais
nombre

25
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

1. Creación de tablas

26
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

2. Insertar registros
● Registros de la tabla Pais

27
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

● Registros de la tabla proveedor;

● Registros de la tabla producto

28
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

29
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

● Para saber el IP de mi PC:

Para conectarse a la BD de otra PC, por consola:

30
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Para exportar la BD hacemos:

31
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Sesión 05

Fila 2:
https://docs.google.com/spreadsheets/d/1W2pINRoMrsFBtht7hM1Lbhz3VqWxhN8jDL
gqPiwHVtE/edit#gid=0

Fila 3
https://docs.google.com/spreadsheets/d/1uJ9Q6YYSv-K_ogH2ytHePcUa0fOjcTmzZQH
n0Hxlcas/edit#gid=0

Fila 4
https://drive.google.com/open?id=1lJzPQPyfD9USmy_4Ij3ZlE_-D9qfaY8hp2thZUzwht
w

FILA 5 
https://docs.google.com/spreadsheets/d/1Nm3oFBGvLRAsptZlIrfVphc9sp3ZJMMiU3u
ASkAJcUg/edit#gid=648174286

SQL> CREATE SEQUENCE SQ_”NOMBRE DE LA TABLA”


2 START WITH 1
3 INCREMENT BY 1
4 MINVALUE 1
5 NOCYCLE
6 NOCACHE;

SQL>SELECT SQ_”NOMBRE DE LA TABLA”.NEXTVAL


2 FROM DUAL;

32
Mg. Flor Elizabeth Cerdán León
Mg. Daniel Lévano Rodriguez

Sesión 06 - Feriado
Sesión 07 - Secuencias

33

También podría gustarte