A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

15/1/20141 BANCO DE DADOS EM APLICATIVOS WEB Aula 13 Professor Leomir J. Borba- –http://professorleomir.wordpress.com.

Apresentações semelhantes


Apresentação em tema: "15/1/20141 BANCO DE DADOS EM APLICATIVOS WEB Aula 13 Professor Leomir J. Borba- –http://professorleomir.wordpress.com."— Transcrição da apresentação:

1 15/1/20141 BANCO DE DADOS EM APLICATIVOS WEB Aula 13 Professor Leomir J. Borba- –http://professorleomir.wordpress.com

2 15/1/20142 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Agenda Procedimentos (Procedures) Gatilhos (Triggers) Conexão do Banco de Dados com a Linguagem de Programação.

3 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Procedimentos (Procedures) Também chamados de procedimentos armazenados (stored procedures), representam porções de código SQL e não SQL que ficam armazenados de forma compilada no catálogo do SGBD e são ativados explicitamente por aplicações, triggers ou outras rotinas. Como nas linguagens tradicionais de programação, um procedimento realiza um processamento qualquer e não devolve valor algum em seu final.

4 15/1/20144 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Procedimentos (Procedures) Modelos de acesso

5 15/1/20145 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Procedimentos (Procedures) Modelos de acesso - continuação

6 15/1/20146 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Procedimentos (Procedures) Manipulação Criação – Sem Parametros. DELIMITER // CREATE PROCEDURE AS BEGIN SELECT * FROM EMPREGADO ORDER BY NOME DESC END //

7 15/1/20147 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Procedimentos (Procedures) Manipulação Criação – Com Parametros. DELIMITER // CREATE PROCEDURE ( IN NOMEVARIAVEL INT) AS BEGIN SELECT * FROM EMPREGADO ORDER BY NOME DESC END //

8 15/1/20148 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Procedimentos (Procedures) Parâmetros dos Stored Procedures Quase todos os stored procedure a desenvolver requerem parâmetros. Parâmetros fazem o stored procedure mais flexível e útil. No MySQL, um parâmetro adquire um dos seguintes tmodos - IN, OUT e INOUT IN indica que um parâmetro pode ser passado, mas qualquer alteração dentro do stored procedure não altera o parâmetro. Suponha que você quer passaro parâmetro ID, que é igual a 10, para o stored procedure getAll (Id), após executar o stored procedure o valor do Id ainda é 10 mesmo que o stored procedure getAll altere o valor do mesmo. OUT este modo indica que o stored procedure pode alterar o parâmetro e devolve-lo ao programa de chamada. INOUT, É a combinação do modo IN e OUT, você pode passar parâmetros para o stored procedure e recuperá-los com um novo valor a partir do programa de chamada.

9 15/1/20149 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Procedimentos (Procedures) Manipulação – Continuação Execução sem parametros - CALL ; Execução com parametros - CALL (, );

10 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Procedimentos (Procedures) Manipulação - Continuação Alteração – ALTER PROCEDURE AS BEGIN SELECT * FROM EMPREGADO ORDER BY CPF ASC END Exclusão - DROP PROCEDURE. ;

11 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gatilhos (Triggers) Um gatilho (ou TRIGGER) é uma porção de código composto por instruções SQL e não-SQL que ficam armazenados no catálogo do SGBD e que são ativados automaticamente pelo gerenciador de banco de dados quando um determinado evento ocorre. Os TRIGGERS poderão ser disparados para trabalharem antes ou depois do evento Apenas 1 TRIGGER por evento.

12 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gatilhos (Triggers) Eventos que podem acionar um TRIGGER: INSERT, UPDATE, REPLACE, DELETE OU UPDATE Pode-se definir vários TRIGGER em um banco de dados. As clausulas que definem quando o TRIGGER será disparado são : BEFORE - Antes de um evento. AFTER - Depois de um evento.

13 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gatilhos (Triggers) Operadores necessários para acessar atributo/valor para definição na criação de um TRIGGER: NEW.nome_coluna – Disponivel quando ao inserir o uma nova linha ou tupla na tabela. OLD.nome_coluna – Disponivel ao excluir uma linha ou tupla NEW e OLD estão disponiveis para UPDATE e REPLACE

14 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gatilhos (Triggers) Diretrizes para uso de TRIGGERS: INSERT: o operador NEW.nome_coluna, nos permite verificar o valor enviado para ser inserido em uma coluna de uma tabela. OLD.nome_coluna não está disponível. DELETE: o operador OLD.nome_coluna nos permite verificar o valor excluído ou a ser excluído. NEW.nome_coluna não está disponível. - UPDATE: tanto OLD.nome_coluna quanto NEW.nome_coluna estão disponíveis, antes (BEFORE) ou depois (AFTER) da atualização de uma linha.

15 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gatilhos (Triggers) Exemplo :

16 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Conexão de BD com Linguagem de programação O SQL Server pode ser utilizado com varias linguagens, entre elas o PHP, e há duas formas distintas de conexão ao banco de dados utilizando a linguagem de programação interpretada. Uma das formas e a mais usada é a conexão nativa do PHP mssql_connect(), a outra forma é a conexão ODBCbanco de dadosprogramação

17 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Conexão de BD com Linguagem de programação Conexão nativa com mssql_connect(): A conexão mssql_connect() do PHP é realizada através da extensão do PHP chamada php_pdo_mssql, o código: Um exemplo de select com esta conexão: '; } ?>conexão

18 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Conexão de BD com Linguagem de programação Conexão através de ODBC: A conexão ODBC é a mais utilizada em casos onde a linguagem não tem conexão nativa, porém pode ser utilizada para qualquer conexão a banco de dados. Um exemplo de select com esta conexão: '; } ?>

19 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Exercícios TRIGGERS: Criar uma tabela com nome tbl_cliente com os seguintes atributos: cliente_id int cliente_nome char(80) not null cliente_ char(40) not null dt_cadastro time not null Criar um trigger que valide se os dados foram passados em uma declaração INSERT antes (BEFORE) que sejam cadastrados na tabela de exemplo. Validar o nome com quantidade de caracteres maior ou igual a 4 (quatro), dica, usar a função CHAR_LENTH(). Criar um TRIGGER para gravar o histórico de exclusão de registros, contendo data da exclusão, nome do usuário e nome do cliente

20 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Exercícios Procedures: Criar um stored procedure para efetuar consulta de pedidos, incluindo os itens, passando-se o numero do pedido como parametro (usar tabelas criadas em laboratório nas aulas anteriores). Todos os scripts de exercicios, funcionando ou nao devem ser enviados para o do professor.

21 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com BIBLIOGRAFIA BÁSICA 1 DATE, C.J. Introdução a Sistemas de Bancos de Dados. 8ª Ed. Rio de Janeiro: Campus, NAVATHE, S. B.; ELMASRI, R. E. Sistemas de Banco de Dados, 4ª edição, Editora Pearson Addison Wesley, SETZER, V. W., SILVA, F.S.C. Banco de Dados. 1ª Ed. São Paulo: Edgard Blucher, BIBLIOGRAFIA COMPLEMENTAR 4 COUGO, P. Modelagem Conceitual e Projeto de Banco de Dados, Editora Campus. 5 KORTH, H. F.; SILBERSCHATZ, A.; SUDARSHAN, S., Sistemas de Banco de Dados, Editora Makron Books, MACHADO, Felipe Nery Rodrigues: Análise Relacional de Sistemas; São Paulo: Editora Érica, SETZER, V.W., NASSU, E.A. Banco de Dados Orientados a Objetos. São Paulo: Ed. Edgard Blucher, BIBLIOGRAFIA


Carregar ppt "15/1/20141 BANCO DE DADOS EM APLICATIVOS WEB Aula 13 Professor Leomir J. Borba- –http://professorleomir.wordpress.com."

Apresentações semelhantes


Anúncios Google