ADMBD Actividad 2-Felipe Campos-Patricio Berrios
-
Upload
felipe-campos-aguirre -
Category
Documents
-
view
221 -
download
0
description
Transcript of 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
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
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
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”.
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
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;
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
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:
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
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
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”).
12
Figura 10 - Lista desplegable “Create Object”
Figura 11 - Edición del nombre de la tabla y sus columnas
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.
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’);
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”
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”
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;
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;
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