Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Estudiantes:
Vladimir Henríquez Ílias
Escuela de Ciencias Básicas, Sandra Paola Molina
Tecnología e Ingeniería Ronald Baez
ECBTI49
301125A_611
CÓDIGO: 301125
de aplicación
Presentado a:
Tutor
Entregado por:
Código: XXXXX
Grupo: 301125_5
11 de abril de 2019
Bogotá D.C.
Contenido
Introducción ................................................................................................................................................ 4
Desarrollo Actividad ................................................................................................................................... 0
Script de las consultas avanzadas con joins .......................................................................................... 0
Script de las consultas avanzadas con funciones agregadas.............................................................. 13
Script con cinco procedimientos almacenados ................................................................................... 19
Script con cinco disparadores o triggers ............................................................................................. 25
Conclusiones ................................................................................................................................................ 0
Bibliografía .................................................................................................................................................. 1
Listado de Ilustraciones
Ilustración 1: Diseño diagrama entidad - relación ......................... Error! Bookmark not defined.
Ilustración 2:Modelo Relacional .................................................... Error! Bookmark not defined.
Ilustración 3: Creación de cuenta APEX ....................................... Error! Bookmark not defined.
Ilustración 4: Creación control de acceso y permisos .................... Error! Bookmark not defined.
Ilustración 5: Ejemplo consulta 1 .................................................. Error! Bookmark not defined.
Ilustración 6: Ejemplo consulta 2 .................................................. Error! Bookmark not defined.
Ilustración 7: Ejemplo consulta 3 .................................................. Error! Bookmark not defined.
Ilustración 8: Ejemplo consulta 4 .................................................. Error! Bookmark not defined.
Ilustración 9: Ejemplo consulta 5 .................................................. Error! Bookmark not defined.
Listado de Tablas
El presente trabajo muestra los conocimientos adquiridos durante la fase dos del curso de base de
conocimientos en los conceptos básicos de base de datos como son: entidad, atributos, relación,
1. Leer y comprender la temática propuesta para la Unidad 1 - Bases de Datos Transaccionales y relacionales que corresponde a la
Fase 1- Modelamiento.
2. A partir de la lectura realizada al contenido temático de la unidad 3; seleccionar y responder una de las cinco preguntas
motivadoras en un párrafo de su propia autoría que contenga mínimo 200 palabras y máximo 300 palabras y hacer un comentario
a. Realizar una consulta por cada join, cada enlace lo lleva aun ejemplo que puede tomar de referencia para el desarrollo de la
actividad:
CROSS JOIN
NATURAL JOIN
Devuelve el nombre del estudiante todas las filas de A, incluyendo las filas comunes entre A y B.
on TBL_ASIG.ASIG_NOM_ASIG = TBL_ASIG.ASIG_NOM_ASIG ;
SELECT EST_ID_EST AS "Código Estudiante", EST_P_NOM AS "Nombre Estudiante", EST_P_APE AS "Apellido Estudiante",
MAT_ID_MAT AS "Código Matricula", MAT_ID_ASIG AS "Código Asignatura", MAT_ID_PROG AS "Código Programa" FROM
TBL_EST LEFT JOIN TBL_MAT ON EST_ID_EST = TBL_EST_EST_ID_EST where EST_ID_EST >= 0 ORDER BY
EST_ID_EST, MAT_ID_MAT;
RIGHT [OUTER] JOIN
Devuelve el nombre del estudiante por la derecha te dará todas las filas de B, incluyendo las filas comunes con A.
on TBL_ASIG.ASIG_NOM_ASIG = TBL_ASIG.ASIG_NOM_ASIG ;
SELECT EST_ID_EST AS "Código Estudiante", EST_P_NOM AS "Nombre Estudiante", EST_P_APE AS "Apellido Estudiante",
MAT_ID_MAT AS "Código Matricula", MAT_ID_ASIG AS "Código Asignatura", MAT_ID_PROG AS "Código Programa" FROM
TBL_EST RIGHT OUTER JOIN TBL_MAT ON EST_ID_EST = TBL_EST_EST_ID_EST where EST_ID_EST >= 0 ORDER BY
EST_ID_EST, MAT_ID_MAT;
FULL [OUTER] JOIN
Devuelve el nombre del estudiante en la unión de A y B; es decir, todas las filas de A y todas las filas de B. Si una fila en A no tiene
on TBL_ASIG.ASIG_NOM_ASIG = TBL_ASIG.ASIG_NOM_ASIG ;
SELECT EST_ID_EST AS "Código Estudiante", EST_P_NOM AS "Nombre Estudiante", EST_P_APE AS "Apellido Estudiante",
MAT_ID_MAT AS "Código Matricula", MAT_ID_ASIG AS "Código Asignatura", MAT_ID_PROG AS "Código Programa" FROM
TBL_EST FULL OUTER JOIN TBL_MAT ON EST_ID_EST = TBL_EST_EST_ID_EST where EST_ID_EST >= 0 ORDER BY
EST_ID_EST, MAT_ID_MAT;
CROSS JOIN
muestran todas las combinaciones de todos los registros de las tablas combinadas
MAT_ID_MAT AS "Código Matricula", MAT_ID_ASIG AS "Código Asignatura", MAT_ID_PROG AS "Código Programa" FROM
ASIG_ID_ASIG AS "Código Asignatura", ASIG_NOM_ASIG AS "Nombre Asignatura" FROM TBL_PROF CROSS JOIN
Establece una relación de igualdad entre las tablas a través de los campos que tengan el mismo nombre en ambas tablas
ASIG_ID_ASIG AS "Código Asignatura", ASIG_NOM_ASIG AS "Nombre Asignatura" FROM TBL_PROF NATURAL JOIN
SELECT EST_ID_EST AS "Código Estudiante", EST_P_NOM AS "Nombre Estudiante", EST_P_APE AS "Apellido Estudiante",
MAT_ID_MAT AS "Código Matricula", MAT_ID_ASIG AS "Código Asignatura", MAT_ID_PROG AS "Código Programa" FROM
TBL_EST INNER JOIN TBL_MAT ON EST_ID_EST = TBL_EST_EST_ID_EST where EST_ID_EST >= 0 ORDER BY
EST_ID_EST;
SELECT PROF_ID_PROF AS "Código Profesor", PROF_P_NOM AS "Nombre Profesor", PROF_P_APE AS "Apellido Profesor",
PROG_ID_PROG AS "Código Programa", PROG_NOM_PROG AS "Nombre Programa" FROM TBL_PROF JOIN TBL_PROG
Función Significado
Cuenta los elementos de un grupo. Se suele indicar un
asterisco (COUNT (*)) en lugar de una expresión, ya que
COUNT(expresión)
la cuenta no varía por indicar una expresión concreta; el
resultado siempre es el número de elementos del grupo.
SUM(expresión) Suma los valores de la expresión
AVG(expresión) Calcula la media aritmética sobre la expresión indicada
MIN(expresión) Mínimo valor que toma la expresión indicada
MAX(expresión) Máximo valor que toma la expresión indicada
Tabla notas
Cuenta el numero de estudiantes
FROM dual
Suma todas las notas de la tabla
c. Realizar cinco procedimientos almacenados y cinco disparadores o triggers para realizar la actividad consultar los ejemplos que
https://oracle-base.com/articles/misc/introduction-to-plsql
PROCEDIMIENTO ALMACENADOS
Procedimiento 1:
AS
BEGIN
OPEN cursorMemoria FOR SELECT * FROM TBL_NOTAS;
END;
Procedimiento 2: A de un procedimiento insertar información a la tabla de nacionalidad, se crea el procedimiento como se muestra a
continuación.
(Cod_Nal IN NUMBER,
Nacionalidad IN VARCHAR2,
NACUS IN VARCHAR2,
NOMFO IN VARCHAR2,
ISO2 IN VARCHAR2,
ISO3 IN VARCHAR2,
PHONE_CODE VARCHAR2)
is
begin
INSERT INTO TBL_NAL (NAL_COD_NAL, NAL_NAL, NACUS, NOMFO, ISO2, ISO3, PHONE_CODE) VALUES (Cod_Nal,
end;
Ahora se realiza la ejecución del procedimiento, donde solo se llama al procedimiento y se ingresan los valores, como se muestra a
continuación:
begin
end;
Finalmente, se realiza una selección para verificar que la operación tuvo exito
IS
var_cantest TBL_EST%ROWTYPE;
BEGIN
var_cantest.EST_CORREO ||'>' );
EXCEPTION
DBMS_OUTPUT.PUT_LINE( SQLERRM );
END;
Procedimiento 4: Teniendo en cuenta la identificación del profesor, se obtiene información de nombre, dirección, ciudad, teléfono y
correo.
create or replace PROCEDURE PROF_INFO(prof_id VARCHAR2)
IS
var_contprof TBL_PROF%ROWTYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE( 'Primer Nombre: ' || var_contprof.PROF_P_NOM || ', Dirección: ' || var_contprof.PROF_DIR || ',
Ciudad: ' || var_contprof.PROF_CIU || ', Teléfono: ' || var_contprof.PROF_TEL || ', Correo:<' || var_contprof.PROF_CORREO ||'>' );
EXCEPTION
DBMS_OUTPUT.PUT_LINE( SQLERRM );
END;
DISPARADOR TRIGGER
TRIGGER 1.
DECLARE
V_USERNAME VARCHAR2(50);
V_FECHA DATE;
BEGIN
INSERT INTO REG_TBLTITULO (ID_REG, ACCION, FECHA, USUARIO) VALUES ( ' I- ' | | : NEW.TIT_ID_TIT, 'SE HA
END;
EST_ID VARCHAR2(15),
EST_P_OLDNOM VARCHAR2(30),
EST_P_NEWNOM VARCHAR2(30),
EST_SUCESO VARCHAR2(80),
EST_USUARIO VARCHAR2(50),
LOG_DATE DATE,
);
Ahora se crea el disparador para que al insertar un dato nuevo en la tabla estudiantes (TBL_EST) se inserte en la tabla creada
(LOG_ESTU) un log indicando el nuevo nombre, el usuario que realizó la inserción y la fecha de ejecución:
AFTER
insert on "TBL_EST"
DECLARE
V_USERNAME VARCHAR2(50);
V_FECHA DATE;
BEGIN
V_USERNAME, V_FECHA);
end;
Ahora se realiza una inserción en la tabla estudiantes (TBL_EST) como se muestra a continuación:
INSERT ALL
Por último, se verifica la tabla log para ver como muestra el nuevo nombre, el usuario que lo creo y la fecha de creación
Trigger 3: Crear un registro en una tabla de verificación (LOG_EST) que cada vez que se realice una actualización al campo de nombre
en la tabla estudiantes (TBL_EST) indique el nombre viejo, el nuevo nombre registrado, el usuario que lo hizo y la fecha
( "EST_ID" VARCHAR2(15),
"EST_P_OLDNOM" VARCHAR2(30),
"EST_P_NEWNOM" VARCHAR2(30),
"EST_SUCESO" VARCHAR2(80),
"EST_USUARIO" VARCHAR2(50),
"LOG_DATE" DATE,
);
Ahora se crea el disparador para que al actualizar el campo nombre en la tabla estudiantes (TBL_EST) se inserte en la tabla creada
(LOG_EST) un log indicando el nombre antiguo, el nuevo nombre, el usuario que realizó la inserción y la fecha de ejecución:
AFTER
DECLARE
V_USERNAME VARCHAR2(50);
V_FECHA DATE;
BEGIN
V_USERNAME, V_FECHA);
end;
Ahora se realiza una actualización en el campo nombre de la tabla estudiantes (TBL_EST) como se muestra a continuación:
Quintana, G., M., M., & Aliaga, J. l.(2010). Aprende SQL. Castellón de la Plana, ES: Universitat
Jaume I. Servei de Comunicació iPublicacions. Recuperado de
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=112&docID=321
8178&tm=1531497265422
Piñeiro, Gómez, José Manuel. Manual gestión de bases de datos: formación para el empleo,
Editorial CEP, S.L., 2011. ProQuest Ebook Central, recuperado de Piñeiro, Gómez, José
Manuel. Manual gestión de bases de datos: formación para el empleo, Editorial CEP,
S.L., 2011. ProQuest Ebook Central,
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/detail.action?docID=3214275.
Hueso, Ibáñez, Luis. Administración de sistemas gestores de bases de datos, RA-MA Editorial,
2014. ProQuest Ebook Central, Pag 114- 128 recuperado de
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=115&docID=322
9065&tm=1531497705957