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

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

BANCO DE DADOS EM APLICATIVOS WEB Aula 13

Apresentações semelhantes


Apresentação em tema: "BANCO DE DADOS EM APLICATIVOS WEB Aula 13"— Transcrição da apresentação:

1 BANCO DE DADOS EM APLICATIVOS WEB Aula 13
25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 1

2 Agenda Procedimentos (Procedures) Gatilhos (Triggers)
Conexão do Banco de Dados com a Linguagem de Programação. 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 2

3 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. Professor Leomir J. Borba- – 25/03/2017 25/04/2011 Professor Leomir J. Borba- – 3

4 Procedimentos (Procedures)
Modelos de acesso 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 4

5 Procedimentos (Procedures)
Modelos de acesso - continuação Explicar compilação na primeira execuação e execução em cache a partir da segunda execução para otimização. 25/03/2017 5 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 5 5

6 Procedimentos (Procedures)
Manipulação Criação – Sem Parametros. DELIMITER // CREATE PROCEDURE <NOME PROCEDURE> AS BEGIN SELECT * FROM EMPREGADO ORDER BY NOME DESC END // Explicar compilação na primeira execuação e execução em cache a partir da segunda execução para otimização. 25/03/2017 6 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 6 6

7 Procedimentos (Procedures)
Manipulação Criação – Com Parametros. DELIMITER // CREATE PROCEDURE <NOME PROCEDURE>( IN NOMEVARIAVEL INT) AS BEGIN SELECT * FROM EMPREGADO ORDER BY NOME DESC END // Explicar compilação na primeira execuação e execução em cache a partir da segunda execução para otimização. Professor Leomir J. Borba- – 25/03/2017 7 25/04/2011 Professor Leomir J. Borba- – 7 7

8 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. Explicar compilação na primeira execuação e execução em cache a partir da segunda execução para otimização. Professor Leomir J. Borba- – 25/03/2017 8 25/04/2011 Professor Leomir J. Borba- – 8 8

9 Procedimentos (Procedures)
Manipulação – Continuação Execução sem parametros - CALL < NOME PROCEDURE>; Execução com parametros - CALL < NOME PROCEDURE>(<par 1>, <par 2>); Explicar compilação na primeira execuação e execução em cache a partir da segunda execução para otimização. 25/03/2017 9 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 9 9

10 Procedimentos (Procedures)
Manipulação - Continuação Alteração – ALTER PROCEDURE <NOME PROCEDURE> AS BEGIN SELECT * FROM EMPREGADO ORDER BY CPF ASC END Exclusão - DROP PROCEDURE <SCHEMA>.<NOME PROCEUDRE>; Ativação pode ser feita com exec ou call, depende da versao Professor Leomir J. Borba- – 25/03/2017 10 25/04/2011 Professor Leomir J. Borba- – 10 10

11 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. 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 11

12 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. 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 12

13 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 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 13

14 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. 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 14

15 Gatilhos (Triggers) Exemplo : 25/03/2017
Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 15

16 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 ODBC 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 16

17 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: <? $con = mssql_connect("servidor", "usuario", "senha"); mssql_select_db("bancodedados",$con); ?> Um exemplo de select com esta conexão: <? $SQL = "SELECT * FROM bancodedados.dbo.tabela"; $res = mssql_query($SQL,$con); while($RFP = mssql_fetch_array($res)) { echo $RFP['campo'].'<br />'; } ?> 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 17

18 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. <? $con = odbc_connect("DRIVER={SQL Server}; SERVER=servidor; DATABASE=bancodedados;", "usuario","senha"); ?> Um exemplo de select com esta conexão: <? $SQL = "SELECT * FROM bancodedados.dbo.tabela"; $res = odbc_exec($con, $SQL) while($RFP = odbc _fetch_array($res)) { echo $RFP['campo'].'<br />'; } ?> 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 18

19 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 Exercícios arquivo word. Professor Leomir J. Borba- – 25/03/2017 25/04/2011 Professor Leomir J. Borba- – 19

20 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. Professor Leomir J. Borba- – 25/03/2017 20 25/04/2011 Professor Leomir J. Borba- – 20 20

21 BIBLIOGRAFIA 25/03/2017 BIBLIOGRAFIA BÁSICA 1 2
DATE, C.J. Introdução a Sistemas de Bancos de Dados. 8ª Ed. Rio de Janeiro: Campus, 2004. 2 NAVATHE, S. B.; ELMASRI, R. E. Sistemas de Banco de Dados, 4ª edição, Editora Pearson Addison Wesley, 2005. 3 SETZER, V. W., SILVA, F.S.C. Banco de Dados. 1ª Ed. São Paulo: Edgard Blucher, 2005. 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, 1999. 6 MACHADO, Felipe Nery Rodrigues: Análise Relacional de Sistemas; São Paulo: Editora Érica, 7 SETZER, V.W., NASSU, E.A. Banco de Dados Orientados a Objetos. São Paulo: Ed. Edgard Blucher, 25/03/2017 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- – 21


Carregar ppt "BANCO DE DADOS EM APLICATIVOS WEB Aula 13"

Apresentações semelhantes


Anúncios Google