Pesquisar na Comunidade
Mostrando resultados para as tags ''oracle''.
Encontrado 2 registros
-
Observe as tabelas abaixo: Minha dúvida é: A chave estrangeira deve mesmo ficar na tabela "Filme"? Por que não pode ser assim: com a chave estrangeira na tabela Genero...
- 4 respostas
-
- banco de dados
- chave
-
(e 3 mais)
Tags:
-
VIEWS Bom, voltei essa semana para a facul, e tive uma aulinha sobre VIEWS. Achei bem interessante e resolvi criar um tópico para explicar rapidamente como funciona. Views nada mais é que uma forma de comprimir seu select, resumidamente falando. Quais as vantagens? Segurança (pois você pode dar permissões de acesso para suas views), agilidade/facilidade, e organização. Esse é o meu ver sobre Views. Porém vou deixar uma referência com mais detalhes abaixo. ~ CREATE VIEW ~ Bom, primeiramente, vou deixar o link de 2 entidades a serem criadas no final do tópico, para você poder seguir os passos do tutorial. No caso são: LOC_FUNCIONARIO e LOC_DEPTO (departamento). Nesse exemplo vamos encapsular um select dentro da view. O select será simples! Vamos exibir um rank de soma de salarios, dos departamentos. Seria um top 5. Para isso, vamos usar o rownum. Porém, para usar o rownum, temos que criar uma subquery.. Veja como ficará SELECT * FROM ( SELECT D.NM_DEPTO, sum(F.VL_SALARIO) Total FROM LOC_FUNCIONARIO F, LOC_DEPTO D WHERE F.CD_DEPTO = D.CD_DEPTO GROUP BY D.NM_DEPTO ORDER BY Total desc) WHERE ROWNUM <6 Não usei joins nesse exemplo, podem usar se quiser. Veja que usei um group by, pois fiz o sum do VL_SALÁRIO. Agora, vamos à parte mais facil, criar a VIEW. Veja um exemplo de como criar uma VIEW: CREATE OR REPLACE VIEW WC_RANK_SAL_DEPTO AS ( -- Aqui ficará o seu select ); Então ficará assim... CREATE OR REPLACE VIEW VW_RANK_SAL_DEPTO AS ( SELECT * FROM ( SELECT D.NM_DEPTO, sum(F.VL_SALARIO) Total FROM LOC_FUNCIONARIO F, LOC_DEPTO D WHERE F.CD_DEPTO = D.CD_DEPTO GROUP BY D.NM_DEPTO ORDER BY Total desc) WHERE ROWNUM <6 ); Beleza, View criada! Como vamos acessa-la? Veja no exemplo abaixo SELECT * FROM WC_RANK_SAL_DEPTO; Apenas fazendo um select na view. Talvez algum erro ocorra, pois exportei apenas 2 tabelas de um projeto inteiro do meu banco.. Mas serve como exemplo, você pode usar as views tanto para seus projetos em banco, quanto aplicações! Isso facilita bastante. Vou deixar mais uma referencia, para dar permissoes de views.. (pro povinho já acostumado) [Oracle] Permissão para View Package / Package Body Oracle 10g | Certificação BD Querys! Qualquer dúvida, poste que eu vou pesquisar ao máximo para tentar resolver! Lembrando que estou aprendendo isso agora, não sou expert nem nada haha Abraços
