Baixe o app para aproveitar ainda mais
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 LINGUAGENS DE MANIPULAÇÃO DE BANCO DE DADOS AULA 03 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 LINGUAGENS DE MANIPULAÇÃO DE BANCO DE DADOS ............................................ 6 1.1 As linguagens de um SGBD .................................................................................... 6 1.1.1 A linguagem SQL ....................................................................................... 7 1.1.2 A linguagem DDL ...................................................................................... 8 1.1.3 A linguagem DML ................................................................................... 10 1.1.4 A linguagem DCL..................................................................................... 13 Considerações Finais ................................................................................................ 15 Atividades de Autoaprendizagem .............................................................................. 15 Questionário Avaliativo ............................................................................................ 15 Bibliografia .............................................................................................................. 16 Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 6 1 Linguagens de Manipulação de Banco de Dados INTRODUÇÃO: Calma. Ainda não iremos aprender a codificar instruções de consulta, atualização e definição de dados, mas tão somente compreender às formas de aplicação dessas linguagens no ambiente interativo e em programas, nas mais variadas linguagens. Ao longo desta aula, iremos apenas entender o princípio de funcionamento das linguagens SQL, DDL, DML e DCL. Como veremos, na sequência, cada uma dessas linguagens reúne comandos capazes de consultar, definir, manipular e controlar a segurança dos dados em um SGBD. 1.1 As linguagens de um SGBD Todo SGBD relacional é baseado em um conjunto de linguagens script baseadas na SQL – Structured Query Language (Linguagem Estruturada de Consultas). Como já dissemos anteriormente, essa linguagem foi convencionada pela ANSI (American National Standards Institute – Instituto Nacional Americano de Padrões). Isto significa dizer que a linguagem SQL é um padrão internacional, praticamente imutável de um SGBD para outro. Mas, quando se trata de definir, manipular e implementar rotinas de controle da segurança dos dados de um SGBD, os comandos começam a modificar-se significativamente de um ambiente para outro. Por isso, os comandos aceitos pelas linguagens dos SGBDs, de um modo geral, foram OBJETIVO: Ao término desta aula você será capaz de entender como funcionam as linguagens de manipulação de banco de dados . Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 7 classificados em quatro grupos distintos, como mostra o diagrama a seguir. 1.1.1 A linguagem SQL A SQL foi a primeira das linguagens de banco de dados a ser criada e convencionada pelo ANSI. Seu objetivo primordial é permitir a consulta a dados em um banco de dados relacional. Por ser uma linguagem script, a SQL pode ser utilizada dentro de programas escritos nas mais variadas linguagens de programação do mercado mundial, tais como Java, PHP, Visual Basic, C#.Net, e até linguagens bastante antigas como o Cobol, por exemplo. É enorme a variação de cláusulas e condições empregáveis em um comando SQL. Dedicaremos uma aula inteira ao seu estudo, mais especificamente a respeito do comando SELECT, além de praticarmos exaustivamente a sua utilização em programas e scripts de consulta a tabelas de banco de dados. SQL DDL DML DCL Linguagens de BD A sigla SQL significa Structured Query Language (Linguagem Estruturada de Consultas) , e é utilizada por todos SGBDs com bancos de dados relacionais. DEFINIÇÃO Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 8 1.1.2 A linguagem DDL Antigamente, a linguagem DDL era considerada como uma parte da SQL. Anos mais tarde, ela ganhou o status de linguagem autônoma e é utilizada, de um modo geral, para declarar e descrever as estruturas de dados de um BD. Os comandos DDL são capazes de criar, alterar e eliminar estruturas de dados, como tabelas, visões e associações (relacionamentos) entre elas. Uma vez criadas, essas estruturas incorporam os parâmetros utilizados no comando de criação/alteração da linguagem DDL, que ficam registrados no dicionário de dados do BD. Traduzindo ao pé da letra, podemos afirmar que a DDL significa Linguagem de definição de dados (Data Definition Language). O objetivo da DDL é oferecer um conjunto de comandos que permite a criação e modificação das estruturas de um banco de dados. DEFINIÇÃO O dicionário de dados é um conjunto de arquivos que contém os dados descritivos das estruturas do BD, como tabelas, visões e relacionamentos. A esses dados descritivos damos o nome de metadados, que são consultados pelo próprio BD a cada transação envolvendo suas estruturas. Para entender melhor, imagine que um certo programa queira manipular alguns campos como nome e endereçode uma tabela de clientes. Neste momento, o SGBD verificará se esses campos de fato pertencem a essa tabela, se estão associados a outras tabelas ou a índices (arquivos organizadores da tabela), entre outros requisitos definidos no ato da criação daquela tabela. EXPLICANDO MELHOR Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 9 A linguagem DDL é, portanto, uma linguagem interpretada, ou seja, é processada por um interpretador incorporado ao próprio SGBD, que podemos chamar também de DDL. São esses os comandos interpretados pelo DDL: CREATE: Este comando constrói uma nova estrutura de dados, desde o próprio banco de dados, até suas estruturas mais simples, como tabelas, índices e consultas pré-programadas (que ficam armazenadas em forma de tabelas independentes). Dependendo do tipo de SGBD que se está utilizando, algumas estruturas podem e outras não podem ser criadas por este comando, no entanto, todos eles aceitam, pelo menos, a criação de tabelas, índices e usuários. Estudaremos mais detidamente o comando CREATE e suas várias formas de declaração mais adiante. DROP: Este comando faz o oposto do CREATE, ou seja, elimina uma estrutura de dados, ou seja, é capaz de remover tabelas, visões, consultas armazenadas, índices, usuários, etc. ALTER: Finalmente, o comando ALTER serve para modificar as estruturas de dados criadas anteriormente pelo comando CREATE, aplicando-se, portanto, a todos os tipos suportados por aquele comando, como tabelas, índices, usuários, consultas armazenadas, etc. Vejamos alguns exemplos desses comandos: CREATE TABLE funcionarios ( Id INTEGER PRIMARY KEY, Nome CHAR(50) null, Sobrenome CHAR(75) not null, Aniversario DATE null ); O comando acima cria uma tabela de funcionários chamada “funcionários”. Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 10 ALTER TABLE funcionários ADD Salario INTERGER; Este altera a tabela “funcionários” adicionando -lhe uma coluna (ou campo de dado) intitulada “Salario”. DROP TABLE funcionarios; Este comando elimina a tabela “funcionários” recém -criada. 1.1.3 A linguagem DML Para começarmos nossa conversa sobre a linguagem DML, vamos colocar uma controvérsia logo de saída: o SQL faz ou não faz parte da DML? Mas, antes de respondermos essa pergunta, vamos entender, primeiramente, o que vem a ser DML? Não se preocupe em entender a sintaxe desses comandos agora. Voltaremos a ela mais adiante, como muitos exercícios e variações de casos. NOTA A sigla DML vem do inglês e significa Data Manipulation Language, ou seja, Linguagem de Manipulação de Dados. Em termos práticos, a linguagem DML tem por finalidade permitir a manipulação de dados, com as operações de inclusão, remoção e modificação de informações dentro das estruturas do banco de dados. DEFINIÇÃO Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 11 Pela definição acima, vemos que “manipular dados” tem a ver com modifica-los. No entanto, alguns autores defendem que a linguagem SQL faz parte desse conjunto, uma vez que, ao definir uma consulta à base de dados, uma estrutura de dados é criada, ainda que virtualmente. São esses os comandos integrantes da linguagem DML: INSERT: Este comando é capaz de adicionar linhas a uma tabela, declarando todos os valores a serem gravados nos campos de dados desta nova linha. UPDATE: Com uma sintaxe bastante similar à do INSERT, este comando é capaz de regravar dados em uma ou mais linhas da tabela que satisfaçam determinada condição. Essa condição é declarada como parâmetro do comando UPDATE, exatamente da mesma forma como se declara em um comando SELECT da linguagem SQL. DELETE: Este comando remove logicamente uma ou mais linhas de uma tabela. Assim como o UPDATE, o comando DELETE se utiliza de inst ruções declarativas para determinar que conjunto de linhas deve ser excluído da tabela. A exclusão lógica provocada pelo processamento de um comando DELETE significa, por assim dizer, que as linhas podem ser recuperadas posteriormente. Mas esta operação tem uma série de implicações e, dependendo do SGBD, nem mesmo é permitida. Vamos visualizar alguns exemplos desses comandos? Ao se realizar uma consulta a um banco de dados, por mais simples que seja, o SGBD cria uma “tabela” temporária para conter apenas os dados resultantes do argumento daquela consulta. Assim, sendo, ao ser executado um comando SQL, uma “visão” daquele conjunto de dados é gerada dinamicamente. Inclusive, como veremos mais adiante, essa “visão” pode ser salva e manipulada como se fosse uma tabela independente. EXPLICANDO MELHOR Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 12 INSERT INTO funcionários (nome, salario) VALUES ('Mário Alberto', 4500) ; O comando acima adiciona uma nova linha na tabela “funcionarios” para o funcionário “Mário Alberto”, com um salário de R$ 1.500,00. UPDATE funcionarios; SET salario = salario * 1,1 WHERE salario > 1000 ; Já este comando acima altera o salário de todos os funcionários que ganham mais de R$ 1.000,00 com um aumento de 10%. DELETE FROM funcionarios; WHERE situacao = “INATIVO” ; Por fim, temos o comando DELETE que, no exemplo acima, exclui logicamente todos os funcionários cujo campo “situação” aparece como “INATIVO”. Voltaremos a esses comandos mais adiante, com muitos exemplos, exercícios e variações de caso. NOTA Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 13 1.1.4 A linguagem DCL Chegamos à última linguagem de nosso estudo de banco de dados. Diferentemente do SQL e DML, os comandos dessa linguagem diferem bastante de SGBD a SGBD, pois trata dos aspectos relacionados à segurança da informação. Basicamente, a linguagem DCL contempla três comandos: GRANT: Este comando concede direitos a usuários e programadores para acessar, modificar e/ou eliminar tabelas e outras estruturas de dados de um BD. Na prática, você escolhe que comando poderá ser utilizado para que usuários, sob que condições, aplicado sobre que tabelas. DENY: Já o comando DENY implementa um estado de exceção, ou seja, restringe a alguns usuários o acesso que acaba de ser dado por um comando GRANT, porém sem afetar os demais usuários que obtiveram acesso. REVOKE: Este comando realiza a operação inversa do GRANT, ou seja, revoga uma permissão atribuída a alguém anteriormente. Diferentemente dos comandos SQL e DML propriamente ditos, os comandos DCL variam muito de gerenciador a gerenciador de BD. Alguns deles, por exemplo, sequer permitem que esses comandos sejam executados a partir de outros programas. A sigla DCL vem do inglês e significa Data Control Language, ou seja, Linguagem de Controle de Dados. Na prática, a linguagem DCL visa permitir a criação e revogação de políticas de acessos e restrições aos dados das tabelas e demais estruturas de dados de um BD. DEFINIÇÃO Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 14 Voltaremos a esses comandos mais adiante, com muitos exemplos, exercícios e variações de caso. NOTA Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 15 Considerações Finais SAIBA MAIS: Apressado para ver cenas dos próximos capítulos? Acesse este link de aprofundamento e conheça os principais comandos da família de linguagensSQL: Artigo: “Os 10 comandos SQL que você não pode viver sem!”, acessível pelo link: https://becode.com.br/comandos-sql-nao-pode-viver- sem/ (Acesso em 25/11/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 modalid ade de EAD (Educação a Distância), acesse a sua trilha 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. https://becode.com.br/comandos-sql-nao-pode-viver-sem/ https://becode.com.br/comandos-sql-nao-pode-viver-sem/ Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 16 Bibliografia ZANETTE, A. (23 de Ago de 2016). Os 10 comandos SQL que você não pode viver sem! BeCode. Acesso em 25 de Nov de 2017, disponível em https://becode.com.br/comandos-sql-nao-pode-viver-sem/ Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 17
Compartilhar