MANUAL de BASE DE DATOS CON ORACLE 17 semanas Por: Mg. Daniel Lévano Rodriguez Mg. Flor Elizabeth Cerdán León 2019 M
Views 137 Downloads 10 File size 2MB
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. 4. 5. 6. 7.
Ingrese los cursos de la carrera de Ingeniería de sistemas del ciclo 1 y ciclo 2 Ingrese registro de 5 docentes de su carrera. Ingrese registro de 5 EP de su universidad Elimina 3 cursos, elimina un registro de la tabla docente, elimine 2 EP 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 FROM DUAL;
6*15 ---------90
SELECT 6+3*2-3 FROM DUAL;
6+3*2-3 ---------9
SELECT 'HOLA AMIGOS.. ESTAN AHÍ????' FROM DUAL;
'HOLAAMIGOS..ESTANAHÍ????' ---------------------------HOLA AMIGOS.. ESTAN AHÍ????
SELECT SYSDATE FROM DUAL;
SYSDATE -------02/04/19
SELECT SYSDATE FECHA FROM DUAL;
FECHA -------02/04/19
SELECT SYSDATE FECHA_DEL_SISTEMA FROM DUAL;
FECHA_DEL_SISTEMA ------------------------------02/04/19
SELECT SYSDATE "Fecha del Sistema" FROM DUAL;
Fecha de -------02/04/19
SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP -----------------------------------------------------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 FROM DUAL;
CONCATENAR ---------HOLAAMIGOS
SELECT INITCAP('iglesia adventista”') titulo from dual;
TITULO ------------------------Iglesia Adventista
SELECT LOWER('IgLEsia AdveNTISTA') titulo from dual;
TITULO -----------------------univeridad peruana union
SQL> SELECT upper('univeridaD PEruana UNion') titulo from dual;
TITULO -----------------------IGLESIA ADVENTISTA
SQL> SELECT TRIM(' HOLA WEILL ') ESPACIOS FROM DUAL;
ESPACIOS ---------HOLA WEILL
SELECT REPLACE('Bienvenidos a base de datos','a','X') reemplazar from dual;
REEMPLAZAR --------------------------Bienvenidos X bXse de dXtos
select substr('Bienvenidos a base de datos',5,10) substr from dual;
SUBSTR ---------venidos a
select substr('Bienvenidos a base de datos',1,10) substr from dual;
SUBSTR ---------Bienvenido
select translate('Mediante un comunicado, el Centro de Operaciones de Emergencia Nacional informó que se ha restringido el acceso en la zona donde se reportó la caída del objeto','aeiou','@310v') translate from dual;
TRANSLATE --------------------------------------M3d1@nt3 vn c0mvn1c@d0, 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 from dual;
ABS ---------20
select ceil(12.35) ceil from dual;
CEIL ---------13
select ceil(12.55) ceil from dual;
CEIL ---------13
select floor(12.35) floor from dual;
FLOOR ---------12
select floor(12.55) floor from dual;
FLOOR ---------12
select round(123.456) round from dual;
ROUND ---------123
select round(123.456,2) round from dual;
ROUND ---------123,46
select round(123.456,1) round from dual;
ROUND ---------123,5
select round(123.456,0) round from dual;
ROUND ---------123
select round(123.456,-1) round from dual;
ROUND ---------120
SQL> select round(123.456,-2) round from dual;
ROUND ---------100
select round(645.456,-2) round from dual;
ROUND ---------600
select round(645.456,-1) round from dual;
ROUND ----------
13
Mg. Flor Elizabeth Cerdán León Mg. Daniel Lévano Rodriguez
650 select power(5,3) potencia from dual;
POTENCIA ---------125
select sqrt(25) raizcuadrada from dual;
RAIZCUADRADA -----------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 Cálculo I
TH
TC
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 ------------ -------------------1 Juan Perez 2 Pedro Gonzales 3 Ricardo Vivas 4 Ronaldo Garcia 5 Renzo Gonzales
DNI -----------11111111 22222222 33333333 44444444 55555555
PROFESION --------------Arquitecto Ing. Civil Ing. Sistemas Contador Administrador
SUELDO ---------4700,12 5345,16 4980,82 3401,75 3507,56
E A A A A 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 redondeado a solo enteros
23
Sueldo redondeado hacia abajo
Sueldo redondeado hacia arriba
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