BD II (SI 587) Procedimentos Armazenados

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamanho: px
Começar a partir da página:

Download "BD II (SI 587) Procedimentos Armazenados"

Transcrição

1 BD II (SI 587) Procedimentos Armazenados Josenildo Silva

2 MOTIVAÇÃO

3 Contexto: Sistemas em 2 camadas

4 Contexto: Sistemas em 3 camadas

5 Problema 1: Alto volume de dados na rede Como reduzir o tráfego na rede? Exemplo 1 Select SUM(qtd) as total from produto group by codprod;... Para cada produto se total < 10% do estoque então insert into OrdemCompra...

6 Problema 1: Alto volume de dados na rede Como reduzir o tráfego na rede? Exemplo 2 Realizar a sequência Insert into VENDA... Insert into NOTAFISCAL... Update ESTOQUE... para cada venda.

7 Problema 1: Alto volume de dados na rede Como reduzir o tráfego na rede? Exemplo 3 Realizar a sequência Insert into PESSOA... Insert into ALUNO... para cada entidade em uma hierarquia de generalização/especialização.

8 Problema 1: Alto volume de dados na rede Entretanto... O gargalo pode ser provocado pelo próprio servidor de banco de dados. Caberá ao desenvolvedor, em conjunto com o DBA, identificar cada caso.

9 Problema 2: Manutenção Como garantir consistência de regras de negócio nas diversas aplicações e módulos clientes?

10 Ou seja Algumas situações reais em grandes sistemas Comandos repetitivos com lógica complexa Várias linguagens de programação envolvidas Rotinas periódicas Todas estas situações podem se beneficiar com o uso de procedimentos armazenados.

11 PROCEDIMENTOS ARMAZENADOS

12 Procedimentos Armazenados São funções (rotinas) definidas no banco de dados, identificadas por um nome pelo qual podem ser invocadas. Um procedimento pode executar várias instruções, receber parâmetros e retornar valores

13 Quando utilizar? Quando aplicações em diferentes linguagens, ou plataformas diferentes, executando a mesma função.

14 Quando utilizar? Exemplo: Os bancos (Itaú, Bradesco, etc), em geral, utilizam procedures para todas as operações em comum.

15 Por que utilizar? Otimização: redução de tráfego de dados entre aplicação e o SGBD Segurança: utilizando procedures o acesso às tabelas do banco de dados acontece de forma indireta Manutenção: reuso do mesmo código em diversas aplicações

16 Desvantagens Necessidade de maior conhecimento da sintaxe do banco de dados para escrita de rotinas em SQL A sintaxe muda de um banco para outro As rotinas ficam mais facilmente acessíveis Alguém que tenha acesso ao banco poderá visualizar e alterar o código.

17 SQL/PSM

18 Procedimentos armazenados SQL/PSM Procedimentos armazenados Módulos de programa armazenados pelo SGBD no servidor de banco de dados Podem ser funções ou procedimentos SQL/PSM (Persistent Stored Modules) Extensões à SQL (publicado em 1996) Inclui construções de programação de uso geral em SQL

19 Sintaxe para Procedimentos CREATE PROCEDURE <nome> (<params>) <declarações de variáveis locais> <corpo do procedimento> ;

20 Sintaxe para Funções CREATE FUNCTION <nome> (<params>) RETURNS <tipo de retorno> <declarações de variáveis locais> <corpo da função> ;

21 Parâmetros Cada parâmetro deve ter: Tipo: um dos tipos de dados da SQL Modo: IN, OUT ou INOUT Parâmetros IN são o padrão, pode-se omitilo após o nome

22 Chamando procedimentos e funções No Mysql CALL <nome do proc ou func>(<args>) ; No Oracle BEGIN <nome do proc ou func>(<args>) ; END

23 Comando de Controle (IF) IF <condicao> THEN <lista de instrucoes> ELSEIF <condicao> THEN <lista de instrucoes>... ELSEIF <condição> THEN <lista de instrucoes> ELSE <lista de instrucoes> END IF ;

24 Comando de Controle Laço (WHILE)

25 Comando de Controle Laço (FOR)

26 Exemplo

27 SQL/PSM NO MYSQL 5.0

28 Cenário 1 (cont.) Sistemas de venda sem SQL/PSM O cliente faz um pedido, no qual são inseridos itens. O pedido (bem como os itens) permanece com status PENDENTE até ser confirmado.

29 Cenário 1 Até o pedido ser confirmado, nenhum lançamento é feito no livro caixa Após a confirmação fazer as ações: Atualizar o status do pedido; Atualizar o status dos itens do pedido; Lançar o valor do pedido no caixa. Esta regra de negócio tem que ser replicada em todos os front-end (web, desktop, etc)

30 Cenário 1

31 Cenário 2 Sistemas de venda com SQL/PSM As ações de update/insert/delete são agrupadas em uma procedure no servidor

32 Sintaxe de procedures no mysql DELIMITER $$ CREATE PROCEDURE nome_proc (parâmetros) BEGIN /*CORPO DO PROCEDIMENTO*/ END $$ DELIMITER ; Delimitador é preciso inicialmente alterar o delimitador padrão do MySQL (por exemplo $$) e ao fim da criação do procedimento, restaurar seu valor padrão

33 Exemplo 1: usando parâmetro de entrada DELIMITER $$ CREATE PROCEDURE selecionar_prod(in quantidade INT) BEGIN SELECT * FROM PRODUTOS LIMIT quantidade; END $$ DELIMITER ; Para chamar este procedimento CALL selecionar_prod(2);

34 Exemplo 2: usando parâmetro de saída DELIMITER $$ Armazena o total de produtos CREATE PROCEDURE Quantidade_Produtos(OUT quantidade INT) BEGIN SELECT COUNT(*) INTO quantidade FROM PRODUTOS; END $$ DELIMITER ; CALL a variável poderá ser usada posteriormente

35 Exemplo 3: parâmetro de entrada e saída DELIMITER $$ CREATE PROCEDURE metada(inout numero INT) BEGIN SET numero = numero / 2; END $$ DELIMITER ; = 10; CALL a variável poderá ser usada posteriormente

36 Variáveis no corpo do procedimento DECLARE nome_var TIPO [DEFAULT valor]; Exemplos DECLARE quantidade int DEFAULT 0; DECLARE valor decimal(9,2); DECLARE total_valor decimal(9,2); DECLARE done INT DEFAULT FALSE;

37 Cursores no MySQL Itera um conjunto de tuplas Utiliza-se dentro de uma procedure, function ou triggers Sintaxe DECLARE nome FOR (SELECT...)

38 Usando Cursores no MySQL OPEN nome para abrir o cursor, que fará com que ele executea consulta; Logo em seguida inicia o loop com a seguinte instrução nome_cursor : loop FETCH nome INTO para atribuir o retorno do cursor a uma ou mais variáveis; CLOSE nome

39 Exemplo de Cursor no MySQL CREATE PROCEDURE cursordemo() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE a CHAR(16); DECLARE b, c INT; DECLARE cur1 CURSOR FOR SELECT id,data FROM t1; DECLARE cur2 CURSOR FOR SELECT i FROM t2; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur1; OPEN cur2; read_loop: LOOP FETCH cur1 INTO a, b; FETCH cur2 INTO c; IF done THEN LEAVE read_loop; END IF; IF b < c THEN INSERT INTO test.t3 VALUES (a,b); ELSE INSERT INTO test.t3 VALUES (a,c); END IF; END LOOP; CLOSE cur1; CLOSE cur2; END; Fonte:

40 Cenário: controle de estoque O vendedor deve verificar a disponibilidade de um determinado produto em tempo real. O setor de compras deve planejar melhor as atividades de compra.

41 Cenário: controle de estoque Não é recomendado inserir, atualizar e excluir diretamente nesta tabela somente recebe os dados conforme as ações executadas nas tabelas de ENTRADA e SAIDA de Produto. Registra as compras Registra as vendas

42 Procedure que atualiza o estoque delimiter $$ create procedure patualizaestoque(idprod int, qtdecomprada int, valorunitario decimal(9,2) ) begin declare existeprod int; select id_produto into existeprod from estoque where id_produto = idprod; if (existeprod is not null) then update estoque set qtde = qtde + qtdecomprada, valor_unitario = valorunitario where id_produto = idprod; else insert into estoque (id_produto, qtde, valor_unitario) values (idprod, qtdecomprada,valorunitario); end if; end $$ delimiter ;

43 SQL/PSM NO ORACLE

44 Procedure no Oracle DECLARE // Coloque as variáveis aqui BEGIN // Aqui vai o código EXCEPTION // Tratamento de erros END;

45 Procedure no Oracle declare media INT := 10; begin select avg(salary) into media from EMPLOYEES; DBMS_OUTPUT.PUT_LINE( Media: TO_CHAR(media) ); end;

46 Procedure no Oracle CREATE [OR REPLACE] PROCEDURE <nome> [ (par1 type1, par2 type2,...) ] IS AS DECLARE... BEGIN... EXCEPTION... END <name>;

47 Exemplo de Procedure no Oracle CREATE OR REPLACE PROCEDURE PDate IS BEGIN DBMS_OUTPUT.PUT_LINE('DATE:' TO_CHAR(SYSDATE)); END PDate; Para fazer a chamada (execução) crie um bloco simples: BEGIN PDate(); END;

48 Exemplo de Procedure com Parametro IN CREATE OR REPLACE PROCEDURE PROC_ID(p_id EMPLOYEES.EMPLOYEE_ID%TYPE) IS BEGIN UPDATE EMPLOYEES SET LAST_NAME = LAST_NAME ' X' WHERE EMPLOYEE_ID = p_id; COMMIT; END PROC_ID;

49 Exemplo de Procedure com Parametro IN -- Execução com parâmetros posicionais BEGIN PROC_ID(176); END; -- Execução com parâmetros nomeados BEGIN PROC_ID(p_id=>176); END; Efeito SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID = 176;

50 Exemplo de Procedure com parametro OUT CREATE OR REPLACE PROCEDURE PROC_NAME( p_id IN EMPLOYEES.EMPLOYEE_ID%TYPE, p_name OUT EMPLOYEES.LAST_NAME%TYPE ) IS BEGIN SELECT LAST_NAME INTO p_name FROM EMPLOYEES WHERE EMPLOYEE_ID = p_id; END PROC_NAME;

51 Exemplo de Procedure com parametro OUT -- Execução DECLARE v_name varchar(100); BEGIN PROC_NAME(176,v_name); DBMS_OUTPUT.PUT_LINE(Nome:' TO_CHAR(v_name)); END;

52 Exemplo com parametros in out no Oracle CREATE OR REPLACE PROCEDURE PROC_CONCAT(P_CHAR IN OUT VARCHAR2 ) IS BEGIN P_CHAR:= '(' P_CHAR ')'; END PROC_CONCAT;

53 Procedure no Oracle -- Execução DECLARE ret VARCHAR(100); BEGIN FOR emp_rec IN (SELECT LAST_NAME FROM EMPLOYEES ) LOOP DBMS_OUTPUT.PUT_LINE(Nome: ' TO_CHAR(emp_rec.LAST_NAME) ); PROC_CONCAT(emp_rec.LAST_NAME); DBMS_OUTPUT.PUT_LINE( Nome: ' TO_CHAR(emp_rec.LAST_NAME) ); END LOOP; END;

54 Exemplo de parametro IN OUT create or replace procedure patualizaestoque( idprod ESTOQUE.ID%TYPE, qtdecomprada ESTOQUE.QTDE%TYPE, valorunitario ESTOQUE.VALOR_UNITARIO%TYPE)

55 cont... is total number; begin select count(id_produto) into total from estoque where id_produto = idprod; if (total > 0) then DBMS_OUTPUT.PUT_LINE('Antes de atualizar...'); update estoque set qtde = qtde + qtdecomprada, valor_unitario = valorunitario where id_produto = idprod; else DBMS_OUTPUT.PUT_LINE('Antes de inserir...'); insert into estoque (id, id_produto, qtde, valor_unitario) values (seq_idestoque.nextval, idprod, qtdecomprada, valorunitario); end if; end patualizaestoque;

56 Parametros default create or replace procedure proc_default(x int default 1) is begin dbms_output.put_line('value: ' to_char(x*1) ); end proc_default;

57 Parametros default -- Execução BEGIN PROC_DEFAULT(); PROC_DEFAULT(3); END;

58 Leitura Adicional Seção 9.6 do SILBERSCHATZ: Funções e Procedimentos Tutorial sobre Procedimentos no MySQL por Wagner Bianchi. _procedures_no_mysql/

59 Links interessantes php/ /mysql-stored-procedures-part-1.htm cedures_no_mysql d_procedures.htm

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

Leia mais

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta

Leia mais

Logado no OracleXE vamos acessar a opção:

Logado no OracleXE vamos acessar a opção: Tutorial PL/SQL O PL/SQL é uma linguagem procedural que roda diretamente no núcleo do SGBD Oracle. O objetivo deste tutorial é mostrar a criação de funções e procedimentos em PL/SQL, interagindo com comandos

Leia mais

Oracle 10g: SQL e PL/SQL

Oracle 10g: SQL e PL/SQL Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com SQL Procedural Josino Rodrigues Neto josinon@gmail.com SQL Procedural Agregada em SQL-92 As ferramentas têm nomes para suas linguagens SQL procedurais/embutidas Oracle : PL/SQL Postgres PL/Pgsql SQL Server

Leia mais

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: marcelosantos@outlook.com BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO

Leia mais

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco

Leia mais

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos Bases de Dados Stored procedures e triggers Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção

Leia mais

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL PL/SQL Laboratório de Bases de Dados PL/SQL Program Language SQL linguagem de programação da Oracle que permite processar dados armazenados no banco de dados Exemplos de operações permitidas alterar, remover,

Leia mais

Bancos de Dados I. Integridade semântica

Bancos de Dados I. Integridade semântica Bancos de Dados I PUC-Rio Departamento de Informática (DI) Eng./Ciência da Computação e Sist. Informação Contrôle de Integridade em SGBDs: procedimentos armazenados, gatilhos e funções Prof. sergio@inf.puc-rio.br

Leia mais

Bases de Dados 2012/2013 Funções/procedimentos e triggers. Helena Galhardas 2012 IST. Bibliografia. Manual referência PostgreSQL

Bases de Dados 2012/2013 Funções/procedimentos e triggers. Helena Galhardas 2012 IST. Bibliografia. Manual referência PostgreSQL Bases de Dados 2012/2013 Funções/procedimentos e triggers em PostgreSQL Helena Galhardas Bibliografia Manual referência PostgreSQL http://www.postgresql.org/docs/9.2/static/ plpgsql.html http://www.postgresql.org/docs/9.2/static/

Leia mais

FUNCTION ) RETURNS INTEGER AS $$ DECLARE

FUNCTION ) RETURNS INTEGER AS $$ DECLARE PERFORM O comando PERFORM permite a execução de um comando SELECT desprezando o resultado do comando. PERFORM query; A variável especial FOUND é definida como verdadeiro se a instrução produzir pelo menos

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html

Leia mais

RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS

RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS No Instituto Federal do Paraná tounou-se necessário o armazenamento de certas informações para controle de pessoal. Para armazenar tais dados é necessário saber que:

Leia mais

CIÊNCIA E TECNOLOGIA DO RIO

CIÊNCIA E TECNOLOGIA DO RIO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS II Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia

Leia mais

PL/pgSQL por Diversão e Lucro

PL/pgSQL por Diversão e Lucro PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do

Leia mais

Hugo Pedro Proença, 2007

Hugo Pedro Proença, 2007 Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações

Leia mais

GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL

GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Prgrama Teórico/Prático - SQL Linguagem

Leia mais

Database and Applications. Criação, inserção de dados PHP+MySQL

Database and Applications. Criação, inserção de dados PHP+MySQL Criação, inserção de dados PHP+MySQL Prof. Doutor Félix Singo phpmyadmin É uma aplicação de fácil utilização que serve para controlar base de dados MySQL. Pode-se utilizar para criar, copiar, apagar, renomear

Leia mais

MANUAL INSTALAÇÃO WEB SERVICE

MANUAL INSTALAÇÃO WEB SERVICE MANUAL INSTALAÇÃO WEB SERVICE Recebimento de dados pelo Hospital Versão 1.1 2/9/2014 Contato suporte@gtplan.com.br Índice Introdução... 2 Requerimentos para instalação do Web Service... 2 Instalação...

Leia mais

Stored procedures CAPA. Stored procedures, triggers e views no MySQL 5. 36 http://www.linuxmagazine.com.br

Stored procedures CAPA. Stored procedures, triggers e views no MySQL 5. 36 http://www.linuxmagazine.com.br CAPA Stored procedures, triggers e views no MySQL 5 Truques com dados Mostramos como alguns novos recursos do MySQL 5 ajudarão a melhorar o desenho de programas e melhorarão muito o desempenho dos aplicativos.

Leia mais

Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição.

Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição. Conceitos PL/Sql Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição. Sintaxe CREATE SEQUENCE [schema.]sequence [INCREMENT BY

Leia mais

Procedimentos armazenados

Procedimentos armazenados Procedimentos armazenados Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material da Profª Maria Lígia B. Perkusich Procedimentos armazenados (i) Definição Um procedimento armazenado (stored procedure)

Leia mais

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch)

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch) Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro ! Transact-SQL (T-SQL) Extensão ao SQL Permite controlo do fluxo de execução Permite comandos DDL (contrariamente ao PLSQL) T-SQL combina: poder de manipulação de dados

Leia mais

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK

Leia mais

INE 5336. Banco de Dados II. Sumário

INE 5336. Banco de Dados II. Sumário INE 5336 Banco de Dados II Ronaldo S. Mello 2004/2 1 SQL Embutida Sumário 2 Processamento de Consultas 3 Introdução a Transações 4 Recuperação de Falhas 5 Controle de Concorrência 6 Banco de Dados Distribuído

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 10 - PROCEDIMENTOS ARMAZENADOS - STORED PROCEDURES 1. INTRODUÇÃO Em muitas situações será necessário armazenar procedimentos escritos com a finalidade de se utilizar recursos como loop, estruturas

Leia mais

Page 1. Prof. Constantino Jacob

Page 1. Prof. Constantino Jacob Tópicos Introdução à SQL Definição Tipos de Operações Instrução SELECT Sintaxe básica Operações relacionais de restrição, projeção e junção Instruções DML Delete, Update e Insert Instruções DDL Create

Leia mais

trigger insert, delete, update

trigger insert, delete, update 1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Linguagem PL/SQL e Triggers

Linguagem PL/SQL e Triggers TECNOLOGIA DE BASES DE DADOS Linguagem PL/SQL e Triggers António Manuel Silva Ferreira UNIVERSIDADE DE LISBOA FACULDADE DE CIÊNCIAS DEPARTAMENTO DE INFORMÁTICA asfe@di.fc.ul.pt Sumário Linguagem PL/SQL

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

PROCEDIMENTOS ARMAZENADOS (Stored Procedures) PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

BANCO DE DADOS. Vinícius Pádua

BANCO DE DADOS. Vinícius Pádua BANCO DE DADOS O que é Banco de Dados? Introdução Para que serve um arquivo? Salvar, atualizar, recuperar,... Aplicativos e Arquivos Utilizam para salvar os dados mesmo após o programa fechar Estrutura

Leia mais

2008.2. Stored Procedures. Renata Viegas

2008.2. Stored Procedures. Renata Viegas Renata Viegas Definição Conjunto de comandos SQL que são compilados e armazenados no servidor Características Podem ser armazenados no banco de dados e acionados por qualquer programa aplicativo que tenha

Leia mais

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona Linguagem de Programação CESBD 2010 Parte 2 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Controle de Transação Mapeamento Objeto-Relacional

Leia mais

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você por Cristóferson Guimarães Magalhães Bueno e Odilon Corrêa da Silva 1 O objetivo deste artigo é demonstrar como criar um sistema

Leia mais

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) 8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras

Leia mais

Triggers e mais... Instituto Militar de Engenharia IME 1o. Semestre/2005 Triggers Propósito mais amplo que restrições Restrições onde se explicita o evento Regras event-condition-action (ECA) Eventos:

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 03 AT03 Diversos II Page 1 of 25 Indice EXEMPLOS COM GROUP BY E COM A CLÁUSULA HAVING - TOTALIZANDO DADOS... 3 GROUP BY... 3 Cláusula HAVING com GROUP BY... 5 ENTENDENDO

Leia mais

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br Banco de Dados I Prof. Edson Thizon ethizon@bol.com.br Conceitos Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito Banco de dados (BD) Conjunto de dados interrelacionados

Leia mais

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Oracle Database 10g: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer

Leia mais

PL/pgSQL. Introdução. Introdução. Introdução

PL/pgSQL. Introdução. Introdução. Introdução Introdução PL/pgSQL Banco de Dados II Prof. Guilherme Tavares de Assis PL/pgSQL (Procedural Language for the PostgreSQL) é uma linguagem procedural carregável desenvolvida para o SGBD PostgreSQL, que possui

Leia mais

Backup. José Antônio da Cunha CEFET-RN

Backup. José Antônio da Cunha CEFET-RN José Antônio da Cunha CEFET-RN Introdução Sendo as informações o bem mais valioso da empresa e estando estas informações armazenadas nos bancos de dados da empresa, é de fundamental importância que tenhamos

Leia mais

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: - Necessidade O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: Os livros que custarem mais de 10, devem ver o seu preço

Leia mais

Monitoria GDI Aula Prática. DML + PL/SQL parte 1

Monitoria GDI Aula Prática. DML + PL/SQL parte 1 Monitoria GDI Aula Prática DML + PL/SQL parte 1 DML linguagem de manipulação de dados SQL Estrutura básica de uma consulta SQL SELECT Coluna1[,Coluna2[,Coluna3[,...]]] FROM Tabela1[,Tabela2[,...]] WHERE

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger a tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

Bases de Dados 2007/2008. Aula 8

Bases de Dados 2007/2008. Aula 8 Bases de Dados 2007/2008 Aula 8 1. T-SQL 2. VARIÁVEIS 3. CURSORES 4. PROCEDIMENTOS 5. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Programação com Acesso a Banco de Dados

Programação com Acesso a Banco de Dados Campus Ipanguaçu Curso: Técnico em Informática Programação com Acesso a Banco de Dados AULA 17 ACESSO A BANCO DE DADOS COM JDBC PROF.: CLAYTON M. COSTA 2 011.2 Introdução Aplicação + Banco de Dados: Funcionalidade

Leia mais

INTRODUÇÃO AO PL/SQL

INTRODUÇÃO AO PL/SQL INTRODUÇÃO AO PL/SQL ALEX JOSE SILVA RECIFE/2015 Índice Introdução Ao Pl/Sql...3 Entendendo a linguagem...4 Principais características da linguagem PL/SQL...5 Blocos de código...5 Declaração de variáveis...5

Leia mais

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente

Leia mais

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Banco de Dados II Triggers e Functions Prof. Moser Fagundes Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Sumário da aula Functions (funções) Triggers (gatilhos) Atividades Functions

Leia mais

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

Especificação Genérica de Gatilhos e Procedimentos Armazenados para a Geração de Históricos de Dados

Especificação Genérica de Gatilhos e Procedimentos Armazenados para a Geração de Históricos de Dados Especificação Genérica de Gatilhos e Procedimentos Armazenados para a Geração de Históricos de Dados Alex Sandro Romeo de Souza Poletto 1, Jorge Rady de Almeida Júnior 2 1 Instituto Municipal de Ensino

Leia mais

Laboratório de Banco de Dados II Aula 1. Stored Procedures

Laboratório de Banco de Dados II Aula 1. Stored Procedures Laboratório de Banco de Dados II Aula 1 Stored Procedures Stored procedures Uma seqüência de comandos SQL pode ser agrupada, formando uma stored procedure A sua execução é comandada, invocando-se o nome

Leia mais

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE Formando: Dyckson Dyorgio Dolla Orientador: Prof. Everaldo Artur Grahl Julho / 2001 ROTEIRO DA

Leia mais

BANCO DE DADOS WEB. Professor Luciano Roberto Rocha

BANCO DE DADOS WEB. Professor Luciano Roberto Rocha BANCO DE DADOS WEB 1 CONECTANDO-SE AO MYSQL VIA PHP Professor Luciano Roberto Rocha Como conectar MySQL via PHP 2 O MySQL é mais popular SGBD entre os desenvolvedores PHP. Existem várias funções do PHP

Leia mais

TECNOLOGIA WEG II PHP com SGBD MYSQL

TECNOLOGIA WEG II PHP com SGBD MYSQL TECNOLOGIA WEG II PHP com SGBD MYSQL Existem diversas formas de se acessar o SGBD Mysql para manipulação de dados por meio do PHP. Consulte o manual do PHP, em www.php.net ou http://www.php.net/manual/pt_br/,

Leia mais

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs? BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Um Banco

Leia mais

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL BANCO DE DADOS GERENCIAL 1 AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS Um banco de dados é uma coleção de dados (ou informações) organizadas de forma lógica, e que

Leia mais

PostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

PostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br PostgreSQL www.postgresql.org André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br Características Licença BSD (aberto, permite uso comercial) Multi-plataforma (Unix, GNU/Linux,

Leia mais

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais

Oracle 10g Dicas de PL/SQL. Conteúdo

Oracle 10g Dicas de PL/SQL. Conteúdo Oracle 10g Dicas de PL/SQL Conteúdo Objetivos... 2 Comentários... 2 Declarações... 2 Conversões de variáveis... 2 DDL Criar, alterar ou apagar tabelas Create, Alter or Drop table... 3 Restrições na criação

Leia mais

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados Prof. Hugo Souza Após vermos uma breve contextualização sobre esquemas para bases dados e aprendermos

Leia mais

Criando Restrições em Tabelas

Criando Restrições em Tabelas Criando Restrições em Tabelas Prof. Fernanda Baião fernanda.baiao@uniriotec.br Material adaptado do Prof. Márcio Barros SGBD Considerados MySQL http://www.mysql.org) SGBD gratuito e simples, sem muitos

Leia mais

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com SQL A Structed Query Language foi desenvolvida em 1974 nos laboratório da IBM em San José na Califórnia,

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

Leia mais

Leonardo Gresta Paulino Murta leomurta@gmail.com

Leonardo Gresta Paulino Murta leomurta@gmail.com Leonardo Gresta Paulino Murta leomurta@gmail.com O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no

Leia mais

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho 2014 Núcleo de Tecnologia da Informação e Comunicação - NTIC 17/01/2014 REITORA Ulrika Arns VICE-REITOR Almir Barros da Silva Santos Neto DIRETOR DO NTIC Leonardo Bidese de Pinho COORDENADOR DE DESENVOLVIMENTO

Leia mais

Exercício de Estrutura de dados. Java Fila

Exercício de Estrutura de dados. Java Fila Exercício de Estrutura de dados Java Fila Obs.: Esse projeto foi um exercício realizado em sala de aula da matéria de Estrutura de dados com o Profº Frederico Augusto Siqueira Gentil Aqui está sendo relatado

Leia mais

Documento de Configuração PB: Gerador de Relatórios (PB)

Documento de Configuração PB: Gerador de Relatórios (PB) Documento de Configuração PB: Gerador de Relatórios (PB) 20/05/2012 SUMÁRIO 1 GERAREL VISÃO GERAL... 3 2 PASSO 1: INSTALADORES NECESSÁRIOS... 3 3 PASSO 2: REGISTRO DOS MÓDULOS DO GERAREL NO WINDOWS....

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 2

PHP INTEGRAÇÃO COM MYSQL PARTE 2 ABRIR CONEXÃO PHP INTEGRAÇÃO COM MYSQL PARTE 2 Professor: Leonardo Pereira Email: leongamerti@gmail.com Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si Antes de podermos acessar informações

Leia mais

Aula 5 VBA PARTE I 11/05/2016 DIEGOQUIRINO@GMAIL.COM 1

Aula 5 VBA PARTE I 11/05/2016 DIEGOQUIRINO@GMAIL.COM 1 Aula 5 VBA PARTE I 11/05/2016 DIEGOQUIRINO@GMAIL.COM 1 Introdução ao VBA 1. O Excel é um programa que tem um grande potencial, mas a maioria do pessoal o maneja de forma simples, utilizando somente as

Leia mais

TOP 20 ROTINAS QUE VOCÊ PODE AUTOMATIZAR HOJE!

TOP 20 ROTINAS QUE VOCÊ PODE AUTOMATIZAR HOJE! TOP 20 ROTINAS QUE VOCÊ PODE AUTOMATIZAR HOJE! Erro Zero; Mais barato que um administrador de redes; Faz qualquer tarefa repetitiva e manual; Flexibilidade para mudar processos automatizados dentro do

Leia mais

Disciplina: Unidade III: Prof.: E-mail: Período:

Disciplina: Unidade III: Prof.: E-mail: Período: Encontro 09 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 6. Introdução ao MS Access O Microsoft

Leia mais

Autenticação e Controle de Acesso em Forms e Reports via Oracle Internet Directory. Daniel Murara Barcia danielbarcia@hotmail.com

Autenticação e Controle de Acesso em Forms e Reports via Oracle Internet Directory. Daniel Murara Barcia danielbarcia@hotmail.com Autenticação e Controle de Acesso em Forms e Reports via Oracle Internet Directory. Daniel Murara Barcia danielbarcia@hotmail.com INTRODUÇÃO As aplicações corporativas de um importante órgão público do

Leia mais

Considere as Relações Funcionários (F) e Dependentes (D), com o seguinte esquema simplificado:

Considere as Relações Funcionários (F) e Dependentes (D), com o seguinte esquema simplificado: Álgebra Relacional Considere as Relações Funcionários (F) e Dependentes (D), com o seguinte esquema simplificado: Funcionários (numf, nomef) Dependentes (numf, nomed, par) Numf referencia Funcionários

Leia mais

Principais problemas em consultoria de banco de dados

Principais problemas em consultoria de banco de dados Principais problemas em consultoria de banco de dados Mauro Pichiliani http://imasters.uol.com.br/canal/bancodedados - 21/04/2008 Olá pessoal. Na coluna desta semana abordarei algumas situações críticas

Leia mais

Bases de Dados. Restrições de integridade. Restrições de integridade. As restrições de integridade garantem a consistência da BD exemplos

Bases de Dados. Restrições de integridade. Restrições de integridade. As restrições de integridade garantem a consistência da BD exemplos Bases de Dados Restrições de integridade Restrições de integridade As restrições de integridade garantem a consistência da BD exemplos RI 1: o saldo de uma conta não pode ser null RI 2: nenhuma conta pode

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com + Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco

Leia mais

Os salários de 15 áreas de TI nas cinco regiões do Brasil

Os salários de 15 áreas de TI nas cinco regiões do Brasil Os salários de 15 áreas de TI nas cinco regiões do Brasil Entre 2011 e 2012, os salários na área de tecnologia da informação (TI) cresceram em média 10,78% um número animador, que pode motivar jovens estudantes

Leia mais