Prévia do material em texto
Instalação e uso de um SGBD Apresentação Criar bancos de dados e manipular registros por meio de instruções SQL são atividades comuns para quem trabalha com desenvolvimento de sistemas. Em geral, programadores definem seu SGBD com base nas características dos bancos de dados. Entre os diversos SGBDs disponíveis no mercado, destacamos o MySQL, largamente utilizado por estudantes e profissionais de TI, uma vez que atende às principais características, como robustez, segurança, popularidade e facilidade de uso. Nesta Unidade de Aprendizagem, você vai estudar sobre a instalação do MySQL, assim como a execução de instruções SQL e a criação de um banco de dados MySQL com o auxílio da ferramenta CASE Workbench. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Instalar o Sistema Gerenciador de Banco de Dados (SGBD) MySQL.• Utilizar a linguagem SQL em ferramenta SGBD.• Construir um banco de dados.• Laiane Desafio Utilizar ferramentas CASE no desenvolvimento de sistemas produz ganho de tempo e de produtividade, uma vez que as atividades podem ser executadas de maneira rápida e eficaz, com menor propensão a erros. Com o MySQL Workbench, desenvolvedores podem criar diagramas de modelos de dados de maneira rápida e segura, por meio de uma interface fácil e intuitiva para criar tabelas e definir tipos de dados de campos, bem como relacionar tabelas e definir restrições. Veja o código da tabela a seguir para a criação de um modelo de dados. Você é um desenvolvedor e precisa criar um modelo de dados contendo duas tabelas, de acordo com as seguintes estruturas e apresentar o desenho do modelo, bem como o código SQL gerado por forward engineer: Laiane CREATE TABLE tipo_produto ( tip_codigo INT NOT NULL PRIMARY KEY, tip_descricao VARCHAR(255) NOT NULL);CREATE TABLE produto ( pro_codigo INT NOT NULL PRIMARY KEY, pro_descricao VARCHAR(255) NOT NULL, tip_codigo INT NOT NULL, FOREIGN KEY (tip_codigo) REFERENCES tipo_produto(tip_codigo)); Infográfico Utilizar ferramentas CASE para executar ações em um banco de dados MySQL proporciona ganho de produtividade para desenvolvedores e administradores de banco de dados (DBA). Com o apoio do MySQL Workbench, analistas de TI podem executar comandos no banco de dados por meio de uma interface gráfica intuitiva, que facilita e agiliza o trabalho, permitindo que o foco seja o negócio ao invés da própria sintaxe SQL. Veja, no Infográfico a seguir, o fluxo de execução de atividades do MySQL Workbench. Laiane Laiane Laiane Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/aca0f913-19d3-4983-8df3-4b7b1ffcbf82/fa42e566-ae57-4805-b832-eadce31f23cc.jpg Conteúdo do livro O MySQL é um dos mais populares SGBDs disponíveis no mercado, utilizado tanto pela academia, no aprendizado e no ensino de banco de dados, como na indústria, em aplicações comerciais de qualquer natureza. Ele dispõe de diversos recursos e ferramentas, como o MySQL Workbench, que auxilia desenvolvedores na implementação e/ou manipulação de um banco de dados, mesmo sem conhecer detalhadamente a sintaxe das instruções SQL. Com o apoio do MySQL Workbench, você será capaz de utilizar a linguagem SQL de maneira simples e descomplicada para executar instruções de manipulação de dados e para construir bancos de dados. No capítulo Instalação e uso de um SGBD, do livro Programação back end II, base teórica desta Unidade de Aprendizagem, você aprenderá a instalar o SGBD (Sistema Gerenciador de Banco de Dados) MySQL, utilizar a linguagem SQL em ferramenta SGBD e construir um banco de dados. Boa leitura. Laiane Laiane PROGRAMAÇÃO BACK END II Maurício de Oliveira Saraiva Instalação e uso de um SGBD Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Instalar o sistema gerenciador de banco de dados (SGBD) MySQL. � Utilizar a linguagem SQL em ferramenta SGBD. � Construir um banco de dados. Introdução Um SGBD é um sistema capaz de gerenciar um banco de dados por inteiro. Por meio de diversos recursos, pode-se criar estruturas que servem para armazenar e consultar dados, controlar transações e administrar usuários, entre outros. O MySQL é um SGBD completo que fornece inúmeras ferramentas que auxiliam na criação de bancos de dados, assim como na execução das instruções de administração e manipulação de dados. Neste capítulo, você aprenderá sobre a instalação do SGBD MySQL, além de compreender o uso da linguagem SQL e a construção de um banco de dados, utilizando o MySQL Workbench. Instalação O MySQL é um SGBD de propriedade da empresa Oracle que utiliza a lin- guagem Structured Query Language (SQL) para acessar e manipular dados. Por ser um banco de dados relacional, o MySQL armazena os registros em tabelas que se relacionam por meio de chaves primárias (primary keys [PK]) e estrangeiras ( foreign keys [FK]) (MYSQL..., 2019b). Laiane Laiane Laiane Laiane O MySQL é um dos mais populares SGBD disponíveis no mercado e possui integração com diversas linguagens de programação, como C#, PHP, Java e outras, sendo possível utilizá-lo com sistemas de todos os tamanhos e características (MYSQL..., 2019b). Além disso, o MySQL possui recursos para realizar as principais funções de bancos de dados, como criar e modificar tabelas, views e triggers, manipular e consultar registros, realizar e recuperar backups, etc. tanto por prompt de comando como por meio de ferramentas Computer-Aided Software Engineering (CASE), que auxiliam na execução dessas atividades. O MySQL possui diversas versões, que vão desde a Community, que pode ser livremente instalada para uso não comercial, até as versões para uso comercial Cloud Service e Enterprise Edition. Consulte a documentação do MySQL em seu site oficial para conhecer as licenças de uso. Neste capítulo, vamos apresentar a instalação do MySQL Community – MySQL on Windows (Installer & Tools), que já vem com algumas ferramentas para o desenvolvimento e o gerenciamento de aplicações para Windows. O download do MySQL e de suas ferramentas para Windows pode ser realizado no link a seguir. https://qrgo.page.link/P56cB A Figura 1 apresenta a tela para realizar o download do MySQL Installer para Windows. Esse instalador contém o MySQL e diversas ferramentas e recursos que auxiliam no desenvolvimento. Instalação e uso de um SGBD2 Laiane Laiane Laiane Laiane Laiane Figura 1. Tela de download do MySQL Installer. Fonte: MySQL... (2019a, documento on-line). Para fazer o download é preciso realizar o login na plataforma Oracle, conforme apresenta a Figura 2. Caso não tenha uma conta, crie uma gratui- tamente por meio da opção Sign Up. Figura 2. Acesso à plataforma Oracle. Fonte: Begin... (2019, documento on-line). 3Instalação e uso de um SGBD Após confirmar o login, a opção de download do MySQL Installer aparecerá, conforme ilustrado na Figura 3. Figura 3. Início do download do MySQL após a autenticação do usuário. Fonte: Begin... (2019, documento on-line). Após iniciar a instalação, aceite a licença de uso e clique no botão Next, conforme vemos na Figura 4. Figura 4. Instalação — aceitar a licença de uso. Instalação e uso de um SGBD4 A Figura 5 apresenta as opções de instalação. Selecione a opção Developer Default, que contém as principais ferramentas de desenvolvimento para o MySQL, dentre as quais se destaca o MySQL Workbench, uma ferramenta CASE largamente utilizada para a manipulação de bancos de dados MySQL (DATABASE..., 2019, documento on-line). Figura 5. Instalação — selecionar a opção de instalação. 5Instalação e uso de um SGBD A Figura 6 ilustra os recursos que serão instalados e suas respectivas versões disponíveis nesta instalação. Neste momento, não se preocupe com os números dessas versões, pois elas podem variar de acordo com as atualizaçõesque o MySQL implementa regularmente. Clique em Execute para instalá-los. Figura 6. Instalação — visualizar produtos que serão instalados. Clique em Next nas próximas janelas, confirmando as opções default para uma instalação clássica/estação de desenvolvimento. Na sequência, defina uma senha de acesso para o usuário administrador Root Account e clique em Next para essa e as demais telas. Confirme a instalação clicando em Execute na tela Apply Configuration, conforme ilustra a Figura 7. Instalação e uso de um SGBD6 Figura 7. Instalação — confirmar a execução. Confirme as próximas configurações que aparecerem, como o MySQL Router. Na sequência, cheque a conexão, informando a senha de acesso do usuário Root que foi criada durante a instalação e confirme a execução para concluir a instalação. Utilização da linguagem SQL no MySQL Workbench A linguagem SQL possui instruções para realizar diversas atividades em bancos de dados MySQL. Essas instruções podem ser de quatro tipos: Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL) e Transaction Control Language (TCL). 7Instalação e uso de um SGBD Laiane A listagem dos principais comandos SQL, agrupados por tipo, pode ser visualizada na Figura 8. Figura 8. Principais comandos SQL agrupados por tipo. � DDL — São comandos utilizados para definir um banco de dados, como criar, modificar e excluir tabelas, views, triggers, entre outros. Servem para definir a estrutura de um banco de dados (DATA..., 2019a). � DML — São comandos utilizados para manipular (inserir, excluir, alterar e consultar) os registros das tabelas de um banco de dados. Normalmente, são os comandos mais utilizados pelos usuários, por meio dos programas que acessam os bancos de dados (DATA..., 2019b). � DCL — São comandos utilizados para controlar as permissões de acesso aos elementos dos bancos de dados. Esses comandos são normalmente executados por administradores de banco de dados (DBA) para criar usuários e grupos e definir suas permissões de acesso, entre outros (DATABASE..., 2019). � TCL — São comandos que controlam as transações que podem ser executadas nas tabelas dos bancos de dados. As transações envolvem confirmar ou desfazer a execução de alterações em registros de tabelas (TRANSACTIONAL..., 2019). Instalação e uso de um SGBD8 Para demonstrar a aplicação dos comandos DML, que são os comandos mais utilizados nos programas implementados por programadores, vamos utilizar o MySQL Workbench. Para isso, inicie a execução deste programa, configure e teste uma conexão de acesso ao MySQL, conforme mostra a Figura 9. Figura 9. Configurar a conexão com o MySQL. Após se conectar a um banco de dados é possível visualizar a tela inicial do MySQL Workbench, ilustrada na Figura 10, que apresenta os Schemas (bancos de dados existentes). Por padrão, o MySQL traz os seguintes bancos de dados instalados: sakila, sys e world. 9Instalação e uso de um SGBD Figura 10. Tela inicial do MySQL Workbench. Expandindo as Tables do banco world, pode-se identificar três tabelas: city, country e countrylanguage. Ao clicar com o botão direito do mouse sobre a tabela city e selecionar a opção Select Rows – Limit 1000, uma nova guia será aberta com a seguinte instrução: SELECT * FROM world.country; Esta instrução indica a seleção de todos os campos da tabela city do banco de dados world, cujo resultado da consulta (query) é apresentado na Figura 11. Para executar novamente uma instrução SQL, clique no botão Execute, indicado por um raio de coloração amarela, ao lado do botão Save. Instalação e uso de um SGBD10 Figura 11. Resultado da execução da query. Na grade que apresenta o resultado da consulta, executam-se as ações de inclusão, alteração e exclusão de registros. Basta posicionar o cursor no registro indicado ou usar o seletor que fica ao lado esquerdo da primeira coluna. A confirmação ou reversão das alterações deve ser realizada por meio dos botões Apply e Revert, localizados no canto inferior direito da mesma grade. Quando confirmado, uma janela apresentará a respectiva instrução SQL que representa a ação realizada diretamente na grade, conforme ilustra a Figura 12. Figura 12. Tradução em expressão SQL da ação realizada na grade. 11Instalação e uso de um SGBD Nesta etapa, confirmarmos a alteração da população da cidade identificada com ID igual a 14 por meio do botão Apply. O mesmo procedimento ocorre quando outras ações são executadas na grade, como a inclusão e a exclusão. Note que é possível executar mais de uma operação na mesma confirmação, conforme mostra a Figura 13. Figura 13. Diferentes ações executadas na grade de resultados. Construção de um banco de dados MySQL Criar um banco de dados MySQL é uma tarefa relativamente simples, que pode ser executada de várias maneiras: por meio de instruções SQL digitadas via terminal, pela execução de scripts escritos ou gerados por ferramentas específicas, ou com o auxílio de uma ferramenta CASE, como o MySQL Workbench (MYSQL..., 2019c). Neste capítulo, vamos criar um banco de dados por meio de um modelo entidade-relacionamento desenhado no MySQL Workbench, mesmo sabendo que o banco de dados poderia ser criado diretamente na área de Schemas do MySQL Workbench. A vantagem de se criar um modelo de dados é que ele pode gerar e executar os scripts de criação do banco de dados, assim como atualizá-lo diretamente, facilitando o trabalho quando for preciso modificar sua estrutura. Instalação e uso de um SGBD12 Laiane No MySQL Workbench, acesse o menu File e selecione a opção New Model para abrir uma nova guia. Em seguida, efetue duplo clique em Add Diagram para abrir uma janela, como na Figura 14. Figura 14. MySQL Workbench — diagrama. Na barra de ferramentas, localizada ao lado esquerdo da área do diagrama, encontra-se um ícone em formato de tabela, cuja descrição indica Place a New Table (Quick key – press T). Clique neste ícone e, em seguida, clique na área do diagrama para criar uma tabela no modelo. 13Instalação e uso de um SGBD Efetue duplo clique no elemento table1 que foi criado no modelo. Uma nova área será aberta logo abaixo da área do modelo. Nesta área, vamos manipular a nova tabela, como alterar o nome, criar os campos, definir os tipos de dados de cada um e marcar as opções de restrição desejadas (PK, NN, UQ etc.), conforme ilustrado na Figura 15. Figura 15. Definição da tabela aluno. Crie os campos id_aluno, cpf, nome e endereco, selecionando corretamente os tipos de dados e as restrições definidas, de acordo com a estrutura apresentada na Figura 15. Defina nomes de campos e tabelas em letras minúsculas, evite caracteres especiais e acentuados, bem como espaços entre nomes duplos. Caso seja necessário, utilize o caractere sublinhado para unir as palavras, como id_aluno. Instalação e uso de um SGBD14 Em seguida, crie uma tabela chamada turma com os campos id_turma e descricao, bem como seus tipos de dados e restrições, conforme apresenta a Figura 16. Figura 16. Definição da tabela turma. Faça a associação entre as tabelas aluno e turma com o auxílio do ícone em formato de pé de galinha, localizado na barra de ferramentas, cuja descrição é Place a New 1:n Non-Identifying Relationship (Quick key – press 2). Após clicar no ícone indicado, clique primeiro na tabela aluno e, após, na tabela turma. Isso formará um relacionamento entre ambas, que levará a chave primária de turma (id_turma) como uma chave estrangeira na tabela aluno (turma_id_turma). Na sequência, edite novamente a tabela aluno e altere o nome da chave estrangeira de turma_id_turma para id_turma, apenas para atender a um padrão de modelagem determinado em que as chaves primárias e estrangeiras possuem o mesmo nome, conforme ilustra a Figura 17. 15Instalação e uso de um SGBD Figura 17. Relacionamento entre as tabelas aluno e turma. Clique com o botão direito do mouse sobre mydb, localizado à esquerdado diagrama, na área Catalog Tree e selecione Edit Schema. Digite o nome db_academico e clique no botão Rename References para renomear o nome do banco de dados que foi criado. Salve o modelo na pasta de sua preferência. Após, selecione a opção Database no menu superior e escolha Synchronize Model. Selecione uma conexão no item Stored Connection e clique em Next nas próximas janelas que aparecerem. Informe a senha do banco de dados e selecione o nome do Model Schema quando solicitado. Por fim, o MySQL Workbench visualiza os comandos SQL que serão executados para criar o banco de dados, de acordo com o diagrama modelado. Clique em Execute para executar os comandos preparados para criar o banco de dados db_academico e as tabelas aluno e turma. O banco de dados criado, juntamente com as tabelas aluno e turma, podem ser visualizados na primeira guia do MySQL Workbench, na qual constam os bancos de dados sakila, sys e world. Clique com o botão direito do mouse em qualquer um deles e selecione Refresh All para atualizar a lista. A Figura 18 apresenta o banco de dados db_academico na relação de Schemas do MySQL Workbench. A base de dados já está pronta para ser utilizada. Instalação e uso de um SGBD16 Figura 18. Banco de dados db_academico. BEGIN Your Download. MySQL, Uppsala; Cupertino, 2019. Disponível em: https://dev. mysql.com/downloads/file/?id=488055. Acesso em: 7 set. 2019. DATA Definition Statements. In: MySQL 8.0 Reference Manual, Uppsala; Cupertino, 2019a. Disponível em: https://dev.mysql.com/doc/refman/8.0/en/sql-syntax-data-definition. html. Acesso em: 7 set. 2019. DATA Manipulation Statements. In: MySQL 8.0 Reference Manual, Uppsala; Cupertino, 2019b. Disponível em: https://dev.mysql.com/doc/refman/8.0/en/sql-syntax-data- -manipulation.html. Acesso em: 7 set. 2019. DATABASE Administration Statements. In: MySQL 8.0 Reference Manual, Uppsala; Cuper- tino, 2019. Disponível em: https://dev.mysql.com/doc/refman/8.0/en/sql-syntax-server- -administration.html. Acesso em: 7 set. 2019. MYSQL Community Downloads. MySQL, Uppsala; Cupertino, 2019a. Disponível em: https://dev.mysql.com/downloads/installer/. Acesso em: 7 set. 2019. MYSQL Developer Zone. In: MySQL 8.0 Reference Manual, Uppsala; Cupertino, 2019b. Disponível em: https://dev.mysql.com/. Acesso em: 7 set. 2019. 17Instalação e uso de um SGBD MYSQL Workbench. In: MySQL 8.0 Reference Manual, Uppsala; Cupertino, 2019c. Dispo- nível em: https://dev.mysql.com/doc/workbench/en/. Acesso em: 7 set. 2019. TRANSACTIONAL and Locking Statements. In: MySQL 8.0 Reference Manual, Uppsala; Cupertino, 2019. Disponível em: https://dev.mysql.com/doc/refman/8.0/en/sql-syntax- -transactions.html. Acesso em: 7 set. 2019. Instalação e uso de um SGBD18 Dica do professor Consultas escritas na linguagem SQL são utilizadas quando é necessário obter dados que estão armazenados em bancos de dados. Por meio de instruções SQL, é possível realizar diversas consultas, como seleção de campos, filtros, agrupamentos, relacionamentos entre tabelas e muito mais. Assista à Dica do Professor para saber como executar consultas na linguagem SQL no MySQL Workbench. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/3c400c3a9e11fc15c7e913e0e7285051 Exercícios 1) O MySQL é um dos mais populares SGBDs disponíveis no mercado. Ele dispõe de recursos para realizar diversas rotinas que vão desde a administração do banco de dados até a manipulação de dados armazenados. Com base nas versões do MySQL, marque a alternativa que se destina ao uso não comercial – desenvolvedores open source. A) Cloud. B) Cluster. C) Community. D) Enterprise. E) Standard. 2) O MySQL é um SGBD completo que tem recursos para lidar com diversos tipos de comandos SQL. Marque a opção que representa o tipo de comando utilizado para modificar os registros de uma tabela na linguagem SQL. A) DDL – Data Definition Language. B) DML – Data Manipulation Language. C) DCL – Data Control Language. D) DUL – Data Update Language. E) TCL – Transaction Control Language. 3) O MySQL Workbench é uma ferramenta CASE que auxilia na execução de diversas atividades do MySQL, como a escrita de instruções SQL para ler e modificar registros. Considerando que a seguinte instrução foi produzida: SELECT * FROM academico.professor; Indique a alternativa correta: A) "academico" é o nome do schema. Laiane Laiane Laiane Laiane O MySQL Community Edition é a versão destinada a desenvolvedores open source para uso gratuito e não comercial. As demais versões precisam ser adquiridas para o uso comercial. Laiane DML é utilizado para modificar os registros de uma tabela, como insert, update e delete. DDL agrupa comandos para criar e modificar a estrutura de tabelas. DCL serve para administrar permissões de usuários e grupos. TCL para controlar transações. DUL não é um tipo válido de comando SQL. Laiane "academico" é o nome do schema (banco de dados) e "professor" é o nome de uma tabela desse banco de dados. B) "professor" é o nome de um campo da tabela "academico". C) "academico" é o nome de uma tabela ou view. D) "professor" é o nome do banco de dados. E) "academico" e "professor" são tabelas de um banco de dados. 4) Com o MySQL Workbench é possível visualizar os registros de uma tabela por meio de uma grade que apresenta o resultado de uma instrução SELECT. Ao editar o valor de um campo diretamente nessa grade, o registro: A) será alterado automaticamente no banco de dados. B) será alterado no banco de dados após clicar no botão Commit. C) será alterado no banco de dados após clicar no botão Apply. D) não será alterado no banco de dados, apenas na visualização da grade. E) não pode ser alterado pela grade de visualização de uma consulta. 5) As instruções SQL utilizadas para definir tabelas em um banco de dados MySQL podem ser construídas por meio de diagramas entidade-relacionamento modelados no MySQL Workbench. Nesse contexto, escolha a alternativa correta. A) As instruções SQL geradas por um diagrama devem ser copiadas e executadas em uma janela de comandos do MySQL Workbench ou MySQL Shell (prompt de comando). B) Um diagrama do Workbench pode sincronizar um modelo diretamente com o banco de dados. C) Um diagrama do Workbench serve para visualizar as tabelas em modo gráfico e não gera instruções SQL. D) Um diagrama do Workbench gera instruções SQL que precisam ser adaptadas para cada banco de dados. E) Um diagrama do Workbench produz instruções que podem atualizar um banco de dados, mas essas instruções não são da linguagem SQL. Laiane Laiane Laiane Laiane Um registro pode ser alterado diretamente na grade que exibe o resultado de uma consulta, no entanto, essa alteração somente será efetuada no banco de dados após clicar no botão Apply. Laiane Um registro pode ser alterado diretamente na grade que exibe o resultado de uma consulta, no entanto, essa alteração somente será efetuada no banco de dados após clicar no botão Apply. Na prática No desenvolvimento corporativo, profissionais de TI utilizam recursos que auxiliam a execução do trabalho para ganhar produtividade e aumentar a lucratividade das empresas em que trabalham. Para isso, utilizam o máximo dos recursos que as ferramentas CASE proporcionam. Uma das vantagens de utilizar ferramentas CASE de banco de dados é a possibilidade dos profissionais empenharem seus esforços na modelagem do negócio, sem se preocuparem tanto com a sintaxe da linguagem SQL, que é vasta e complexa. Veja, neste Na Prática, o caso de uma empresa de desenvolvimento de software que utiliza o banco de dados MySQL como seu SGBD. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/f93c0295-5588-4d27-9d83-a81c1dc84533/6869e3f5-9cbd-4e72-bb86-64ce950c317f.jpg Saiba + Paraampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: SQL // Dicionário do programador Assista a este vídeo para ter uma visão geral da linguagem SQL. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Instalação MySQL 8 + Workbench Assista a este vídeo para conhecer como ocorre a instalação do MySQL. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Aprendendo a criar banco de dados no Workbench Neste vídeo, você conhecerá como se cria um banco de dados e tabelas com o diagrama no MySQL Workbench. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://www.youtube.com/embed/kMznyI7r2Tc https://www.youtube.com/embed/6gt6_3U9OlI https://www.youtube.com/embed/nJL8S1Mvh1I