in1008 – projeto conceitual de bd
DESCRIPTION
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 PresentationTRANSCRIPT
![Page 2: IN1008 – Projeto Conceitual de BD](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022042901/56814cd4550346895db9d970/html5/thumbnails/33.jpg)
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/