Você está na página 1de 3

Tarefa Banco de dados II

1) Para que servem os procedimentos, funções e gatilhos?


É possível simplificar tarefas complexas e repetitivas através da
reutilização de códigos criando esses pequenos programas para
serem reutilizados.

2)Cite algumas vantagens de usar procedimentos, funções e gatilhos.


É possível aliviar as regras de negócios nas aplicações ao executar
programas diretamente dentro do banco de dados, trazendo ganho de
desempenho também.

3)Quais são as diferenças básicas entre procedimentos, funções e gatilhos?


Procedimentos e funções servem para executar um conjunto de ações
no banco de dados para, por exemplo, manipular dados e executar
cálculos envolvendo esses dados.
Um gatilho é criado para "observar" mudanças em somente uma
tabela, mas uma tabela pode ser "observada" por vários gatilhos.
Um gatilho pode invocar apenas um procedimento, mas um
procedimento pode ser invocado por vários gatilhos

4)Qual é a linguagem padrão criada para o PostgreSQL para a implementação de


procedimentos,funções e gatilhos? É possível usar outras linguagens?
SQL não possui estruturas de controle. É uma linguagem de consulta;
PL/pgSQL (Procedural Language) é uma linguagem estruturada
desenvolvida para o PostgreSQL. Ela incorpora ao SQL recursos como
as estruturas de sequência, seleção e repetição. O PL significa
Linguagem Procedural.
É possível utilizar outras linguagens como PL/Python, PL/Java,
PL/PHP, PL/R, etc.

5)As linguagens em diferentes bancos de dados (SGBDs mais especificamente) são


padronizadas?
Não há padronização. A sintaxe depende do banco de dados;

6)Cite alguns exemplos de funções já implementadas.Exemplos:avg(), max(), min(),


sum()

7)O que é e como funciona uma transação?Uma transação é uma unidade lógica de
trabalho que pode ser
formada por várias operações. Todas as operações devem ser bem
sucedidas ou todas as operações devem ser canceladas.

8)Quais são as características de uma transação?Cite um exemplo onde uma transação


é útil e desejável.
Uma transação é uma unidade lógica de trabalho que pode ser
formada por várias operações. Todas as operações devem ser bem
sucedidas ou todas as operações devem ser canceladas.
Um exemplo clássico de transação é o processo transferência
bancária.

9)Quais são os comandos para iniciar e finalizar uma transação?


Para iniciar uma transação, usa-se "BEGIN TRANSACTION" ou
simplesmente "BEGIN".
Após a iniciar a transação, várias operações podem ser realizadas.
Depois de realizadas todas as operações desejadas, será possível
confirmar ou cancelar toda a transação.
Após confirmar uma transação, não será possível voltar mais atrás!
Para concluir uma transação confirmando as modificações realizadas
usa-se "COMMIT TRANSPÇTION" oU simplesmente "COMMIT".
Para concluir uma transação cancelando as modificações, usa-se
"ROLLBACK TRANSACTION" ou simplesmente "ROLLBACK".

Finalidade dos procedimentos, funções e gatilhos


• Procedimentos, funções e gatilhos são pequenos programas
armazenados no banco de dados.
É possível simplificar tarefas complexas e repetitivas através da
reutilização de códigos criando esses pequenos programas para
serem reutilizados.
• É possível aliviar as regras de negócios nas aplicações ao executar
programas diretamente dentro do banco de dados, trazendo ganho de
desempenho também.

Linguagem usada nos procedimentos, funções e gatilhos


SQL não possui estruturas de controle. É uma linguagem de consulta;
PL/pgSQL (Procedural Language) é uma linguagem estruturada
desenvolvida para o PostgreSQL. Ela incorpora ao SQL recursos como
as estruturas de sequência, seleção e repetição. O PL significa
Linguagem Procedural.
É possível utilizar outras linguagens como PL/Python, PL/Java,
PL/PHP, PL/R, etc.
Não há padronização. A sintaxe depende do banco de dados;

Uso de procedimentos e funções


Procedimentos e funções servem para executar um conjunto de ações
no banco de dados para, por exemplo, manipular dados e executar
cálculos envolvendo esses dados.
Funções e procedimentos funcionam de forma semelhante, mas
funções retornam valores enquanto os procedimentos não retornam.
Exemplos de funções já existentes: avg(), max(), min(), sum(

Uso de gatilhos
Gatilhos são criados para para executar ações automáticas quando
ocorrem alterações em uma determinada tabela de dados.
Um gatilho é criado para "observar" mudanças em somente uma
tabela, mas uma tabela pode ser "observada" por vários gatilhos.
Um gatilho pode invocar apenas um procedimento, mas um
procedimento pode ser invocado por vários gatilhos.

Uma transação é uma unidade lógica de trabalho que pode ser


formada por várias operações. Todas as operações devem ser bem
sucedidas ou todas as operações devem ser canceladas.
Um exemplo clássico de transação é o processo transferência
bancária. A transação deve garantir que o valor subtraído de uma
conta seja adicionado na conta desejada ou a transação inte
ser cancelada.

No PostgreSQL, uma transação segue as propriedades ACID, que são:


Atomicidade: garante que a transação seja inteiramente concluída ou que
seja inteiramente cancelada;
Consistência: garante que as alterações nos dados sejam válidas e sigam
as regras predefinidas da estrutura de dados;
Isolamento: garante que as transações não interfiram umas nas outras
mesmo quando executadas simultaneamente;
Durabilidade: garante que as alterações realizadas por uma transacão
bem sucedida sejam persistidas para que possam ser acessad
posteriormente.

Para iniciar uma transação, usa-se "BEGIN TRANSACTION" ou


simplesmente "BEGIN".
Após a iniciar a transação, várias operações podem ser realizadas.
Depois de realizadas todas as operações desejadas, será possível
confirmar ou cancelar toda a transação.
Após confirmar uma transação, não será possível voltar mais atrás!

Para concluir uma transação confirmando as modificações realizadas


usa-se "COMMIT TRANSPÇTION" oU simplesmente "COMMIT".
Para concluir uma transação cancelando as modificações, usa-se
"ROLLBACK TRANSACTION" ou simplesmente "ROLLBACK".

Você também pode gostar