VIEW E INDEX NOS BANCOS DE DADOS (VISÃO E INDICE)
28/11/2014
0
2 - SERÁ QUE SE EU CRIAR UMA BANCO DE DADOS SEM UMA VIEW OU UM INDEX ELE NÃO FUNCIONA CORRECTAMENTE, DESDE FACENDO UMA CONSULTA OU EXECUNTANDO OUTRO COMANDO?
NOTA: SEI CRIA-LOS MAIS NÃO SEI PARA QUE CRIA-LOS, QUAL O SEI REAL USO, A SUA REAL NECESSIDADE, ALGUÉM PODE ME EXPLICAR POR FAVOR.
ANACLETO BUNGA.
Anacleto Linux
Post mais votado
28/11/2014
Views são basicamente consultas pré programadas que você usa com frequência. Criando uma view, você evitar de ficar fazendo joins, listando várias tabelas, criando alias, etc. Você passa a fazer a consulta sobre a view, que já encapsula toda a lógica da consulta.
Índices são utilizados em geral para otimizar consultas, atuando sobre colunas que geralmente são chaves das tabelas.
Enfim, pesquisando na net você acha muito conteúdo, só precisa ler um pouco.
Joel Rodrigues
Mais Posts
28/11/2014
Sds
Posso ti responder com base no pouco conhecimento que tenho.
Índices auxiliam na busca de dados dentro das tabelas, ou seja, quando você realiza uma consulta, o índice informará onde o dado daquela tupla que será retornado no [i]select[/i] estará contido e te retornará mais rapidamente. O conceito é parecido com um índice de um livro mesmo (para índices non-clustered).
Em bancos criados em exemplos de faculdade, por exemplo, não é necessário se preocupar com este objeto, pois não irá interferir no estudo e nem na usabilidade. Caso queira entender melhor como ela é estruturada, procure por Árvore B-Tree.
As views nada mais são do que SELECTS armazenados. São blocos de SQL que retornam alguma informação do banco. É bastante utilizado pois não precisamos realizar sempre o select gigantesco toda vez que quisermos verificar uma informação do banco.
Por exemplo:
CREATE VIEW viewTeste AS
SELECT Matricula, Nome, DTnascimento, Endereço FROM Alunos WHERE Nome LIKE "%Basile"
Para selecionar todos estes dados acima, basta executar:
SELECT * FROM viewTeste
01/12/2014
João Françozo
Os indexes são praticamente obrigatórios em um banco de dados.
Um exemplo simples.
No Oracle eu uso um plano de execução para analisar o SQL do desenvolvedor, caso o mesmo faça dessa forma, eu já encontrei em vários clientes esses SQL escrito de forma errada.
SELECT
* FROM TBTESTE
WHERE
NOME LIKE '%TAL%'
CASO TIVER UM INDEXES NO NOME, O ORACLE NÃO ACESSAR OS DADOS FULL E SIM POR INDEXES JÁ TENDO UM RETORNO MELHOR, UMA DICA NUNCA USAR * NA CLAUSULA SELECT, O ORACLE TEM UM MODO DE FAZER A INTERPRETAÇÃO.
06/02/2015
Joel Rodrigues
Pedimos que, por favor, retorne aos tópicos que abriu para dar um feedback àqueles que tentaram lhe ajudar.
Clique aqui para fazer login e interagir na Comunidade :)