Prévia do material em texto
Atividade Prévia – Trabalho Prático Disciplina FED – Fundamentos em Engenharia de Dados Objetivos Exercitar os seguintes conceitos vistos em sala de aula: Conhecer o ambiente de modelagem do MySQL Workbench versão 8. Aprender a criar modelos de dados relacional. Aprender a criar sua base de dados relacional no SGBD MySQL Server versão 8. Atividade 1: Instalação da ferramenta MySQL Workbench versão 8 e do SGBD MySQL Server versão 8. Siga o passo a passo de instalação disponível para download no canvas do IGTI. A instalação da versão 8 é necessária, pois algumas funcionalidades que vamos trabalhar surgiram na versão 8. O site para download da ferramenta é: — https://dev.mysql.com/downloads/workbench/1. A documentação do fornecedor está disponível em: — https://dev.mysql.com/doc/. Caso você não consiga realizar a instalação, abra um chamado em nossa central ou utilize o fórum de discussão exclusivo da Primeira Atividade Prévia para tirar dúvidas. Não deixe de instalar, vamos utilizar essa ferramenta na Primeira Aula Interativa. https://dev.mysql.com/downloads/workbench/ https://dev.mysql.com/doc/ Conclusão da atividade 1: Pronto, você instalou as ferramentas para trabalhar com dados e banco de dados MySQL. O MySQL Server é um sistema gerenciador de banco de dados relacional de código aberto, usado na maioria das aplicações gratuitas para gerir suas bases de dados. O serviço utiliza a linguagem SQL (Structure Query Language – Linguagem de Consulta Estruturada), que é a linguagem mais popular para inserir, acessar e gerenciar o conteúdo armazenado num banco de dados. O MySQL Workbench é uma ferramenta visual de design e gerenciamento de banco de dados que integra desenvolvimento, administração, design de banco de dados, criação e manutenção de SQL em um único ambiente de desenvolvimento integrado, para o sistema gerenciador de banco de dados MySQL. A ferramenta é muito boa e completa. Possui as opções de abrir conexão, editar dados, editar scripts SQL, gerenciar conexões, novo modelo de dados, modelo de dados a partir da base (engenharia reversa), modelo de dados de um script SQL, criação de instâncias de servidor, importação/exportação de base, gerenciamento de segurança e gerenciamento de instâncias. Atividade 2: Criação de modelo de dados na ferramenta MySQL Workbench. Abra a ferramenta MySQL Workbench instalada na Atividade 1. Realize os passos abaixo. 1. Crie no MySQL Workbench um novo modelo de dados conforme figura abaixo: a) Na tela inicial do MySQL Workbench selecione à esquerda a opção de modelo de dados (1º da figura abaixo) e em seguida clique sobre o “+” ao lado da palavra “Models” (2º da figura abaixo). b) Na tela seguinte, do modelo de dados (Aba MySQL Model) em destaque na figura mais à esquerda abaixo, clique sobre “Add Diagram” (1º da figura abaixo). c) Na tela seguinte, observe que o esquema assume o nome padrão “mydb” na caixa chamada “Catalog Tree”. Você pode editar o esquema de acordo com sua necessidade, para isso, clique com o botão direito do mouse sobre o nome do esquema, neste caso “mydb”, e selecione a opção “Edit Schema” (1º da figura abaixo). Você terá o mesmo efeito se clicar duas vezes sobre o nome do esquema. Altere o nome do esquema para “igtidb” (2º da figura abaixo) e, para fechar a aba de propriedades do esquema, clique sobre o “X” localizado na aba (3º da figura abaixo). d) Na aba “ERR Diagram” em destaque na figura ao centro abaixo, na caixa denominada “Diagram”, como uma das opções da barra de ferramentas localizada à esquerda desta caixa, clique uma vez sobre o símbolo de tabela (1º da figura abaixo) e depois clique sobre a área de desenho à direita, ainda na caixa “Diagram” (2º da figura abaixo). e) Edite a tabela “table1” para ficar como a tabela “Funcionario” do modelo alvo. Para isso, clique duas vezes sobre o desenho da “table1” e a tela de propriedades da tabela será exibida, conforme figura abaixo. f) Altere o nome da tabela para “Funcionario” (1º da figura abaixo). Inclua as colunas e as propriedades de cada coluna para ficar semelhante ao modelo alvo (2º da figura abaixo). Observe que a coluna “depto” é chave estrangeira, e não é necessário criar essa coluna neste momento. Isso será feito depois. g) Repita os passos e, f, e g para a tabela “Departamento”. Ao final deste passo, espera-se que o modelo fique como na figura abaixo (pode ignorar as letras maiúscula dos nomes das tabelas e colunas). A explicação da simbologia usada no MySQL Workbench é apresentada na imagem abaixo. Agora vamos criar o relacionamento, mas antes disso vamos entender um pouco sobre quais relacionamentos existem. No MySQL Workbench podemos observar os seguintes relacionamentos: Observe que no caso dos relacionamentos 1:1 e 1:N existem relacionamento do tipo não identificado (com linhas pontilhadas) e relacionamento identificado (linha contínua). Na prática, um relacionamento com identificação é aquele que é representado por uma chave estrangeira que é parte da composição da chave primária da tabela filha. Enquanto um relacionamento sem identificação é aquele que é representado apenas por uma chave estrangeira que não faz parte da composição da chave primária da tabela filha. Veja os exemplos a seguir: Relacionamento não identificado: Em detalhes, observamos as propriedades da tabela 1 e, na figura abaixo, observamos que a coluna Tabela2_idTabela2, com o símbolo de losango vermelho, é uma chave estrangeira, mas não faz parte da chave primária: Relacionamento identificado: Em detalhes, observamos as propriedades da tabela 1 e, na figura abaixo, observamos que a coluna Tabela2_idTabela2, agora com o símbolo de chave amarela, é uma chave estrangeira, mas também está vinculada à chave primária. Relacionamento N:N: Um relacionamento N:N gera uma terceira tabela que chamamos de tabela associativa, no MER é a Entidade Associativa. Quando criado é sempre identificado, assim a chave primária de cada tabela vai para a nova tabela como chave estrangeira e chave primária. Depois de criada a tabela associativa, você pode editá-la como as demais, alterando seu nome, suas chaves e incluindo novas colunas, como no exemplo abaixo: Ainda podemos definir a obrigatoriedade do relacionamento, como no exemplo a seguir. A relação entre a Tabela3 e Tabela4 é de que a Tabela3 possui N ocorrências na Tabela4, entretanto, não é obrigatório (mandatório) que um elemento da Tabela3 se relacione com algum elemento da Tabela4, mas é obrigatório que um elemento da Tabela4 se relacione com algum elemento da Tabela3. A obrigatoriedade pode ser definida nas propriedades do relacionamento, conforme demonstrado na imagem a seguir. Além dos tipos de relacionamentos e suas propriedades, podemos ainda apresentar algumas propriedades interessantes para documentar o modelo. Por exemplo, colocar nomes nos relacionamentos para indicar o que significa a relação. Retornando ao nosso exercício, vamos criar nosso relacionamento. h) Crie o relacionamento entre as tabelas “Funcionario” e “Departamento”. Para isso, selecione na barra de ferramentas da caixa “Diagram” o relacionamento desejado. No nosso caso, é um relacionamento 1:N pois 1 departamento pode ter N (múltiplos) funcionários alocados nele. Além disso, é não identificado pois não é necessário que o código do departamento faça parte da chave primária. Assim, selecione o relacionamento 1:N (1º da figura abaixo). Em seguida clique primeiro na tabela que terá múltiplas ocorrências (N), que no nosso caso é a tabela “Funcionario” (2º da figura abaixo) e, por último, clique na tabela que terá uma ocorrência; no nossocaso é a tabela “Departamento” (3º da figura abaixo). O resultado será como exibido na figura abaixo. i) Observe que a coluna “cod_depto” da tabela “departamento” é automaticamente criada na tabela “Funcionario” como chave estrangeira com o nome “departamento_ cod_depto”. Edite o nome da coluna para que ela se chame apenas “depto”. j) Após criar todas as tabelas e relacionamentos, utilize o menu “File->Save Model As …” para salvar seu modelo. k) Inclua no relatório a ser entregue a imagem contendo seu modelo de dados criado nesta atividade. Registre ainda qualquer dúvida ou problema sobre esta atividade. Utilize o fórum de discussão para tirar dúvidas. Conclusão: Nesta atividade você aprendeu a criar modelos de dados MySQL utilizando a ferramenta MySQL Workbench. Além disso, conheceu os tipos de relacionamentos existentes no MER e por consequência no MySQL Workbench, compreendendo a diferença entre eles. Atividade 3: Criação do SCRIPT SQL para SGBD MySQL Server por meio da ferramenta MySQL Workbench. Para realizar essa atividade, certifique-se que você instalou o MySQL Server e que ele está em execução. Verifique no arquivo de passo a passo como fazer isso. a) Com seu modelo aberto, acesse o menu “File->Export->Forward Engineer SQL CREATE Script” conforme indicado na figura abaixo. b) Nas telas seguintes, 1º selecione a pasta onde você vai salva o arquivo do seu script e o nome do arquivo. Marque as opções conforme imagem abaixo e clique em next para prosseguir. c) Na tela seguinte verifique na opção Export MySQL Table Objects se existem dois Objetos selecionados (são nossas tabelas Funcionario e Departamento), em seguida clique em next para prosseguir. Se quiser ver quais são os objetos, clique no botão “Show Filter”. d) Na tela seguinte, clique em finish para prosseguir. Agora abra seu script, copie ele todo (Ctrl+a) e inclua no relatório a ser entregue nesta atividade, no local indicado. Registre ainda qualquer dúvida ou problema sobre esta atividade. Utilize o fórum de discussão para tirar dúvidas Conclusão: nesta atividade você aprendeu como gerar seu script SQL a partir de um modelo de dados. Atividade 4: Criação da base de dados no SGBD MySQL Server a partir de script, por meio da ferramenta MySQL Workbench. Para realizar esta atividade, certifique-se que você instalou o MySQL Server e se ele está em execução. Verifique no arquivo de passo a passo como fazer isso. a) Retorne a tela inicial do MySQL Workbench, clicando sobre o desenho da casa (home) no canto superior esquerdo da tela. b) Selecione a opção de acessar o SGBD conforme imagem abaixo, na seta número 1. c) Selecione os dados de conexão do seu banco de dados. Se for seu primeiro acesso você não deve ter nenhuma conexão criada, assim, conforme indicado pela seta número 2 na figura anterior, selecione a opção de adicionar uma nova conexão. Caso contrário você já criou a conexão, vá para o passo “e”. d) Para criar uma nova conexão, siga os seguintes passos: 1º) Defina um nome para sua conexão (número 1 da figura abaixo). Se você está usando o MySQL Workbench na mesma máquina que seu servidor MySQL, seu hostname é localhost ou o ip padrão (2 da figura abaixo) e a porta é a porta padrão (3 da figura abaixo). Caso contrário, informe os dados de seu servidor. 2º) Informe (número 4 da figura abaixo) o usuário root que foi definido na instalação, se você seguiu a orientação da instalação a senha é igti. Obs.: Você pode usar outro usuário com privilégios de criação de esquema de dados caso tenha criado algum, como por exemplo o usuário IGTI, com o papel (role) DB Admin e senha igti, sugerido no passo a passo de instalação. 3º) Se for a primeira vez que informa a senha, clique no botão “Store in Vault…” (conforme seta vermelha da imagem acima) para informar a senha (igti) e ela será salva para as próximas vezes. Veja os detalhes na imagem abaixo. Clique em OK após informar a senha. 4º) Retornando à tela de criação da conexão, caso tenha um esquema de banco de dados padrão (default) você pode informar aqui, se não quiser, isso poderá ser feito adiante. Você pode clicar no botão “Test Connection” para testar se está tudo OK antes de finalizar. Para finalizar clique em OK e veja que sua conexão foi criada. e) Para conectar ao seu servidor de banco de dados clique sobre sua conexão, conforme indicado pela seta na imagem acima, e aguarde até o MySQL Workbench abrir o SQL Editor. f) Quando o SQL Editor abrir, caso a tela seguinte seja exibida, significa que seu MySQL server não está em execução. Você precisa iniciar o serviço, veja como fazer isso no passo a passo de instalação do MySQL Workbench. Se seu serviço estiver sendo executado, você não precisa se preocupar com este passo, vá direto para o próximo g) Após você se conectar, a tela abaixo será aberta. Observe os esquemas que existem em seu SGBD na caixa à esquerda denominada SCHEMAS. O esquema sys é o esquema do dicionário de dados do SGBD. Os esquemas world e sakila são os esquemas de exemplos criado na instalação. A direita temos a aba chamada “Query 1”, que é o local onde podemos escrever os comandos SQL que desejamos executar. h) Para criar nossa base de dados vamos abrir o script que criamos na atividade anterior. Para isso, na barra de ferramentas selecione a opção de abrir script SQL, conforme imagem abaixo, e selecione seu arquivo. i) Após aberto o script, execute o script selecionando na barra de ferramentas a opção de executar o script SQL, conforme imagem abaixo. j) O resultado será exibido em seguida no detalhe “Output”, localizado abaixo do script. O resultado deve ser informado que o esquema foi criado com sucesso e suas respectivas tabelas. Para visualizar todo o output você pode expandir a janela. k) Independentemente do resultado, faça um Print Screen (captura de tela) com os resultados exibidos no detalhe “Output” e cole no relatório da atividade prévia. Obs.: Caso não consiga realizar, entre em contato por chamado no IGTI ou pelo tópico de discussão específico desta atividade. l) Para conferir o esquema criado, clique na opção de “refresh” (seta nº 1) na aba de esquemas e, após a atualização, o esquema igtidb vai aparecer (seta nº 2). m) Clique sobre o nome do esquema para expandir e, em seguida, sobre tables. Veja que as tabelas agora estão criadas. Conclusão: Nesta atividade você aprendeu a criar sua base de dados a partir de um script escrito em linguagem SQL por meio da sub linguagem DDL.