TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Programação Avançada em Banco de Dados SQL

Por:   •  2/4/2020  •  Exam  •  2.274 Palavras (10 Páginas)  •  145 Visualizações

Página 1 de 10

Prova 2 -  Programação Avançada de Banco de Dados

  1. Defina o que é um BLOB. Esses campos podem ser indexados pelo Oracle?

Resp.: É uma coleção de dados binários armazenados como uma única entidade em um sistema de gerenciamento de banco de dados. E podem ser indexados

  1. Qual a finalidade da package DBMS_LOB? Dê a definição e exemplifique o uso da função dbms_lob.getlength.

Resp.: O pacote DBMS_LOB fornece subprogramas para operar em CLOBs, BLOBs, NCLOBs, BFILEs e arquivos temporários. Você pode usar DBMS_LOB para acessar e manipulação de partes específicas de um LOB ou LOBs completos.

  1. Quais são as duas formas de armazenar um BLOB?

Resp.: Direto no BD (Blobs) e vinculado ao BD (Database File System Links)

  1. Quais são as formas de se implementar os comandos de acesso ao BD vistos em laboratório?

Resp.:

  1. Dependendo da forma de se construir os comandos de BD podemos equilibrar a utilização do servidor e do cliente. Esse equilíbrio é melhor evidenciado em qual formato de comando?

Resp.:

  1. Ao utilizarmos tabelas temporárias temos que pensar no modo de retenção dos seus dados. Indique quais são as opções e o que cada um faz com a informação armazenada.

Resp.:

  1. As tabelas temporárias servem para reduzir o processamento, explique de que forma elas influenciam nisso.

Resp.: Elas são mais eficientes para processar dados, é claro, desde que a quantidade de dados não ultrapasse a memória disponível. Elas podem ser criadas e destruídas dinamicamente e ter um escopo limitado. Pode-se criar e destruir tabelas temporárias dinamicamente. Elas podem refletir a estrutura de dados de uma tabela "física" ou podem ter uma estrutura de dados para um caso de uso particular, como por exemplo dados extraídos para um relatório. Pode-se armazenar temporariamente resultados de uma extração de dados demorada, como um cache.

Blocos Nomeados em PL/SQL

  • Blocos nomeados: são objetos procedurais do BD criados em PL/SQL com a capacidade de serem executados repetidas vezes a partir de comandos SQL
  • Em Oracle pode-se ter 2 tipos diferentes de blocos nomeados em PL/SQL
  • Procedures: bloco PL/SQL responsável por executar o código e não retornar valor para o ponto de chamada;
  • Functions: bloco PL/SQL responsável por executar o código e retornar valor para o ponto de chamada;

Características Gerais das Procedures e Functionsb

  • Comando: CREATE OR REPLACE;
  • São compilados na criação e o pseudo-código é gerado;
  • São criados mesmo com erro de compilação;
  • A dependência entre eles é rastreável;
  • São debugávies (requer privilégios);
  • O código-fonte e o pseudo-código são armazenados no BD;
  • O código-fonte é recuperável a partir do BD;

Características Gerais das Procedures e Functions

  • São executadas a partir de:
  • Linha de comando do SQL*PLUS ou outra IDE
  • Outro código PL/SQL (proc, func, package, trigger, bloco anônimo)
  • Podem possuir parâmetros:
  • IN (Tipo Default): parâmetros de entrada. O seu valor não pode ser modificado dentro da rotina;
  • OUT: parâmetro de saída. O seu valor é modificado internamente no código e retornado para o ponto de chamada;
  • IN OUT: é combinação dos anteriores;
  • Cada parâmetro pode possuir um valor default;
  • Best practice: utilize a declaração pelos atributos %ROWTYPE ou %TYPE;
  • Os parâmetros podem ser fornecidos na forma posicional ou nomeada;

[pic 1]

Evitar parâmetros desnecessários

  • Acostume-se a gerar os dados a seguir internamente, sem definição de parâmetros:
  • Primary Keys: utilize sequences a partir do P&F;
  • Usuário e data corrente: utilize as funções USER e SYSDATE;
  • Armazenar valores defaults sempre que possível nos registros;
  • Implemente regras de negócio para calcular automaticamente os valores;

Gestão da Segurança das P&F

  • A segurança de acesso é gerenciável por privilégios do BD;
  • Uma P & F executa sob a autoridade do seu proprietário e não do usuário conectado;
  • O proprietário deve possuir acesso aos objetos referenciados pela P&F;
  • O usuário precisa de privilégio de execução das P&F e não nos objetos acessados;
  • As P&F são invalidadas em caso de quebra na dependência;
  • A re-compilação é forçada pelo BD quando inválido;

Sintaxe para Procedures e Functions

create [or replace] procedure [()] is

        

        Begin

                         

        [exception

                        ]

        end [];

create [or replace] function [()]

        return is

...

Exemplo Procedure

        create procedure raise_salary(dno number, percentage number DEFAULT 0.5) is

                cursor emp_cur (dept_no number) is select SAL from EMP

                                where DEPTNO = dept no for update of SAL;

                empsal number(8);

        begin

                open emp cur(dno); /* Aqui dept_no recebe dno */

                loop

                        fetch emp_cur into empsal;

                        exit when emp_cur%NOTFOUND;

...

Baixar como (para membros premium)  txt (11.7 Kb)   pdf (795.9 Kb)   docx (1.4 Mb)  
Continuar por mais 9 páginas »
Disponível apenas no TrabalhosGratuitos.com