Está en la página 1de 18

UNIDAD 2 - LENGUAJE DE PROCEDIMIENTOS PL/SQL

FASE 3 - IMPLEMENTACIÓN

PARTICIPANTES:

CC: 17976599- Jose Javier Churio Pumarejo


CC: XXXX - NOMBRE ESTUDIATNE 2
CC: XXXX - NOMBRE ESTUDIATNE 3
CC: 12647557– MIGUEL ANDRADE MENDOZA
CC: XXXX - NOMBRE ESTUDIATNE 5

GRUPO No.
301125_3

Tutor:
Mariano Estban Romero

Universidad Nacional Abierta y a Distancia – UNAD


Escuela Ciencias básicas, tecnología e ingeniería
Programa Ingeniería de Sistemas
Base de datos avanzada 301125

Colombia
2023
TABLA DE CONTENIDO
INTRODUCCIÓN.............................................................................................................3
OBJETIVOS......................................................................................................................4
RESULTADO....................................................................................................................5
1. Selección y respuesta de la pregunta motivadora...............................................5
2. Activador o Disparadores...................................................................................6
3. Procedimientos Almacenados.............................................................................6
4. Cursores..............................................................................................................7
5. Evidencias de la participación en el foro............................................................8
CONCLUSIONES...........................................................................................................11
BIBLIOGRAFÍA.............................................................................................................12
INTRODUCCIÓN

El siguiente informe aborda la temática correspondiente a la temática


SQLdees un lenguaje
la unidad normalizado,
2 propuesta utilizadodepor
sobre Lenguaje los diferentes
procedimientos motores
PL/SQL,
de albases
mismo detiempo
datoscontiene
para realizar determinadas
la respuesta operaciones
a cada una de las cincosobre los
datos o sobremotivadoras
preguntas la estructura de los mismos.
presentes en la guía de actividades con sus
respectivos comentarios sobre las mismas, también en este se refleja
la realización por cada uno de nosotros sobre procedimientos
almacenados, cursores activadores o trigger.
OBJETIVOS
OBJETIVOS

Objetivo General

Desarrollar
Objetivo Generalprocedimientos en bases de datos relacionales mediante
codificaciones en el lenguaje PL/SQL que optimice el manejo de
Aquígrandes
debe escribir el objetivodegeneral
volúmenes datosdel trabajo

Objetivos Específicos
Objetivos Específicos
Identificar el lenguaje de procedimientos PL/SQL
Analizar
Objetivo 1 y desarrollar los activadores del lenguaje de procedimientos
PL/SQL
Objetivo 2
Generar procedimientos almacenados y cursores del lenguaje de
Objetivo 3
procedimientos PL/SQL
Objetivo n
Responder de manera analítica cada una de las preguntas de
motivación propuestas
RESULTADO

1. Selección y respuesta de la pregunta motivadora


Recuerde: que la respuesta debe ser un párrafo de su propia autoría
que contenga mínimo 200 palabras y máximo 300 palabras; además,
debe hacer un comentario a la respuesta de un compañero.
Nombre Estudiante 1 Jose
: Javier Churio Pumarejo
Pregunta 1: ¿Identifique qué es un activador y cuáles son las principales
características?
Respuesta: Un activador es un objeto de base de datos que desencadena
automáticamente un conjunto especificado de sentencias de SQL cuando se produce
un suceso especificado.
Es decir, es un procedimiento almacenado que se dispara cuando hacen un insert,
update, delete sobre una tabla.
La utilidad principal de un trigger es mejorar la gestión de la base de datos, ya que
no requieren que un usuario los ejecute. Por lo tanto, son empleados para
implementar las REGLAS DE NEGOCIO (tipo especial de integridad) de una base de
datos. Una Regla de Negocio es cualquier restricción, requerimiento, necesidad o
actividad especial que debe ser verificada al momento de intentar agregar, borrar o
actualizar la información de una base de datos. Los triggers pueden prevenir errores
en los datos, modificar valores de una vista, sincronizar tablas, entre otros.
Características principales:

1. Se definen para una tabla (o vista) específica.


2. ü Se crean para conservar la integridad referencial y la coherencia
entre los datos entre distintas tablas.
3. Si se intenta modificar (agregar, actualizar o eliminar) datos de una
tabla en la que se definió un trigger para alguna de estas acciones
(inserción, actualización y eliminación), el trigger se ejecuta (se
dispara) en forma automática.
4. Un trigger se asocia a un evento (inserción, actualización o borrado)
sobre una tabla.

 La diferencia con los procedimientos almacenados del sistema es que los


triggers:no pueden ser invocados directamente; al intentar modificar los
datos de una tabla para la que se ha definido un disparador, el disparador
se ejecuta automáticamente.
 no reciben y retornan parámetros.
 son apropiados para mantener la integridad de los datos, no para obtener
resultados de consultas.

5. Los triggers pueden realizar cambios en cascada mediante tablas relacionadas de


la base de datos; sin embargo, estos cambios pueden ejecutarse de manera más
eficaz con restricciones de integridad referencial en cascada. Las restricciones llaves
foráneas (FOREIGN KEY) solo pueden validar un valor de columna si coinciden
exactamente con un valor de otra columna, a menos que la cláusula REFERENCES
defina una acción referencial en cascada.
6. Varios triggers del mismo tipo (INSERT, UPDATE o DELETE) en una tabla permiten
realizar distintas acciones en respuesta a una misma instrucción de modificación.
Comentario: Los activadores o Triggers también pueden usarse para:
AUDITORIA : Los triggers se usan para llenar tablas de auditoría, en donde se
registren ciertos tipos de transacciones o accesos hacia tablas.
VALIDACIÓN DE DATOS : Los triggers pueden controlar ciertas acciones, por ejemplo:
pueden rechazar o modificar ciertos valores que no cumplan determinadas reglas,
SEGURIDAD:
• Refuerzan las reglas de seguridad de una aplicación.
• Ofrecen verificación de seguridad basada en valores.
• Integridad de los datos mejorada.
• Fuerzan restricciones dinámicas de integridad de datos y de integridad referencial.
Autor del comentario: Miguel Andrade Mendoza
Nombre Estudiante 2 :
Pregunta 2:¿Argumente sobre qué se conoce como procedimiento almacenado
y cuál es su principal función?

Respuesta: Un procedimiento almacenado de SQL Server es un grupo de una o más


instrucciones Transact-SQL o una referencia a un método de Common Runtime
Language (CLR) de Microsoft .NET Framework. Los procedimientos se asemejan a las
construcciones de otros lenguajes de programación, porque pueden:
Aceptar parámetros de entrada y devolver varios valores en forma de parámetros de
salida al programa que realiza la llamada.
Contener instrucciones de programación que realicen operaciones en la base de
datos. Entre otras, pueden contener llamadas a otros procedimientos.
Devolver un valor de estado a un programa que realiza una llamada para indicar si la
operación se ha realizado correctamente o se han producido errores, y el motivo de
estos.
Las siguientes ventajas que brinda el uso de procedimientos almacenados son:
Tráfico de red reducido entre el cliente y el servidor
Los comandos de un procedimiento se ejecutan en un único lote de código. Esto
puede reducir significativamente el tráfico de red entre el servidor y el cliente
porque únicamente se envía a través de la red la llamada que va a ejecutar el
procedimiento. Sin la encapsulación de código que proporciona un procedimiento,
cada una de las líneas de código tendría que enviarse a través de la red.
Mayor seguridad
Varios usuarios y programas cliente pueden realizar operaciones en los objetos de
base de datos subyacentes a través de un procedimiento, aunque los usuarios y los
programas no tengan permisos directos sobre esos objetos subyacentes. El
procedimiento controla qué procesos y actividades se llevan a cabo y protege los
objetos de base de datos subyacentes. Esto elimina la necesidad de conceder
permisos en cada nivel de objetos y simplifica los niveles de seguridad.
Al llamar a un procedimiento a través de la red, solo está visible la llamada que va a
ejecutar el procedimiento. Por lo tanto, los usuarios malintencionados no pueden
ver los nombres de los objetos de base de datos y tabla, incrustados en sus propias
instrucciones Transact-SQL , ni buscar datos críticos.
rendimiento mejorado.
De forma predeterminada, un procedimiento se compila la primera vez que se
ejecuta y crea un plan de ejecución que vuelve a usarse en posteriores ejecuciones.
Como el procesador de consultas no tiene que crear un nuevo plan, normalmente
necesita menos tiempo para procesar el procedimiento.

Comentario: …….
Autor del comentario:
Nombre Estudiante 3 :
Pregunta 3:¿Reflexione sobre qué son cursores y cuál es la importancia de su
uso?

Respuesta: En bases de datos, el término cursor se refiere a una estructura de control


utilizada para el recorrido (y potencial procesamiento) de los registros del resultado
de una consulta.
Un cursor se utiliza para el procesamiento individual de las filas devueltas por
el sistema gestor de base de datos para una consulta. Es necesario debido a que
muchos lenguajes de programación sufren de lo que en inglés se conoce
como impedance mismatch. Por norma general los lenguajes de programación son
procedurales y no disponen de ningún mecanismo para manipular conjuntos de datos
en una sola instrucción. Debido a ello, las filas deben ser procesadas de forma
secuencial por la aplicación. Un cursor puede verse como un iterador sobre la
colección de filas que habrá en el set de resultados.

Comentario: …….
Autor del comentario:
Nombre Estudiante 4:
Pregunta 4:¿Comprenda cuál es la diferencia entre activadores, procedimientos
almacenados y cursores?

Respuesta:
Estos términos y acciones propias de Bases de datos, Bases de datos relacionales y
en un DBMS relacionan registros y procesos.
Un Activador o trigger (desencadenador) como también se le conoce es una clase
especial de procedimiento almacenado que se ejecuta automáticamente cuando se
produce un evento en el servidor de bases de datos. Los triggers se ejecutan cuando
un usuario intenta modificar datos mediante un evento de lenguaje de manipulación
de datos (DML). Los eventos DML son instrucciones INSERT, UPDATE o DELETE de
una tabla o vista. Estos triggers se activan cuando se desencadena cualquier evento
válido, con independencia de que las filas de la tabla se vean o no afectadas.
Los triggers utilizan dos tablas virtuales denominadas inserted y deleted. SQL Server
crea y administra automáticamente ambas tablas. La estructura de las tablas
inserted y deleted es la misma que tiene la tabla que ha desencadenado la ejecución
del trigger.
Un procedimiento almacenado es un conjunto de instrucciones que SQL Server
compila, en un único plan de ejecución, los llamados "store procedures" se
encuentran almacenados en la base de datos, los cuales pueden ser ejecutados en
cualquier momento. Se utilizan para agrupar las instrucciones de T-SQL y cualquier
lógica asociada necesaria para llevar a cabo una tarea.
Este procedimiento nos brinda a nosotros los usuarios un acceso fácil a la base de
datos, se puede tener acceso a la base de datos sin tener que conocer los detalles de
la arquitectura de tablas simplemente se ejecutan los procedimientos almacenados
que llevan a cabo las tareas solicitadas.
Entre las diferencias más importantes entre Activadores y el Procedimiento
almacenados relacionamos las siguientes:
- El Procedimiento almacenado es un procedimiento definido por el usuario y el
fragmento de código definido por el usuario, mientras que el Activador es un
procedimiento almacenado que se ejecuta automáticamente cuando ocurren ciertos
tipos de eventos como : INSERT, UPDATE o DELETE.
-Los Disparadores se ejecutan automáticamente cada vez que ocurre un evento en el
servidor de la base de datos, mientras que el Procedimiento almacenado es
generalmente una forma avanzada del código SQL que se puede reutilizar una y otra
vez después de guardar el archivo, respectivamente.
Los cursores son tipos de variables que se usan para hacer referencia al conjunto de
resultados de una Select. Permite ir procesando esos registros uno por uno si se usa
dentro de un bucle. En resumen, utilizaremos varias sentencias T-SQL para manipular
el cursor. Esas sentencias quedan guardadas dentro de un procedimiento
almacenado, pero también es lícito enviarlas directamente dentro de un lote, sin
usar procedimientos almacenados.
Comentario: …….
Autor del comentario:
Nombre Estudiante 5 :
Pregunta 5: ¿Qué se conoce como lenguaje PL/SQL y cuál es su diferencia del
lenguaje SQL?
Respuesta: PL/SQL es el lenguaje de programación que proporciona Oracle para
extender el SQL estándar con otro tipo de instrucciones y elementos propios de los
lenguajes de programación.
Con PL/SQL vamos a poder programar las unidades de programa de la base de
datos Oracle:
Procedimientos almacenados
Funciones
Triggers
Scripts
Pero además, PL/SQL nos permite realizar programas sobre las siguientes
herramientas de Oracle:
Oracle Forms
Oracle Reports
Oracle Graphics
Oracle Aplication Server

SQL significa

Lenguaje de consulta estructurado.

Los comandos SQL se utilizan para operaciones DDL y DML en tablas, a saber.
insertar / actualizar / eliminar datos en / de tablas presentes en esquemas y bases
de datos.

PLSQL significa

Lenguaje de procedimiento - Lenguaje de consulta estructurado.

Los códigos PLSQL se usan para crear y trabajar con conceptos más avanzados como
funciones, procedimientos almacenados y disparadores. Estos fragmentos de código
están formados por múltiples comandos SQL que deben ejecutarse en alguna
secuencia para implementar la lógica transformacional y / o computacional
requerida.

Comentario: …….
Autor del comentario:
2. Activador o Disparadores
Nombre del estudiante 1 :
Código:
create trigger "Personas_AI" after insert on "Personas" for each row
insert into Reg_Persona(Id_persona,Nombre_persona,Apellido_Persona,inse
rtado) values (new.Id_persona,new.Nombre_persona,new.Apellido_Persona,n
ow())

Resultado de la consulta:

Nombre del estudiante 2: Elimine el texto y escriba el nombre


Código:

Resultado de la consulta:

Nombre del estudiante 3: Elimine el texto y escriba el nombre


Código:

Resultado de la consulta:

Nombre del estudiante 4:


Código:
CREATE TRIGGER RegIngresoEst
ON Estudiantes
FOR INSERT
AS

DECLARE @IdEstudiante INT


DECLARE @Nombres VARCHAR (50)
DECLARE @Apellidos VARCHAR( 50)
DECLARE @Telefono INT

SET @IdEstudiante = (SELECT IdEstudiante FROM Inserted)


SET @Nombres = (SELECT Nombres FROM Inserted)
SET @Apellidos= (SELECT Apellidos FROM Inserted)
SET @Telefono = (SELECT Telefono FROM Inserted)

INSERT INTO RegistroTblMatriculados (IdEstudiante, Nombres, Apellidos,


Telefono)
VALUES (@IdEstudiante, @Nombres, @Apellidos, @Telefono)
GO

Resultado de la consulta:
Para probarlo debemos insertar datos en la tabla estudiantes:
INSERT INTO Estudiantes (@Nombres, @Apellidos, @Telefono)
VALUES (' Pedro', ' Lopez', ' 3122130000',)

Esta consulta afectará dos filas, esto es así porque fueron insertados los datos
indicados en la tabla Estudiantes y a su vez automaticamente el Trigger inserto datos
en la tabla RegistroTblMatriculados.

Los datos se generaron satisfactoriamente, lo que indica que el Trigger RegIngresoEst


se ejecutó correctamente.
Nombre del estudiante 5: Elimine el texto y escriba el nombre
Código:

Resultado de la consulta:

3. Procedimientos Almacenados
Nombre del estudiante 1: Elimine el texto y escriba el nombre
Código:

Resultado de la consulta:
Nombre del estudiante 2: Elimine el texto y escriba el nombre
Código:
Resultado de la consulta:

Nombre del estudiante 3: Elimine el texto y escriba el nombre


Código:

Resultado de la consulta:

Nombre del estudiante 4 :


Código:
CREATE PROCEDURE PROC_NOMBRE
@Nombre VARCHAR (50)
AS

SELECT Nombre, Apellido, Telefono


FROM Estudiantes
WHERE Nombre = @Nombre
GO
Resultado de la consulta:

Para ejecutar nuestro procedimiento almacenado basta con escribir el nombre del
procedimiento que hemos creado al inicio:

PROC_NOMBRE
Lo que realizara es una consulta del nombre, apellido y teléfono de un estudiante,
mientras el nombre sea igual al que le especificamos en el parámetro de entrada, es
decir que seria obligatorio enviarle el parámetro, para que pueda devolvernos
resultados, el procedimiento almacenado lo podemos ejecutar en cualquier
momento debido a que queda guardado en el servidor.
Los procedimientos que realicemos se almacenaran dentro de la carpeta
programación, específicamente en una subcarpeta denominada procedimientos
almacenados

Nombre del estudiante 5: Elimine el texto y escriba el nombr


Código:

Resultado de la consulta:

4. Cursores
Nombre del estudiante 1: Elimine el texto y escriba el nombre
Código:

Resultado de la consulta:

Nombre del estudiante 2: Elimine el texto y escriba el nombre


Código:

Resultado de la consulta:

Nombre del estudiante 3: Elimine el texto y escriba el nombre


Código:

Resultado de la consulta:

Nombre del estudiante 4:


Código:

DECLARE CursorReg CURSOR


FOR SELECT Nombre, Apellido, Telefono
FROM Estudiante

OPEN CursorReg
FETCH NEXT FROM CursorReg

CLOSE CursorReg
DEALLOCATE CursorReg
Resultado de la consulta:
Este comando es netamente declarativo, simplemente especifica las filas y columnas
que se van a recuperar. La consulta se ejecuta cuando se abre o se activa el cursor. Al
abrir el cursor se evalúa la consulta que aparece en su definición, utilizando los valores
actuales de cualquier parámetro referenciado en la consulta, para producir una
colección de filas.
Una vez abierto el cursos se utiliza la cláusula FETCH para recuperar las filas del cursor.
Para cerrar un cursor se utiliza el comando CLOSE, este comando hace desaparecer el
puntero sobre el registro actual.

Nombre del estudiante 5: Elimine el texto y escriba el nombre


Código:

Resultado de la consulta:
5. Evidencias de la participación en el foro
Se espera que cada estudiante presente las evidencias de su participación en el foro con
relación al Desarrollo Unidad 2 - Fase 3 - Implementación, al igual que comentarios
significativos a los aportes de los demás compañeros del grupo.

Nombre Estudiante 1: Elimine el texto y escriba el nombre


Imagen 1 Imagen 2

Nombre Estudiante 2: Elimine el texto y escriba el nombre


Imagen 1 Imagen 2

Nombre Estudiante 3: Elimine el texto y escriba el nombre


Imagen 1 Imagen 2

Nombre Estudiante 4: Miguel Andrade Mendoza

Nombre Estudiante 5: Elimine el texto y escriba el nombre


Imagen 1 Imagen 2
CONCLUSIONES

Se espera mínimo CONCLUSIONES


una conclusión por cada estudiante; esta
conclusión debe ser un párrafo de su propia autoría con mínimo 5
líneas de texto.
Se espera mínimo una conclusión por cada estudiante; esta conclusión debe ser un
párrafo de su propia
Con autoría con mínimo
la realización de 5esta
líneas de texto. se logra abordar varias
actividad
características e importancia de cada uno de los ítems que componen
la temática del lenguaje PL/SQL en cuanto al desarrollo de
disparadores como procedimiento escrito en código pl/sql que
permiten realizar un evento o tarea en un determinado momento sin
dejar a un lado los cursores.
BIBLIOGRAFÍA
BIBLIOGRAFÍA

Camuña Rodríguez, J. F. (2015). Lenguajes de definición y


Todas las referencias
modificación bibliográficas
de datos deben estar
SQL (UF1472). según la norma
IC Editorial. (pág.APA
59-
61). https://elibronet.bibliotecavirtual.unad.edu.co/es/ereader/unad/44141?pag
e=65

Piñeiro Gómez, J. M. (2013). Manual gestión de bases de


datos: formación para el empleo. Editorial CEP, S.L. (pág.
225-235). https://elibronet.bibliotecavirtual.unad.edu.co/es/ereader/unad/50609?pag
e=223
Beynon-Davies, P. (2014). Sistemas de bases de datos..
Editorial Reverté. (pág. 513-517). https://elibronet.bibliotecavirtual.unad.edu.co/es/ereader/
unad/46796?pag
e=526

También podría gustarte