Views (Visões)
As views também são chamadas de tabelas virtuais ou derivadas;
Os dados nessas tabelas virtuais são derivados de tabelas da base de dados ou views previamente definidas;
Há possíveis limitações nas operações de atualização que podem ser aplicadas à views, mas não existe quaisquer limitações sobre a consulta de uma view.
2
Views (Visões)
A criação de uma view é útil quando:
◦ Precisamos referenciar determinada(s)
tabela(s) com frequência; ou
◦ Quando precisamos realizar consultas
complexas.
3
Views (Visões): Vantagens
Algumas vantagens do uso das views:◦ Controle sobre o que o usuário pode ver. (É possível
selecionar os campos que o usuário terá acesso)
◦ Simplifica a consulta. (Criando uma view não é necessário fornecer parâmetros para consulta toda vez que a mesma será executada)
◦ Segurança. (Uma view é um objeto do banco de dados, portanto, é possível atribuir permissões de usuário)
◦ Exportação de dados. (Os dados em uma viewpodem ser exportados utilizando utilitários específicos dos SGBDs).
4
Views (Visões): Sintaxe
Sintaxe de criação/alteração de uma
view:
CREATE VIEW nome_visao AS
declararacao_select;
ALTER VIEW nome_visao AS
declararacao_select;
5
Stored Procedures
Stored Procedures ou Procedimentos
Armazenados, são um conjunto de
declarações SQL armazenadas no
servidor.
8
Stored Procedures
Procedimentos Armazenados são utilizados principalmente quando:◦ Aplicações clientes são escritas em
diferentes linguagens ou trabalham em diferentes plataformas, mas precisam executar as mesmas operações de banco de dados;
◦ A segurança é primordial. Bancos, por exemplo, utilizam funções e procedimentos armazenados para todas operações comuns. Isto provê consistência e segurança, pois cada operação é devidamente registrada.
9
Stored Procedures
Rotinas armazenadas podem fornecer melhor desempenho pois menos informação precisa ser enviada entre o cliente e o servidor;
A desvantagem é que aumenta-se a carga no servidor de banco de dados;
Permitem a criação de uma biblioteca de funções no servidor de banco de dados.
10
Stored Procedures: Sintaxe
Sintaxe de criação de um procedure:
CREATE PROCEDURE
nome_procedimento (parâmetros)
BEGIN
declarações_de_rotina_sql;
END
11
Stored Procedures: Sintaxe
Sintaxe de criação de um procedure:
CREATE PROCEDURE
nome_procedimento (parâmetros)
BEGIN
declarações_de_rotina_sql;
END
Observação: Os parâmetros de um procedimento podem ser de IN
(entrada), OUT (saída), ou INOUT (entrada/saída). O tipo dos
parâmetros podem ser de algum tipo de dado válido, por exemplo, INT,
CHAR, DATE, etc.12
Functions: Sintaxe
Sintaxe de criação de uma function:
CREATE FUNCTION nome_função
(parâmetros) RETURNS
tipo_retorno
BEGIN
declarações_de_rotina_sql;
RETURN retorno_funcao;
END14
Functions: Sintaxe
Sintaxe de criação de uma function:
CREATE FUNCTION nome_função
(parâmetros) RETURNS
tipo_retorno
BEGIN
declarações_de_rotina_sql;
RETURN retorno_funcao;
ENDObservação: Os parâmetros de uma função podem ser apenas IN
(entrada). A exemplo dos procedimentos, o tipo dos parâmetros podem
ser de algum tipo de dado válido, por exemplo, INT, CHAR, DATE, etc.
15
Triggers (Gatilhos)
Trigger é um objeto do banco de
dados que está associado a uma
tabela, e é ativado quando um evento
particular ocorre na tabela;
Principais usos são:
◦ Executar verificações de valores; ou
◦ Fazer cálculos sobre os valores
informados em uma atualização.
17
Triggers (Gatilhos)
O Trigger é ativado quando uma
declaração de INSERT, UPDATE ou
DELETE ocorre na tabela associada;
O disparo do "gatilho" pode ser
configurado para ocorrer antes ou
depois do evento de disparo.
18
Referências
Documentação oficial do MySQL:◦ http://dev.mysql.com/doc/refman/5.5/en/create-view.html
◦ http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html
◦ http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
◦ http://dev.mysql.com/doc/refman/5.5/en/set-statement.html
◦ http://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html
Elmasri, Ramez. Sistemas de Banco de Dados. 6ª ed. São Paulo: Pearson Addison Wesley, 2011.
Silberschatz, Abraham; Korth, Henry F.; Sudarshan, S. Sistema de Banco de Dados. São Paulo: MakronBooks, 1999.
23