Вы находитесь на странице: 1из 4

SQL

ModeIagem de dados com


CIeison Santos
oIoca-se como de fundamentaI importncia tanto a anIise
como a modeIagem de dados para o processo de desenvoIvimento
de apIicaes. Esses procedimentos garantem um maior controIe
das diversas etapas do projeto desde a denio das regras do
negcio at a impIementao e manuteno da apIicao como um
todo. Existem no mercado, atuaImente, diversas ferramentas para
modeIagem de dados, dentre as quais pode ser destacado o soft-
ware ErWin.
C
O ErWin pode ser usado de uma for-
ma simples e prtica possibilitando uma
melhor visualizao, controle e documen-
tao do que se tem no banco de dados.
Atravs dos diversos recursos disponveis
(Figura 1) podemos desenhar o nosso
banco de dados denindo as entidades de
que compe o modelo com seus respec-
tivos atributos e relacionamentos, denir
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 implemen-
tado num banco de dados ou gerar scripts
para atualizao de alteraes efetuadas no
modelo, sincronizar dois bancos de for-
ma a garantir uma estrutura idntica em
ambos, e vrios outros recursos.
Na parte superior direita, observa-se uma
barra de ferramentas com os principais ob-
jetos do ErWin, como mostrado na Figura
2, a seguir:
Alguns conceitos importantes
1) Entidades - Entidade o local onde
cam armazenadas as informaes. Por
exemplo, a Entidade CLIENTES pode
guardar informaes referentes aos clien-
tes, e assim sucessivamente.
2) Subtipos - Podem
ser denidos 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, poden-
do ter ou no todos os
Figura 1. Tela inicial do ErWin
Modelagem de Dados com ErWin
SQL
Magazine - 19
atributos da Entidade CLIENTES.
3) Atributos - Os atributos podem ser
denidos como identicadores de cada
informao contida na entidade. O Cdi-
go do Cliente, por exemplo, um atribu-
to da Entidade CLIENTES.
4) Relacionamentos - Relacionamentos
so denidos como a ligao entre duas
ou mais entidades.
5) Cardinalidade - o que caracteriza
o relacionamento.Por exemplo: um pai
pode ter mais de um lho, porm um -
lho s pode ter apenas um pai. Isso quer
dizer que a cardinalidade dene o com-
portamento do relacionamento, denin-
do-o como um para muitos, muitos para
um ou at muitos para muitos.
Os tipos de modelo
Modelo Lgico: o modelo de abs-
trao do sistema. Neste, detalhes como
qual banco de dados ser usado, o tipo
de campo, o tipo de hardware, entre ou-
tros aspectos no so relevantes. Aqui,
somente as necessidades do processo so
denidas, dando uma viso global do
sistema. No Erwin, podemos ter uma
viso da regra de negcio, ou seja, pode-
mos planejar uma estrutura lgica para
o banco de dados, onde so denidas as
validaes, as restries da regra de neg-
cio, a anlise das entidades e dos atribu-
tos denidos para a aplicao como um
todo.
Modelo Fsico: onde os detalhes
so denidos. Serve como um espelho
de tudo o que est no banco de dados,
permitindo controlar caractersticas de
tabelas e colunas (conhecidos no mode-
lo lgico como Entidades e Atributos) de
forma particular para o SGDB utilizado
alm de possibilitar a denio de Proce-
dures, Triggers e outros processos.
Criando o modelo lgico
O tipo de modelo que est sendo visu-
alizado encontra-se na Combo situada
logo acima da barra de ferramentas, mos-
trada na Figura 1.
O modelo utilizado inicialmente ser o
modelo lgico, pois comeando por este
ca mais fcil denir o outro. Isso por-
que, como j foi visto, no modelo lgico
tem-se um melhor controle da aplicao,
sendo possvel denir as validaes ne-
cessrias, 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
deniremos algumas entidades com seus
respectivos atributos e relacionamentos
mostrando como utilizar alguns dos mui-
tos recursos disponveis no ErWin para
modelagem de dados. O modelo ser
feito com base em um sistema comercial
com as tabelas CLIENTES, VENDEDO-
RES, 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, ar-
rastando para o modelo e trocando o seu
nome, como mostrado na Figura 3.
Criando os Atributos
Para criar os atributos, basta apenas dar
um duplo clique na entidade. possvel
criar novos atributos, renomear ou ex-
cluir um atributo j existente, como mos-
trado na gura 4. Pode-se, tambm, ao
lado direito da tela, denir vrias caracte-
rsticas do atributo como chave primria
na opo Primary Key ou Requerido na
opo Required.
Figura 2. Barra de ferramenta do ErWin
Entidades
Criar subtipos de entidades existentes
Inserir textos no modelo, como comentrio
de entidades, relacionamentos e outros
Relacionamento de cardinalidade um para muitos
Relacionamento de cardinalidade muitos para muitos
Relacionamento de cardinalidade um para um
Auxilio para mudar os atributos de posio ou de entidades
Figura 3. Criao da Entidade Clientes
Figura 4. Editor de Atributos
Figura 5. Editor de Relacionamentos entre entidades
SQL
20 - Magazine
Criando os Relacionamentos
Para denir um tipo de relacionamen-
to, basta escolher um dos trs objetos j
mostrados da barra de ferramentas, clicar
na tabela pai e depois na tabela lho. Au-
tomaticamente, o relacionamento esco-
lhido visualizado. A gura 5 mostra o
editor de Relacionamento e suas funcio-
nalidades.
Ao dar um duplo clique sobre o
relacionamento esta tela automati-
camente aberta. Nela denimos a car-
dinalidade do relacionamento, assim
como a nulidade dos campos que esto
sendo relacionados.
A gura 6 mostra o modelo total-
mente criado, com suas entidades, atri-
butos e respectivos relacionamentos.
Criando o modelo fsico
Aps criar todo o modelo lgico ne-
cessria a denio dos atributos do mo-
delo fsico.
Para alternar entre os modelo fsico e
lgico basta selecionar na Combo situada
logo acima da barra de ferramentas, mos-
trada na Figura 1.
No modelo fsico iremos denir carac-
tersticas das entidades e atributos cria-
dos no modelo lgico de acordo com o
SGDB utilizado. Neste modelo temos
uma viso real das tabelas, colunas, pro-
cedures, triggers e outros objetos do nos-
so banco.
A gura 7 mostra o Editor de Coluna
do modelo fsico.
Conforme o observado no modelo f-
sico, no existem mais Entidades e Atri-
butos, 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 denir se ele
pode ou no receber valores nulos. Ain-
da pode-se utilizar a aba Comment para
comentar cada campo, assim como cada
tabela.
Criando o banco de dados a partir do
Modelo Fsico criado
Terminada a implementao neces-
srio criar os objetos denidos no ErWin
em um banco de dados. Para isso, preci-
so fazer o modelo apontar para o SGDB
a ser utilizado acessando-se o menu: Ser-
ver\Target Server. Alm da seleo do
SGDB e da verso do mesmo possvel
denir opes referentes ao tipo de da-
dos e a nulidade default para as colunas
denidas no modelo bem como mscara
para nomenclatura automtica de ndices
e tabelas. Vide Figura 9.
Aps as conguraes do Target Ser-
ver, basta acessar o menu Tasks\Forward
Engineer/Schema Generation para criar
o banco de dados. Vide Figura 10. Utiliza-
remos um banco criado no Oracle.
Como se pode ver a tela bem intuiti-
va. Na pasta Summary indicamos os ob-
jetos 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 relacionamen-
tos demonstrados no modelo fsico.
A Figura 11 mostra os scripts com to-
dos objetos gerados no banco de dados a
partir do modelo implementado.
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 Enge-
nharia Reversa, e acessado pelo menu
Tasks\Reverse Engineer. A primeira tela
a ser exibida a ErWin Template Se-
lection, onde escolhe-se a opo Blank
Diagram para criar o modelo do zero.
Ao clicar em Next, depara-se com a tela
Select 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 denidos procedimentos neces-
srios realizao da engenharia reversa.
Vide gura 12.
Figura 6. Modelo lgico com entidades, atributos e relacionamentos.
Figura 7. Editor de Coluna
Figura 8. Modelo Fsico com Tabelas, Colunas e Relacionamentos
Figura 9. Target Server Configurao do Banco de Dados Figura 10. Tela de gerao de banco de dados
Modelagem de Dados com ErWin
SQL
Magazine - 21
Deste modo, as opes da engenharia
reversa podem ser denidas como Da-
dos de Tabelas, Colunas, TableSpace,
Procedure, Triggers e outros. Na opo
Table/Views Owned By, foi seleciona-
da 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 conecta-
do desde que o mesmo tenha privilgios
no banco sucientes para isso. Ainda h
possibilidade de se escolher formas de in-
dexao e outras coisas mais.
Clicando-se no boto Next, visualiza-se a tela
de conexo, conforme mostrado na Figura 13.
Esta a tela que permite fazer a cone-
xo do modelo com o banco de dados
denido em Taget Server, mostrado na
Figura 9. Esta tela tambm apresentada
quando o banco criado a partir do mo-
delo. 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 automaticamen-
te, conforme mostrado na Figura 14.
Foi possvel, a partir de um banco exis-
tente, criar um modelo semelhante ao j
implementado, conforme j mostrado.
No processo de Engenharia Reversa no
ErWin, os modelos lgico e fsico so
criados 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 gura 9, mudar o
banco para o Sql Server, escolhendo a
verso, denindo os padres (como j
mostrado) e efetuar os procedimentos
mostrados nas guras 10 e 11.
A Figura 15 aponta como fica o modelo fsi-
co para acessar o banco de dados 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 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 mo-
delagem de dados. possvel criar Pro-
cedures, Triggers, Views, alterar o banco
de dados, alterar o modelo a partir de al-
guma alterao feita no banco, criar o di-
cionrio de dados, etc. A implementao
de um modelo antes do incio do desen-
volvimento de um sistema garante uma
viso ampla e unicada do mesmo, facili-
tando em muito a denio da regras de
negcio, a implementao, manuteno
e anlise dos procedimentos, garantindo
inclusive a continuidade do trabalho no
caso de alteraes na equipe de desenvol-
vimento com pouco ou nenhum retraba-
lho uma vez que o modelo disponibiliza
de forma clara e objetiva uma documen-
tao de toda infra-estrutura do sistema.
Figura 11. Script com o cdigo de criao das tabelas de-
nidas no modelo.
Figura 12. Tela de opes da Engenharia
Figura 13. Tela de Conexo com o Oracle.
Figura 15. Modelo Fsico para acessar o Sql server.
Figura 14. Modelo criado apartir de um banco de dados existente usando a
Engenharia Reversa
SQLAutor
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

Вам также может понравиться