Top Banner
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 1
34

IN1008 – Projeto Conceitual de BD

Mar 19, 2016

Download

Documents

hamlin

IN1008 – Projeto Conceitual de BD. Ferramentas Case para projeto de BD DB-Main e DB-Designer Por: Diogo R. Maciel [email protected]. Roteiro. Conceitos DB-Main Apresentação da Ferramenta Tutorial DB-Designer Apresentação da Ferramenta Tutorial Conclusões Referências. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 1

Page 2: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 2

IN1008 – Projeto Conceitual de BD

Ferramentas Case para projeto de BD

DB-Main e DB-Designer

Por:Diogo R. [email protected]

Page 3: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 3

Roteiro

• Conceitos• DB-Main

Apresentação da Ferramenta Tutorial

• DB-Designer Apresentação da Ferramenta Tutorial

• Conclusões• Referências

Page 4: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 4

Computer Aided Database Engineering

• Projeto de Banco de Dados Parte do domínio da Engenharia de SW “Arte de modelar, validar e implementar estruturas de

dados corretas e eficientes”. Construir grandes bases de dados (200 a 20.000 tabelas)

não pode ser feito sem suporte de ferramentas CASE. Exemplos de Ferramentas:

• ERWIN

• Rational Rose

• DataArchitect

• …[Introduction to Database Design, J-L Hainaut 2002]

Page 5: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

Page 6: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

Page 7: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

Page 8: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

• Criando um novo projeto no DB-Main File / New Project Criamos um novo projeto

com o nome BIBLIOTECA

Tutorial DB-Main

8

Page 9: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Tutorial DB-Main

• Criando o esquema Conceitual Product / Nem Schema Nome: “Biblioteca”, Versão: “Conceitual”

9

Page 10: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

Page 11: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

• Entidades e seus atributos

DB-Main: Esquema Conceitual

11

USUARIOCPFNomeEndereço

BairroLogradouroEstadoCidade

Telefone[1-5]

LIVROLivro-idTituloEditoraData-PublicacaoPalavrasChave[0-N]Resumo[0-1]

CÓPIANumCopiaDataAqusicaoLocalização

SeçãoPrateleiraCorredor

Comentarios[0-1]

AUTORNomeNacionalidade

Page 12: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

DB-Main: Esquema Conceitual

• Relacionamentos Selecionar ferramenta de criação de relacionamentos

e ligar as entidades. Notação:

Cardinalidade invertida

12

0-1Responsável

0-N

RESPONSAVEL POR

Origem0-N

Referencia0-N

REFERENCIA

1-N1-N ESCREVE

0-1 0-NESTA EMPRESTADODataEmprestimo

0-N

1-1

DE

USUARIOCPFNomeEndereço

BairroLogradouroEstadoCidade

Telefone[1-5]

LIVROLivro-idTituloEditoraData-PublicacaoPalavrasChave[0-10]Resumo[0-1]

CÓPIANumCopiaDataAqusicaoLocalização

SeçãoPrateleiraCorredor

Comentarios[0-1]

AUTORNomeNacionalidade

Page 13: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

DB-Main: Esquema Conceitual

• Identificadores Selecionar os atributos identificadores e clicar

13

0-1Responsável

0-N

RESPONSAVEL POR

Origem0-N

Referencia0-N

REFERENCIA

0-1 0-N

ESTA EMPRESTADODataEmprestimoid: CÓPIA

DataEmprestimo

1-N1-N ESCREVE

0-N

1-1

DE

USUARIOCPFNomeEndereço

BairroLogradouroEstadoCidade

Telefone[1-5]id: CPF

LIVROLivro-idTituloEditoraData-PublicacaoPalavrasChave[0-N]Resumo[0-1]id: Livro-id

CÓPIANumCopiaDataAqusicaoLocalização

SeçãoPrateleiraCorredor

Comentarios[0-1]id: DE.LIVRO

NumCopia

AUTORNomeNacionalidadeid: Nome

Page 14: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

DB-Main: Esquema Conceitual

• Relatório do esquema conceitual Selecionar View/Text standard. Em File/Report/Textual view, Escolher nome e diretório de

destino.

14

Page 15: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Tutorial DB-Main• Gerando o esquema Relacional

Transformações Tradução das entidades e seus atributos Tradução dos relacionamentos

15

Page 16: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

DB-Main: Esquema Relacional

• Decompor atributos compostos Selecionar atributo Localização. Transform / Attribute / Disaggregation

16

USUARIOCPFNomeEndereço

BairroLogradouroEstadoCidade

Telefone[1-5]id: CPF

USUARIOCPFNomeEnd_BairroEnd_LogradouroEnd_EstadoEnd_CidadeTelefone[1-5]id: CPF

Page 17: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

USUARIOCPFNomeEnd_BairroEnd_LogradouroEnd_EstadoEnd_CidadeTelefone[1-5]id: CPF

1-N1-5 TEM

USUARIOCPFNomeEnd_BairroEnd_LogradouroEnd_EstadoEnd_Cidadeid: CPF

TELEFONETelefoneid: Telefone

Page 18: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

DB-Main: Esquema Relacional

• Transformar relacionamentos N-N em N-1 Selecionar o relacionamento ESCRITO_POR Transform / Rel-type / -> Entity type

18

1-N1-N ESCREVE

LIVROLivro-idTituloEditoraData-PublicacaoPalavrasChave[0-N]Resumo[0-1]id: Livro-id

AUTORNomeNacionalidadeid: Nome

1-11-N ESC_LIV

1-1

1-NESC_AUT

ESCREVEid: ESC_AUT.AUTOR

ESC_LIV.LIVRO

LIVROLivro-idTituloEditoraData-PublicacaoPalavrasChave[0-N]Resumo[0-1]id: Livro-id

AUTORNomeNacionalidadeid: Nome

Page 19: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

DB-Main: Esquema Relacional

• Traduzir relacionamentos 1-N Selecionar o relacionamento. Transform / Rel-type / -> Attribute.

19

0-N

1-1

DE

LIVROLivro-idTituloEditoraData-PublicacaoPalavrasChave[0-N]Resumo[0-1]id: Livro-id

CÓPIANumCopiaDataAqusicaoLocalização

SeçãoPrateleiraCorredor

Comentarios[0-1]id: DE.LIVRO

NumCopia

LIVROLivro-idTituloEditoraData-PublicacaoPalavrasChave[0-N]Resumo[0-1]id: Livro-id

CÓPIALivro-idNumCopiaDataAqusicaoLocalização

SeçãoPrateleiraCorredor

Comentarios[0-1]id: Livro-id

NumCopiaref: Livro-id

Page 20: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

DB-Main: Esquema Relacional

20

USU_TelCPFTelefoneid: Telefone

CPFequ: CPFgr: Telefone

USUARIOCPFRESP_CPF[0-1]NomeEnd_BairroEnd_LogradouroEnd_EstadoEnd_Cidadeid: CPFid': RESP_CPF

ref

REFERENCIAOri_Livro-idLivro-idid: Ori_Livro-id

Livro-idref: Livro-idref: Ori_Livro-id

Livro_PalavraLivro-idPalavrasChaveid: PalavrasChave

Livro-idref: Livro-idgr: PalavrasChave

LIVROLivro-idTituloEditoraData-PublicacaoResumo[0-1]id: Livro-id

ESTA EMPRESTADOLivro-idNumCopiaDataEmprestimoCPFid: Livro-id

NumCopiaDataEmprestimo

id': Livro-idNumCopiaref

ref: CPF

ESCREVENomeLivro-idid: Nome

Livro-idequ: Livro-idequ: Nome

CÓPIALivro-idNumCopiaDataAqusicaoLoc_SeçãoLoc_PrateleiraLoc_CorredorComentarios[0-1]id: Livro-id

NumCopiaref: Livro-id

AUTORNomeNacionalidadeid: Nome

Page 21: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Tutorial DB-Main

• Gerando esquema físico File / Generate / Standard SQL

21

Page 22: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

Page 23: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

Page 24: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Abordagem prática

• Usando o mesmo modelo da Biblioteca

24

USU_TelCPFTelefoneid: Telefone

CPFequ: CPFgr: Telefone

USUARIOCPFRESP_CPF[0-1]NomeEnd_BairroEnd_LogradouroEnd_EstadoEnd_Cidadeid: CPFid': RESP_CPF

ref

REFERENCIAOri_Livro-idLivro-idid: Ori_Livro-id

Livro-idref: Livro-idref: Ori_Livro-id

Livro_PalavraLivro-idPalavrasChaveid: PalavrasChave

Livro-idref: Livro-idgr: PalavrasChave

LIVROLivro-idTituloEditoraData-PublicacaoResumo[0-1]id: Livro-id

ESTA EMPRESTADOLivro-idNumCopiaDataEmprestimoCPFid: Livro-id

NumCopiaDataEmprestimo

id': Livro-idNumCopiaref

ref: CPF

ESCREVENomeLivro-idid: Nome

Livro-idequ: Livro-idequ: Nome

CÓPIALivro-idNumCopiaDataAqusicaoLoc_SeçãoLoc_PrateleiraLoc_CorredorComentarios[0-1]id: Livro-id

NumCopiaref: Livro-id

AUTORNomeNacionalidadeid: Nome

Page 25: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Tutorial DB-Designer

• Construindo tabelas Definir colunas e seus tipos de dado Chaves primárias, not null, e AutoInc Indices

25

Page 26: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Tutorial DB-Designer

• Relacionamentos 1:N, 1:1, N:M Quatro notações

26

Page 27: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Tutorial DB-Designer

• Esquema Relacional

27

Page 28: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Tutorial DB-Designer

• Esquema físico File / Export

/ SQL Create Script

28

Page 29: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

Tutorial DB-Designer

• Engenharia Reversa Extrair um modelo armazenado no MySQL

• Criar novo projeto• Database

/ Reverse Engeneering• Selecionar conexão

29

Page 30: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

Page 31: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

Page 32: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo

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

Page 33: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 33

Referências1. Vincent Englebert and Jean-Luc Hainaut. DB-MAIN: A Next

Generation Meta-CASE, Information Systems Journal, 24(2): Pergamon, 1999.

2. LIBD - Laboratory of Database Application Engineering – University of Namur: www.info.fundp.ac.be/libd/

3. DB-Main: www.dbmain.be4. DB-Designer: www.fabforce.net/dbdesigner4/

Page 34: IN1008 –  Projeto Conceitual de BD

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 34