Tópicos Avançados em Banco de Dados
Dependências sobre regime e
controle de objetos em Banco de Dados
Prof. Hugo Souza
afinal, o que é um BD. . . ?
• Após vermos uma breve contextualização sobre
esquemas para bases dados e aprendermos para que
serve e como estão formadas as configurações, iremos
abordar as principais dependências e limitações
comuns na formulação de perfis específicos;
• Para isso é importante que entendamos o que é uma
dependência, como elas atuam nos objetos, e como são
definidos o gerenciamento desses fatores tanto
localmente quanto remotamente;
• Os objetos são os mesmos que vimos, com suas devidas
características e descrições, adicionando apenas a
necessidade de observar a sintaxe SQL (PL/SQL) e
identificar como ela deve atuar em bases e esquemas;
afinal, o que é um BD. . . ?
• O conceito de dependências para esquemas em bases
de dados é simples. Alguns tipos de objetos de esquema
podem referenciar outros objetos, de forma que isso seja
registrado como parte de sua definição. Por exemplo,
uma visão é definida por uma consulta que faz
referência a tabelas ou outras visões;
• O “corpo” do procedimento pode incluir declarações
SQL que referenciem outros objetos. Na base de dados,
um objeto que faz referência a outro objeto como parte
de sua definição é chamada de objeto dependente,
enquanto o objeto a ser referenciado é chamado de
objeto referenciado. A ligação é determinada de
acordo com a implementação e infraestrutura de
arquivos;
afinal, o que é um BD. . . ?
• Tipos possíveis de objetos dependentes/referenciados;
afinal, o que é um BD. . . ?
• Se você alterar a definição de um objeto referenciado,
os demais objetos dependentes podem ou não continuar
a funcionar sem erro, dependendo do tipo da alteração;
• A base “registra” automaticamente as dependências
entre os objetos para aliviar o trabalho complexo de
gerenciamento
de
dependência
para
os
administradores;
• Caso outras alterações sejam realizadas mediante
autorização a base “tende” a recompilar novamente os
procedimentos para que eles sejam referenciados
novamente para verificar a consistência das operações;
• Para gerenciar as dependências entre objetos de
esquema, os objetos de esquema possuem status;
afinal, o que é um BD. . . ?
• Os objetos de esquema válidos que foram compilados
podem ser imediatamente utilizados quando forem
referenciados diferentemente dos objetos inválidos,
que devem ser recompilados antes de serem invocados;
• Para os procedimentos, funções e pacotes, isso significa
que a compilação do esquema requer revisão de código
SQL, ou ligações com demais objetos.Para as visões, isto
significa que elas devem ser reanalisada, utilizando a
corrente definição no dicionário de dados (MER ou
MOO) e afins;
• Os objetos quando recompilados precisam ser “linkados”
com suas devidas referências o quanto antes. Tabelas
são sempre válidos;
afinal, o que é um BD. . . ?
• Os objetos de esquema válidos que foram compilados
podem ser imediatamente utilizados quando forem
referenciados diferentemente dos objetos inválidos,
que devem ser recompilados antes de serem invocados;
• Para os procedimentos, funções e pacotes, isso significa
que a compilação do esquema requer revisão de código
SQL, ou ligações com demais objetos.Para as visões, isto
significa que elas devem ser reanalisada, utilizando a
corrente definição no dicionário de dados (MER ou
MOO) e afins;
• Os objetos quando recompilados precisam ser “linkados”
com suas devidas referências o quanto antes. Tabelas
são sempre válidos;
afinal, o que é um BD. . . ?
• Dependências indiretas de objetos;
afinal, o que é um BD. . . ?
• Justamente devido a esse conjunto de referências que
precisam de atenção para evitar conflitos em situações
adversas, a base necessita prover do controle de títulos
de seus objetos;
• Quando um objeto de esquema é referenciado
diretamente por uma instrução SQL ou indiretamente
através de uma referência a um objeto dependente, a
bases verifica o status do objeto explicitamente
especificado na instrução SQL e quaisquer objetos
referenciados, conforme necessário;
• Essa ação depende do estado dos objetos que estão
direta e indiretamente com a declaração e os
parâmetros que são passados a cada invocação;
afinal, o que é um BD. . . ?
• Neste caso, quando a referência se torna válida, a base
tem por função verificar qual o “nome” do objeto e
“avisar” a todos os demais que este possui
disponibilidade
de
atuação
informando
seus
dependentes ou de quem o próprio objeto está
dependendo;
• Quando ocorre esse processo, dizemos que a base está
gerenciando a resolução de nomes de objetos
através de instruções SQL através de dois passos básicos:
• Pesquisar a primeira parte do nome referenciado na
declaração SQL. Por exemplo, em HR.EMPLOYEES,
HR é a primeira parte;
afinal, o que é um BD. . . ?
• Quando um objeto de esquema foi qualificado, todas as
partes restantes do nome devem corresponder uma
parte válida do objeto encontrado;
• Por exemplo, se hr.employees.department_id é o
nome, então o RH é qualificado como um esquema, os
funcionários como uma tabela e
o ID
do
departamento deve corresponder a uma coluna;
• Se “funcionários” é qualificado como um pacote, então
“departamento” deve corresponder um procedimento
variável constante ou função de que o pacote que pode
ser requisitada por outros objetos em operações de SQL
padrões;
• A sintaxe corresponde na organização das “ligações”;
afinal, o que é um BD. . . ?
• A gerência das dependências de objetos nas bases é
classificada de acordo com a “localização” e “acesso”
que podem ser implementados os schemas;
• Essa tarefa é necessária principalmente para manter a
integridade dos relacionamentos existentes para
comportar as mudanças, e em um âmbito mais técnico
recompilar os objetos quando forem recodificados;
• O gerenciamento da dependência local ocorre
quando a base gerencia as dependências entre os
objetos em um único “banco de dados”. Por exemplo,
um instrução em um procedimento de referência pode
estar associado auma tabela na mesma base;
• Na dependência remota, o gerenciamento é. . .
afinal, o que é um BD. . . ?
• Provido baseado em dependências características
de ambientes distribuídos em uma rede. Uma base
pode desencadear vários fatores que necessitem de
“links” com objetos externos, como também de
requisitos não-funcionais que influenciam ainda
mais essa dependência;
• As redes podem “impor” certas confugurações que
limitem a execução de um objeto de esquema no
base, e consequentemente das referências que nela
estão declaradas;
• Para isso são “tratadas” as “assinaturas” de
verificação das bases – time stamp checking;
afinal, o que é um BD. . . ?
• O tempo de verificação checa em intervalos de
tempo pre-definidos, as mudanças sempre que um
procedimento é compilado ou recompilado em uma
determinada rotina;
• A cada verificação é realizada uma checagem que
precisa constar as restrições (o tempo que é criado,
alterado ou substituído) e registra-las no dicionário de
dados;
• A checagem é conhecida como “carimbo de tempo”
sendo criada, alterada ou substituída pela versão
compilada do procedimento que contém informações
remotas pela qual os objetos fazem referência, como
pacotes e outros procedimentos;
afinal, o que é um BD. . . ?
• Há também a depedência existente dentre schemas
com os objetos de schemas. As bases não gerenciam
dependências entre objetos remotos de esquemas em
diferentes locais sem que hajam refererências de acesso
distribuídas pelos procedimentos remotos;
• Suponha que uma visão local é criada e definida por
uma consulta que faz referência a uma tabela remota.
Elas também assumem que um processo local inclui
uma instrução SQL que faz referência a mesma tabela
remota;
• Como resultado, a visão local e o processo nunca são
invalidados, mesmo se a vista ou procedimento é
utilizado depois que a tabela é alterada;
afinal, o que é um BD. . . ?
• Para finalizar, é importante destacar que as
dependências são comuns e precisam ser contornadas
para bases locais e schemas, como também para casos
remotos de ambos;
• O gerenciamento de configurações é necessário para
referenciar os títulos e componentes de cada objeto à
cada nova alteração para que a base atualize as
informações;
• Tais aplicações são dependentes de objetos de esquema.
As dependência técnicas de gestão variam, dependendo
do ambiente de desenvolvimento;
afinal, o que é um BD. . . ?
• Acessem o Disco Virtual da Disciplina no endereço:
http://migre.me/3SPR1
• Baixem a “Aula 09” na pasta Slides;
• Próxima aula veremos Dicionário de Dados para Banco de
Dados;
• Dúvidas? – Estejam a vontade!
Download

Dependências sobre regime e controle de objetos