Baixe o app para aproveitar ainda mais
Prévia do material em texto
Grupo SER Educacional | Tecnologias e Linguagens de Banco de Dados 1 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 VIEWS .............................................................................................................. 6 1.1 Entendendo o conceito ..................................................................................... 7 1.1.1 Vantagens do uso de views .................................................................... 8 1.1.2 Desvantagens ....................................................................................... 8 1.2 Views em MySQL .............................................................................................. 9 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 Views INTRODUÇÃO: Chamamos de View, ou Visão, em português, um objeto, pertencente a um banco de dados, que é definido por um conjunto de comandos SQL. Mas, qual a diferença entre uma View e um comando SQL? Simples. Ao ser executado um comando SELECT, seu resultado é volátil, ou seja, quando o programa ou procedimento é encerrado, o conjunto de linhas proveniente da consulta se desfaz. Já no caso de uma View, esse resultado pode ser gravado no banco de dados, como se fosse uma tabela normal. A diferença desse objeto chamado View, é que ele se comporta como uma tabela virtual, ou “Virtual Table”, em inglês. Imagine uma tabela que, na realidade, mostra o conteúdo de uma ou mais tabelas do banco de dados, podendo ser manipulada como se fosse uma tabela independente! É exatamente assim que se comporta uma View dentro do banco de dados. OBJETIVO: Ao término desta aula você será capaz de manipular dados por meio de visões (views) envolvendo uma ou mais tabelas. Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 7 1.1 Entendendo o conceito A figura a seguir ilustra bem o que acabamos de falar em nossa breve introdução. Perceba que, para o usuário, o fato de a tabela ser real ou virtual é irrelevante. O próprio SGBD se encarrega de garantir a integridade dos dados, caso o usuário tente modifi car dados que violem às relações existentes entre a tabela virtual e as tabelas-base, ou “Based Tables”. Figura 1 - Representação didática sobre a estrutura de uma View. Em alguns casos, as Views podem ser atualizadas por meio dos comandos INSERT, UPDATE e DELETE, que, na realidade, alteram os dados de suas tabelas-base. Views (ou visões, em português) são estruturas de dados virtuais que representam o resultado de uma query (consulta) SQL, podendo ser utilizadas como filtros para atualização dos dados de suas tabelas- bases. DEFINIÇÃO Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 8 1.1.1 Vantagens do uso de views Sem dúvida, o maior benefício do uso das views é para o próprio programador, que só tem o trabalho de montar a consulta SELECT uma vez. Podemos utilizar uma view para: • retornar um valor baseado em um identificador de linha de uma tabela; • restringir dados para elevar o nível de segurança e definir as políticas de acesso das tabelas de um banco de dados; • mostrar colunas distintas para diferentes usuários de um mesmo banco de dados; • ser utilizada com um conjunto de tabelas unidas a outros conjuntos através dos comandos JOIN ou UNION. 1.1.2 Desvantagens Praticamente não se observa qualquer desvantagem no uso de uma view. Há quem diga que o tempo de carregamento do arquivo que a contém pode representar alguma perda de performance, mas sabemos que este tempo é desprezível quando comparado com o tempo de acesso aos dados produzido pela própria consulta ou atualização SQL. Para entendermos melhor, podemos encarar uma View como um filtro das informações provenientes de uma ou mais tabelas primárias, a partir do qual se consegue consultar e atualizar os dados daquelas tabelas que deram origem à visão. Diferentemente das consultas SELECT convencionais, as views ficam armazenadas e podem ser executadas diretamente, sempre que necessário. EXPLICANDO MELHOR Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 9 1.2 Views em MySQL Em um banco de dados MySQL, a sintaxe genérica do comando de criação de uma view é a seguinte: CREATE [OR REPLACE] [ALGORITHM = tipo de algoritmo] VIEW (nome da view) [(lista de colunas)] AS (sentença Select) [WITH [CASCADED | LOCAL] CHECK OPTION] Onde: • OR REPLACE: substitui a View em vez de cria-la. • ALGORITHM: seleciona o tipo de algoritmo interno a ser usado para processar a View quando esta for executada. Os tipos aceitos são: UNDEFINED (cláusula em branco), MERGE ou TEMPTABLE. • Nome da view: é o nome atribuído ao objeto, que no caso, é uma View. • Lista de colunas: nomes das colunas virtuais, que devem sobrescrever os nomes das colunas das tabelas-base recuperadas pelo comando SELECT. • Sentença Select: declaração SELECT indicando a maneira com a qual os dados resultantes da consulta devem ser apresentados naview, podendo incluir as funções JOIN e UNION para envolver outras tabelas. • WITH check option: quando declarada a opção “check option”, todos os comandos escritos para alterar os dados da iew serão previamente criticados quanto às regras da condição WHERE definidas na declaração SELECT da View. A criação de uma view em MySQL gera um arquivo de extensão “.frm”, com o mesmo nome da tabela corrente. Este arquivo fica gravado no diretório do banco de dados. Para testarmos a criação de uma view em MySQL, vamos, mais vez, recorrer ao nosso banco de dados exemplo, no PhpMyAdmin. Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 10 Figura 2 - Opção de criação de view na tabela "funcionarios". Como podemos observar na figura acima, ao abrirmos a tabela “funcionarios” do nosso banco de dados exemplo, percebemos um botão intitulado “Create view” (criar visão). Após clicar no botão “Create view”, você visualizará a seguinte página: Apesar de este botão estar associado à tabela “funcionarios”, isto não significa dizer que a visão será restrita às colunas desta tabela. NOTA Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 11 Figura 3 - Formulário de construção do comando "Create view". Então, vamos criar uma visão que envolva as duas tabelas de nosso banco de dados: “funcionarios” e “departamentos”. Esta visão deverá abranger todos os funcionários pertencentes ao departamento de marketing (2-MKT) que ganham mais de R$ 5.000,00. Assim, na opção “AS”, vamos escrever a seguinte instrução SQL: SELECT departamentos.nomedepto, matric, nome, salario FROM `funcionarios` INNER JOIN `departamentos` WHERE salario > 5000 AND funcionarios.depto = departamentos.numdepto AND funcionarios.depto = 2 No mais, vamos deixar os demais campos assumirem seus valores padrão (default), exceto o campo “View name” (nome da view), que é de preenchimento obrigatório. Vamos atribuir um nome bastante sugestivo a esta view? Que tal: Funcionariosdomarketingcommaisde4000reais Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 12 Confirma como deve ser preenchido o formulário, conforme figura seguinte: Figura 4 - Preenchimento mínimo da view. Após o preenchimento do formulário, clique em “Go” (ir) e perceba a exibição da seguinte página de retorno: Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 13 Figura 5 - Página de retorno da criação da view. Note que a view recém-criada foi adicionada ao menu lateral do PhpMyAdmin, na sessão “Views”. O comando SQL correspondente à criação da view é exibido logo no topo da página. Para executar a view recém-criada, basta clicar por sobre o nome da view, disponível na sessão “Views” do menu lateral esquerdo do PhpMyAdmin, como mostra a figura a seguir. A criação de uma view não provoca a execução da instrução SQL a ela incorporada. Isto só será realizado ao executá-la. NOTA Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 14 Figura 6 - Executando a View recém-criada. Note que, ao clicar na view armazenada, o seu comando de execução é exibido logo no topo da página. Perceba que, para executar uma visão, basta declará-la em uma instrução SELECT, como a seguir descrito: SELECT * FROM <nome da view> Note ainda que o resultado do comando SELECT é exibido tão logo cliquemos no nome da view, no menu esquerdo do PhpMyAdmin. Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 15 Considerações Finais SAIBA MAIS: Quer se aprofundar nos estudos das views? Então acesse e leia este link de aprofundamento: Artigo: “MYSQL - Trabalhando com Views”, acessível pelo link: https://www.devmedia.com.br/mysql-trabalhando-com- views/8724 (Acesso em 21/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 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://www.devmedia.com.br/mysql-trabalhando-com-views/8724 https://www.devmedia.com.br/mysql-trabalhando-com-views/8724 Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 16 Bibliografia BIANCHI, W. (21 de Dez de 2017). MYSQL – Trabalhando com Views. DevMedia. Acesso em 21 de Dez de 2017, disponível em https://www.devmedia.com.br/mysql-trabalhando-com-views/8724 Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 17
Compartilhar