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

A teoria dos setores aplicada ao banco de dados

Projeto de pesquisa: A teoria dos setores aplicada ao banco de dados. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  3/12/2014  •  Projeto de pesquisa  •  833 Palavras (4 Páginas)  •  439 Visualizações

Página 1 de 4

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

...

Baixar como (para membros premium)  txt (5.6 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com