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
• ...
Introdução
• Modelagem de Dados (HEUSER, 2009)
o Modelo Conceitual
o Modelo Lógico
o Modelo Físico
• Modelagem Conceitual ...
Problema
4
• Os programas existentes no mercado para a
geração automática de DDL possuem atrelamento
a uma linguagem de pr...
5
Model Driven Architecture (MDA)
PIM
PSM
Metamodelo
Independente
de Plataforma
Especificação da
Transformação
Metamodelo
...
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,...
10
Regras de Transformação (cont.)
[template public PrintPrecedenceA(aDataBaseName : String,
aEntity : OrderedSet(Entity))...
11
[template public ToField(aFields : OrderedSet(Field))]
[for ( iField : Field | aFields ) ]
[iField.name/] [iField.type/...
• PrintCandidateKey
• PrintPrimary
• PrintForeign
• PrintForeignKeyFieldsN_N
• PrintReferences
• PrintRelationCharacterist...
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) NO...
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.Produ...
19
SGBD PostgreSQL 9.1
Incompatibilidades entre o código gerado pela ferramenta e o SGBD PostgreSQL
Limitações
Exemplo de ...
20
SGBD SQLServer 2012
Incompatibilidades entre o código gerado pela ferramenta e o SGBD SQLServer
Limitações
Exemplo de c...
21
SGBD MySQL 5.2.39CE
Revision 8757
• Durante os experimentos feitos no SGBD MySQL,
não foi encontrada nenhuma incompatib...
Trabalhos Relacionados
22
• DBDesigner
o Modelagem gráfica, criação e manutenção de Bancos de dados
o Voltada para o SGBD ...
Trabalhos Futuros
23
• Extensões para resolver os problemas de
incompatibilidades com alguns SGBD;
• Completar o desenvolv...
Conclusão
24
• A ferramenta proposta facilita a implementação
de bases de dados.
• Há possibilidade de uso de notações de
...
Bibliografia
• ROSA, A. S. ; GONÇALVES, I. S.; PANTOJA, C.E. Uma abordagem orientada a modelos para
modelagem conceitual d...
26
• DbDesigner Homepage. .Disponível em: <http://dbdesigner.sourceforge.net/.>. Acesso em:
3/9/2012.
• DBExplorer. .Dispo...
27
Obrigado!
Contatos:
André de Souza Rosa
andre_souza.rosa@hotmail.com
Carlos Eduardo Pantoja
pantoja@cefet-rj.br
Upcoming SlideShare
Loading in …5
×

Uma Ferramenta MDA para Modelagem de Banco de Dados Relacionais

2,425 views

Published on

Download available at: https://sourceforge.net/projects/gendbmtool/
Link para Download do Trabalho: http://www.lbd.dcc.ufmg.br/colecoes/erbd/2013/0018.pdf

Apresentação de artigo na IX ERBD - Escola Regional de Banco de Dados - Em Camboriú, 2013.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,425
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Uma Ferramenta MDA para Modelagem de Banco de Dados Relacionais

  1. 1. Uma Ferramenta MDA para Modelagem de Banco de Dados Relacionais 1 André de Souza Rosa Carlos Eduardo Pantoja
  2. 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. 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. 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. 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. 6. Objetivo 6 (ROSA et. al, 2012) Ambiente gráfico voltado inicialmente para a notação de modelagem Entidade- Relacionamento
  7. 7. O Metamodelo 7 (ROSA et. al, 2012)
  8. 8. 8 Linguagem de Transformação de Modelos para Texto (MOFM2T) • Linguagem organizada em templates;
  9. 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. 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. 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. 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. 13 A Ferramenta MDA • Eclipse Modeling Framework (EMF) • Acceleo • Graphical Modeling Framework
  14. 14. 14 Exemplo de modelagem conceitual segundo a notação ER de Peter Chen (CHEN, 1976). Exemplo 1
  15. 15. 15 (ROSA et. al, 2012) Exemplo da notação ER instanciado na ferramenta através da Árvore Hierárquica.
  16. 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)); );
  17. 17. 17 Demonstração
  18. 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. 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. 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. 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. 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. 23. Trabalhos Futuros 23 • Extensões para resolver os problemas de incompatibilidades com alguns SGBD; • Completar o desenvolvimento do Ambiente Gráfico;
  24. 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. 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. 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. 27 Obrigado! Contatos: André de Souza Rosa andre_souza.rosa@hotmail.com Carlos Eduardo Pantoja pantoja@cefet-rj.br

×