CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 1
Mar 19, 2016
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 1
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]
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
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]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo
Tutorial DB-Main
• Gerando esquema físico File / Generate / Standard SQL
21
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
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
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
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
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
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo
Tutorial DB-Designer
• Esquema Relacional
27
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo
Tutorial DB-Designer
• Esquema físico File / Export
/ SQL Create Script
28
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
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
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
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
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/
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 34