1 / 34

IN1008 – Projeto Conceitual de BD

IN1008 – Projeto Conceitual de BD. Ferramentas Case para projeto de BD DB-Main e DB-Designer Por: Diogo R. Maciel drm@cin.ufpe.br. Roteiro. Conceitos DB-Main Apresentação da Ferramenta Tutorial DB-Designer Apresentação da Ferramenta Tutorial Conclusões Referências.

hamlin
Download Presentation

IN1008 – Projeto Conceitual de BD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IN1008 – Projeto Conceitual de BD Ferramentas Case para projeto de BDDB-Main e DB-Designer Por: Diogo R. Maciel drm@cin.ufpe.br

  2. Roteiro • Conceitos • DB-Main • Apresentação da Ferramenta • Tutorial • DB-Designer • Apresentação da Ferramenta • Tutorial • Conclusões • Referências

  3. Computer Aided Database Engineering • Projeto de Banco de Dados • Parte do domíniodaEngenharia de SW • “Arte de modelar, validar e implementarestruturas de dados corretas e eficientes”. • Construirgrandes bases de dados (200 a 20.000 tabelas) nãopode ser feitosemsuporte de ferramentas CASE. • Exemplos de Ferramentas: • ERWIN • Rational Rose • DataArchitect • … [Introduction to Database Design, J-L Hainaut 2002]

  4. DB-Main • Fruto de um projeto de pesquisa da Universidade de Namur (Bélgica) • Projetada para suportar a maioria dos processos do projeto de BD • Processos Top-Down • Transformações de esquema • Engenharia reversa • Manutenção, evolução e integração • XML

  5. Abordagem prática • Estudo de caso • Modelo de uma biblioteca que fornece livros para seus usuários cadastrados. • Cada livro possui um código, um título, editora e autores. Opcionalmente pode ter um resumo e palavras chave. • Cada livro pode ter diversas cópias. • Um livro pode referenciar e ser referenciado por outros. • Um autor tem nome, uma nacionalidade e pode escrever um ou vários livros. • Cada cópia tem um código seqüencial e uma localização (Seção, corredor, estante) e pode ter um comentário. • É guardada a informação de quais cópias estão emprestadas a qual usuário com a data do empréstimo.

  6. Abordagem prática • Estudo de caso (continuação) • Um usuário é identificado pelo CPF, e possui nome, endereço e um a 5 telefones. • Um usuário pode ser responsável por vários dependentes. • Uma cópia não pode ser emprestada mais de uma vez no mesmo dia

  7. Tutorial DB-Main • Criando um novo projeto no DB-Main • File / New Project • Criamos um novo projetocom o nome BIBLIOTECA

  8. Tutorial DB-Main • Criando o esquema Conceitual • Product / Nem Schema • Nome: “Biblioteca”, Versão: “Conceitual”

  9. DB-Main: Esquema Conceitual • Definindo as entidades e seus atributos • Adicionar entidades com o botão • Duplo clique na entidade • Botão New att. Para adicionar atributos. • Selecionar nome,cardinalidade e tipo

  10. DB-Main: Esquema Conceitual • Entidades e seus atributos

  11. DB-Main: Esquema Conceitual • Relacionamentos • Selecionar ferramenta de criação de relacionamentose ligar as entidades. • Notação: Cardinalidade invertida

  12. DB-Main: Esquema Conceitual • Identificadores • Selecionar os atributos identificadores e clicar

  13. DB-Main: Esquema Conceitual • Relatório do esquema conceitual • Selecionar View/Text standard. • Em File/Report/Textual view, Escolher nome ediretório de destino.

  14. Tutorial DB-Main • Gerando o esquema Relacional • Transformações • Tradução das entidades e seus atributos • Tradução dos relacionamentos

  15. DB-Main: Esquema Relacional • Decompor atributos compostos • Selecionar atributo Localização. • Transform / Attribute / Disaggregation

  16. DB-Main: Esquema Relacional • Transformar atributos multivalorados em entidades • Selecionar o atributo Autor [1-5] • Transform / Attribute / -> Entity type. • Escolher value representation (1-N)

  17. DB-Main: Esquema Relacional • Transformar relacionamentos N-N em N-1 • Selecionar o relacionamento ESCRITO_POR • Transform / Rel-type / -> Entity type

  18. DB-Main: Esquema Relacional • Traduzir relacionamentos 1-N • Selecionar o relacionamento. • Transform / Rel-type / -> Attribute.

  19. DB-Main: Esquema Relacional

  20. Tutorial DB-Main • Gerando esquema físico • File / Generate / Standard SQL

  21. Avaliação DB-Main • Pontos fortes • Suporte a vários tipos de modelagem • Conceitual, Relacional, UML, Casos de Uso... • Transformações automáticas • Suporte a processos de desenvolvimento • Facilita a documentação • Pontos fracos • Poucos tipos de dados • Notação não é tão fácil de entender • Não tem conceito de entidade associativa • Interface pouco intuitiva

  22. DB-Designer • Integra projeto, modelagem, criaçãoe manutenção. • Open Source • Projetado para MySQL • Recursos: • Engenharia reversa • Geração de código • Design / Query mode • Salva o modelo na base de dados

  23. Abordagem prática • Usando o mesmo modelo da Biblioteca

  24. Tutorial DB-Designer • Construindo tabelas • Definir colunas e seus tipos de dado • Chaves primárias, not null, e AutoInc • Indices

  25. Tutorial DB-Designer • Relacionamentos • 1:N, 1:1, N:M • Quatro notações

  26. Tutorial DB-Designer • Esquema Relacional

  27. Tutorial DB-Designer • Esquema físico • File / Export / SQL Create Script

  28. Tutorial DB-Designer • Engenharia Reversa • Extrair um modelo armazenado no MySQL • Criar novo projeto • Database / Reverse Engeneering • Selecionar conexão

  29. Tutorial DB-Designer • Engenharia Reversa (Cont.) • Resultado: • Tabelas extraídas perfeitamente • Alguns Relacionamentos não são identificados • Alguns tipos de dado não correspondem ao modelo original

  30. Avaliação • Pontos fortes • Geração automática de código SQL • Exporta o esquema em XML • Conexão com o SGBD • Fácil de usar • Pontos fracos • Não permite modelagem conceitual • Voltada para um SGBD específico

  31. Conclusões • DB-Main • Indicado para projetos maiores • Mais recursos • Mais complexo • DB-Designer • Indicado para projetos mais simples • Interface mais amigável • Limitado ao SGBD

  32. Referências • Vincent Englebert and Jean-Luc Hainaut. DB-MAIN: A Next Generation Meta-CASE, Information Systems Journal,24(2): Pergamon, 1999. • LIBD - Laboratory of Database Application Engineering – University of Namur: www.info.fundp.ac.be/libd/ • DB-Main: www.dbmain.be • DB-Designer: www.fabforce.net/dbdesigner4/

More Related