Está en la página 1de 9

--Procedimientos

--Tabla ESTUDIANTES

CREATE OR REPLACE PROCEDURE AgregarEstudiantes(


p_Correo_Estudiante IN ESTUDIANTES.Correo_Estudiante%TYPE,
p_Nombre_Estudiante IN ESTUDIANTES.Nombre_Estudiante%TYPE) AS
BEGIN
INSERT INTO ESTUDIANTES(ID_Estudiante, Correo_Estudiante, Nombre_Estudiante)
VALUES(sq_ID_Estudiante.NEXTVAL, p_Correo_Estudiante, p_Nombre_Estudiante);
COMMIT;
END AgregarEstudiantes;
/

--Tabla PROFESORES

CREATE OR REPLACE PROCEDURE AgregarProfesores(


p_Correo_Profesor IN PROFESORES.Correo_Profesor%TYPE,
p_Nombre_Profesor IN PROFESORES.Nombre_Profesor%TYPE,
p_Telefono IN PROFESORES.Telefono%TYPE) AS
BEGIN
INSERT INTO PROFESORES(ID_Profesor, Correo_Profesor, Nombre_Profesor,
Telefono)
VALUES(sq_ID_Profesor.NEXTVAL, p_Correo_Profesor, p_Nombre_Profesor,
p_Telefono);
COMMIT;
END AgregarEstudiantes;
/

--Tabla MATERIAS

CREATE OR REPLACE PROCEDURE AgregarMaterias(


p_Nombre_Materia IN MATERIAS.Nombre_Materia%TYPE,
p_Parcial_Porcentaje IN MATERIAS.Parcial_Porcentaje%TYPE,
p_Asignacion_Porcentaje IN MATERIAS.Asignacion_Porcentaje%TYPE,
p_Asistencia_Porcentaje IN MATERIAS.Asistencia_Porcentaje%TYPE,
p_Semestral_Porcentaje IN MATERIAS.Semestral_Porcentaje%TYPE) AS
BEGIN
INSERT INTO MATERIAS(ID_Materia, Nombre_Materia, Parcial_Porcentaje,
Asignacion_Porcentaje,
Asistencia_Porcentaje, Semestral_Porcentaje)
VALUES(sq_ID_Materia.NEXTVAL, p_Nombre_Materia, p_Parcial_Porcentaje,
p_Asignacion_Porcentaje
p_Asistencia_Porcentaje, p_Semestral_Porcentaje);
COMMIT;
END AgregarEstudiantes;
/

--Tabla ESTUDIANTE_PROFESOR_MATERIA

CREATE OR REPLACE PROCEDURE AgregarEstudianteProfesorMateria(


) AS
BEGIN
INSERT INTO ESTUDIANTE_PROFESOR_MATERIA(ID_Estudiante, ID_Profesor,
ID_Materia)
VALUES(sq_ID_Estudiante.NEXTVAL, sq_ID_Profesor.NEXTVAL,
sq_ID_Materia.NEXTVAL);
COMMIT;
END AgregarEstudiantes;
/

--Tabla NOTAS
CREATE OR REPLACE FUNCTION Promedio_Total(
v_PromedioParcial IN NOTAS.PromedioParcial%TYPE,
v_PromedioAsignacion IN NOTAS.PromedioAsignacion%TYPE,
v_PromedioAsistencia IN NOTAS.PromedioAsistencia%TYPE,
v_NotaSemestral IN NOTAS.NotaSemestral%TYPE,
RETURN v_PromedioTotal NOTAS.PromedioTotal%TYPE IS
BEGIN
v_PromedioTotal = (v_PromedioParcial + v_PromedioAsignacion +
v_PromedioAsistencia + v_NotaSemestral)/4;
RETURN v_PromedioTotal;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE ('Notas no encontradas');
END Promedio_Total;
/

CREATE OR REPLACE PROCEDURE AgregarNotas(


p_PromedioParcial IN NOTAS.PromedioParcial%TYPE,
p_PromedioAsignacion IN NOTAS.PromedioAsignacion%TYPE,
p_PromedioAsistencia IN NOTAS.PromedioAsistencia%TYPE,
p_NotaSemestral IN NOTAS.NotaSemestral%TYPE,
p_PromedioTotal IN NOTAS.PromedioTotal%TYPE) AS
BEGIN
INSERT INTO NOTAS(ID_NotaMateria, IDD_Materia, PromedioParcial,
PromedioAsignacion, PromedioAsistencia,
NotaSemestral, PromedioTotal)
VALUES(sq_ID_NotaMateria.NEXTVAL, sq_ID_Materia.NEXTVAL, p_PromedioParcial,
p_PromedioAsignacion,
p_PromedioAsistencia, p_NotaSemestral, p_PromedioTotal);
COMMIT;
END AgregarEstudiantes;
/

--Tabla PARCIALES

CREATE OR REPLACE PROCEDURE AgregarParciales(


p_Nota_Parcial IN PARCIALES.Nota_Parcial%TYPE) AS
BEGIN
INSERT INTO PARCIALES(ID_Parcial, ID_NotaMateria, Nota_Parcial)
VALUES(sq_ID_Parcial.NEXTVAL, sq_ID_NotaMateria.NEXTVAL, p_Nota_Parcial);
COMMIT;
END AgregarEstudiantes;
/

--Tabla ASIGNACIONES

CREATE OR REPLACE PROCEDURE AgregarAsignaciones(


p_Nota_Asignacion IN ASIGNACIONES.Nota_Asignacion%TYPE) AS
BEGIN
INSERT INTO ASIGNACIONES(ID_Asignacion, ID_NotaMateria, Nota_Asignacion)
VALUES(sq_ID_Asignacion.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
p_Nota_Asignacion);
COMMIT;
END AgregarEstudiantes;
/
--Tabla ASISTENCIAS

CREATE OR REPLACE PROCEDURE AgregarAsistencias(


p_Confirmar_Asistencia IN ASISTENCIAS.Confirmar_Asistencia%TYPE) AS
BEGIN
INSERT INTO ASISTENCIAS(ID_Asistencia, ID_NotaMateria, Confirmar_Asistencia)
VALUES(sq_ID_Asistencia.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
p_Confirmar_Asistencia);
COMMIT;
END AgregarEstudiantes;
/

--Tabla SEMESTRAL

CREATE OR REPLACE PROCEDURE AgregarSemestral(


p_Nota_Semestral IN SEMESTRAL.Nota_Semestral%TYPE) AS
BEGIN
INSERT INTO SEMESTRAL(ID_Asistencia, ID_NotaMateria, Nota_Semestral)
VALUES(sq_ID_Semestral.NEXTVAL, sq_ID_NotaMateria.NEXTVAL, p_Nota_Semestral);
COMMIT;
END AgregarEstudiantes;
/

--Inserción de datos Bloques anónimos


--Inserción en tabla ESTUDIANTES

DECLARE
v_Correo_Estudiante ESTUDIANTES.Correo_Estudiante%TYPE :=
'Estudiante_1@gmail.com';
v_Nombre_Estudiante ESTUDIANTES.Nombre_Estudiante%TYPE := 'John Wick';
BEGIN
Ingresar_Estudiantes(sq_ID_Estudiante.NEXTVAL, v_Correo_Estudiante,
v_Nombre_Estudiante);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Correo_Estudiante ESTUDIANTES.Correo_Estudiante%TYPE :=
'Estudiante_2@gmail.com';
v_Nombre_Estudiante ESTUDIANTES.Nombre_Estudiante%TYPE := 'Hanna Figueroa';
BEGIN
Ingresar_Estudiantes(sq_ID_Estudiante.NEXTVAL, v_Correo_Estudiante,
v_Nombre_Estudiante);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Correo_Estudiante ESTUDIANTES.Correo_Estudiante%TYPE :=
'Estudiante_3@gmail.com';
v_Nombre_Estudiante ESTUDIANTES.Nombre_Estudiante%TYPE := 'Enson Chang';
BEGIN
Ingresar_Estudiantes(sq_ID_Estudiante.NEXTVAL, v_Correo_Estudiante,
v_Nombre_Estudiante);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--Inserción en tabla PROFESORES

DECLARE
v_Correo_Profesor PROFESORES.Correo_Profesor%TYPE := 'Profesor_1@gmail.com';
v_Nombre_Profesor PROFESORES.Nombre_Profesor%TYPE := 'Karl Grey';
v_Telefono PROFESORES.Telefono%TYPE 67899987;
BEGIN
Ingresar_Profesores(sq_ID_Profesor.NEXTVAL, v_Correo_Profesor,
v_Nombre_Profesor, v_Telefono);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Correo_Profesor PROFESORES.Correo_Profesor%TYPE := 'Profesor_2@gmail.com';
v_Nombre_Profesor PROFESORES.Nombre_Profesor%TYPE := 'Brayan Barrios';
v_Telefono PROFESORES.Telefono%TYPE 67894587;
BEGIN
Ingresar_Profesores(sq_ID_Profesor.NEXTVAL, v_Correo_Profesor,
v_Nombre_Profesor, v_Telefono);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Correo_Profesor PROFESORES.Correo_Profesor%TYPE := 'Profesor_3@gmail.com';
v_Nombre_Profesor PROFESORES.Nombre_Profesor%TYPE := 'Johandry Gonzalez';
v_Telefono PROFESORES.Telefono%TYPE 67892688;
BEGIN
Ingresar_Profesores(sq_ID_Profesor.NEXTVAL, v_Correo_Profesor,
v_Nombre_Profesor, v_Telefono);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--Inserción en tabla MATERIAS

DECLARE
v_Nombre_Materia MATERIAS.Nombre_Materia%TYPE := 'Base de Datos II';
v_Parcial_Porcentaje MATERIAS.Parcial_Porcentaje%TYPE := 94;
v_Asignacion_Porcentaje MATERIAS.Asignacion_Porcentaje%TYPE := 92;
v_Asistencia_Porcentaje MATERIAS.Asistencia_Porcentaje%TYPE := 95;
v_Semestral_Porcentaje MATERIAS.Semestral_Porcentaje%TYPE := 96;
BEGIN
Ingresar_Materias(sq_ID_Materia.NEXTVAL, v_Nombre_Materia,
v_Parcial_Porcentaje,
v_Asignacion_Porcentaje, v_Asistencia_Porcentaje,
v_Semestral_Porcentaje);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Nombre_Materia MATERIAS.Nombre_Materia%TYPE := 'Electronica Basica';
v_Parcial_Porcentaje MATERIAS.Parcial_Porcentaje%TYPE := 91;
v_Asignacion_Porcentaje MATERIAS.Asignacion_Porcentaje%TYPE := 88;
v_Asistencia_Porcentaje MATERIAS.Asistencia_Porcentaje%TYPE := 92;
v_Semestral_Porcentaje MATERIAS.Semestral_Porcentaje%TYPE := 99;
BEGIN
Ingresar_Materias(sq_ID_Materia.NEXTVAL, v_Nombre_Materia,
v_Parcial_Porcentaje,
v_Asignacion_Porcentaje, v_Asistencia_Porcentaje,
v_Semestral_Porcentaje);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Nombre_Materia MATERIAS.Nombre_Materia%TYPE := 'HCG';
v_Parcial_Porcentaje MATERIAS.Parcial_Porcentaje%TYPE := 92;
v_Asignacion_Porcentaje MATERIAS.Asignacion_Porcentaje%TYPE := 93;
v_Asistencia_Porcentaje MATERIAS.Asistencia_Porcentaje%TYPE := 94;
v_Semestral_Porcentaje MATERIAS.Semestral_Porcentaje%TYPE := 95;
BEGIN
Ingresar_Materias(sq_ID_Materia.NEXTVAL, v_Nombre_Materia,
v_Parcial_Porcentaje,
v_Asignacion_Porcentaje, v_Asistencia_Porcentaje,
v_Semestral_Porcentaje);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--Inserción en tabla ESTUDIANTE_PROFESOR_MATERIA

DECLARE

BEGIN
Ingresar_Estudiante_Profesor_Materia(sq_ID_Estudiante.NEXTVAL,
sq_ID_Profesor.NEXTVAL, sq_ID_Materia.NEXTVAL);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE

BEGIN
Ingresar_Estudiante_Profesor_Materia(sq_ID_Estudiante.NEXTVAL,
sq_ID_Profesor.NEXTVAL, sq_ID_Materia.NEXTVAL);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--
DECLARE

BEGIN
Ingresar_Estudiante_Profesor_Materia(sq_ID_Estudiante.NEXTVAL,
sq_ID_Profesor.NEXTVAL, sq_ID_Materia.NEXTVAL);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--Inserción en tabla NOTAS

DECLARE
v_PromedioParcial NOTAS.PromedioParcial%TYPE := 89;
v_PromedioAsignacion NOTAS.PromedioAsignacion%TYPE := 89;
v_PromedioAsistencia NOTAS.PromedioAsistencia%TYPE := 96;
v_NotaSemestral NOTAS.NotaSemestral%TYPE := 96;
v_PromedioTotal NOTAS.PromedioTotal%TYPE := ;
BEGIN
Ingresar_Notas(sq_ID_NotaMateria.NEXTVAL, sq_ID_Materia.NEXTVAL,
v_PromedioParcial,
v_PromedioAsignacion, v_PromedioAsistencia, v_NotaSemestral,
v_PromedioTotal);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_PromedioParcial NOTAS.PromedioParcial%TYPE := 90;
v_PromedioAsignacion NOTAS.PromedioAsignacion%TYPE := 90;
v_PromedioAsistencia NOTAS.PromedioAsistencia%TYPE := 95;
v_NotaSemestral NOTAS.NotaSemestral%TYPE := 95;
v_PromedioTotal NOTAS.PromedioTotal%TYPE := ;
BEGIN
Ingresar_Notas(sq_ID_NotaMateria.NEXTVAL, sq_ID_Materia.NEXTVAL,
v_PromedioParcial,
v_PromedioAsignacion, v_PromedioAsistencia, v_NotaSemestral,
v_PromedioTotal);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_PromedioParcial NOTAS.PromedioParcial%TYPE := 91;
v_PromedioAsignacion NOTAS.PromedioAsignacion%TYPE := 91;
v_PromedioAsistencia NOTAS.PromedioAsistencia%TYPE := 97;
v_NotaSemestral NOTAS.NotaSemestral%TYPE := 96;
v_PromedioTotal NOTAS.PromedioTotal%TYPE := ;
BEGIN
Ingresar_Notas(sq_ID_NotaMateria.NEXTVAL, sq_ID_Materia.NEXTVAL,
v_PromedioParcial,
v_PromedioAsignacion, v_PromedioAsistencia, v_NotaSemestral,
v_PromedioTotal);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--Inserción en tabla PARCIALES

DECLARE
v_Nota_Parcial PARCIALES.Nota_Parcial%TYPE := 89;
BEGIN
Ingresar_Parciales(sq_ID_Parcial.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Nota_Parcial);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Nota_Parcial PARCIALES.Nota_Parcial%TYPE := 90;
BEGIN
Ingresar_Parciales(sq_ID_Parcial.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Nota_Parcial);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Nota_Parcial PARCIALES.Nota_Parcial%TYPE := 91;
BEGIN
Ingresar_Parciales(sq_ID_Parcial.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Nota_Parcial);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--Inserción en tabla ASIGNACIONES

DECLARE
v_Nota_Asignacion ASIGNACIONES.Nota_Asignacion%TYPE := 89;
BEGIN
Ingresar_Asignaciones(sq_ID_Asignacion.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Nota_Asignacion);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Nota_Asignacion ASIGNACIONES.Nota_Asignacion%TYPE := 90;
BEGIN
Ingresar_Asignaciones(sq_ID_Asignacion.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Nota_Asignacion);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--
DECLARE
v_Nota_Asignacion ASIGNACIONES.Nota_Asignacion%TYPE := 91;
BEGIN
Ingresar_Asignaciones(sq_ID_Asignacion.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Nota_Asignacion);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--Inserción en tabla ASISTENCIAS

DECLARE
v_Confirmar_Asistencia ASISTENCIAS.Nota_Asignacion%TYPE := 'COMPLETA';
BEGIN
Ingresar_Asistencias(sq_ID_Asistencia.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Confirmar_Asistencia);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Confirmar_Asistencia ASISTENCIAS.Nota_Asignacion%TYPE := 'CASI COMPLETA';
BEGIN
Ingresar_Asistencias(sq_ID_Asistencia.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Confirmar_Asistencia);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Confirmar_Asistencia ASISTENCIAS.Nota_Asignacion%TYPE := 'COMPLETA';
BEGIN
Ingresar_Asistencias(sq_ID_Asistencia.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Confirmar_Asistencia);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--Insercion en tabla SEMESTRAL

DECLARE
v_Nota_Semestral SEMESTRAL.Nota_Semestral%TYPE := 96;
BEGIN
Ingresar_Semestral(sq_ID_Semestral.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Nota_Semestral);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Nota_Semestral SEMESTRAL.Nota_Semestral%TYPE := 95;
BEGIN
Ingresar_Semestral(sq_ID_Semestral.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Nota_Semestral);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--

DECLARE
v_Nota_Semestral SEMESTRAL.Nota_Semestral%TYPE := 96;
BEGIN
Ingresar_Semestral(sq_ID_Semestral.NEXTVAL, sq_ID_NotaMateria.NEXTVAL,
v_Nota_Semestral);
DBMS_OUTPUT.put_line('Los datos han sido ingresados');
END;
/

--Sequences
--Tabla ESTUDIANTES: ID_Estudiante
CREATE SEQUENCE sq_ID_Estudiante
START WITH 1
INCREMENT BY 1;

--Tabla PROFESORES: ID_Profesor


CREATE SEQUENCE sq_ID_Profesor
START WITH 1
INCREMENT BY 1;

--Tabla MATERIAS: ID_Materia


CREATE SEQUENCE sq_ID_Materia
START WITH 1
INCREMENT BY 1;

--Tabla NOTAS: ID_NotaMateria


CREATE SEQUENCE sq_ID_NotaMateria
START WITH 1
INCREMENT BY 1;

--Tabla PARCIALES: ID_Parcial


CREATE SEQUENCE sq_ID_Parcial
START WITH 1
INCREMENT BY 1;

--Tabla ASIGNACIONES: ID_Asignacion


CREATE SEQUENCE sq_ID_Asignacion
START WITH 1
INCREMENT BY 1;

--Tabla ASISTENCIAS: ID_Asistencia


CREATE SEQUENCE sq_ID_Asistencia
START WITH 1
INCREMENT BY 1;

--Tabla SEMESTRAL: ID_Semestral


CREATE SEQUENCE sq_ID_Semestral
START WITH 1
INCREMENT BY 1;

También podría gustarte