Buscar

Livro - Tecnologias de Banco de Dados para Sistemas de Informação - ebook12

Prévia do material em texto

Grupo SER Educacional | Tecnologias e Linguagens de Banco de Dados 1 
 
 
 
 
TECNOLOGIAS E LINGUAGENS DE 
BANCO DE DADOS 
Tecnologias e Linguagens de 
 Banco de Dados
 
JOÃO DANILO NOGUEIRA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ELIMINANDO LINHAS 
EM UMA TABELA 
 
 
 
 
 
 
AULA 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
JOÃO DANILO NOGUEIRA 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
João Danilo Nogueira 
 
Olá. Meu nome é João Danilo. Sou graduado em Ciência da Computação 
pela Faculdade Grande Fortaleza (FGF) e amo programar. Atualmente, o 
foco de minha expertise é na área de gerenciamento de projetos, teoria 
dos números, RSA e criptografia. Vai ser um prazer enorme ajudar VOCÊ a 
se tornar um excelente desenvolvedor de software ou administrador de 
banco de dados. Conte comigo para lhe ajudar nessa trajetória rumo ao 
seu desenvolvimento profissional! Muito sucesso para você. 
 
 
 
JOÃO DANILO NOGUEIRA 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 ELIMINANDO LINHAS EM UMA TABELA ................................................................... 6 
1.1 Comando DELETE .................................................................................................. 6 
Considerações Finais ................................................................................................ 10 
Atividades de Autoaprendizagem .............................................................................. 10 
Questionário Avaliativo ............................................................................................ 10 
Bibliografia .............................................................................................................. 11 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 6 
 
 
1 Eliminando linhas em uma tabela 
INTRODUÇÃO: 
Você sabe qual a diferença entre os termos deleção e exclusão de dados? 
Aparentemente eles parecem significar a mesma coisa. Mas é só 
aparência! Ao excluirmos algo de nosso disco rígido, por exemplo, damos 
um adeus àquela informação excluída. Mas, ao deletarmos essa mesma 
informação, pedimos ao sistema operacional que a suprima de nossas 
visualizações. Neste caso, a informação continua lá, mas invisível para 
nós. Com a grande maioria dos bancos de dados acontece a mesma 
coisa. Ao deletarmos uma linha de uma tabela, o SGBD muda o status 
daquela linha para “deletada”. Alguns gerenciadores implementam 
comandos como RECALL, RESTORE, UNDO, etc, para recuperar linhas 
deletadas. 
 
 
1.1 Comando DELETE 
 
No MySQL, assim como nos demais SGBDs que se utilizam do padrão 
ANSI, o comando para deletar linhas de uma tabela é o DELETE. 
Sua sintaxe é bastante parecida com a dos demais comandos que vimos 
anteriormente, ou seja, possui uma cláusula WHERE seguida de uma 
condição, como mostra a sintaxe abaixo: 
DELETE FROM [tabela] WHERE [condição]; 
Onde: 
 [tabela]: tabela de onde as linhas deverão ser eliminadas. 
 
OBJETIVO: 
Ao término desta aula você será capaz de eliminar linhas em uma tabela 
em uma tabela de banco de dados. 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 7 
 
 
 [condição]: expressão lógica que expressa a condição que restringe as linhas a 
serem eliminadas da tabela [tabela]. 
A cláusula WHERE permite que várias linhas sejam deletadas de uma só vez, 
contanto que seja atendida a condição descrita naquela cláusula, como neste 
exemplo a seguir: 
DELETE FROM `funcionarios` WHERE `depto`=3; 
Neste caso, todos os funcionários que pertencem ao departamento de código 3 
serão deletados da tabela “funcionarios". 
Utilize o construtor de comandos SQL do PhpMyAdmin para testar o comando 
acima. Você verá que, após as operações realizadas na massa de dados da 
tabela “funcionarios" (na aula anterior, lembra?), o resultado da execução deste 
comando não resultará em eliminação de linha alguma, uma vez que não mais 
existem funcionários pertencentes ao departamento de código 3 . Veja você 
mesmo o resultado disto no console do PhpMyAdmin, conforme ilustra a figura a 
seguir: 
 
Figura 1 - Construção do comando DELETE para eliminar todos os funcionários do departamento 3. 
 
Após ter digitado o comando DELETE tal e qual os requisitos explicados 
anteriormente, basta clicar no botão “Simulate query” (simular consulta) para 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 8 
 
 
testar que linhas de fato seriam deletadas caso o comando fosse executado, ou 
diretamente no botão “Go”. 
Primeiramente tente clicar no botão “Simulate query” e visualize a seguinte 
mensagem do MySQL, através da interface do PhpMyAdmin: 
 
Figura 2 - Mensagem de retorno do MySQL para a deleção dos funcionários do departamento de 
número 3. 
 
Como, de fato, havíamos alterado o único funcionário do departamento 3 para o 
departamento 2, anteriormente, o resultado deste comando não poderia ser 
outro, senão “Matched rows: 0”, ou seja, a quantidade linhas correspondentes é 
igual a zero. 
 
 
 
 
 
 
 
 
 
 
Se você tiver certeza de que, realmente, as linhas a serem deletadas são as que 
você predefiniu na cláusula WHERE, clique em “Go” e veja a seguinte mensagem 
de retorno (feedback): 
Como o MySQL não dispõe de comandos de reversão para 
ações como exclusão de linhas, no caso de uso pelo 
PhpMyAdmin, convém sempre simular a deleção em 
massa, ao invés de eliminar linhas de forma intempestiva , 
pois, uma vez deletada uma linha, pelo PhpMyAdmin, não 
haverá como revertê-la. No caso do uso do MySQL em 
transações de programas PHP, existem alguns comandos 
que podem contornar esta situação, como o COMMIT (que 
confirma a transação) e o ROLLBACK (que a reverte). 
IMPORTANTE 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 9 
 
 
 
Figura 3 - Mensagem de retorno da execução de um comando DELETE. 
 
Vamos praticar? 
 
 
 
 
 
 
 
 
 
 
matric Nome endereco salario Depto 
0001 JOÃO ALBERTO 
SILVA 
RUA VERGUEIRO, 40, APTO 202 5280 001 
0002 MARIA CYNTHIA 
COSTA 
AV SOARES DA VEIGA, 1468, APTO 
1301 
3750 001 
0003 ANA MARIA 
CARDOSO 
RUA HOMERO MACEDO, 608, APTO 
101-A 
7205 002 
0004 SÍLVIOROMERO 
DOTAS 
RUA VERGUEIRO, 44 2850 002 
0005 SANDRA MARIA 
MOTA 
AV SETE DE SETEMBRO, 1209, 
APTO 401 
4620 002 
... ... ... ... ... 
... ... ... ... ... 
... ... ... ... ... 
... ... ... ... ... 
... ... ... ... ... 
Tabela 1: Massa de dados alterada após dois últimos comandos UPDATE, para ser adicionada de 5 linhas e, na sequência, 
subtraída dessas mesmas. 
 
Agora é com você. Exercite o comando DELETE, povoando 
a tabela “funcionarios” com mais 5 linhas que satisfaçam 
determinada condição. Depois, execute o comando DELETE 
com uma condição na cláusula WHERE que delete apenas 
aquilo que você adicionou na tabela. 
ATIVIDADES 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 10 
 
 
Considerações Finais 
SAIBA MAIS: 
 Falamos a respeito de comandos específicos para reversão ou 
confirmação de uma transação em uma tabela MySQL. Quer saber 
mais sobre isto? Então leia estes artigos: 
Artigo: “Transações no MySQL”, acessível pelo link: 
http://sqlparatodos.com.br/transacoes-no-mysql/ (Acesso em 
05/12/2017). 
Artigo: “Excluindo Registros de uma Tabela no MySQL com DELETE e 
TRUNCATE TABLE”, acessível pelo link: 
http://www.bosontreinamentos.com.br/mysql/mysql -delete-e-truncate-
table-excluir-registros-de-uma-tabela-16/ (Acesso em 05/12/2017). 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua t rilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
http://sqlparatodos.com.br/transacoes-no-mysql/
http://www.bosontreinamentos.com.br/mysql/mysql-delete-e-truncate-table-excluir-registros-de-uma-tabela-16/
http://www.bosontreinamentos.com.br/mysql/mysql-delete-e-truncate-table-excluir-registros-de-uma-tabela-16/
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 11 
 
 
Bibliografia 
 
REIS, F. d. (11 de Nov de 2013). Excluindo Registros de uma Tabela no MySQL com 
DELETE e TRUNCATE TABLE. Bóson Treinamentos em Tecnologia. Acesso em 
5 de Dez de 2017, disponível em 
http://www.bosontreinamentos.com.br/mysql/mysql -delete-e-truncate-table-
excluir-registros-de-uma-tabela-16/ 
WILSON, J. (24 de Ago de 2015). Transações no MySQL. SQL para Todos. Acesso em 
5 de Dez de 2017, disponível em http://sqlparatodos.com.br/transacoes-no-
mysql/ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 12

Continue navegando