Tópico: Ferramentas Case CONTEÚDO PROGRAMÁTICO Documentação Forward Engineer Ferramenta Case Reverse Engineer Figura 1 – Esquema para Ferramentas Case Modelos FERRAMENTAS CASE CASE: Computer Aided Software Engineering. • Seu principal objetivo é auxiliar o processo de desenvolvimento de software; • Existem ferramentas CASE específicas para banco de dados; PRINCIPAIS BENEFÍCIOS 1) Facilidade de projeto de modelos; 2) Fácil gerenciamento de modelos; 3) Documentação sempre atualizada; 4) Geração de relatórios web 5) Forward / Reverse Engineering. 6) Geração de scripts SQL ALGUMAS FERRAMENTAS ERWIN MySql Workbench ER/Studio CASE Figura 2 – Exemplo de Ferramentas INTERFACE: DBDesigner Figura 3 – Interface DBDesigner Figura 4 – DER - DBDesigner INTERFACE: ERWIN Figura 5 – Interface Erwin Figura 6 – DER - Erwin INTERFACE: MySql Workbench Figura 7 – Interface MySql Workbench Figura 8 – DER – MySql Workbench PRÉ REQUISITOS 1) Baixar o SGBD gratuito MySql Data do acesso: Disponível em: http://dev.mysql.com/downloads/mysql/5.0.html 05/09/2009. 2) Baixar a ferramenta gratuita 3) Disponível em: http://dev.mysql.com/downloads/workbench/5.1.html Data do acesso: 05/09/2009. FERRAMENTAS Seleção de objetos Mover modelo Apagar objetos Inserir layer Objeto texto Inserir figura Objeto tabela Visão Rotina de grupo Relacionamento 1:1 não identificado Relacionamento 1: N não identificado Relacionamento 1:1 identificado Relacionamento 1: N identificado Relacionamento N:M Relacionamento 1: N baseado em campos já existentes Figura 9 – Barra de Ferramentas GERANDO O DER GERANDO O DER 1. Criando o DER: - Ao abrir o Mysql Workbench, escolha a opção abaixo para criar o DER. 3. Nomeando a Tabela: Duplo clique na tabela e digite o nome da mesma logo abaixo, na pasta table campo name. 2. Criar Tabela: Clique no objeto tabela na barra de ferramentas e depois na área de edição. GERANDO O DER – (cont) 4. Definindo Atributos: clique na pasta Columns e defina os atributos para a entidade cliente. Observe que o check box PK (primary key) está habilitado para o campo cpf, que é nossa chave primária. 4.1 Para trocar o tipo de campo basta clicar sobre o tipo do mesmo na coluna Datatype. 4.1 5. Agora, que tal você criar a tabela de pedido, seguindo os passos: 2 até 4.1? DEFININDO A CARDINALIDADE 6. Criando o relacionamento: O relacionamento entre cliente e pedido é do tipo: 1: N. Para isto clique no ícone do relacionamento 1:n [não identificado]. 6.1 Ligando as entidades: clique PRIMEIRO na entidade que vai receber a chave estrangeira, neste caso pedido e depois clique em cliente. 1 2 ALTERANDO A CARDINALIDADE 6.2 Alterando as cardinalidades: Caso seja necessária a alteração das cardinalidades, basta um duplo clique sobre o relacionamento. 6.3 Opção para alteração das cardinalidades. FINALIZANDO O DER 7. Agora, que tal você criar a tabela de produto, seguindo os passos: 2 até 4.1? 8. Crie o relacionamento do tipo N:M [muitospara-muitos] entre as tabelas produto e pedido. ENGENHARIA REVERSA 8. Obtendo o Der através de um banco já existente. Aqui iremos conectar no mysql e extrair o der de um banco já existente. Este é o conceito de engenharia reversa. 8.1 Abra o Workbench e escolha a opção Manage. 8.2 Criar a conexão: Clique no Botão New. ENGENHARIA REVERSA (cont) 9. Configurando a conexão: 9.1. Clique em New. 9.2. Dê um nome para a conexão em Connection Name. 9.3. 9.4. As configurações de Hostname, Port ele pega da instalação do mySql em sua máquina. Clique em Test Connection. 9.5. Clique no menu File -> New Model 9.1 9.2 9.4 ENGENHARIA REVERSA (cont) 9.6 Clique no menu Database - > Reverse Engineer... 9.6 9.7 9.7. Clique em next ENGENHARIA REVERSA (cont) 9.8 Clique no menu Database - > Reverse Engineer... 9.9. Clique em next 9.6 9.7 9.10. Escolha o esquema que já possui tabelas [mysql] 9.11. Clique em: -> Next ENGENHARIA REVERSA (cont) 9.12. Clique em: -> Next 9.13 Clique em: -> Execute 9.14 Clique em Next e depois em Finish ENGENHARIA REVERSA (cont) 9.11. A engenharia reversa propicia, a partir de um modelo físico implementado, a extração do modelo visual dos objetos implementados. FORWARD ENGENHARIA 10. A engenharia “para frente“ permite a partir do der a implementação do modelo físico diretamente no banco de dados. 10.1 Para isso crie um novo arquivo e crie a tabela de cliente conforme abaixo: 10.2 Clique no menu Database - > Forward Engineer... e depois em run validations 10.3 Clique em Next FORWARD ENGENHARIA 10.4 Clique em Next 10.5 Clique em Next FORWARD ENGENHARIA 10.6 Geração automática do Script SQL ) 10.7 Neste ponto você precisará fazer um ajuste [acrescentar um parêntese] conforme abaixo: FORWARD ENGENHARIA 10.8 Clique em Next 10.9 Escolha a conexão mySql e clique em Execute 10.10 A tabela já foi implementada no banco, basta clicar em close. DOCUMENTAÇÃO 11) Documentando tabelas e atributos: É recomendável a documentação de tabelas e atributos no diagrama, pois quando for realizada a forward engineer toda a documentação é implementada no banco também, assim garantimos que nosso modelo esteja documentado e sempre atualizado. 11.1) Para isto: Basta clicar na tabela e nos atributos e preencher o campo Comments, que são os comentários. Obrigado... •www.cruzeirodosul.edu.br •Campus Liberdade •R. Galvão Bueno, 868 •01506-000 •São Paulo SP Brasil •Tel: (55 11) 3385-3000