Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouNathalie Menor Alterado mais de 9 anos atrás
1
7P/SI – 2010/01 Prof. Carlos Alberto Seixas
2
Agenda Visão Geral sobre os Conceitos e Implementação sobre SGBs MySQL Revisão das Práticas Práticas 1 e 2 (aula 3). Prática 3 – Permissões no MySQL Prática 4 – Definição de chaves Novas Práticas: Prática 5 Prática 6 Pontos de discussão: Bancos de Dados Trabalho em grupo para preparação do seminário
3
Conceitos e Implementação sobre MySQL Views Uma view(visão) é uma tabela virtual na qual os dados não estão fisicamente armazenados. Ela é apenas uma visão de um grupo de colunas de uma ou mais tabelas do banco de dados. No exemplo abaixo, criaremos uma view que terá apenas as colunas COD_PRODUTO, DSC_PRODUTO. CREATE VIEW loja.VIEW_PRODUTOS AS SELECT cod_produto, dsc_produto FROM produtos;
4
View Resultado: CREATE VIEW loja.VIEW_PRODUTOS AS SELECT cod_produto, dsc_produto FROM produtos;
5
Stored Procedures Conjunto de comandos SQL armazendos no servidor que realizam tarefas específicas e são ativadas como comandos. Podem receber parâmetros de entrada, saída ou entrada e saída.
6
Stored Procedures Exemplo: DELIMITER $$ DROP PROCEDURE IF EXISTS escola.pr_total $$ CREATE PROCEDURE escola.pr_total ( OUT total INT) BEGIN SELECT count(0) INTO total FROM produtos; END $$
7
Stored Procedures Executando a procedure via linha de comando C:\ mysql -u root -p (após teclar ENTER informe a senha do usuário root) mysql> use loja (Informamos o database que iremos utilizar) mysql> call pr_total(@teste); (Chamamos a procedure pr_total e armazenamos o resultado em teste.) mysql> select @teste; ( Exibimos o resultado. No exemplo acima, trazemos a quantidade de produtos cadastrados.)
8
Triggers É um bloco PL/SQL armazendo em um banco de dados e executado sempre que o evento ocorrer. Esse evento pode ser um DML (update, insert, delete), um DDL (create, alter, drop, truncate table) ou mesmo um evento ocorrido do banco, como uma conexão, por exemplo.
9
Triggers Exemplo: Criaremos a tabela HISTÓRICO que armazenará todas as alterações de valores efetuadas na tabela de PRODUTOS. CREATE TABLE loja.historico ( COD_HIST INTEGER NOT NULL AUTO_INCREMENT, COD_PRODUTO INTEGER NOT NULL, DT_ALTERACAO DATE NOT NULL, VLR_ANTIGO DOUBLE(4,2) NOT NULL, VLR_NOVO DOUBLE(4,2) NOT NULL, FOREIGN KEY(COD_PRODUTO) REFERENCES produtos(COD_PRODUTO), PRIMARY KEY(COD_HIST) ) ENGINE = INNODB;
10
Triggers A trigger TR_PRODUP que será acionada quando ocorrer um UPDATE na tabela de PRODUTOS. DELIMITER $$ DROP TRIGGER loja.tr_produp $$ CREATE TRIGGER tr_produp BEFORE UPDATE ON produtos FOR EACH ROW BEGIN DECLARE TESTE VARCHAR(30); DECLARE DATA DATE; SET DATA = NOW(); INSERT INTO HISTORICO SET COD_PRODUTO = OLD.cod_produto, VLR_ANTIGO = OLD.vlr_produto, VLR_NOVO = NEW.vlr_produto, DT_ALTERACAO = DATA; END $$
11
Triggers Após alterarmos algum dado na tabela produtos é disparado a trigger tr_produp que fará automaticamente uma inserção na tabela de histórico. Para testarmos, pode-se alterar o valor de um produto de R$ 22,00 para R$ 25,00. UPDATE produtos SET vlr_produto = 25.00 WHERE cod_produto = 1;
12
Triggers Após a atualização, se dermos um SELECT na tabela HISTÓRICO teremos como resultado: SELECT * FROM historico;
13
Exercício Prática 1 – Manipulação de objetos no MySQL, via SQLYog,Verificação do serviço MySQL, conexão com MySQL através do MySQL Yog, criação Banco de Dados: Escola, criação tabela alunos, verificação do tipo de tabela criada
14
Pontos de discussão - Seminário Definição dos pontos propostos na aula passada; Apresentação de textos da pesquisa realizada; Construção de argumentação para os novos pontos apresentados;
15
Bibliografia Guia de referencia MySql 5.0, disponível em Mysql.com Julio César Martini,Imasters.com, Mysql 5.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.