• No results found

Global Versus Local Optimization

2.3 Technology and Reference Cases

2.3.1 Global Versus Local Optimization

H ardware

M inim o Intel Core 2 Duo de 2.2 Ghz.

M em oria RAM 2 Gb.

Disco Duro de 240 Gb.

Lector de Óptico M arcas

Software W indows XP Delphi 6.0 M ySQL 5.0 M icrosoft Office 2010 W inzip 32

Diagr ama Entidad Relación

Análisis del diseño de la base de datos

Estas son variables de entrada que pertenecen a la tabla tdatusu que es la tabla de los datos del usuario que en el caso de la compañía viene a ser el accionista; en esta tabla p odremos observar todos los datos de los accionistas que pertenecen a la compañía de taxis ejecutivos “Cacique Tulcanaza” de la Ciudad de Tulcán

Estas son variables de entrada que pertenecen a la tabla tautos que es la tabla de los veh ículos que en el caso pertenecen a los accionistas de la compañía; en esta tabla podremos observar todos los datos de las unidades de transporte de los accionistas que pertenecen a la compañía de taxis ejecutivos “Cacique Tulcanaza” de la Ciudad de Tulcán

Estas son variables de entrada que pertenecen a la tabla tcobros en la cual registra las deudas y pagos que poseen los accionistas que pertenecen a la compañía de taxis ejecutivos “Cacique Tulcanaza” de la Ciudad de Tulcán

Estas son variables de entrada que pertenecen a la tabla tgencobros que es la tabla de la generación de cobros en la cual se generan todos los cobros que se realizan do a los accion istas que pertenecen a la compañía de taxis ejecutivos “Cacique Tulcanaza” de la Ciudad de Tulcán

En estas tablas podremos ingresar nuevos parámetros de entrada para las tablas de usuario, autos y pagos en caso de ser necesarios

Fuente: Autor

Elaborado por: Cristian Vera.

Estas son variables de entrada q ue pertenecen a la tabla tmultas que es la tabla de las multas realizadas a los accionistas que pertenecen a la compañía de taxis ejecutivos “Cacique Tulcanaza” de la Ciudad de Tulcán

En estas tablas podremos observar la forma de pagos de tickets, que realizan a diario los accionistas que pertenecen a la compañ ía de taxis ejecutivos “Cacique Tulcanaza” de la Ciudad de Tulcán, antes de laborar

Estas son variables de entrada que pertenecen a la tabla tusers que es la tabla que pe rmite administrar las contraseñas de id de usuarios que pertenecen a la compañ ía de taxis ejecutivos “Cacique Tulcanaza” de la Ciudad de Tulcán

Store procedures de la base de datos bdcaciques

Los strore procedures son procedim ientos que se los realizan e n la base de datos para luego enlazarlos y utilizarlos en el software com o m étodos crud.

Borrar

Este procedim iento perm ite elim inar registros de nuestra base de datos.

DELIM ITER $$DROP PROCEDURE IF EXISTS `bdc aciques`.`borrar`$$ CREATE DEFINER=`root`@ `localhost` PROCEDURE `borrar`()

BEGIN declare nvalor Decim al(8,2); select nvalor3 into nva lor from tvalores; se lect nvalor;E ND$$ D ELIM ITER ;

Spdiariofecha

Este procedim iento perm ite realizar una consulta de estado de unidades diario.

DELIM ITER $$DROP PROCEDURE IF EXISTS

`bdcaciques`.`spdiariofecha`$$ CREATE D EFINER=`root`@ `localhost` PROCEDURE `spdiariofecha`(IN sanio varchar(4), IN sm es varchar(2), IN sdia varchar(2)) BEGIN SELECT *FROM tdiariowhere

((year(dfechact)=sanio) and (m onth(dfechact)=sm es)

and(day(dfechact)=sdia)) and nidestado>0 order by niddisc o;EN D$$ DELIM ITER ;

Spdiariofechas

Este procedim iento perm ite consultar el esta do de unidades por fechas.

DELIM ITER $$

DROP PROCEDURE IF EXISTS `bdcaciques`.`spdiariofechas`$$

CREATE DEFINER=`root`@ `localhost` PROCEDURE `spdiariofechas`( IN sanio varchar(4), IN sm es varchar(2), IN sdia varchar(2),

IN sanio1 varchar(4), IN sm es1 varchar(2), IN sdia1 varchar(2))BEGIN SELECT *FROM tdiariowhere ((year(dfechact)=sanio)

and (m onth(dfechact)= sm es) and(day(dfechact)>= sdia) and

(year(dfechact)=sanio1) and (m onth(dfechact)=sm es1)and(day(dfechact)<=sdia1) and(nide stado>0)) order by niddisco; END $$ DELIM IT ER ;

Spdiariofechashoras

Este procedim iento perm ite consultar el esta do de unidades por fechas y horas.

Spdiariofechashoras

DELIM ITER $$

DROP PROCEDURE IF EXISTS `bdcaciques`.`spdiariofechashoras`$$

CREATE DEFINER=`root`@ `localhost` PROCEDURE ` spdiariofechashoras`( IN cfecha1 varchar(18), cfecha2 varchar(18))

BEGINSELECT *FROM tdiario

where ((dfechact>=cfecha1) and (dfechact<=cfecha2) and(nidesta do>0))order by niddisco; END$$DELIM ITER ;

Spmarcapagado

Este procedim iento se lo utiliza en el cobro de tickets diarios.

DELIM ITER $$

DROP PROCEDURE IF EXISTS `bdcaciques`.`spm arcapagado`$$

CREATE DEFINER=`root`@ `localhost` PROCEDURE `spm arcapagado`() BEGIN

update tcobros se t nestado=3, lpaga do='True', dfechact=now() where nestado= 2;E ND$$ DELIM ITER ;Fpaga do:tinyint(1)

DELIM ITER $$ DROP FUNCTION IF EXISTS `bdcaciques`.`fpagado`$$ CREATE DEFINER=`root`@ `localhost` FUNCTION `

fpagado`(ndisco integer) RETURNS tinyint(1)BEGIN DECLARE im par BOOL ;declare nresultado integer; SELECT count(*) into nresultado FR OM tcobros

where (date(dfechact)=date(now()) and (niddisco= ndisco) and (nestado=3));if (nresultado=0)then

SET im par=FALSE;e lse

set im par=true;e nd if;RE TURN (im par); END$$

Sprecorre

Este procedim iento se lo utiliza para ver cuantas carreras han realizado las unidades diariam ente y para el cobro de m ultas.

DELIM ITER $$ DROP PROCEDURE IF EXISTS `bdcacique s`.`sprecorre`$$ CREATE DEFINER=`root`@ `localhost` PROCEDURE `sprecorre`

(IN cfecha1 varchar(18), cfecha2 varchar(18))BEGIN declare nnum carr integer; declare ntotcarr inte ger;declare m yfecha date;declare ndisco integer;

declare ncuantas1 integer;DECLARE l_nam e VARCHAR(255); DECLARE exit_loop BOO LEAN ;declare lnvalor2 dec im al(8,2);

declare lnvalor3 decim al(8,2);D ECLARE exam ple_c ursor CURSOR FOR SELECT niddisco,dfechact, (count(*))FROM tdiario

where ((dfechact>=cfecha1) and (dfechact<=cfecha2)) and nidestado= 2 group by niddisco;

DECLARE CONTIN UE HAN DLER FOR NOT FOUN D SET exit_loop = TRUE ; select nvalor2, nvalor3 into lnvalor2, lnvalor3 from tvalores ;

set nnum carr=4;set ntotcarr=20;OPEN exam ple _cursor;exam ple_loop: LO OP -- read the nam e from next row into the variable l_nam e

FETCH exam ple_cursor INT O ndisco,m yfecha,ncuanta s1;-- m ulta 6am if((ncuantas1>0) and (ncuantas1< nnum carr)) theninsert into tm ulta s

(niddisco, dfecha, ncuantas, nva lor, ntotal, dfechact, ncodusu, ndescripc ion) values(ndisc o, m yfecha, ncuantas1,lnvalor2,((nnum carr -ncuantas1)*lnvalor2), now(),9,2);end if;-- m ulta diariaif((ncuantas1> nnum carr) and (ncuantas1<ntotcarr)) theninsert into tm ultas (niddisco, dfecha, ncuantas, nvalor, ntota l, dfechact,

ncodusu,ndescr ipcion)values(ndisco,m yfecha,ncuantas1,lnvalor3,((ntotcarr- ncuantas1)*lnvalor3), now(),9,3);end if;

-- check if the exit_loop flag ha s been set by m ysql, -- if it has been set we close the cursor and exit-- the loop IF exit_loop TH EN

CLOSE exam ple_cursor;LE AVE exam ple _loop;END IF;E ND LOOP exam ple _loop; select l_nam e;END$$ DELIM ITER ;

Sptddiarioinsert

Este procedim iento nos perm ite ingresar accionistas y vehíc ulos.

DELIM ITER $$

DROP PROCEDURE IF EXISTS `bdcaciques`.`sptdiarioinsert`$$

CREATE DEFINER=`root`@ `localhost` PROCEDURE `sptdiarioinsert`(IN disco INTEGER, IN idestado Integer, IN direccion varchar(45), codusu Integer, estado Integer) BEGin

insert into tdiario value s(0,disco,idestado,direccion,now(),codusu,estado); END$$

DELIM ITER ;

Vistas

Nos perm iten realizar una visua lización de nuestra s tablas

Vrepcobro

Nos perm ite visualizer los reports de cobros de los accionistas

CREATE ALGORIT HM =UND EFINED DEFIN ER=`root`@ `localhost` SQL SECURITY DEFINER VIEW `bdcaciques`.`vrepcobro` AS selec t `bdcacique s`.`tdatusu`.`nidtda tusu` AS `ncod_usu`,`bdcaciques`.`tdatusu`.`cnom bres` AS

`cnom bres`,`bdcaciques`.`tdatusu`.`ccedula` AS `ccedula`,`bdcaciques`.`tautos`.`c disco` AS `cdisco`,`bdcacique s`.`tcobros`.`ncod_cob` AS

`ncodcobro`,concat(`bdcaciques`.`tcobros`.`cm es`,_latin1' -',`bdcaciques`.`tcobros`.`canio`) AS `cfecha`,`bdcaciques`.`tcobros`.`nval1` AS `nval1`,`bdcaciques`.`tcobros`.`nval2` AS `nval2`,`bdcaciques`.`tcobros`.`nval3` AS `nval3`,`bdcaciques`.`tcobros`.`nval4` AS `nval4`,`bdcaciques`.`tcobros`.`nval5` AS `nval5`,`bdcaciques`.`tcobros`.`ntotal` AS `ntota l`,`bdcacique s`.`tcobros`.`dfechact` AS

`dfechact`,`bdcaciques`.`ttipopago`.`cdescripcion` AS `cdescr ipcion` from

(((`bdcaciques`.`tdatusu` join `bdcacique s`.`tautos`) join `bdcacique s`.`tcobros`) join `bdcaciques`.`ttipopago`) where ((`bdcaciques`.`tdatusu`.`nidtdatusu` =

`bdcaciques`.`tautos`.`nidtdatusu`) and (`bdcaciques`.`tautos`.`cdisc o` = `bdcaciques`.`tcobros`.`niddisco`) and (`bdcaciques`.`tcobros`.`ntipopago` = `bdcaciques`.`ttipopago`.`ncodigo`) and (`bdcaciques`.`tcobros`.`nestado` = 2));

Fuente: Autor

Elaborado por: Cristian Vera.

Related documents