Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

1.

Ingresa al sistema gestor de bases de datos


2. Selecciona la base de datos biblioteca

3. Crear un dispensador en la base de datos biblioteca, el cual se ejecute cuando el usuario


intente
eliminar un usuario que tenga prestamos de ejemplares pendientes de devolver.

mysql> create table autor(codigo int not null auto_increment primary key,nombre
varchar(30));
mysql> describe autor;

mysql> create table libros(codigo int not null auto_increment primary key,titulo
varchar(30),ISBN varchar(30),editorial varchar(30),num_paginas int);
mysql> describe libros;

mysql> create table usuarios(codigo_ejemplar int not null auto_increment primary


key,localizacion varchar(30));
mysql> create table ejemplares(codigo_ejemplar int not null auto_increment primary
key,localizacion varchar(30));
mysql> describe ejemplares;
mysql> create table usuarios(codigo_usuario int not null auto_increment primary
key,nombre varchar(30),direccion varchar(50),telefono varchar(30),codigo_ejemplar int);

mysql> insert into usuarios(nombre,direccion,telefono,codigo_ejemplar)


values('miguel','ave signos 23','53221
234',3),('pedro','calle tulipanes','54321234',4),('amanda','ave. constelacion','56432345',5);
mysql> select * from usuarios;

mysql> create table copia_usuario(codigo int not null auto_increment primary


key,nombre_ant varchar(30),direccion_anterior varchar(50),telefono_anterior
varchar(50),codigo_ejemplar_anterior int,nombre_nuevo varchar(30),direccion_nueva
varchar(50),telefono_nuevo varchar(30),codigo_ejemplar_nuevo int,usuario
varchar(40),modificado datetime,codigo_usuario int(4));

mysql> describe copia_usuario;

mysql> create trigger elimina_usuarios_ejemplares after delete on usuarios for each row
-> begin
-> insert into
copia_usuario(nombre_ant,direccion_anterior,telefono_anterior,codigo_ejemplar_anterior,
usuario,modificado,codigo_usuario)values(OLD.nombre,OLD.direccion,OLD.telefono,OLD
.codigo_ejemplar,CURRENT_USER
(),NOW(),OLD.codigo_usuario);
-> End;
-> //
Query OK, 0 rows affected (0.01 sec)

mysql> delimiter ;
mysql> select * from usuarios;

mysql> delete from usuarios where codigo_ejemplar=4;

mysql> select * from usuarios;

mysql> select * from copia_usuario;

4. Después, eliminamos el dispensador de la base de datos creada.


5. Después guardamos el archivo que contiene las sentencias SQL elaboradas.

You might also like