Skip to content

dtote/ADBD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Administración y Diseño de Bases de Datos - Grupo 10

Componentes del Grupo:

Chesen Castilla Gil - [email protected]

Néstor Torres Díaz - [email protected]

Edgar Figueroa González - [email protected]

Práctica 1: Presentación Supuesto Proyecto de Bases de Datos

Práctica 2: Diseño Viveros

Práctica 3: Diseño Barco

Práctica 4: Modelo Lógico Relacional

Catastro

Vivero

Práctica 5: Triggers

  • Script Vivero con triggers: Script
  • Script Catastro con triggers: Script

Procedure

  • Una función procedure en mysql para genererar un correo electronico.
   CREATE PROCEDURE crear_email(IN nombre_cliente VARCHAR(45), IN id_persona VARCHAR(45), IN code varchar(45), IN dominio VARCHAR(24), OUT nuevo_email VARCHAR(45)) 
   BEGIN
   SET nuevo_email = CONCAT(nombre_cliente,code,'@',dominio);
   END;

Triggers

  • Trigger para generar un correo cuando no se especifique.
    CREATE TRIGGER trigger_crear_email_before_insert BEFORE INSERT ON viveros.Cliente
    FOR EACH ROW
    BEGIN
    IF (NEW.email IS NULL) THEN
    CALL crear_email(new.nombre, new.dni, new.codigo, 'ull.edu.es', NEW.email);
    END IF;
    END; 
  • Trigger para no permitir que una persona viva en más de una ubicación.
    CREATE TRIGGER vivienda_unica_insert BEFORE INSERT ON catastro.Persona 
    FOR EACH ROW
    BEGIN
    IF (new.Vivienda_calle IS NOT NULL AND new.Piso_Bloque_calle IS NOT NULL) THEN
        signal sqlstate '45000' set message_text = 'Una persona no puede vivir en dos viviendas';
    END IF;
    END;

    CREATE TRIGGER vivienda_unica_update BEFORE UPDATE ON catastro.Persona 
    FOR EACH ROW
    BEGIN
    IF (new.Vivienda_calle IS NOT NULL AND new.Piso_Bloque_calle IS NOT NULL) THEN
        signal sqlstate '45000' set message_text = 'Una persona no puede vivir en dos viviendas';
    END IF;
    END;
  • Trigger para actualizar automáticamente el stock de un producto.
    CREATE TRIGGER trigger_actualizar_stock AFTER INSERT ON viveros.Pedido_has_Producto
    FOR EACH ROW
    BEGIN
        UPDATE Producto SET stock = stock - new.cant_prod WHERE new.Producto_cod_prod = cod_prod;
    END;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published