Sie sind auf Seite 1von 4

Conceituao Terica

View (Viso): As Views so uma maneira simples de executar e exibir dados selecionados de consultas complexas em bancos de dados. Elas economizam grande quantidade de digitao e esforo e apresentam somente os dados que desejamos. O nome da viso deve ser distinto do nome de qualquer outra viso, tabela, sequncia ou ndice no mesmo esquema. A viso no materializada fisicamente. Em vez disso, a consulta executada toda vez que a viso referenciada em uma consulta. As vises so somente para leitura: o sistema no permite insero, atualizao ou excluso em uma viso. Exemplo: Filmes film_nom Tropa de Elite O Poderoso Chefo Transformers Xuxa E Os Duendes film_ano 2007 1972 2007 2002 cod_estudio 3 1 3 6

cod_estudio 1 2 3 4

Filmes_Estudio nom_estudio Paramount Fox Universal Disney

CREATE VIEW exemplo AS SELECT filmes.film_nom , filmes_estudio.* FROM filmes, filmes_estudio WHERE filmes.cod_estudio = filmes_estudio.cod_estudio; SELECT * FROM exemplo; exemplo nom_estudio Universal Paramount Universal

cod_estudio 3 1 3

film_nom Tropa de Elite O Poderoso Chefo Transformers

Stored Procedures (Procedimentos Armazenado): So uma coleo de comandos em SQL para dispensamento de Banco de dados. Encapsula tarefas repetitivas, aceita parmetros de entrada e retorna um valor de status (para indicar aceitao ou falha na execuo). O procedimento armazenado pode reduzir o trfego na rede, visto que os comandos so executados diretamente no servidor. Alm

de melhorar a performance, criar mecanismos de segurana entre a manipulao dos dados do Banco de Dados. Exemplo: Um procedimento que retorna todos os dados de filmes que sejam de um ano maior ao informado por parmetro: CREATE OR REPLACE FUNCTION filmes_ano (INTEGER) RETURNS SEOF filmes AS $$ SELECT * FROM filmes WHERE filme_ano >$1; SELECT filmes_ano (2005); Join (Juno): Uma juno uma operao que relaciona linhas em uma tabela com linhas em outra para que as colunas de ambas possam ser colocadas lado a lado nos resultados de pesquisa, como se viessem todas de uma nica tabela. Ele atua sobre duas ou mais operaes por vez. Os dados so combinados de modo a poderem ser comparados e contrastados. Quando usa-se o JOIN, como se as relaes tivessem sido unidas enquanto dura a consulta. A operao combina dados comparando valores em colunas especificadas. Atravs da operao, evita-se que seja necessrio colocar todas as informaes em uma mesma relao. Isso gera uma melhora na performance e eficincia. Na maioria dos sistemas a operao JOIN especificada no WHERE. Operaes de JOIN so expressas implicitamente e no explicitamente. Cada JOIN especificado em duas relaes usando uma coluna de cada relao. Inner Join (Juno Interna): Uma Juno Interna uma juno condicional, ou seja, so as junes que tem as clusulas WHERE unindo a chave primria estrangeira das tabelas afetadas pelo SELECT. Usa-se o INNER JOIN quando quer-se juntar duas ou mais tabelas por coincidncia. Para chamar uma INNER JOIN no necessrio que aparea a palavra INNER. Se vier s a palavra JOIN, presume-se que uma Juno Interna. Exemplo: Diretor dir_nom Jos Padilha Peter Jackson Francis Ford Coppola

dir_cod 1 2 3

dir_cod 1 2 4

Filme film_nom Tropa de Elite Senhor dos Aneis Harry Potter

SELECT diretor.dir_nom , director.dir_cod FROM filmes INNER JOIN diretor ON filmes.dir_cod = diretor.dir_cod INNER JOIN (dados em comum) dir_cod 1 2

dir_nom Jos Padilha Peter Jackson

Outer Join (Juno Externa): Um OUTER JOIN serve para fazer as junes entre duas ou mais tabelas, cruzando informaes, combinando registros, testando igualdades e desigualdades. Usado nos casos em que pretendemos selecionar elementos numa tabela independentemente de estarem presentes numa segunda tabela. Uma juno externa retorna todas as linhas correspondentes e algumas ou todas as no-correspondentes, dependendo do tipo de juno que for especificada. Outer Left Join (Juno Externa Esquerda) e Outer Right Join (Juno Externa Direita): A diferena do LEFT JOIN para o RIGHT JOIN est apenas na identificao de qual tabela da juno ir retornar todos os dados. Left Join: retorna todas as linhas correspondentes e no-correspondentes, da tabela da esquerda a tabela esquerda da palavra-chave JOIN. Exemplo: Diretor dir_nom Jos Padilha Peter Jackson Francis Ford Coppola

dir_cod 1 2 3

dir_cod 1 2 4

Filme film_nom Tropa de Elite Senhor dos Aneis Joo e o P de Feijo

SELECT diretor.dir_nom , director.dir_cod , filme.film_nome FROM filme LEFT OUTER JOIN diretor ON filmes.dir_cod = diretor.dir_cod

LEFT OUTER JOIN (todos os da esquerda + os da direita em comum) dir_cod dir_nome film_nome 1 Jos Padilha Tropa de Elite 2 Peter Jackson Senhor dos Aneis 4 Mauricio Silva Joo e o P de Feijo Right Join: retorna todas as linhas correspondentes e no-correspondentes da tabela da direita a tabela direita da palavra-chave JOIN. O mais comum o LEFT, pois normalmente colocamos a tabela mais importante primeiro. Inclusive a ordem das tabelas e das clusulas de restries na consulta, em alguns bancos, altera o desempenho. Exemplo: Diretor dir_nom Jos Padilha Peter Jackson Francis Ford Coppola

dir_cod 1 2 3

dir_cod 1 2 4

Filme film_nom Tropa de Elite Senhor dos Aneis Harry Potter

SELECT diretor.dir_nom , director.dir_cod , filme.film_nome FROM filme RIGHT OUTER JOIN diretor ON filmes.dir_cod = diretor.dir_cod LEFT OUTER JOIN (todos os da direita + os da esquerda em comum) dir_cod dir_nome film_nome 1 Jos Padilha Tropa de Elite 2 Peter Jackson Senhor dos Aneis 3 Francis Ford O Poderoso Chefo

Das könnte Ihnen auch gefallen