Pular para o conteúdo principal

Postagens

O que devemos conhecer sobre SQL/Oracle Parte 16: Recuperação hierárquica

Interpretando o conceito de consulta hierárquica Consultas hierárquicas vão além do conceito relacional pai/filho, onde temos uma tabela que é referenciada por outra, onde para cada registro de uma podemos ter vários em outra.  A estrutura de dados hierárquicos é diferente, ao invés dos dados estarem em tabelas diferentes eles ficam na mesma tabela (ou view), onde uma coluna do registro faz referencia a outra coluna de um outro registro, dessa forma teoricamente existe a capacidade de se ter infinitas gerações. Para embasar nossos próximos exemplos construiremos uma tabela nesses moldes, onde teremos informações para relatórios de funcionários: CREATE TABLE RELATORIO_CARGOS(CODIGO NUMBER(10) PRIMARY KEY, CARGO VARCHAR2(50), RESPONDE_PARA NUMBER(10)); ALTER TABLE RELATORIO_CARGOS ADD CONSTRAINT RELATORIO_CARGOS_FK FOREIGN KEY(RESPONDE_PARA) REFERENCES RELATORIO_CARGOS(CODIGO); Resumindo: Uma consulta hierárquica estende o relacionamento pai-filho em uma

O que devemos conhecer sobre SQL/Oracle Parte 15: Manipulando grandes massas de dados

Manipulando dados utilizando subconsultas Já foi visto nos capítulos anteriores como as subconsultas são poderosas, agora veremos novas utilidades para elas, como criar tabelas com registros, ou inserir registros com base em consultas ou mesmo atualizar registros de uma tabela com subconsultas. Em alguns casos, desejamos criar tabelas de forma rápida e depois inserir todos ou alguns dos dados de outra tabela, seja apenas para um teste ou um backup temporário em fim a razão não importa, o que importa é que podemos fazer isso de forma bem simples. Suponhamos que nós queremos separar em uma estrutura a parte todos os funcionários de um determinado cargo para tal poderíamos fazer o seguinte: CREATE TABLE FUNCS_CARGO AS SELECT * FROM FUNCIONARIOS WHERE COD_CARGO = 1; Bom nossa estrutura temporária foi criada, mas uma nova demanda pede que ela também tenha os funcionários do cargo três, obviamente poderíamos simplesmente remover a tabela e gera-la com uma nova consulta,

O que devemos conhecer sobre SQL/Oracle Parte 14: Manipulando objetos com as visões do dicionário de dados

Utilizando o dicionário de dados para pesquisar dados sobre os objetos do banco O dicionário de dados é uma coleção de tabelas (onde as informações estão guardadas) e visões (disponibilizadas para acesso dessas informações) do banco que são automaticamente gerados a cada comando DDL executado. A informação armazenada nessa coleção inclui a descrição completa dos objetos criados como tabelas, visões, índices, restrições, enfim tudo o que foi criado. Essa coleção pertence ao usuário de sistema SYS, que é o dono de todos os privilégios. As visões podem ser distinguidas pelo prefixo de seu nome, vejamos uma tabela: Prefixos de algumas visões do dicionário de dados Prefixo Quantidade de visões aproximada Descrição USER_ 359 Objetos que pertencem ao usuário acessando a visão. ALL_ 334 Objetos que pertencem a qualquer usuário cujo usuário acessando a view possui acesso, DBA_ 670 Todos os obje