Está en la página 1de 8

create database controlasistencia;

use controlasistencia;

create table cargo


(idcargo int auto_increment,
nombcarg varchar(100),
estacarg tinyint,
constraint pk_idcargo primary key (idcargo));

create table centrotrabajo


(idcentro int auto_increment,
nombcentro varchar(100),
estacen tinyint,
constraint pk_idcentro primary key(idcentro));

create table provincia


(idprovincia int auto_increment,
nombprov varchar(100),
constraint pk_idprovincia primary key(idprovincia));

create table distrito


(iddistrito int auto_increment,
nombdist varchar(100),
idprovincia int,
obsvdist varchar(255),
estadist tinyint,
constraint pk_iddistrito primary key(iddistrito));

create table persona


(idpersona int auto_increment,
dnipers char(8),
nombpers varchar(255),
apatpers varchar(255),
amatpers varchar(255),
iddistrito int,
direpers varchar(255),
idcentro int,
idcargo int,
fnacpers varchar(20),
sexopers char(1),
telfpers varchar(20),
celupers varchar(20),
emaipers varchar(255),
obsvpers varchar(255),
estapers tinyint,
constraint pk_idpersona primary key(idpersona));

create table reunion


(idreunion int auto_increment,
nombreun varchar(255),
fechreun varchar(20),
horainicio varchar(20),
obsvreun varchar(255),
situacion tinyint,
estareun tinyint,
constraint pk_idreunion primary key(idreunion)) ;

create table reunion_persona


(idreunion int,
idpersona int,
fecha_hora datetime,
constraint pk_idpersona primary key(idpersona));

create table seguridad


(idseguridad int auto_increment,
usuasegu varchar(100),
passsegu varchar(100),
constraint pk_idseguridad primary key(idseguridad));

alter table persona


add constraint fk_idcargo1 foreign key(idcargo)
references cargo(idcargo);

alter table persona


add constraint fk_idcentro1 foreign key(idcentro)
references centrotrabajo(idcentro);

alter table persona


add constraint fk_iddistrito1 foreign key(iddistrito)
references distrito(iddistrito);

alter table reunion_persona


add constraint fk_idpersona1 foreign key(idpersona)
references persona(idpersona);

alter table reunion_persona


add constraint fk_idreunion1 foreign key(idreunion)
references reunion(idreunion);

alter table distrito


add constraint fk_idprovincia1 foreign key(idprovincia)
references provincia(idprovincia);

create database rrhh;


create database almacen;

create user admin@localhost identified by '123456';


grant all privileges on controlasistencia.* to admin@localhost;
flush privileges;

---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
Abriendo en el nuevo user admin con contrase�a 123456

use controlasistencia;

delimiter//
create procedure sp_insert_cargo
(xnombcarg varchar(100))
begin
insert into cargo(nombcarg,estacarg)
values(xnombcarg,1);
commit;
end;
call sp_insert_cargo('GERENTE');
call sp_insert_cargo('JEFE');
call sp_insert_cargo('EMPLEADO');
select * from cargo;

delimiter//
create procedure sp_update_cargo
(xidcargo int,
xnombcarg varchar(100))
begin
update cargo
set nombcarg=xnombcarg
where idcargo=xidcargo;
commit;
end;

CALL sp_update_cargo(1,'GERENTE GENERAL');


SELECT*FROM CARGO;

Borrado logico
delimiter//
create procedure sp_delete_cargo
(xidcargo int)
begin
update cargo
set estacarg=0
where idcargo=xidcargo;
commit;
end;

Vista Logica
create view vcargo
as
select idcargo,nombcarg
from cargo
where estacarg=1;

-------------------------------------------------------
delimiter//
create procedure sp_insert_centro
(xnombcentro varchar(100))
begin
insert into centro(nombcentro,estacen)
values(xnombcentro,1);
commit;
end;

call sp_insert_centro('OFICINA');
call sp_insert_centro('TALLER');
call sp_insert_centro('ALMACEN');

select*from centrotrabajo;

delimiter//
create procedure sp_update_centro
(xidcentro int,
xnombcentro varchar(100))
begin
update centrotrabajo
set nombcentro=xnombcentro
where idcentro=xidcentro;
commit;
end;

call sp_update_centro(1,'ALMACEN');
select*from centrotrabajo;

delimiter//
create procedure sp_delete_centro
(xidcentro int)
begin
update centrotrabajo
set estacen=0
where idcentro=xidcentro;
commit;
end;

call sp_delete_centro(1);
select*from centrotrabajo;

delimiter//
create view vcentro
as
select idcentro,nombcentro
from centrotrabajo
where estacen=1;

---------------------------------------------

delimiter//
create procedure sp_insert_distrito
(xnombdist varchar(100),
xobsvdist varchar(100),
xidprovincia int)
begin
insert into distrito(nombdist,obsvdist,idprovincia,estadist)
values(xnombdist,xobsvdist,xidprovincia,1);
commit;
end;

call sp_insert_distrito('HUACHO','LIBRE',1);
call sp_insert_distrito('HUALMAY','OCUPADO',2);

select*from distrito;

delimiter//
create procedure sp_update_distrito
(xiddistrito int,
xnombdist varchar(100),
xidprovincia int,
xobsvdist varchar(100))
begin
update distrito
set nombdist=xnombdist,idprovincia=xidprovincia,obsvdist=xobsvdist
where iddistrito=xiddistrito;
commit;
end;

delimiter//
create procedure sp_delete_distrito
(xiddistrito int)
begin
update distrito
set estadist=0
where iddistrito=xiddistrito;
commit;
end;

call sp_delete_distrito(1);
select*from distrito;

delimiter//
create view vdistrito
as
select iddistrito,nombdist,idprovincia,obsvdist
from distrito
where estadist=1;

----------------------------------------------------------------
delimiter//
create procedure sp_insert_persona
(xdnipers char(8),
xnombpers varchar(100),
xapatpers varchar(100),
xamatpers varchar(100),
xiddistrito int,
xdirepers varchar(100),
xidcentro int,
xidcargo int,
xfnacpers datetime,
xsexopers char(1),
xtelfpers varchar(20),
xcelupers varchar(20),
xemaipers varchar(255),
xobsvpers varchar(255))
begin
insert into
persona(dnipers,nombpers,apatpers,amatpers,iddistrito,direpers,idcentro,idcargo,fna
cpers,sexopers,telfpers,celupers,emaipers,obsvpers,estapers)

values(xdnipers,xnombpers,xapatpers,xamatpers,xiddistrito,xdirepers,xidcentro,xidca
rgo,xfnacpers,xsexopers,xtelfpers,xcelupers,xemaipers,xobsvpers,1 );
commit;
end;

call sp_insert_persona('72812719','BEATRIZ','VARGAS','LEON',2,'CALLE JOSE CARLOS


MARIATEGUI 204',3,1,'1998-12-
18','M',2393871,983415964,'betamvl1998@gmail.com','LIBRE');

delimiter //
create procedure sp_update_persona
(xidpersona int,
xdnipers char(8),
xnombpers varchar(100),
xapatpers varchar(100),
xamatpers varchar(100),
xiddistrito int,
xdirepers varchar(100),
xidcentro int,
xidcargo int,
xfnacpers datetime,
xsexopers char(1),
xtelfpers varchar(20),
xcelupers varchar(20),
xemaipers varchar(100),
xobsvpers varchar(100))
begin
update persona
set
dnipers=xdnipers,nombpers=xnombpers,apatpers=xapatpers,amatpers=xamatpers,iddistrit
o=xiddistrito,direpers=xdirepers,

idcentro=xidcentro,idcargo=xidcargo,fnacpers=xfnacpers,sexopers=xsexopers,telfpers=
xtelfpers,celupers=xcelupers,emaipers=xemaipers,
obsvpers=xobsvpers
where idpersona=xidpersona;
commit;
end;

call sp_insert_persona(8,'72812719','BEATRIZ','VARGAS','LEON',2,'CALLE JOSE CARLOS


MARIATEGUI 204',3,1,'1998-12-
18','M',2393871,983415964,'betamvl1998@gmail.com','LIBRE');

delimiter//
create procedure sp_delete_persona
(xidpersona int)
begin
update persona
set estapers=0
where idpersona=xidpersona;
commit;
end;

call sp_delete_persona(1);

delimiter//
create view vpersona
as
select
idpersona,dnipers,nombpers,apatpers,amatpers,iddistrito,direpers,idcentro,idcargo,f
nacpers,sexopers,telfpers,celupers,emaipers,obsvpers
from persona
where estapers=1;

------------------------------------------------------

delimiter//
create procedure sp_insert_reunion
(xnombreun varchar(100),
xfechreun datetime,
xhorainicio time,
xobsvreun varchar(100),
xsituacion varchar(100))
begin
insert into reunion(nombreun,fechreun,horainicio,obsvreun,situacion,estareun)
values(xnombreun,xfechreun,xhorainicio,xobsvreun,xsituacion,1);
commit;
end;

call sp_insert_reunion('FIESTA','2018-04-10','03:30:00','INICIADO',1);
select*from;
call sp_insert_reunion('REENCUENTRO','2018-04-12','22:00:00','FINALIZADO',2);
select*from reunion;
call sp_insert_reunion('VELORIO','2018-04-18','02:00:00','INICIADO',1);
select*from reunion;

delimiter//
create procedure sp_update_reunion
(xidreunion int,
xnombreun varchar(100),
xfechreun datetime,
xhorainicio time,
xobsvreun varchar(100),
xsituacion int)
begin
update reunion
set
nombreun=xnombreun,fechreun=xfechreun,horainicio=xhorainicio,obsvreun=xobsvreun,sit
uacion=xsituacion
where idreunion=xidreunion;
commit;
end;

call sp_update_reunion(1,'FIESTA','2019-01-11','15:30:00','RESERVADO',1);

select*from reunion;

delimiter//
create procedure sp_delete_reunion
(xidreunion int)
begin
update reunion
set estareun=0
where idreunion=xidreunion;
commit;
end;

call sp_delete_reunion(2);
select*from reunion;

delimiter//
create view vreunion
as
select idreunion,nombreun,fechreun,horainicio,obsvreun,situacion
from reunion
where estareun=1;