Sei sulla pagina 1di 15

DEVMEDIA Login

download favorito (4) imprimir anotar marcar como lido dvidas?

Artigo SQL Magazine 1 -


Modelagem de dados ErWin
Recursos e Funcionalidades
(2) (0)

Artigo da Revista SQL Magazine - Edio 1.

Receba notificaes :)
Esse artigo faz parte da revista SQL Magazine edio 01. Clique aqui para ler todos

os artigos desta edio

Modelagem de dados ErWin Recursos e Funcionalidades

Coloca-se como de fundamental importncia tanto a anlise como a modelagem de dados para o

processo de desenvolvimento de aplicaes. Esses procedimentos garantem um maior controle das

diversas etapas do projeto desde a definio das regras do negcio at a implementao e manuteno
da aplicao como um todo. Existem no mercado, atualmente, diversas ferramentas para modelagem de
DEVMEDIA Login
dados, dentre as quais pode ser destacado o software ErWin.

O ErWin pode ser usado de uma forma simples e prtica possibilitando uma melhor visualizao, controle e

documentao do que se tem no banco de dados. Atravs dos diversos recursos disponveis (Figura 1) podemos

desenhar o nosso banco de dados definindo as entidades de que compe o modelo com seus respectivos

atributos e relacionamentos, definir caractersticas dessas entidades tornando-as reais em um modelo fsico ou em

vrios modelos fsicos se for necessrio o acesso a SGDBs distintos. Podemos ainda criar, de forma automtica, o

modelo implementado num banco de dados ou gerar scripts para atualizao de alteraes efetuadas no modelo,

sincronizar dois bancos de forma a garantir uma estrutura idntica em ambos, e vrios outros recursos.

Figura 1 Tela inicial do ErWin Receba notificaes :)

Na parte superior direita, observa-se uma barra de ferramentas com os principais objetos do ErWin, como mostrado na Figura 2, a

seguir:
Figura 2 Barra de ferramenta do ErWin
DEVMEDIA Login

Vinicius : Tem como vc relacionar essas explicaes as ferramentas da figura 2 ?

A seta utilizada para desmarcar o objeto corrente em uso.

O primeiro objeto representa as entidades.

O segundo utilizado para criar um subtipo de uma ou mais entidade j existentes.

O terceiro utilizado para inserir textos no modelo, como comentrio de entidades, relacionamento e outros.

O quarto utilizado como auxlio para mudar os atributos de posio ou de entidade.

Os trs ltimos objetos so utilizados para relacionamentos, porm com formas diferentes.

Receba notificaes :)
O quinto possui cardinalidade um para um, definindo o campo de relacionamento como chave primria na tabela filha.

O sexto possui cardinalidade muitos para muitos.

O ltimo objeto possui cardinalidade um para muitos e no define o campo de relacionamento como chave primria na

tabela filha.

Alguns conceitos importantes

1) Entidades - Entidade o local onde ficam armazenadas as informaes. Por exemplo, a Entidade CLIENTES pode guardar

informaes referentes aos clientes, e assim sucessivamente.

2) Subtipos - Podem ser definidos como um espelho de uma ou mais entidades. Por exemplo, pode-se criar um subtipo

chamado CLIENTES_RJ que contenha somente os clientes que moram no Rio de Janeiro, podendo ter ou no todos os atributos
da Entidade CLIENTES.
DEVMEDIA Login

3) Atributos - Os atributos podem ser definidos como identificadores de cada informao contida na entidade. O Cdigo do

Cliente, por exemplo, um atributo da Entidade CLIENTES.

4) Relacionamentos - Relacionamentos so definidos como a ligao entre duas ou mais entidades.

5) Cardinalidade - o que caracteriza o relacionamento.Por exemplo: um pai pode ter mais de um filho, porm um filho s pode

ter apenas um pai. Isso quer dizer que a cardinalidade define o comportamento do relacionamento, definindo-o como um para

muitos, muitos para um ou at muitos para muitos.

Os tipos de modelo

Modelo Lgico: o modelo de abstrao do sistema. Neste, detalhes como qual banco de dados ser usado, o tipo de

Receba notificaes :)
campo, o tipo de hardware, entre outros aspectos no so relevantes. Aqui, somente as necessidades do processo so definidas,

dando uma viso global do sistema. No Erwin, podemos ter uma viso da regra de negcio, ou seja, podemos planejar uma

estrutura lgica para o banco de dados, onde so definidas as validaes, as restries da regra de negcio, a anlise das

entidades e dos atributos definidos para a aplicao como um todo.

Modelo Fsico: onde os detalhes so definidos. Serve como um espelho de tudo o que est no banco de dados,

permitindo controlar caractersticas de tabelas e colunas (conhecidos no modelo lgico como Entidades e Atributos) de forma

particular para o SGDB utilizado alm de possibilitar a definio de Procedures, Triggers e outros processos.

Criando o modelo lgico

O tipo de modelo que est sendo visualizado encontra-se na Combo situada logo acima da barra de

ferramentas, mostrada na Figura 1.


O modelo utilizado inicialmente ser o modelo lgico, pois comeando por este fica mais fcil definir o
DEVMEDIA Login
outro. Isso porque, como j foi visto, no modelo lgico tem-se um melhor controle da aplicao, sendo

possvel definir as validaes necessrias, tanto para a regra de negcio como para a implementao de

banco de dados no modelo fsico. Posteriormente, podem ser criados modelos fsicos para acessar a

diferentes bancos de dados a partir do mesmo modelo lgico.

Ser criado um modelo simples, onde definiremos algumas entidades com seus respectivos atributos e relacionamentos mostrando

como utilizar alguns dos muitos recursos disponveis no ErWin para modelagem de dados. O modelo ser feito com base em um

sistema comercial com as tabelas CLIENTES, VENDEDORES, PRODUTOS, FORNECEDORES, PEDIDOS E ITENS_PEDIDOS.

Criando as Entidades

Como j visto, as entidades podem ser criadas atravs do primeiro objeto da barra de ferramentas,

clicando nesta, arrastando para o modelo e trocando o seu nome, como mostrado na Figura 3.

Receba notificaes :)

Figura 3 Criao da Entidade Clientes

Criando os Atributos

Para criar os atributos, basta apenas dar um duplo clique na entidade. possvel criar novos atributos,

renomear ou excluir um atributo j existente, como mostrado na figura 4. Pode-se, tambm, ao lado direito
da tela, definir vrias caractersticas do atributo como chave primria na opo Primary Key ou Requerido
DEVMEDIA Login
na opo Required.

Figura 4 Editor de Atributos

Receba notificaes :)
Criando os Relacionamentos

Para definir um tipo de relacionamento, basta escolher um dos trs objetos j mostrados da barra de

ferramentas, clicar na tabela pai e depois na tabela filho. Automaticamente, o relacionamento escolhido

visualizado. A figura 5 mostra o editor de Relacionamento e suas funcionalidades.


DEVMEDIA Login

Figura 5 Editor de Relacionamentos entre entidades

Ao dar um duplo clique sobre o relacionamento esta tela automaticamente aberta. Nela definimos a

cardinalidade do relacionamento, assim como a nulidade dos campos que esto sendo relacionados.

A figura 6 mostra o modelo totalmente criado, com suas entidades, atributos e respectivos

Receba notificaes :)
relacionamentos.

Figura 6 Modelo lgico com entidades, atributos e relacionamentos.

Criando o modelo fsico


Aps criar todo o modelo lgico necessria a definio dos atributos do modelo fsico.
DEVMEDIA Login

Para alternar entre os modelo fsico e lgico basta selecionar na Combo situada logo acima da barra de

ferramentas, mostrada na Figura 1.

No modelo fsico iremos definir caractersticas das entidades e atributos criados no modelo lgico de

acordo com o SGDB utilizado. Neste modelo temos uma viso real das tabelas, colunas, procedures,

triggers e outros objetos do nosso banco.

A figura 7 mostra o Editor de Coluna do modelo fsico.

Figura 7 Editor de Coluna Receba notificaes :)

Conforme o observado no modelo fsico, no existem mais Entidades e Atributos, e sim Tabelas e

Colunas, nomes comuns ao banco de dados. O editor de coluna permite alterar o tipo e tamanho de cada

campo, assim como definir se ele pode ou no receber valores nulos. Ainda pode-se utilizar a aba

Comment para comentar cada campo, assim como cada tabela.


DEVMEDIA Login

Figura 8 Modelo Fsico com Tabelas, Colunas e Relacionamentos

Criando o banco de dados a partir do Modelo Fsico criado

Terminada a implementao necessrio criar os objetos definidos no ErWin em um banco de dados.

Para isso, preciso fazer o modelo apontar para o SGDB a ser utilizado acessando-se o menu:

Server\Target Server. Alm da seleo do SGDB e da verso do mesmo possvel definir opes

referentes ao tipo de dados e a nulidade default para as colunas definidas no modelo bem como mscara

Receba notificaes :)
para nomenclatura automtica de ndices e tabelas. Vide Figura 9.

Figura 9 Target Server Configurao do Banco de Dados


DEVMEDIA Login

Aps as configuraes do Target Server, basta acessar o menu Tasks\Forward Engineer/Schema

Generation para criar o banco de dados. Vide Figura 10. Utilizaremos um banco criado no Oracle.

Receba notificaes :)
Figura 10 Tela de gerao de banco de dados

Como se pode ver a tela bem intuitiva. Na pasta Summary indicamos os objetos do nosso modelo (

tabelas, colunas, ndices, triggers, etc.. ) que sero criados no banco. Ao clicar no boto Generate, o

banco criado, automaticamente, com todas as tabelas, campos e relacionamentos demonstrados no

modelo fsico.

A Figura 11 mostra os scripts com todos objetos gerados no banco de dados a partir do modelo

implementado.
DEVMEDIA Login

Figura 11 Script com o cdigo de criao das tabelas definidas no modelo.

Criando um modelo a partir de um banco existente

Em muitos casos, o banco de dados j est totalmente implementado, sendo necessria a criao do

modelo a partir deste. Este processo chama-se Engenharia Reversa, e acessado pelo menu

Tasks\Reverse Engineer. A primeira tela a ser exibida a ErWin Template Selection, onde escolhe-se

a opo Blank Diagram para criar o modelo do zero. Ao clicar em Next, depara-se com a tela Select

Receba notificaes :)
Taget Server, onde informado o tipo de banco de dados a ser utilizado e a sua verso. Clicando-se mais

uma vez no boto Next, surge a tela Set Options onde so definidos procedimentos necessrios

realizao da engenharia reversa. Vide figura 12.


Figura 12 Tela de opes da Engenharia
DEVMEDIA Login

Deste modo, as opes da engenharia reversa podem ser definidas como Dados de Tabelas, Colunas,

TableSpace, Procedure, Triggers e outros. Na opo Table/Views Owned By, foi selecionada a opo

Current User para importar somente os objetos criados pelo usurio conectado, poderamos importar

objetos de todos os usurios do banco ou de um usurio diferente do atualmente conectado desde que o

mesmo tenha privilgios no banco suficientes para isso. Ainda h possibilidade de se escolher formas de

indexao e outras coisas mais.

Clicando-se no boto Next, visualiza-se a tela de conexo, conforme mostrado na Figura 13.

Receba notificaes :)
Figura 13 Tela de Conexo com o Oracle.

Esta a tela que permite fazer a conexo do modelo com o banco de dados definido em Taget Server,

mostrado na Figura 9. Esta tela tambm apresentada quando o banco criado a partir do modelo. Nela

so informados o Nome de Usurio, a Senha e a Connect String que repesenta a instncia onde ser

efetuada a conexo, neste caso, com o Oracle. Foi criada uma Connection String, chamada Comercio no

TNSNAMES do Oracle apontando para o banco de dados. Feito tudo isso, s clicar no boto Connect

que o modelo criado automaticamente, conforme mostrado na Figura 14.


DEVMEDIA Login

Figura 14 Modelo criado apartir de um banco de dados existente usando a Engenharia Reversa

Foi possvel, a partir de um banco existente, criar um modelo semelhante ao j implementado, conforme j

mostrado. No processo de Engenharia Reversa no ErWin, os modelos lgico e fsico so criados

Receba notificaes :)
automaticamente.

Criando vrios modelos fsicos a partir de um nico modelo lgico

Ainda se pode, a partir de um modelo lgico, criar modelos fsicos para acessar bancos de dados

diferentes do Oracle. Ser criado um modelo fsico que acesse um banco de dados Sql Server a partir do

mesmo modelo lgico criado para o Oracle. Para isso basta acessar o Target Server, mostrado na figura

9, mudar o banco para o Sql Server, escolhendo a verso, definindo os padres (como j mostrado) e

efetuar os procedimentos mostrados nas figuras 10 e 11.

A Figura 15 aponta como fica o modelo fsico para acessar o banco de dados Sql Server.
DEVMEDIA Login

Figura 15 Modelo Fsico para acessar o Sql server.

Observa-se que alguns tipos de campos mudaram, como os campos de valores monetrios, que

passaram de Number (7,2) para Money, e os de data, que passaram de Date para Date/Time. Com isso,

conclui-se que, a partir de um modelo lgico criado, pode-se criar modelos fsicos para acessar diversos

Receba notificaes :)
bancos de dados, e este se adapta situao de cada um automaticamente.

importante ressaltar que o modelo lgico continua o mesmo.

Concluso

Estes so apenas alguns dos muitos recursos que o ErWin oferece para modelagem de dados. possvel

criar Procedures, Triggers, Views, alterar o banco de dados, alterar o modelo a partir de alguma alterao

feita no banco, criar o dicionrio de dados, etc. A implementao de um modelo antes do incio do

desenvolvimento de um sistema garante uma viso ampla e unificada do mesmo, facilitando em muito a

definio da regras de negcio, a implementao, manuteno e anlise dos procedimentos, garantindo

inclusive a continuidade do trabalho no caso de alteraes na equipe de desenvolvimento com pouco ou

nenhum retrabalho uma vez que o modelo disponibiliza de forma clara e objetiva uma documentao de

toda infra-estrutura do sistema.


DEVMEDIA Login

Cleilson Santos Analista de Sistemas, trabalha no Projeto SEP (Sistema de Engenharia de Poo) e

SIRR (Sistema de Reserva e Reservatrio) na Petrobrs.

Pode ser contatado pelo e-mail cleilsonsantos@uol.com.br

Receba nossas novidades

Informe o seu e-mail...

Receber Newsletter!

Receba notificaes :)
por Equipe DevMedia (2) (0)

Ficou com alguma dvida?

REVISTAS BAIXE O APP APIS FALE CONOSCO

Hospedagem web por Porta 80 Web Hosting

Potrebbero piacerti anche