Manual de Base de Datos

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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