arquivo morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · arquivo morto •um elemento...

9

Click here to load reader

Upload: trinhanh

Post on 14-Dec-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquivo Morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · Arquivo Morto •Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele

Arquivo Morto

• Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele deve ser uma tabela com o mesmo formato da tabela usual (tabela ativa), que será utilizada para armazenar os registros removidos da tabela ativa.

Page 2: Arquivo Morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · Arquivo Morto •Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele

Exemplo

• Vamos criar a tabela morto com a mesma estrutura da tabela Empregados.

• CREATE TABLE morto(codigo integer primary key,nome varchar(40) ,setor char(2),cargo char(20),salario decimal(10,2));admissao date );

Page 3: Arquivo Morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · Arquivo Morto •Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele

• Para arquivar um registro em um arquivo morto antes de removê-lo definitivamente da tabela ativa, é necessário usar a instrução INSERT INTO anexa ao comando SELECT

• A funcionária Andréia Batista de codigo 3 pediu demissão. Antes de remover seu registro de Empregados será feita uma cópia para o arquivo morto.

INSERT INTO mortoSELECT codigo,nome,setor,cargo,salario,admissaoFROM EmpregadosWHERE codigo=3;

Obs: Não podemos usar * para todos os campos pois ocasionará erro de execução

Page 4: Arquivo Morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · Arquivo Morto •Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele

• Após executar o comando anterior, executeSELECT * FROM morto;

• Agora que o registro foi inserido na tabela morto ele pode ser removido da tabela Empregados.

DELETE FROM Empregados WHERE codigo=3

Page 5: Arquivo Morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · Arquivo Morto •Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele

União de dados

• O recurso de união de dados baseia-se na união de mais de uma consulta em uma única consulta por meio de múltiplos comandos SELECT.

• Esse recurso é utilizado com os operadores UNION ou UNION ALL

• ALL representa todos os registros (independente de duplicação). Se ALL for omitido, o comando UNION assume como padrão o valor DISTINCT.

Page 6: Arquivo Morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · Arquivo Morto •Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele

EXEMPLO• Vamos fazer algumas alterações na tabela Empregados,

excluindo empregados demitidos, mas antes vamos copiar seus registros para a tabela morto.

INSERT INTO mortoSELECT codigo,nome,setor,cargo,salario,admissaoFROM EmpregadosWHERE codigo=7;

Faça o mesmo para codigo 9, 25, 4, 2, 5, 15Agora que já foram inseridos em morto podemos excluí-los de Empregados:DELETE FROM Empregados WHERE codigo=7;Faça o mesmo para codigo 9, 25, 4, 2, 5, 15

Page 7: Arquivo Morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · Arquivo Morto •Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele

EXEMPLO

• A titulo de verificação execute as instruções• SELECT * FROM Empregados;• SELECT * FROM morto;• Agora podemos fazer uma demonstração do

operador UNION, que permite o uso de consultas compostas que podem ser formadas por dois ou mais comandos do tipo SELECT.

• Para que o operador UNION funcione corretamente cada SELECT deve possuir o mesmo número de colunas e na mesma ordem e com mesmos tipos de dados.

Page 8: Arquivo Morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · Arquivo Morto •Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele

EXEMPLO

• Para ver todos os empregados que trabalham ou trabalharam na empresa podemos executar a seguinte sintaxe:

SELECT * FROM Empregados UNION SELECT * FROM morto;Se quiser ver em ordem alfabética é necessário usar parenteses como indicado a seguir:(SELECT * FROM Empregados ORDER BY nome)UNION (SELECT * FROM morto ORDER BY nome)ORDER BY nome;

Page 9: Arquivo Morto - ebrito.com.brebrito.com.br/profa-elaine/morto.pdf · Arquivo Morto •Um elemento importante em manutenção de banco de dados é o arquivo morto (tabela morta). Ele

EXERCÍCIOS

• Listar todos os empregados que trabalham ou trabalharam no setor 5 em ordem alfabética pelo campo nome