Académique Documents
Professionnel Documents
Culture Documents
Experiencia Educativa:
Taller de Integración III
Maestro:
PhD. David Sarmiento Cervantes
Proyecto:
Sistema de Gestión de Proyectos
Equipo 6:
Francisco Javier Pérez Domínguez
Hugo Durán Hernández
Armando Luna Sánchez
Conceptos de Oracle.......................................................................................................................................... 11
2. Análisis ............................................................................................................................................................. 13
3. Diseño .............................................................................................................................................................. 15
4. Implementación .............................................................................................................................................. 20
4.5.2. Funciones.......................................................................................................................................... 45
4.8.2. Funciones.......................................................................................................................................... 60
5. Pruebas ............................................................................................................................................................ 62
5.3.2. Funciones.......................................................................................................................................... 72
5.5.2. Funciones.......................................................................................................................................... 83
Conceptos Fundamentales
Primary Key Llave primaria Se utiliza para definir la clave principal http://www.aulaclic.es/sql/t_8_2.htm
de la tabla. Las columnas que forman
la clave principal no pueden contener
valores nulos ni puede haber valores
duplicados de la combinación de
columnas.
Foreign Key Llave foránea Sirve para definir una clave foránea http://www.aulaclic.es/sql/t_8_2.htm
sobre una columna o una combinación
de columnas. Una clave foránea es una
columna o conjunto de columnas que
contiene un valor que hace referencia a
una fila de otra tabla.
Join Combinación La cláusula JOIN permite combinar https://emic8a.wordpress.com/201
registros de dos o más tablas en una
1/01/21/funciones-de-agrupacion/
base de datos relacional. Hay tres tipos
de JOIN: interno, externo, y cruzado.
User Defined Function Funciones definidas por el Las funciones definidas por el usuario https://msdn.microsoft.com/es-
usuario de SQL Server son rutinas que aceptan es/library/ms191007(v=sql.120).aspx
parámetros, realizan una acción, como
un cálculo complejo, y devuelven el
resultado de esa acción como un valor.
El valor devuelto puede ser un valor
escalar único o un conjunto de
resultados.
Oracle Listener Escucha de Oracle Controla el tráfico de red entrante de una https://msdn.microsoft.com/es-
instancia de base de datos Oracle. Al es/library/ms152563.aspx
configurar la conectividad de red de una
base de datos Oracle, se especifica el
protocolo mediante el que se envía el
tráfico y el puerto en el que el Listener
escucha el tráfico.
SQL Plus Interfaz de línea de Aplicación que se utiliza para obtener https://msdn.microsoft.com/es-
comandos de Oracle acceso y realizar consultas en bases de es/library/ms152563.aspx
datos Oracle. Es similar a la utilidad
sqlcmd de SQL Server.
TNS Service Name Nombre de servicio Es una capa de comunicación que utilizan https://msdn.microsoft.com/es-
TNS las bases de datos Oracle. TNS Service es/library/ms152563.aspx
Name es el nombre por el que se conocen
las instancias de una base de datos Oracle
en una red. Se asigna un nombre a este
servicio cuando se configura la
conectividad de la base de datos Oracle.
Se debe considerar que la empresa está está organizada en departamentos. Cada departamento controla cierto
número de proyectos y también en cada departamento se tiene asignado un empleado.
Cada uno de estos elementos tiene características que son necesarias para el control de los mismos.
De los departamentos la información que se registra es nombre del departamento, empleado que lo dirige así
como también un número único el cual servirá como identificador. De la misma manera se requiere llevar un
seguimiento de la fecha en la que dicho empleado comenzó a dirigir el departamento, siendo también
importante que un departamento puede estar distribuido en varios lugares.
Se sabe que cada departamento controla proyectos de los cuales se necesita saber nombre del proyecto,
ubicación donde se está desarrollando y un número único que sea el identificador de cada uno.
De los empleados los datos que se tienen son nombre del empleado, CURP, dirección, sueldo, sexo y su fecha
de nacimiento. Como antes se mencionó cada empleado está asignado a un departamento y a su vez puede
trabajar en diferentes proyectos aunque no pertenezcan al mismo departamento. Otro punto importante que se
debe registrar es el número de horas por semana que cada empleado labora en cada proyecto y quién es su
supervisor.
Se necesita también información sobre las personas a cardo de cada empleado. Por cada persona a cargo o
subordinado, se registrará su nombre, sexo, fecha de nacimiento y relación con el empleado.
2. Análisis
Consiste en relevar la información actual y proponer los rasgos generales de la solución que se propondrá a la
problemática mencionada en el contexto del sistema.
2.1. Modelo Entidad-Relación
Éste modelo representa de manera gráfica mediante entidades y relaciones el diseño de una base de datos
partiendo de una percepción del planteamiento de un problema.
3. Diseño
El diseño consiste en definir la estructura de todas las partes del sistema que se está trabajando.
3.1. Diseño de la Base de Datos
SEXO
RELACIÓN
DEPARTAMENTO
EMPLEADO
UBICACIÓN
4. Implementación
La realización de una especificación técnica o algoritmos como un programa, componente software, u otro
sistema de cómputo. Muchas implementaciones son dadas según a una especificación o un estándar. En éste
caso se implementa todo lo diseñado en SQL.
4.1. Script de Creación en MySQL
Paso 1: ya teniendo el Modelo Relacional en workbench (Figura 1), vamos a FILEExport
forward Enginner SQL CREATE SCRIPT y presionamos para comenzar a crear el script.
PASO 2: nos aparecerá una ventana (Figura 2) damos clic en browse para dar una dirección
en la cual lo guardaremos, le pondremos un nombre al archivo de salida el cual será el script
y damos en Next.
PASO 4: En la siguiente imagen (Figura 5) vemos las tablas que contendrá nuestro script
(ósea, lo que exportará). Damos click en Finish.
Paso 1: Se nos presenta una pantalla (Figura 1) con varias opciones, en el menú izquierdo
escogemos “Instalación” y luego la primera opción del menú derecho “Instalar SQL Server o
agregar características.
Figura 1. Centro de
Instalación.
Paso 2: Ahora nos presenta una ventanita (Figura 2) la cual nos indica que está realizando
las operaciones indicadas.
Figura 2. PopUp de
operación.
Paso 3: Debemos instalar las reglas de soporte (Figura 3), las cuales nos indican si existe
algún componente que evite la instalación de SQL Server, esperamos unos segundos y
damos clic en OK.
Paso 4: En la siguiente pantalla (Figura 4) vemos que ya tenemos una llave de producto
predefinida y solo damos clic en Next.
Figura 4. Llave
del producto.
Paso 5: La siguiente ventana (Figura 5) nos muestra los términos de licencia, damos en
aceptar licencia y después en Next.
Figura 8. Selección de
características a instalar.
Paso 9: La pantalla a continuación (Fig. 9) nos muestra la instancia que queremos instalar, la
dejamos igual como esta y damos en Next.
Paso 10: Vemos la siguiente pantalla (Fig. 10) en la cual verifica la cantidad de espacio en
disco, sin problema alguno damos clic en Next.
Paso 14: En la siguiente ventana (fig. 14) seleccionamos el modo de instalación que
queramos, en este caso elegimos “Configuración nativa” y “Next”.
Paso 16: Ahora ya está todo listo para la instalación, vemos el resumen de componentes
(Fig. 16), y si está todo bien damos clic en Instalar.
Paso 20: Buscamos “Microsoft SQL Server Management Studio” y le damos doble clic y nos
aparece primero la pantalla de login y enseguida la ventana de inicio, en donde creamos las
BD.
Sustituimos los “mydb”, para ello seleccionamos y presionamos las teclas Ctrl + h y
nos abrirá una ventana, donde pondremos la palabra “dbo” el cual será por el que lo
reemplacemos y daremos clic en el botón reemplazar todo.
Finalmente, todos los atributos que estaban entre ` ` se les tuvo que borrar.
Esperar unos segundos a que el asistente termine de configurar, si todo fue realizado
con éxito parecerán 3 palomitas como se ve en la siguiente pantalla:
El siguiente paso es dar clic derecho sobre la carpeta replicación y seleccionar Nuevo
Publicación. Y se ejecutará un asistente que nos ayuda en la configuración y dar clic en
siguiente.
Especificamos el tipo de suscriptor o versión de SQL Server, y marcamos “SQL Server 2008”
y clic en siguiente.
Ahora seleccionaremos las tablas y otros objetos que deseemos publicar. De la BD Taller3,
en nuestro caso seleccionaremos todos.
Marcamos la opción “Ejecutar en la cuenta de servicio del agente SQL Server y dar
clic en Aceptar.
Ahora escribiremos el nombre de la publicación para poder Finalizar el asistente de
configuración y dar clic en Finalizar.
NOTA: Para ver que todo ha salido bien, expándenos la carpeta de Replicación
Publicaciones locales, y ahí dentro de esa carpeta se encuentra el nodo de replicación.
4.5.1. Vistas
En la ventana que aparece en la seccion de consulta copiamos el siguiente script para
seleccionar los datos que deseamos de nuestra base de datos, los cuales componen la vista:
Create view Horastrabajadas as select
Empleado.curp as IDEmpleado,
Empleado.Nombre as NombreEmpleado,
Empleado.Apaterno as ApellidoPaterno,
Empleado.Amaterno as ApellidoMaterno,
Departamento.Nombre as NombreDepartamento,
ubicacion.Estado as UbicacionDepartamento,
CatalogoPuesto.Descripcion as Puesto,
Proyectos.Numero_de_horas as HrsSemana,
Proyectos.Nombre as NombreProyecto,
Ubicacion.ciudad as UbicacionProyecto
4.5.2. Funciones
En la ventana que aparece en la seccion de consulta copiamos el siguiente script para crear
la función.
CREATE FUNCTION dbo.hratrabajada
(
@idEmpleado int,
@idProyecto int
)
RETURNS float
AS
BEGIN
declare @res float
if @idEmpleado is null and @idProyecto is null BEGIN
select @res = sum(NumhorasSemana) from Tiempo_proyecto
END
else
if @idEmpleado is not null and @idProyecto is null BEGIN
select @res = sum(NumhorasSemana) from Tiempo_proyecto where
idEmpleado=@idEmpleado
END
else
if @idEmpleado is null and @idProyecto is not null BEGIN
select @res = sum(NumhorasSemana) from Tiempo_proyecto where
idProyecto=@idProyecto
END
else
if @idEmpleado is not null and @idProyecto is not null BEGIN
select @res = sum(NumhorasSemana) from Tiempo_proyecto where
idEmpleado=@idEmpleado and idProyecto=@idProyecto
END
return @res
END;
GO
4.5.4. Triggers
Para la creación de un trigger en SQL Server 2008, es necesario tener la base de datos
creada, en nuestro caso llamada “taller3” y dirigirse al menú lateral izquierdo en el menú
Bases de datostaller3TablasEmpleado_has_ProyectoDesencadenadores, cabe
mencionar que el trigger se creará especialmente para esta tabla llamada
“Empleado_has_Proyecto”, en este sub menú le damos click derecho y seleccionamos la
opción “Nuevo desencadenado” de la siguiente manera:
Ahora en este momento nos saldrá una ventana en el panel de consultas con un script pre
creado en donde solo modificaremos los parámetros principales dándole nombre al trigger,
tabla sobre la cual será creado y sobre qué eventos trabajara, quedando el encabezado de la
siguiente manera:
Ahora después de las sentencias “AS BEGIN”, se agregará este script, el cual se anexa
completo a modo de ejemplificar la forma final de la creación del trigger:
IF @i + @d > 0
BEGIN
IF @i > 0 AND @d = 0
begin
set @id_emp = (select idEmpleado from INSERTED)
set @id_proy = (select idProyecto from INSERTED)
set @horas = (select Tiempo from INSERTED)
set @tiempo = GetDate()
set @tipo = 'INSERT'
insert into dbo.Bitacora (tiempo,tipo,idProyecto,idEmpleado,Horas) values
(@tiempo,@tipo,@id_proy,@id_emp,@horas)
end
IF @i > 0 AND @d > 0
begin
set @id_emp = (select idEmpleado from INSERTED)
set @id_proy = (select idProyecto from INSERTED)
set @horas = (select Tiempo from INSERTED)
set @tiempo = GetDate()
set @tipo = 'UPDATE'
insert into dbo.Bitacora (tiempo,tipo,idProyecto,idEmpleado,Horas) values
(@tiempo,@tipo,@id_proy,@id_emp,@horas)
end
IF @i = 0 AND @d > 0
begin
set @id_emp = (select idEmpleado from DELETED)
set @id_proy = (select idProyecto from DELETED)
set @horas = (select Tiempo from DELETED)
set @tiempo = GetDate()
set @tipo = 'DELETE'
insert into dbo.Bitacora (tiempo,tipo,idProyecto,idEmpleado,Horas) values
(@tiempo,@tipo,@id_proy,@id_emp,@horas)
end
END;
END
GO
4.6. Instalación de Oracle 10 XE
Paso 2. Una vez que cargado el instalador, nos aparecerá una imagen como la siguiente y
pulsaremos “Siguiente”
Paso 5. En la siguiente ventana nos pedirá una contraseña que debemos colocar para el
usuario SYSTEM, después de haber confirmado la contraseña daremos clic en “Siguiente”.
Paso 6. Después nos aparecerá otra ventana con las opciones que ya hemos elegido para la
instalación, y procederemos a dar clic en “Instalar”.
Paso 7. Después el asistente de instalación empezara a instalar y hacer la configuración
adecuada para la instalación de la base de datos de Oracle Database 10g Express Editión.
Paso 8. Después de haber finalizado la instalación, nos aparecerá esta ventana, y tendremos
marcado la opción de iniciar la página inicial de la base de datos, que nos abrirá en el
navegador para poder acceder a Oracle. Daremos clic en “Terminar”.
Paso 9. Existen dos formas de acceder a Oracle: una mediante la línea de comandos de
Oracle y la otra a través de APEX (desde el navegador), como se muestra a continuación:
4.7. Script de Creación en Oracle
Paso 1. Entrar a la página de Oracle e iniciar sesión con nuestro nombre de usuario y
contraseña correspondiente, en este caso nuestro nombre de usuario es “System”.
Paso 2. Nos dirigimos a la consola de SQL, damos clic en la opción comandos SQL,
Introducir comando como se muestra en la imagen siguiente:
Paso 6. Después de haber comprobado las BD, le daremos clic en la base de datos que
acabamos de crear “taller3” nos aparecerá lo que se muestra en la siguiente imagen:
Nota: Damos clic donde dice activar todo y marcaremos los campos de CONNECT,
RESOURCE y DBA. Con esto le damos permiso al usuario para poder hacer modificaciones
a toda la base de datos y finalmente hacemos clic en “Modificar Usuario”. Cerramos sesión, y
volvemos a iniciar sesión, pero con el usuario taller3.
Paso 7. Ahora procedemos a crear las tablas, para ello modificamos el código que tenemos
del script de SQL server, haciéndole algunos cambios, empezando por la “dbo” se cambiara
por el nombre de la base de datos que creamos “TALLER3”, también borraremos la palabra
“IDENTITY”, y por último la líneas de “on delete no action, on update no action”, y el script
nos quedaría de la siguiente manera:
-- -----------------------------------------------------
-- Table TALLER3.Sexo
-- -----------------------------------------------------
CREATE TABLE TALLER3.Sexo (
idSexo INT NOT NULL ,
sexo VARCHAR(45) NULL,
PRIMARY KEY (idSexo))
;
-- -----------------------------------------------------
-- Table TALLER3.Ubicacion
-- -----------------------------------------------------
CREATE TABLE TALLER3.Ubicacion (
idUbicacion INT NOT NULL ,
ubicacion VARCHAR(45) NULL,
PRIMARY KEY (idUbicacion))
;
-- -----------------------------------------------------
-- Table TALLER3.Departamento
-- -----------------------------------------------------
CREATE TABLE TALLER3.Departamento (
idDepartamento INT NOT NULL ,
nombreDepartamento VARCHAR(45) NULL,
fechaDirige TIMESTAMP NULL,
Dirigente INT NOT NULL,
idUbicacion INT NOT NULL,
PRIMARY KEY (idDepartamento),
CONSTRAINT fk_Depto_Ubi1
FOREIGN KEY (idUbicacion)
REFERENCES TALLER3.Ubicacion (idUbicacion)
)
;
-- -----------------------------------------------------
-- Table TALLER3.Empleado
-- -----------------------------------------------------
CREATE TABLE TALLER3.Empleado (
idEmpleado INT NOT NULL ,
idSexo INT NOT NULL,
idDepartamento INT NOT NULL,
curp VARCHAR(18) NOT NULL,
nombre VARCHAR(45) NULL,
apellidoPaterno VARCHAR(45) NULL,
apellidoMaterno VARCHAR(45) NULL,
calle VARCHAR(45) NULL,
colonia VARCHAR(45) NULL,
numero INT NULL,
ciudad VARCHAR(45) NULL,
sueldo FLOAT NULL,
fechaNacimiento TIMESTAMP NULL,
PRIMARY KEY (idEmpleado),
CONSTRAINT fk_Empleado_Sexo
FOREIGN KEY (idSexo)
REFERENCES TALLER3.Sexo (idSexo)
,
CONSTRAINT fk_Emp_Depto1
FOREIGN KEY (idDepartamento)
REFERENCES TALLER3.Departamento (idDepartamento)
)
;
-- -----------------------------------------------------
-- Table TALLER3.Proyecto
-- -----------------------------------------------------
CREATE TABLE TALLER3.Proyecto (
idProyectos INT NOT NULL ,
nombreProyecto VARCHAR(45) NULL,
idUbicacion INT NOT NULL,
idDepartamento INT NOT NULL,
PRIMARY KEY (idProyectos),
CONSTRAINT fk_Proy_Ubi1
FOREIGN KEY (idUbicacion)
REFERENCES TALLER3.Ubicacion (idUbicacion)
,
CONSTRAINT fk_Proy_Depto1
FOREIGN KEY (idDepartamento)
REFERENCES TALLER3.Departamento (idDepartamento)
)
;
-- -----------------------------------------------------
-- Table TALLER3.Empleado_has_Proyecto
-- -----------------------------------------------------
CREATE TABLE TALLER3.Empleado_has_Proyecto (
idEmpleado INT NOT NULL,
idProyectos INT NOT NULL,
numHorasSemana INT NULL,
PRIMARY KEY (idEmpleado, idProyectos),
CONSTRAINT fk_Emp_Proy_Empl1
FOREIGN KEY (idEmpleado)
REFERENCES TALLER3.Empleado (idEmpleado)
,
CONSTRAINT fk_Emp_Proy_Proy1
FOREIGN KEY (idProyectos)
REFERENCES TALLER3.Proyecto (idProyectos)
)
;
-- -----------------------------------------------------
-- Table TALLER3.Relacion
-- -----------------------------------------------------
CREATE TABLE TALLER3.Relacion (
idRelacion INT NOT NULL,
tipoRelacion VARCHAR(45) NULL,
PRIMARY KEY (idRelacion))
;
-- -----------------------------------------------------
-- Table TALLER3.RelacionEmpleados
-- -----------------------------------------------------
CREATE TABLE TALLER3.RelacionEmpleados (
idEmpleado INT NOT NULL,
idRelacionado INT NOT NULL,
idRelacion INT NOT NULL,
PRIMARY KEY (idEmpleado, idRelacionado),
CONSTRAINT fk_Emp_Empl_Empl1
FOREIGN KEY (idEmpleado)
REFERENCES TALLER3.Empleado (idEmpleado)
,
CONSTRAINT fk_Emp_Empl_Empl2
FOREIGN KEY (idRelacionado)
REFERENCES TALLER3.Empleado (idEmpleado)
,
CONSTRAINT fk_RelEmpl_Rel1
FOREIGN KEY (idRelacion)
REFERENCES TALLER3.Relacion (idRelacion)
)
;
4.8. Funcionalidades de Base de Datos en Oracle
4.8.1. Vistas
Para crear vistas en Oracle, tenemos que entrar a http://127.0.0.1:8080/apex donde nos
aparecerá el menú principal de Oracle, y después solo daremos clic en la opción comandos
SQL Introducir comando como se muestra en las siguientes imágenes:
is
begin
begin
insert into Bitacora values (SYSTIMESTAMP,'INSERT', :new.idProyectos, :new.idEmpleado,
:new.numHorasSemana);
end;
---------------------------------------------------------------------------------------------------------------------------
create or replace trigger triActualizar
AFTER update on Empleado_has_Proyecto
FOR EACH ROW
begin
insert into Bitacora values (SYSTIMESTAMP,'INSERT', :new.idProyectos, :new.idEmpleado,
:new.numHorasSemana);
end;
---------------------------------------------------------------------------------------------------------------------------
create or replace trigger triEliminar
AFTER delete on Empleado_has_Proyecto
FOR EACH ROW
begin
insert into Bitacora values (SYSTIMESTAMP,'INSERT', :old.idProyectos,
:old.idEmpleado, :old.numHorasSemana);
end;
5. Pruebas
Paso 2. Creamos una nueva transformación. Para ello nos vamos a File New
Transformation.
Paso 3. Seleccionamos una tabla de Excel de donde están los datos. Input Excel
InputArrastrar hasta el panel central.
Paso 4. Seleccionamos la tabla de salida, que será a SQL Server. Para ello nos vamos a
Output Table output Arrastramos hasta el panel central.
Paso 5. Damos doble clic en la figurita del Excel y nos parecerá una nueva ventana como la
que se muestra a continuación:
Paso 6. Damos clic en “Browse”, localizamos nuestro archivo y damos clic en abrir.
Paso 8. Ahora damos clic en “add” para cargar el archivo, el cual nos aparecerá en la
ventanita de abajo “Selected files”. Después damos clic en la pestaña “!Sheets”.
Paso 9. Se nos presenta la ventana de Sheets, damos clic en “Get sheetnames”, la cual nos
mostrará una ventana de opciones (tablas de nuestra base de BD), escogemos una y damos
clic en “>” para seleccionarlo, después damos “OK”.
Paso 10. Estando en la misma ventana seleccionamos la pestaña “Fields”, damos clic en “Get fields
from header row”, la cual nos mostrará el nombre de las columnas de nuestra tabla seleccionada
anteriormente y damos clic en OK.
Paso 11. Teniendo presionado shift y con el mouse arrastrando de Excel a “Table output”,
generaremos la relación entre los componentes (origen-destino).
Paso 12. A continuación vamos a modificar el “Table output”. Vamos a realizar una nueva
conexión y damos clic en “New”.
Paso 13. En la ventana de la nueva conexión, configuramos los siguientes datos, en tipo de
conexión escogemos MS SQL SERVER, en los campos de arriba como de al lado ponemos
los datos correspondientes, nombre de la conexión (cualquiera), localhost (ya que el SQL
SERVER se está ejecutando en nuestra computadora), la BD que estamos migrando y los
datos de usuario y contraseña en SQL SERVER, finalizando todo esto damos clic en “Test”
para probar la conexión. Finalmente damos clic en OK.
Paso 14. Ya que tenemos la conexión, debemos decirle el nombre de la tabla de la cual
pasaremos los datos, para esto damos clic en “browse” en la fila “Target table”, en la ventana
desplegamos la carpeta conexión TablesSexo (en este caso, nuestra tabla que
queremos pasar), y clic en OK.
Paso 15. Posteriormente damos clic en “Specify database field” especificar campos de la
base de datos, seleccionamos la pestaña de abajo “Database fields” y damos clic en “Get
fields” del lado derecho, aparecerán las columnas en la tabla, debemos verificar que estas
sean iguales, si es asi, damos OK.
Paso 18. Se ejecutará, pero nos marcará un error en la pestaña de “Step Metrics” como se
muestra en la siguiente imagen:
Paso 19. Para quitar ese error, abrimos SQL SERVER, nos conectamos a nuestra BD,
localizamos nuestra BD, desplegamos las tablas, ubicamos “Sexo”, damos clic derecho y clic
en Diseño.
Paso 20. En la ventana siguiente, en la parte de abajo buscamos la opción “Especificación
de identidad”, damos doble clic en “identidad” y esta opción cambiará a “no” y guardamos los
cambios.
Paso 21. Hecho lo anterior volvemos a ejecutar las instrucciones, el cual dará resultado
positivo, esta vez saldrá una palomita verde. Nos regresamos a SQL Server seleccionamos
las primeras 1000 filas y se mostrarán los datos ya cargados. Para las tablas restantes es
el mismo proceso.
5.3. Pruebas Funcionales en SQL Server
5.3.1. Vistas
Ahora para hacer uso de la vista creada en SQL Server, solo procederemos a hacer un
SELECT * hacia la vista para demostrar que efectivamente está creada, el comando sería el
siguiente:
SELECT * FROM dbo.horastrabajadas;
5.3.2. Funciones
Para probar la función en SQL Server creada con anterioridad se creará una nueva consulta
en SQL Server 2008 Management Studio, y el script que se usó para esta prueba es el
siguiente:
PRINT @Resultado
PRINT @Resultado
El resultado es:
PRINT @Resultado
El resultado es:
PRINT @Resultado
El resultado es:
5.3.3. Procedimientos Almacenados
El procedimiento almacenado es una consulta capaz de consumirse mandando únicamente
los parámetros correspondientes al procedimiento, para probarlo en SQL Server 2008
Management Studio basta con dar click derecho sobre el nombre del procedimiento
almacenado y dar click en la opción “Ejecutar procedimiento almacenado” como se muestra
en la siguiente manera:
Ahora saldrá una ventana emergente en la cual se configuran los parámetros que recibe el
procedimiento almacenado, en esta parte ingresamos los datos, por ejemplo idProyecto = 5,
idEmpleado = NULL de la siguiente manera:
Ahora damos click en aceptar y nos mostrará el resultado:
Al dar click en ejecutar veremos que nos da un mensaje de que se vieron afectadas
dos filas:
Posteriormente veremos los datos en la tabla Bitácora con un SELECT * FROM BITACORA,
podemos ver que se almacenó una letra I para hacer referencia que la acción fue un INSERT
y la información de la fecha junto con la que se acaba de insertar:
Verificaremos que realmente este el registro insertado:
Y vemos que nuevamente el mensaje nos dice que se afectaron dos filas:
Hacemos un select en la Bitácora y vemos que ahora hay dos registros y el segundo tiene
una letra U haciendo referencia a un UPDATE:
Debido a que las horas trabajadas son las que modificamos vamos a consultar en la tabla
para estar seguros de que el cambio se realizó correctamente:
Por último vamos a comprobar el Delete sobre ese mismo registro con este script:
DELETE FROM Tiempo_proyecto WHERE idEmpleado=4 and idProyecto=20
Revisamos la bitácora y efectivamente hay un nuevo registro pero en este caso se identifica
con una letra D:
Paso 3. Después nos llevará a otra ventana donde tendremos 3 opciones que son: Cargar
Datos de Texto, Cargar Datos de Hoja de Cálculo, Cargar Datos XML. Nosotros elegiremos
la segunda opción para cargar los datos desde Excel.
Paso 4. Al darle clic en Cargar Datos de Hoja de Cálculo nos desplegara otra ventana, en
donde marcaremos la opción de “tabla existente” y también marcaremos la opción de
“archivo de carga (Separada por Comas o Delimitado por Tabuladores)”, que es el
formato CSV en el que guardamos las tablas desde Excel, y clic en siguiente.
Paso 5. Seguido de otro clic en siguiente nos aparecerá un combobox, en donde elegiremos
la tabla de donde queremos obtener los datos, en este caso “UBICACION” y de ahí damos
clic de nuevo en siguiente.
Paso 6. Nos aparecerá otra ventana, donde seleccionaremos el archivo CSV de Excel y
después damos clic en “siguiente”, automáticamente cargará los datos de la tabla y nos
mostrará la tabla con los datos obtenidos, por último daremos clic en el botón “Cargar Datos”,
como nos muestra la siguiente imagen:
Paso 7. Finalmente después de dar clic en “Cargar Datos” nos aparecerá el repositorio de la
carga de datos de cada una de las tablas de la BD, como se muestra a continuación:
5.5.1. Vistas
Primero nos aseguramos de que la vista haya sido creada correctamente como a
continuación se muestra en la siguiente imagen:
Como segundo paso, ejecutamos la vista con la siguiente sentencia:
SELECT *FROM HORASTRABAJADAS;
5.5.2. Funciones
Para observar el funcionamiento de nuestra función, simplemente entramos a la página para
introducir comandos, como se muestra a continuación:
DECLARE
c number;
BEGIN
c := horasTrabajadas(4,4);
dbms_output.put_line('Total de horas: ' || c);
END;
La función recibe como parámetros, el id del empleado, y el id del proyecto, y regresa
un valor numérico, en caso de que no se encuentre la información, regresa el valor -
99.
is
begin
5.5.4. Triggers
El trigger o desencadenador se ejecuta al momento de que se cumple la condición sobre la
tabla que tiene creado dicho lanzador, en este caso la tabla se llama
“Empleado_has_Proyecto”, para realizar la prueba se generarán primero un INSERT para
verificar que en la tabla Bitácora se almacene la tupla correspondiente y de la misma forma
se documentará el UPDATE y el DELETE.
Las diferencias con el script de los triggers de SQL Server son las siguientes:
Paso 6: Al dar click en siguiente nos manda a donde se nombra la vista, que por defecto
tiene el nombre de viewController y clic en “Next”.
Paso 14: Aparecerá nuevamente una ventana en esta ventana se pone el nombre del
paquete donde se encuentra la aplicación. Se da click en botón Finish y empieza la consulta
a la base de datos.
Se espera unos minutos.
Paso 15: Al finalizar muestra la siguiente pantalla donde se pueden ver las tablas que
contiene nuestra BD y se eligen las que vamos a utilizar para la aplicación que creamos.
Paso 16: Se empieza a editar la vista viewController clic derecho nueva página o en adf-
Config.xml aquí se define el flujo de los componentes de la vista .
Paso 17: Agregamos un view y arrastramos una vista. Se le da doble clic.
Paso 18: Escogemos algún templateCopy quick star layout 2 columnas. Damos en OK y
comenzara a crear la página con una estructura a partir del Layot escogido.
Paso 19: Para comenzar a editar la vista se agrega un Panel accordeon.
Paso 20: Arrastrar data control a departamentos y escogemos ADF FORM y configuramos
row navigations, marcamos read- only form y podemos poner etiquetas personalizadas.