SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Uma Ferramenta MDA para Modelagem de
Banco de Dados Relacionais
1
André de Souza Rosa
Carlos Eduardo Pantoja
2
Roteiro
• Introdução
o Modelagem de Dados
o Modelo Conceitual
• Problema
• Model Driven Architecture
(MDA)
• Objetivo
• O Metamodelo
• Linguagem de Transformação
de Modelos para Texto
(MOFM2T)
• Regras de Transformação
• Ferramentas
• Resultados
o Exemplo 1
o Demonstração
• Limitações
• Trabalhos Relacionados
• Trabalhos Futuros
• Conclusão
• Bibliografia
Introdução
• Modelagem de Dados (HEUSER, 2009)
o Modelo Conceitual
o Modelo Lógico
o Modelo Físico
• Modelagem Conceitual Relacional
o Diagrama Entidade-Relacionamento (DER) (CHEN, 1976)
o Crow’s Foot (HAY, 1999)
o IDEF1X (HAY, 1999)
o UML (GUEDES, 2008)
o Outras
3
Problema
4
• Os programas existentes no mercado para a
geração automática de DDL possuem atrelamento
a uma linguagem de programação ou a um SGBD
específico que a aplicação em questão trabalhe.
• Visual DataBase Tools (“Visual Database Tools" ,2012)
• Atrelado ao MS SQL Server
• DBDesigner (“DbDesigner Homepage”, 2012)
• Atrelado ao MySQL
• DB Explorer (“DBExplorer”, 2012)
• Ferramenta paga
5
Model Driven Architecture (MDA)
PIM
PSM
Metamodelo
Independente
de Plataforma
Especificação da
Transformação
Metamodelo
de Plataforma
Específica
Transformação
Linguagem Usada
Linguagem alvo
Linguagem fonte
Linguagem Usada
(OMG, 2003)
Objetivo
6
(ROSA et. al, 2012)
Ambiente gráfico
voltado
inicialmente para
a notação de
modelagem
Entidade-
Relacionamento
O Metamodelo
7
(ROSA et. al, 2012)
8
Linguagem de Transformação
de Modelos para Texto
(MOFM2T)
• Linguagem organizada em templates;
9
Regras de Transformação
[template public ModelToText(aModel : Model)]
[comment @main/]
[file (aModel.name+'.txt', false, 'UTF-8')]
[ToDataBase(aModel.isFormedOf)/]
[/file]
[/template]
[template public ToDataBase(aDataBase :
DataBase)]
CREATE DATABASE [aDataBase.name/],
[PrintPrecedenceA(aDataBase.isComposed)/]
[PrintPrecedenceB(aDataBase.isComposed)/]
[CreateAssociativeTable(aDataBase.hasInteracti
on)/]
[/template]
10
Regras de Transformação (cont.)
[template public PrintPrecedenceA(aDataBaseName : String,
aEntity : OrderedSet(Entity))]
[for (iEntity : Entity | aEntity)]
[if (iEntity.hasForeignKey->isEmpty())]
[PrintEntityWithoutForeign(aDataBaseName,iEntity)/]
[/if]
[/for]
[/template]
[template public PrintEntityWithoutForeign(aDataBaseName : String,
aEntity : Entity)]
[for (iEntity : Entity | aEntity)]
CREATE TABLE [aDataBaseName/].[iEntity.name/](
[ToField(iEntity.isComposed)/]
[PrintPrimary(iEntity.hasPrimaryKey)/]
[if (iEntity.hasCheck<>null)][PrintCheck(iEntity.hasCheck)/][/if]
);
[/for]
[/template]
11
[template public ToField(aFields : OrderedSet(Field))]
[for ( iField : Field | aFields ) ]
[iField.name/] [iField.type/]
[if (iField.hasNumericLimit <> null)]
[PrintNumericLimit(iField.hasNumericLimit)/]
[/if]
[if (iField.hasTextLimit <> null)]
[PrintTextLimit(iField.hasTextLimit)/]
[/if]
[PrintIntegrity(iField.hasIntegrity)/]
[if (iField.hasDefaultValue <> null)]
[PrintDefaultValue(iField.hasDefaultValue)/]
[/if],
[/for]
[/template]
Regras de Transformação (cont.)
• PrintCandidateKey
• PrintPrimary
• PrintForeign
• PrintForeignKeyFieldsN_N
• PrintReferences
• PrintRelationCharacteristics
• PrintRelationFields
12
• PrintPrecedenceB
• PrintEntityWithForeign
• CreateAssociativeTable
• PrintNumericLimit
• PrintTextLimit
• PrintIntegrity
• PrintCheck
• PrintDefaultValue
Regras de Transformação (cont.)
13
A Ferramenta MDA
• Eclipse Modeling Framework (EMF)
• Acceleo
• Graphical Modeling Framework
14
Exemplo de modelagem conceitual segundo a notação
ER de Peter Chen (CHEN, 1976).
Exemplo 1
15
(ROSA et. al, 2012)
Exemplo da notação ER instanciado na ferramenta através da Árvore
Hierárquica.
16
Código DDL Gerado
CREATE DATABASE ManufacturingFirm;
CREATE TABLE ManufacturingFirm.Department(
DepartmentID int (7) NOT NULL UNIQUE,
CONSTRAINT DepartmentID PRIMARY
KEY(DepartmentID) );
CREATE TABLE ManufacturingFirm.Supplier(
SupplierID int (7) NOT NULL UNIQUE,
CONSTRAINT SupplierID PRIMARY
KEY(SupplierID));
CREATE TABLE ManufacturingFirm.Part(
PartID int (7) NOT NULL UNIQUE,
CONSTRAINT PartID PRIMARY KEY(PartID));
CREATE TABLE ManufacturingFirm.Employee(
EmployeeID int (7) NOT NULL UNIQUE,
CONSTRAINT EmployeeID PRIMARY
KEY(EmployeeID),
CONSTRAINT CodeDept FOREIGN KEY
(DepartmentID)REFERENCES Department
(DepartmentID));
CREATE TABLE ManufacturingFirm.Dependent(
DependentID int (7) NOT NULL UNIQUE,
CONSTRAINT DependentID PRIMARY KEY(DependentID),
CONSTRAINT CodeEmployee FOREIGN KEY
(EmployeeID)REFERENCES Employee (EmployeeID));
CREATE TABLE ManufacturingFirm.Project(
ProjectID int (7) NOT NULL UNIQUE,
CONSTRAINT ProjectID PRIMARY KEY(ProjectID),
CONSTRAINT CodeEmployee FOREIGN KEY
(EmployeeID)REFERENCES Employee (EmployeeID));
);
17
Demonstração
18
SGBD Firebird 2.1
Exemplo de código criado pela
ferramenta
Exemplo de código aceito no
Firebird
CREATE TABLE Loja.Produto CREATE TABLE Produto
precoVenda double precoVenda double precision
idProduto int UNIQUE CONSTRAINT idProduto UNIQUE
(idProduto)
Incompatibilidades entre o código gerado pela ferramenta e o SGBD Firebird
Limitações
19
SGBD PostgreSQL 9.1
Incompatibilidades entre o código gerado pela ferramenta e o SGBD PostgreSQL
Limitações
Exemplo de código criado pela
ferramenta
Exemplo de código aceito no
PostgreSQL
CREATE TABLE Loja.Produto CREATE TABLE Produto
precoVenda double precoVenda double precision
20
SGBD SQLServer 2012
Incompatibilidades entre o código gerado pela ferramenta e o SGBD SQLServer
Limitações
Exemplo de código criado pela ferramenta Exemplo de código aceito no
SQLServer
CREATE TABLE Loja.Produto CREATE TABLE Produto
21
SGBD MySQL 5.2.39CE
Revision 8757
• Durante os experimentos feitos no SGBD MySQL,
não foi encontrada nenhuma incompatibilidade
quanto aos exemplos utilizado.
Trabalhos Relacionados
22
• DBDesigner
o Modelagem gráfica, criação e manutenção de Bancos de dados
o Voltada para o SGBD MySQL
o Possui notação de modelagemparticular
• Oracle Designer
o Opções de modelagem conceitual
o Diagramas de funções, análise e designer de objetos
o Voltada para o SGBD Oracle que é pago
• CA Erwin
o É compatível com a maioria dos SGBD disponíveis no mercado
o Utiliza a notação de modelagem conceitual IDEF1X
o É uma ferramenta paga
Trabalhos Futuros
23
• Extensões para resolver os problemas de
incompatibilidades com alguns SGBD;
• Completar o desenvolvimento do Ambiente
Gráfico;
Conclusão
24
• A ferramenta proposta facilita a implementação
de bases de dados.
• Há possibilidade de uso de notações de
modelagem diferentes.
• Concede maior flexibilidade ao designer de banco
de dados.
Bibliografia
• ROSA, A. S. ; GONÇALVES, I. S.; PANTOJA, C.E. Uma abordagem orientada a modelos para
modelagem conceitual de banco de dados. In: VI Sulcomp - Congresso Sul Brasileiro de
Computação 2012, Criciúma, Santa Catarina, Brasil.
• ROSA, A. ; GONÇALVES, I.; PANTOJA, C.E. A MDA Approach for Database Modeling. In: 3rd
International Conference on Software and Computing Technology (ICSCT 2012), Kuala
Lumpur, Malaysia.
• (OMG), O. M. G. MOF Model to Text Transformation Language 1.0. 2008.
• ABREU, M.; MACHADO, F. N. R. PROJETO DE BANCO DE DADOS: UMA VISAO PRATICA. ERICA,
1999.
• BRUCE, T. A. Designing quality databases with IDEF1X information models. Dorset House Pub.,
1992.
• CHEN, P. P.-S. The entity-relationship model&mdash;toward a unified view of data. ACM Trans.
Database Syst., v. 1, n. 1, p. 9–36, 1976.
• CODD, E. F. A relational model of data for large shared data banks. Commun. ACM, v. 13, n. 6,
p. 377–387, 1970.
• COMP 2010 Week: Crow’s Foot Entity-Relationship Diagram Notation. .Disponível em:
<http://college.yukondude.com/2003_09_comp210/html/note-
container.php?file=02%5EHandout%5ECrow~s_Foot_Entity-
Relationship_Diagram_Notation.html>. Acesso em: 3/9/2012.
25
26
• DbDesigner Homepage. .Disponível em: <http://dbdesigner.sourceforge.net/.>. Acesso em:
3/9/2012.
• DBExplorer. .Disponível em: <http://dbexplorer.com/>. Acesso em: 3/9/2012.
• Discussion Forum Data Model. .Disponível em: http://www.erdiagrams.com/datamodel-forum-
idef1x.html>. Acesso em: 3/9/2012.
• GUEDES, G. T. A. UML - UMA ABORDAGEM PRATICA. Novatec, 2008.
• HALMOS, P. R. Naive Set Theory. Springer-Verlag, 1960.
• HAY, D. C. A comparison of Data Modeling Techniques. Essential Strategies. ,1999. Disponível
em: <http://essentialstrategies.com/documents/comparison.pdf>.
• HEUSER, C. A. Projeto de Banco de Dados. 6o ed. Bookman, 2009.
• MELLOR, S. J.; SCOTT, K.; UHL, A.; WEISE, D. MDA Destilada: Princípios de Arquitetura Orientada
por Modelos. Ciência Moderna Ltda, 2005.
• Object Management Group – MDA Guide - version 1.0.1 – 2003.
• Oracle Designer. .Disponível em: <http://www.oracle.com/technetwork/developer-
tools/designer/overview/index-082236.html>. Acesso em: 19/9/2012.
• SLIK Software. .Disponível em: <http://www.sliksoftware.co.nz/products/dbexplorer/index.htm>.
Acesso em: 19/9/2012.
• STEINBERG, D.; BUDINSKY, F.; MERKS, E.; PATERNOSTRO, M. Emf: Eclipse Modeling Framework.
Pearson Education, 2008.
• Visual Database Tools. Disponível em: <http://msdn.microsoft.com/pt-br/library/y5a4ezk9.aspx>.
Acesso em: 19/9/2012.
Bibliografia
27
Obrigado!
Contatos:
André de Souza Rosa
andre_souza.rosa@hotmail.com
Carlos Eduardo Pantoja
pantoja@cefet-rj.br

Weitere ähnliche Inhalte

Mehr von Carlos Eduardo Pantoja

Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Carlos Eduardo Pantoja
 
Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Carlos Eduardo Pantoja
 
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Carlos Eduardo Pantoja
 
LISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosLISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosCarlos Eduardo Pantoja
 
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Carlos Eduardo Pantoja
 
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Carlos Eduardo Pantoja
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresCarlos Eduardo Pantoja
 
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGODesenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGOCarlos Eduardo Pantoja
 
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Carlos Eduardo Pantoja
 
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasInside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasCarlos Eduardo Pantoja
 
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosSistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosCarlos Eduardo Pantoja
 
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonPrototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonCarlos Eduardo Pantoja
 
Introdução a Administração e a Economia
Introdução a Administração e a EconomiaIntrodução a Administração e a Economia
Introdução a Administração e a EconomiaCarlos Eduardo Pantoja
 
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Carlos Eduardo Pantoja
 
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...Carlos Eduardo Pantoja
 
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...Carlos Eduardo Pantoja
 
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...Carlos Eduardo Pantoja
 
Comunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoComunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoCarlos Eduardo Pantoja
 
Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasUtilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasCarlos Eduardo Pantoja
 

Mehr von Carlos Eduardo Pantoja (20)

Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
 
Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)
 
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
 
LISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosLISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas Autônomos
 
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
 
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de Computadores
 
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGODesenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
 
ContextNet Middleware
ContextNet MiddlewareContextNet Middleware
ContextNet Middleware
 
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
 
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasInside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
 
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosSistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
 
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonPrototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
 
Introdução a Administração e a Economia
Introdução a Administração e a EconomiaIntrodução a Administração e a Economia
Introdução a Administração e a Economia
 
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
 
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
 
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
 
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
 
Comunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoComunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware Javino
 
Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasUtilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
 

Kürzlich hochgeladen

Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa paraAndreaPassosMascaren
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Cabiamar
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaCentro Jacques Delors
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdLeonardoDeOliveiraLu2
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosGentil Eronides
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxMarcosLemes28
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Centro Jacques Delors
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 

Kürzlich hochgeladen (20)

Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exercicios
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 

Uma Ferramenta MDA para Modelagem de Banco de Dados Relacionais

  • 1. Uma Ferramenta MDA para Modelagem de Banco de Dados Relacionais 1 André de Souza Rosa Carlos Eduardo Pantoja
  • 2. 2 Roteiro • Introdução o Modelagem de Dados o Modelo Conceitual • Problema • Model Driven Architecture (MDA) • Objetivo • O Metamodelo • Linguagem de Transformação de Modelos para Texto (MOFM2T) • Regras de Transformação • Ferramentas • Resultados o Exemplo 1 o Demonstração • Limitações • Trabalhos Relacionados • Trabalhos Futuros • Conclusão • Bibliografia
  • 3. Introdução • Modelagem de Dados (HEUSER, 2009) o Modelo Conceitual o Modelo Lógico o Modelo Físico • Modelagem Conceitual Relacional o Diagrama Entidade-Relacionamento (DER) (CHEN, 1976) o Crow’s Foot (HAY, 1999) o IDEF1X (HAY, 1999) o UML (GUEDES, 2008) o Outras 3
  • 4. Problema 4 • Os programas existentes no mercado para a geração automática de DDL possuem atrelamento a uma linguagem de programação ou a um SGBD específico que a aplicação em questão trabalhe. • Visual DataBase Tools (“Visual Database Tools" ,2012) • Atrelado ao MS SQL Server • DBDesigner (“DbDesigner Homepage”, 2012) • Atrelado ao MySQL • DB Explorer (“DBExplorer”, 2012) • Ferramenta paga
  • 5. 5 Model Driven Architecture (MDA) PIM PSM Metamodelo Independente de Plataforma Especificação da Transformação Metamodelo de Plataforma Específica Transformação Linguagem Usada Linguagem alvo Linguagem fonte Linguagem Usada (OMG, 2003)
  • 6. Objetivo 6 (ROSA et. al, 2012) Ambiente gráfico voltado inicialmente para a notação de modelagem Entidade- Relacionamento
  • 8. 8 Linguagem de Transformação de Modelos para Texto (MOFM2T) • Linguagem organizada em templates;
  • 9. 9 Regras de Transformação [template public ModelToText(aModel : Model)] [comment @main/] [file (aModel.name+'.txt', false, 'UTF-8')] [ToDataBase(aModel.isFormedOf)/] [/file] [/template] [template public ToDataBase(aDataBase : DataBase)] CREATE DATABASE [aDataBase.name/], [PrintPrecedenceA(aDataBase.isComposed)/] [PrintPrecedenceB(aDataBase.isComposed)/] [CreateAssociativeTable(aDataBase.hasInteracti on)/] [/template]
  • 10. 10 Regras de Transformação (cont.) [template public PrintPrecedenceA(aDataBaseName : String, aEntity : OrderedSet(Entity))] [for (iEntity : Entity | aEntity)] [if (iEntity.hasForeignKey->isEmpty())] [PrintEntityWithoutForeign(aDataBaseName,iEntity)/] [/if] [/for] [/template] [template public PrintEntityWithoutForeign(aDataBaseName : String, aEntity : Entity)] [for (iEntity : Entity | aEntity)] CREATE TABLE [aDataBaseName/].[iEntity.name/]( [ToField(iEntity.isComposed)/] [PrintPrimary(iEntity.hasPrimaryKey)/] [if (iEntity.hasCheck<>null)][PrintCheck(iEntity.hasCheck)/][/if] ); [/for] [/template]
  • 11. 11 [template public ToField(aFields : OrderedSet(Field))] [for ( iField : Field | aFields ) ] [iField.name/] [iField.type/] [if (iField.hasNumericLimit <> null)] [PrintNumericLimit(iField.hasNumericLimit)/] [/if] [if (iField.hasTextLimit <> null)] [PrintTextLimit(iField.hasTextLimit)/] [/if] [PrintIntegrity(iField.hasIntegrity)/] [if (iField.hasDefaultValue <> null)] [PrintDefaultValue(iField.hasDefaultValue)/] [/if], [/for] [/template] Regras de Transformação (cont.)
  • 12. • PrintCandidateKey • PrintPrimary • PrintForeign • PrintForeignKeyFieldsN_N • PrintReferences • PrintRelationCharacteristics • PrintRelationFields 12 • PrintPrecedenceB • PrintEntityWithForeign • CreateAssociativeTable • PrintNumericLimit • PrintTextLimit • PrintIntegrity • PrintCheck • PrintDefaultValue Regras de Transformação (cont.)
  • 13. 13 A Ferramenta MDA • Eclipse Modeling Framework (EMF) • Acceleo • Graphical Modeling Framework
  • 14. 14 Exemplo de modelagem conceitual segundo a notação ER de Peter Chen (CHEN, 1976). Exemplo 1
  • 15. 15 (ROSA et. al, 2012) Exemplo da notação ER instanciado na ferramenta através da Árvore Hierárquica.
  • 16. 16 Código DDL Gerado CREATE DATABASE ManufacturingFirm; CREATE TABLE ManufacturingFirm.Department( DepartmentID int (7) NOT NULL UNIQUE, CONSTRAINT DepartmentID PRIMARY KEY(DepartmentID) ); CREATE TABLE ManufacturingFirm.Supplier( SupplierID int (7) NOT NULL UNIQUE, CONSTRAINT SupplierID PRIMARY KEY(SupplierID)); CREATE TABLE ManufacturingFirm.Part( PartID int (7) NOT NULL UNIQUE, CONSTRAINT PartID PRIMARY KEY(PartID)); CREATE TABLE ManufacturingFirm.Employee( EmployeeID int (7) NOT NULL UNIQUE, CONSTRAINT EmployeeID PRIMARY KEY(EmployeeID), CONSTRAINT CodeDept FOREIGN KEY (DepartmentID)REFERENCES Department (DepartmentID)); CREATE TABLE ManufacturingFirm.Dependent( DependentID int (7) NOT NULL UNIQUE, CONSTRAINT DependentID PRIMARY KEY(DependentID), CONSTRAINT CodeEmployee FOREIGN KEY (EmployeeID)REFERENCES Employee (EmployeeID)); CREATE TABLE ManufacturingFirm.Project( ProjectID int (7) NOT NULL UNIQUE, CONSTRAINT ProjectID PRIMARY KEY(ProjectID), CONSTRAINT CodeEmployee FOREIGN KEY (EmployeeID)REFERENCES Employee (EmployeeID)); );
  • 18. 18 SGBD Firebird 2.1 Exemplo de código criado pela ferramenta Exemplo de código aceito no Firebird CREATE TABLE Loja.Produto CREATE TABLE Produto precoVenda double precoVenda double precision idProduto int UNIQUE CONSTRAINT idProduto UNIQUE (idProduto) Incompatibilidades entre o código gerado pela ferramenta e o SGBD Firebird Limitações
  • 19. 19 SGBD PostgreSQL 9.1 Incompatibilidades entre o código gerado pela ferramenta e o SGBD PostgreSQL Limitações Exemplo de código criado pela ferramenta Exemplo de código aceito no PostgreSQL CREATE TABLE Loja.Produto CREATE TABLE Produto precoVenda double precoVenda double precision
  • 20. 20 SGBD SQLServer 2012 Incompatibilidades entre o código gerado pela ferramenta e o SGBD SQLServer Limitações Exemplo de código criado pela ferramenta Exemplo de código aceito no SQLServer CREATE TABLE Loja.Produto CREATE TABLE Produto
  • 21. 21 SGBD MySQL 5.2.39CE Revision 8757 • Durante os experimentos feitos no SGBD MySQL, não foi encontrada nenhuma incompatibilidade quanto aos exemplos utilizado.
  • 22. Trabalhos Relacionados 22 • DBDesigner o Modelagem gráfica, criação e manutenção de Bancos de dados o Voltada para o SGBD MySQL o Possui notação de modelagemparticular • Oracle Designer o Opções de modelagem conceitual o Diagramas de funções, análise e designer de objetos o Voltada para o SGBD Oracle que é pago • CA Erwin o É compatível com a maioria dos SGBD disponíveis no mercado o Utiliza a notação de modelagem conceitual IDEF1X o É uma ferramenta paga
  • 23. Trabalhos Futuros 23 • Extensões para resolver os problemas de incompatibilidades com alguns SGBD; • Completar o desenvolvimento do Ambiente Gráfico;
  • 24. Conclusão 24 • A ferramenta proposta facilita a implementação de bases de dados. • Há possibilidade de uso de notações de modelagem diferentes. • Concede maior flexibilidade ao designer de banco de dados.
  • 25. Bibliografia • ROSA, A. S. ; GONÇALVES, I. S.; PANTOJA, C.E. Uma abordagem orientada a modelos para modelagem conceitual de banco de dados. In: VI Sulcomp - Congresso Sul Brasileiro de Computação 2012, Criciúma, Santa Catarina, Brasil. • ROSA, A. ; GONÇALVES, I.; PANTOJA, C.E. A MDA Approach for Database Modeling. In: 3rd International Conference on Software and Computing Technology (ICSCT 2012), Kuala Lumpur, Malaysia. • (OMG), O. M. G. MOF Model to Text Transformation Language 1.0. 2008. • ABREU, M.; MACHADO, F. N. R. PROJETO DE BANCO DE DADOS: UMA VISAO PRATICA. ERICA, 1999. • BRUCE, T. A. Designing quality databases with IDEF1X information models. Dorset House Pub., 1992. • CHEN, P. P.-S. The entity-relationship model&mdash;toward a unified view of data. ACM Trans. Database Syst., v. 1, n. 1, p. 9–36, 1976. • CODD, E. F. A relational model of data for large shared data banks. Commun. ACM, v. 13, n. 6, p. 377–387, 1970. • COMP 2010 Week: Crow’s Foot Entity-Relationship Diagram Notation. .Disponível em: <http://college.yukondude.com/2003_09_comp210/html/note- container.php?file=02%5EHandout%5ECrow~s_Foot_Entity- Relationship_Diagram_Notation.html>. Acesso em: 3/9/2012. 25
  • 26. 26 • DbDesigner Homepage. .Disponível em: <http://dbdesigner.sourceforge.net/.>. Acesso em: 3/9/2012. • DBExplorer. .Disponível em: <http://dbexplorer.com/>. Acesso em: 3/9/2012. • Discussion Forum Data Model. .Disponível em: http://www.erdiagrams.com/datamodel-forum- idef1x.html>. Acesso em: 3/9/2012. • GUEDES, G. T. A. UML - UMA ABORDAGEM PRATICA. Novatec, 2008. • HALMOS, P. R. Naive Set Theory. Springer-Verlag, 1960. • HAY, D. C. A comparison of Data Modeling Techniques. Essential Strategies. ,1999. Disponível em: <http://essentialstrategies.com/documents/comparison.pdf>. • HEUSER, C. A. Projeto de Banco de Dados. 6o ed. Bookman, 2009. • MELLOR, S. J.; SCOTT, K.; UHL, A.; WEISE, D. MDA Destilada: Princípios de Arquitetura Orientada por Modelos. Ciência Moderna Ltda, 2005. • Object Management Group – MDA Guide - version 1.0.1 – 2003. • Oracle Designer. .Disponível em: <http://www.oracle.com/technetwork/developer- tools/designer/overview/index-082236.html>. Acesso em: 19/9/2012. • SLIK Software. .Disponível em: <http://www.sliksoftware.co.nz/products/dbexplorer/index.htm>. Acesso em: 19/9/2012. • STEINBERG, D.; BUDINSKY, F.; MERKS, E.; PATERNOSTRO, M. Emf: Eclipse Modeling Framework. Pearson Education, 2008. • Visual Database Tools. Disponível em: <http://msdn.microsoft.com/pt-br/library/y5a4ezk9.aspx>. Acesso em: 19/9/2012. Bibliografia
  • 27. 27 Obrigado! Contatos: André de Souza Rosa andre_souza.rosa@hotmail.com Carlos Eduardo Pantoja pantoja@cefet-rj.br