A teoria dos setores aplicada ao banco de dados
Projeto de pesquisa: A teoria dos setores aplicada ao banco de dados. Pesquise 862.000+ trabalhos acadêmicosPor: thaisrss • 3/12/2014 • Projeto de pesquisa • 833 Palavras (4 Páginas) • 483 Visualizações
Teoria dos Conjuntos aplicadas a banco de dados
Introdução:
Utilizaremos em nossa pesquisa o SQL, vamos abordar a teor ia dos conjuntos em junções SQL, tomando como exemplo estruturas de algumas queryes.
A SQL (Structured Query Language) é uma linguagem de programação especialmente designada para gerenciamento de dados em um sistema de banco de dados relacional. Surgida nos anos 70, a SQL foi originalmente baseada na álgebra relacional, uma forma de cálculo sobre conjuntos e relações. Na SQL, algumas das operações de junções entre tabelas podem ser facilmente demonstradas com a teoria dos conjuntos. Os diagramas de Venn simbolizam graficamente as propriedades relativas aos conjuntos e sua teoria.
Também destacamos que estas são apenas sugestões de técnicas que podem ser aplicadas, pois o processo de tuning de instruções SQL, ou seja, otimizar uma instrução para que ela seja executada mais rapidamente, é complexo, demorado, depende de cada cenário e exige uma boa dose de experiência. Contudo, quanto mais nos esforçarmos e focarmos na otimização, melhores serão os resultados.
Outro ponto importante, que é preciso destacar, é que estas técnicas podem ser aplicadas às quatro principais instruções SQL: SELECT, INSERT, UPDATE e DELETE. Como dito anteriormente, algumas delas também são válidas para os bancos de dados No SQL, um vez que, apesar de a linguagem SQL não ser empregada, muitos dos conceitos são os mesmos (geração de plano de execução, uso de índices, métricas etc).
1. Empregando Bem os conceitos de Teoria de Conjuntos
s
Uma das técnicas de otimização mais disseminadas e podemos citar repetidamente à exaustão, envolve trocar o processamento linha a linha (cursor) por operações baseadas em conjunto (set-based). Com certeza essa técnica é válida, mas não devemos parar por aí.
Atualmente, existem diversos dialetos do padrão SQL (Pl/SQL, T-SQL, etc) possuem operadores que são muito parecidos com as operações de conjuntos união, intersecção e diferença, como as operações UNION, INTERSECT e MINUS, respectivamente. Em muitas situações vale a pena pensar em termos de conjunto para montar uma instrução SQL otimizada. Por exemplo: para atualizar determinado conjunto de linhas, podemos pensar em obter todas as linhas dessa tabela e retirar as linhas da outra tabela. Nesse caso, deve-se considerar utilizar o operador MINUS.
O mais importante dessa técnica não é, necessariamente, empregar este ou aquele operador, ou joins; e sim mostrar que é possível pensar de maneira diferente em relação ao processo normal e muitas vezes já viciado na cabeça do desenvolvedor. A teoria de conjuntos, matematicamente falando, é muito poderosa e com alto grau de expressão. Saber aplicá-la quando se trabalha com instruções SQL pode fazer muita diferença, principalmente quando se busca obter desempenho.
2. Alguns exemplos de teoria dos conjuntos em junções SQL
INNER JOIN
A junção interna é a mais simples e mais comum. Esta consulta retorna somente o conjunto de registros que possuem coincidência entre as tabelas:
SELECT *
FROM TabelaA A
INNER JOIN TabelaB B
ON A.id = B.id
LEFT OUTER JOIN
Esta junção externa à esquerda inclui todos os registros da tabela da esquerda e inclui os registros da tabela da direita apenas quando registros coincidentes são encontrados:
SELECT *
FROM TabelaA A
LEFT OUTER JOIN TabelaB B
ON A.id = B.id
LEFT OUTER JOIN exclusiva
Esta consulta retorna todos os registros da tabela da esquerda que não possuem coincidentes na tabela da direita. É realizado o mesmo LEFT OUTER JOIN, excluindo os registros coincidentes na tabela da direita com a cláusula WHERE:
SELECT
...