ADMBD Actividad 2-Felipe Campos-Patricio Berrios

19
1 INSTITUTO PROFESIONAL DUOC UC ESCUELA DE INFORMÁTICA Y TELECOMUNICACIONES SEDE ANTONIO VARAS ABD5501-008V – ADMINISTRACIÓN DE BASE DE DATOS ACTIVIDAD PRÁCTICA N° 2 FELIPE CAMPOS, PATRICIO BERRÍOS PROFESOR: SEÑOR MARCELO ACEVEDO SANTIAGO, 2014

description

Tarea de Adm. de Bases de Datos Oracle

Transcript of ADMBD Actividad 2-Felipe Campos-Patricio Berrios

Page 1: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

1

INSTITUTO PROFESIONAL DUOC UC

ESCUELA DE INFORMÁTICA Y TELECOMUNICACIONES

SEDE ANTONIO VARAS

ABD5501-008V – ADMINISTRACIÓN DE BASE DE DATOS

ACTIVIDAD PRÁCTICA N° 2

FELIPE CAMPOS, PATRICIO BERRÍOS

PROFESOR: SEÑOR MARCELO ACEVEDO

SANTIAGO, 2014

Page 2: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

2

Índice

1. Pregunta N° 1 4

2. Pregunta N° 2 8

3. Pregunta N° 3 11

4. Pregunta N° 4 14

5. Pregunta N° 5 16

6. Script de la actividad 17

Page 3: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

3

Índice de Figuras

Figura 1 - Carga de la BBDD Oracle desde Windows XP 4

Figura 2 - Pantalla de Inicio SQL*Plus 5

Figura 3 - Conexión realizada al servidor de Oracle 5

Figura 4 - Creación del usuario DISENADOR 6

Figura 5 - Permiso al usuario DISENADOR para conexión a servidor Oracle 7

Figura 6 - Permiso al usuario DISENADOR para realizar acciones en línea de comandos

SQL*Plus 7

Figura 7 - Esquema de las tablas PRODUCTO y ORDEN_DESPACHO 8

Figura 8 - Tabla “Producto” creada en SQL*Plus 9

Figura 9 - Tabla “Orden_Despacho” creada en SQL*Plus 10

Figura 10 - Lista desplegable “Create Object” 12

Figura 11 - Edición del nombre de la tabla y sus columnas 12

Figura 12 - Definición de Primary Key “ID_DETALLE” 13

Figura 13 - Definición de Foreign Key “ID_OD” de la tabla “Orden_Despacho” (nombre en

editor Web como “Orden de despacho”) 13

Figura 14 - Script generado de la tabla y trigger 14

Figura 15 - Ingreso de datos a la tabla “Producto” 15

Figura 16 - Visualización del ingreso de datos a la tabla “Producto” 15

Figura 17 - Ingreso de datos a la tabla “Orden_Despacho” 16

Figura 18 - Visualización o resultado del ingreso de datos a la tabla “Orden_Despacho” 17

Figura 19 - Resultado de script al conectar a servidor, creación de usuario, permisos,

creación de tablas e inserción de registros 19

Figura 20 - Otra parte del resultado de script sólo para la inserción de registro en la tabla

“Orden_Despacho” y desconexión de la servidor o BBDD Oracle 19

Page 4: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

4

1. Pregunta N° 1

1.1. Enunciado

Crear un usuario diseñador para acceder a la base de datos

1.2. Solución

Los pasos para crear el usuario de nombre DISENADOR, el cual permitirá acceder a la base

de datos, son los siguientes:

Iniciar la base de datos Oracle desde la raíz “Inicio>Todos los Programas>Oracle Database 11g Express Edition>Start Database”.

Figura 1 - Carga de la BBDD Oracle desde Windows XP

Cuando la base de datos esté iniciada, ejecutar la línea de comandos de SQL (SQL Plus) siguiendo la secuencia: “Inicio>Todos los Programas>Oracle Database 11g Express Edition>Run SQL Command Line”.

Page 5: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

5

Figura 2 - Pantalla de Inicio SQL*Plus

Establecer la conexión con el servidor Oracle por medio del comando:

SQL> connect / as sysdba

Figura 3 - Conexión realizada al servidor de Oracle

Page 6: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

6

Crear el usuario de nombre DISENADOR con la sintaxis:

SQL> create user DISENADOR identified by DISENADOR default tablespace users;

El resultado es un mensaje con el texto “Usuario Creado”.

*Cabe mencionar que con “default tablespace users” especificamos el espacio en la tabla

users. Si no lo especificáramos, el espacio se pondría por defecto en la tabla system.

Figura 4 - Creación del usuario DISENADOR

Otorgar permisos al usuario creado para conectarse al servidor Oracle:

SQL>grant connect to DISENADOR;

Page 7: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

7

Figura 5 - Permiso al usuario DISENADOR para conexión a servidor Oracle

Otorgar permisos para crear tablas, funciones, procedimientos, etc.:

SQL>grant resource to DISENADOR;

Figura 6 - Permiso al usuario DISENADOR para realizar acciones en línea de comandos

SQL*Plus

Page 8: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

8

El usuario está OK y con los permisos necesarios.

Para desconectarnos, se ingresa “SQL>disc DISENADOR;” y en caso de querer volvernos a conectar escribimos: “SQL>con DISENADOR;”. En este caso mantendremos la conexión con el usuario DISENADOR.

2. Pregunta N° 2

2.1. Enunciado

Entregue el script para crear el siguiente esquema de tablas:

PRODUCTO ORDEN_DESPACHO

Id_Prod Nro_OD

Descripcion RUT_Clte

Fecha_inventario Nombre_Clte

Stock_Fecha_Inv Direccion_Clte

Stock_Critico Email_Clte

Stock_Minimo Valor_OD

Glosa FechaOD

Figura 7 - Esquema de las tablas PRODUCTO y ORDEN_DESPACHO

2.2. Solución

Con el usuario DISENADOR y el permiso “resource” concedido, crearemos las tablas citadas

en el esquema. Para la tabla “PRODUCTO “ se debe ingresar el siguiente script:

Page 9: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

9

SQL>CREATE TABLE Producto(

Id_Prod varchar2(10) not null primary key,

Descripcion varchar2(100) not null,

Fecha_inventario date default sysdate,

Stock_Fecha_Inv numeric,

Stock_Critico numeric,

Stock_Minimo numeric,

Glosa varchar2(100)

);

Figura 8 - Tabla “Producto” creada en SQL*Plus

Page 10: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

10

El mismo procedimiento se debe seguir para la tabla ORDEN_DESPACHO. Para ello, se

deben ingresar las líneas de código especificadas abajo:

CREATE TABLE Orden_Despacho (

Nro_OD number(16) not null primary key,

RUT_Clte varchar2(10),

Nombre_Clte varchar2(100),

Direccion_Clte varchar2(150),

Email_Clte varchar2(100),

Valor_OD number(16) not null,

FechaOD date default sysdate

);

Figura 9 - Tabla “Orden_Despacho” creada en SQL*Plus

Page 11: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

11

3. Pregunta N° 3

3.1. Enunciado

Crear una tabla de detalle “Orden_Despacho” en modo gráfico.

3.2. Solución

Para la creación de tablas a nivel gráfico debemos como primer paso acceder vía Web a

Oracle Database 11g Express Edition por medio de la referencia “Get Started” (disponible

en el directorio “Inicio>Todos los programas>Oracle Database 11g Express Edition”).

Posterior a este paso, debemos conectarnos a system (user: system / pass: “la solicitada en

la instalación de Oracle”) y dirigirnos al selector “Application Express” para crear un nuevo

espacio de trabajo (Workspace con nombre MODELADOR y SYSTEM).

Luego, ingresamos a un navegador Web como Internet Explorer a la URL

http://127.0.0.1:8080 (configuración de IP y proxy por defecto) con los parámetros de

logueo válidos:

Workspace: MODELADOR

Username: SYSTEM con permisos de Administrador

Password: “La solicitada al crear el usuario del Application Express”.

Ya dentro del espacio de trabajo MODELADOR e ítem “SQL Workshop”, el usuario debe

dirigirse a la lista desplegable “Create Object>Table” ingresando posteriormente el nombre

de la tabla y sus columnas (después de las tablas “Producto” y “Orden_Despacho”).

Page 12: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

12

Figura 10 - Lista desplegable “Create Object”

Figura 11 - Edición del nombre de la tabla y sus columnas

Page 13: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

13

Ahora hay que determinar la(las) llave(es) primaria(as) y foránea(as). Para efectos del

ejercicio, en primera instancia, la llave primaria será rellenada a partir de una secuencia

existente.

Figura 12 - Definición de Primary Key “ID_DETALLE”

Figura 13 - Definición de Foreign Key “ID_OD” de la tabla “Orden_Despacho” (nombre

en editor Web como “Orden de despacho”)

Por último, hay que indicar la no existencia de restricciones en la tabla junto con la

confirmación del script generado en el schema system.

Page 14: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

14

Figura 14 - Script generado de la tabla y trigger

4. Pregunta N° 4

4.1. Enunciado

Entregue el script de ingreso de datos a la tabla PRODUCTO

4.2. Solución

Para el ingreso de datos a la tabla PRODUCTO usamos la sentencia conocida INSERT INTO:

SQL>INSERT INTO Producto VALUES

(‘S105’,’Nintendo Wii’,TO_DATE(‘25/11/2013’),35,3,2,’Consola con regalo’);

Page 15: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

15

El resultado al ejecutar la línea anterior es el desplegado en la Figura 15:

Figura 15 - Ingreso de datos a la tabla “Producto”

Con “SELECT * FROM Producto” verificamos que el ingreso de registros creado

efectivamente se encuentre en la tabla Producto.

Figura 16 - Visualización del ingreso de datos a la tabla “Producto”

Page 16: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

16

5. Pregunta N° 5

5.1. Enunciado

¿Cuál sería la query para crear datos cuando se crea una Orden de Despacho?

5.2. Solución

Para el ingreso de datos a la tabla ORDEN_DESPACHO usamos nuevamente la sentencia

INSERT INTO:

SQL>INSERT INTO Orden_Despacho VALUES

(11,’16470340-1’,’Felipe Campos’,’Av. Argomedo

190’,’[email protected]’,90000,TO_DATE(‘02/05/2014’));

El resultado al ejecutar la línea anterior es el desplegado en la Figura 17:

Figura 17 - Ingreso de datos a la tabla “Orden_Despacho”

Page 17: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

17

Con “SELECT * FROM Orden_Despacho” verificamos que el ingreso de registros creado

efectivamente se encuentre en la tabla Orden_Despacho.

Figura 18 - Visualización o resultado del

ingreso de datos a la tabla

“Orden_Despacho”

6. Script de la actividad

Aprovechando la investigación del uso de SQL*PLUS a nivel de consulta, se ha optado por

crear un script el cual permita ejecutar desde la creación del usuario hasta las inserciones y

verificaciones de datos en las tablas “Producto” y “Orden_Despacho”. Para esto debemos

guardar el script con la extensión “.sql”, alojarlo en cualquier lugar del sistema operativo

(en nuestro caso, la unidad C) e ingresar en SQL*PLUS: “@c:\script;”. Si el lector desea

revisar su estructura, favor continuar revisando el documento de trabajo.

Nota:

Antes de ejecutar el script es necesario eliminar las tablas previamente creadas o usuario

con nombre igual al digitado en script (denominado MODELADOR). Para ello, el usuario en

SQL*PLUS debe digitar:

SQL>DROP USER MODELADOR;

Page 18: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

18

SQL>DROP TABLE Producto;

SQL>DROP TABLE Orden_Despacho;

-- SCRIPT ACTIVIDAD 2 ADMINISTRACION DE BASE DE DATOS -- FELIPE CAMPOS, PATRICIO BERRIOS -- PROFESOR: MARCELO ACEVEDO -- Cargar base de datos e iniciar la conexión con servidor en cuadro de línea de comandos SQL*Plus connect / as sysdba -- Luego, crear usuario con el nombre MODELADOR (distinto al existente DISENADOR). CREATE USER MODELADOR identified by MODELADOR default tablespace users; -- Otorgar permisos al usuario para conectarse al servidor Oracle. grant connect to MODELADOR; -- Otorgar permisos para crear tablas, funciones, procedimientos u otros. grant resource to MODELADOR; -- A continuación, creamos las tablas del esquema de datos. -- Tabla PRODUCTO CREATE TABLE Producto(Id_Prod varchar2(10) not null primary key,Descripcion varchar2(100) not null,Fecha_inventario date default sysdate,Stock_Fecha_Inv numeric,Stock_Critico numeric,Stock_Minimo numeric,Glosa varchar2(100)); -- Tabla ORDEN_DESPACHO CREATE TABLE Orden_Despacho(Nro_OD number(16) not null primary key,RUT_Clte varchar2(10),Nombre_Clte varchar2(100),Direccion_Clte varchar2(150),Email_Clte varchar2(100),Valor_OD number(16) not null,FechaOD date default sysdate); -- Inserción de datos a ambas tablas. -- Tabla PRODUCTO INSERT INTO Producto VALUES(‘S105’,’Nintendo Wii’,TO_DATE(‘25/11/2013’),35,3,2,’Consola con regalo’); -- Tabla ORDEN_DESPACHO INSERT INTO Orden_Despacho VALUES(11,’16470340-1’,’Felipe Campos’,’Av. Argomedo 190’,’[email protected]’,90000,TO_DATE(‘02/05/2014’)); -- Verificación de la información insertada. -- Tabla PRODUCTO SELECT * FROM Producto; -- Tabla ORDEN_DESPACHO SELECT * FROM Orden_Despacho; -- Desconectamos del servidor Oracle al usuario MODELADOR disc;

Page 19: ADMBD Actividad 2-Felipe Campos-Patricio Berrios

19

A grandes rasgos, el script ejecuta sin problemas las sintaxis contenidas. El print de la Figura

19 revela lo mencionado.

Figura 19 - Resultado de script al conectar a servidor, creación de usuario, permisos,

creación de tablas e inserción de registros

Figura 20 - Otra parte del resultado de script sólo para la inserción de registro en la tabla

“Orden_Despacho” y desconexión de la servidor o BBDD Oracle