Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Receba notificaes :)
Esse artigo faz parte da revista SQL Magazine edio 01. Clique aqui para ler todos
Coloca-se como de fundamental importncia tanto a anlise como a modelagem de dados para o
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.
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
O terceiro utilizado para inserir textos no modelo, como comentrio de entidades, relacionamento e outros.
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 ltimo objeto possui cardinalidade um para muitos e no define o campo de relacionamento como chave primria na
tabela filha.
1) Entidades - Entidade o local onde ficam armazenadas as informaes. Por exemplo, a Entidade CLIENTES pode guardar
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
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
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
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.
O tipo de modelo que est sendo visualizado encontra-se na Combo situada logo acima da barra de
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
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 :)
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.
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
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.
Para alternar entre os modelo fsico e lgico basta selecionar na Combo situada logo acima da barra de
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,
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
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.
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
modelo fsico.
A Figura 11 mostra os scripts com todos objetos gerados no banco de dados a partir do modelo
implementado.
DEVMEDIA Login
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
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
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
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
Receba notificaes :)
automaticamente.
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
A Figura 15 aponta como fica o modelo fsico para acessar o banco de dados Sql Server.
DEVMEDIA Login
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.
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
nenhum retrabalho uma vez que o modelo disponibiliza de forma clara e objetiva uma documentao de
Cleilson Santos Analista de Sistemas, trabalha no Projeto SEP (Sistema de Engenharia de Poo) e
Receber Newsletter!
Receba notificaes :)
por Equipe DevMedia (2) (0)