Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Atmos Maciel ● Ciência da Computação; ● Delphi / SQLServer; ● Programação Web; ● Mundo Ágil;

Slide 3

Slide 3 text

O que é uma Stored Procedure?

Slide 4

Slide 4 text

Notação SQLServer create procedure “procedurename“ ( < parâmetro1 TIPO >, < parâmetro2 TIPO > ... ) AS BEGIN < declare @variavelRetorno; > < procedure_body > < RETORNO OPCIONAL(return @variavelRetorno) > END; GO execute[exec] procedurename (param1, param2);

Slide 5

Slide 5 text

FUNCTIONS

Slide 6

Slide 6 text

Functions PostgreSQL ● Funções escritas em SQL; ● Funções em linguagens de procedimento(PL/pgSQL, PL/php, PL/Java); ● Funções internas( round(), count(), max(), avg() ); ● Funções na Linguagem C;

Slide 7

Slide 7 text

Notações Em PHP: CREATE FUNCTION plphp_max(integer, integer) RETURNS integer AS $$ if ($args[0] > $args[1]) { return $args[0]; } else { return $args[1]; } $$ STRICT LANGUAGE 'plphp' SELECT plphp_max(parameter0, parameter1); Suporte a arrays PHP: CREATE FUNCTION php_array() RETURNS text[ ][ ] AS $$ $return = array(array("Steven", "Klassen"), array("Jonathan", "Daugherty")); return $return; $$ LANGUAGE 'plphp'; SELECT php_array();

Slide 8

Slide 8 text

Notação CREATE FUNCTION func_escopo() RETURNS integer AS $$ DECLARE quantidade integer := 30; BEGIN quantidade := 50; < body_function > DECLARE quantidade integer := 80; BEGIN < body_function > END; RETURN quantidade; END; $$ LANGUAGE plpgsql; SELECT func_escopo();

Slide 9

Slide 9 text

Notação CREATE FUNCTION instr(varchar, integer) RETURNS integer AS $$ DECLARE v_string ALIAS FOR $1; index ALIAS FOR $2; BEGIN < body_function> END; $$ LANGUAGE plpgsql;

Slide 10

Slide 10 text

Ambiente: Banco de Dados bem feito

Slide 11

Slide 11 text

Pesquisa

Slide 12

Slide 12 text

Treta que ainda existe….

Slide 13

Slide 13 text

Quando é interessante usar Functions no BD?

Slide 14

Slide 14 text

Linguagens diferentes

Slide 15

Slide 15 text

Reduz o código da aplicação

Slide 16

Slide 16 text

Reduz o código da aplicação

Slide 17

Slide 17 text

Ganho em processamento

Slide 18

Slide 18 text

Segurança

Slide 19

Slide 19 text

Performance?

Slide 20

Slide 20 text

O lado negro da Força...

Slide 21

Slide 21 text

Escalabilidade da Equipe

Slide 22

Slide 22 text

Dependência do SGBD

Slide 23

Slide 23 text

Sem suporte a OOP

Slide 24

Slide 24 text

Testes automatizados

Slide 25

Slide 25 text

Testes automatizados

Slide 26

Slide 26 text

O que se faz hoje?

Slide 27

Slide 27 text

Banco de Dados Aplicação

Slide 28

Slide 28 text

Equilibrar no Banco de Dados

Slide 29

Slide 29 text

Fim...