Atualização de Views e Teoria Relacional
Solucionando o Problema da Atualização de Views
Descrição do livro
Views são tabelas virtuais. Isto significa que devem ser atualizáveis, da mesma forma que as tabelas de base ou “reais” o são. Na verdade, a capacidade de atualização de views não é apenas desejável, é crucial, por motivos práticos e teóricos. Todavia, a atualização de views tem sido um tópico controverso. Desde que o modelo relacional surgiu, tem havido um ceticismo amplo quanto a se (de modo geral) a atualização de views é até mesmo possível.
Em total contraste com a sabedoria popular, este livro mostra como views, assim como tabelas de base, sempre podem ser atualizadas (desde que as atualizações não violem alguma restrição de integridade). De modo mais geral, mostra como a atualização sempre deve funcionar, independentemente de o alvo ser uma tabela de base ou uma view. O esquema proposto é 100% consistente com o modelo relacional, mas bastante diferente da forma por meio da qual a atualização funciona em produtos SQL atualmente.
Este livro pode:
Ajudar na melhoria futura de produtos de banco de dados
Ajudar com uma implementação “faça você mesmo”, se não houver tais melhorias nos produtos
Torná-lo ciente do papel crucial de predicados e restrições
Mostrar a você como produtos relacionais, realmente, devem se comportar
Qualquer pessoa com interesse profissional no modelo relacional, tecnologia relacional ou sistemas de banco de dados de modo geral pode se beneficiar com este livro.
Ver menos ▲Sumário
Sumário
- Sobre o autor
- Prefácio
- Prólogo
- Um exemplo motivador
- Princípio da permutabilidade
- Apenas tabelas de base: restrições
- Apenas tabelas de base: ações compensatórias
- Views: restrições e ações compensatórias
- Não há mágica
- Observações finais
- O contexto técnico
- Relações e relvars
- Atribuição relacional
- Restrições de integridade
- Predicados de relvar
- Correspondendo, não correspondendo e estendendo
- Bancos de dados e dbvars
- O conceito de view: uma análise mais profunda
- Views são pseudovariáveis
- Independência de dados
- Como não fazê-lo
- Restrições e predicados
- Equivalência de informação
- Observações finais
- Views de restrição
- O exemplo motivador revisitado
- Mais sobre ações compensatórias
- E os gatilhos?
- E operações de atualização explícita?
- Fornecedores e remessas
- Continuação do exemplo motivador
- Juntando tudo
- A questão, finalmente
- Restrições de intersecção
- Observações finais
- Views de projeção
- Exemplo 1: uma decomposição sem perda
- Continuação do exemplo 1: as relvars de projeção
- Continuação do exemplo 1: views
- Exemplo 2: outra decomposição sem perda
- Exemplo 3: uma decomposição com perda
- Observações finais
- Views de junção I: junções uma para uma
- Exemplo 1: equivalência de informação
- Exemplo 2: ocultação de informações
- Observações finais
- Views de junção II: junções muitas para muitas
- Exemplo 1: equivalência de informação
- Revisão de views de projeção
- Exemplo 2: escondendo informações
- Observações finais
- Views conjuntas III: junções uma para muitas
- Exemplo 1: equivalência de informação
- Exemplo 2: escondendo informações
- Observações finais
- Views de intersecção
- Exemplo 1: intersecção explícita
- Exemplo 2: intersecção implícita
- Observações finais
- Views de união
- Exemplo 1: união disjunta
- Exemplo 2: intersecção explícita
- Exemplo 3: intersecção implícita
- Observações finais
- Views de diferença
- Exemplo 1: intersecção implícita
- Exemplo 2: intersecção explícita
- Observações finais
- Agrupando e desagrupando views
- Operadores GROUP e UNGROUP
- Um exemplo de GROUP / UNGROUP
- Um exemplo de SUMMARIZE
- Views de extensão e resumo
- Um exemplo de EXTEND
- Outro exemplo com SUMMARIZE
- Atualizando por meio de expressões
- Semântica não sintaxe (?)
- Algumas tautologias bem conhecidas
- “Transformações semânticas”
- Equivalência de informação revista
- Observações finais
- Ambiguidade revista
- Predicados e restrições revisados
- Um exemplo de intersecção
- Exemplos de união e diferença
- Mais sobre predicados
- Observações finais
- Algumas observações sobre atribuições relacionais
- Operadores relacionais






