Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% encontró este documento útil (0 votos)
52 vistas9 páginas

12 de Junio Del 2023: Unidad 3. Programación de Lenguaje Propietario (PL) Actividad 4. Ejercicio

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 9

12 DE JUNIO DEL 2023

Unidad 3. Programación de Lenguaje Propietario (PL)


Actividad 4. Ejercicio

Profesor:
Participantes: Roobed Trejo Mier
Materia:
Bases de Datos Avanzada
EJERCICIO SOBRE LA CREACIÓN DE PROCEDIMIENTOS,
FUNCIONES Y TRIGGERS

1. Con base en el material consultado en la unidad desarrolla el ejercicio que se


plantea a continuación acerca de los siguientes temas:

 Instalación de sistema manejador de base de datos MySQL


 Utilización de lenguaje propietario
o Trigger
o Procedimiento almacenado
o Función
Ejercicio.
Instalación de sistema manejador de base de datos MySQL
 Realiza la instalación del manejador de base de datos MySQL,
necesitarás tanto el servidor de MySQL como el ambiente de trabajo
Workbench, apóyate en el siguiente enlace:
Utilización de lenguaje propietario

 Crea una base de datos llamada ‘Actividad4’, crea una tabla llamada
alumnos con las siguientes columnas:

 Crear una tabla llamada alumnos con las siguientes columnas

Alumnos

id (entero sin signo)

nombre (cadena de caracteres)

apellido1 (cadena de caracteres)

apellido2 (cadena de caracteres)

nota (número real)


Trigger:

 Una vez creada la tabla crea un trigger con las siguientes características:
o Nombre: trigger_check_nota_before_insert
o Se ejecuta sobre la tabla ‘alumnos’.
o Se ejecuta antes de una operación de inserción.
o Si el nuevo valor de la nota que se quiere insertar es negativo, se
guarda como 0.
o Si el nuevo valor de la nota que se quiere insertar es mayor que 10,
se guarda como 10

DELIMITER $$
DROP TRIGGER IF EXISTS trigger_check_nota_before_insert$$
CREATE TRIGGER trigger_check_nota_before_insert
BEFORE INSERT
ON alumnos FOR EACH ROW
BEGIN
IF NEW.nota < 0 THEN
set NEW.nota = 0;
ELSEIF NEW.nota > 10 THEN
set NEW.nota = 10;
END IF;
END
 Una vez creado ejecuta varias sentencias de inserción sobre la tabla ‘alumnos’
y verifica que el trigger funcione correctamente.
Procedimiento:
 Inserte datos en la tabla de modo que tenga por lo menos 15 registros. Escribe
notas diferentes para cada uno, incluyendo 0 y 10.

 Escribe un procedimiento que reciba como parámetro una nota y realice una
consulta sobre la tabla ‘alumnos’ para obtener todos los alumnos que tengan la
nota igual o mayor a la ingresada.
 DELIMITER $$
 DROP PROCEDURE IF EXISTS listar_alumnos$$
 CREATE PROCEDURE listar_alumnos(IN nota VARCHAR(50))
 BEGIN
 SELECT *
 FROM alumnos
 WHERE alumnos.nota > nota OR alumnos.nota = nota ;
 END
 $$
Función:

 Escribe una función para la base de datos ‘Actividad4’ que devuelva el número
total de registros en la tabla ‘alumnos’.
SET GLOBAL log_bin_trust_function_creators = 1;
DELIMITER $$
DROP FUNCTION IF EXISTS contar_alumnos$$
CREATE FUNCTION contar_alumnos(nombre VARCHAR(50))
RETURNS INT UNSIGNED
BEGIN
-- Paso 1. Declaramos una variable local
DECLARE total INT UNSIGNED;
-- Paso 2. Contamos los productos
SET total = (
SELECT COUNT(*)
FROM alumnos
WHERE alumnos.id = id);
-- Paso 3. Devolvemos el resultado
RETURN total;
END
$$
DELIMITER
SELECT contar_alumnos('Alumnos');
Conclusión:

El programa de MySQL es una herramienta muy optima y muy robusta, las partes
de las tablas, índices, trigger, tienen lo necesario para poder trabajar atendiendo
todas las necesidades de las aplicaciones.
El trigger consiste en una serie de reglas predefinidas que se asocian a una tabla.
Estas reglas se aplican a la base de datos cuando se realizan determinadas
operaciones en la tabla, por ejemplo, al añadir, actualizar o eliminar registro. La
principal función de los trigger es contribuir a mejorar la gestión de la base de
datos.

Referencias:

Rosero, W. (01 de octubre de 2018). Como Instalar MySQL Server y MySQL


Workbench en Windows | Paso a Paso [Archivo de video]. Recuperado de
https://www.youtube.com/watch?v=Sv2vBT3dtvQ
En este enlace encontrarás los archivos de descarga de MySQL:
https://www.mysql.com/downloads/
Ayudaley. (s.f). ¡Que es un trigger en una base de datos? Recuperad de:
https://ayudaleyprotecciondatos.es/bases-de-datos/trigger/

ilberschatz, A, Korth, H. y Sudarshan, S. (2006). Fundamentos de bases de datos


(5a ed.) [Archivo PDF]. Recuperado de
https://hispafiles.ru/data/t/47328/src/Fundamentos_de_Bases_de_Datos_5a_Ed_-
_Si.pdf

Gómez, M. (2013). Notas del curso de bases de datos [Archivo PDF].


Recuperado de
https://www.cua.uam.mx/pdfs/conoce/libroselec/Notas_del_curso_Bases_de_Dato
s.pdf

Domínguez, J. (2015). MySQL Triggers, Funciones y Procedimientos [Archivo


PDF]. Recuperado de https://www.researchgate.net/profile/Jorge-Dominguez-
Chavez/publication/274634086_Triggers_funciones_y_procedimientos/links/5523e
0ad0cf24f160943af03/Triggers-funciones-y-procedimientos.pdf

También podría gustarte