Sie sind auf Seite 1von 14

UMA PROPOSTA PARA A PADRONIZAO

E A SISTEMATIZAO DO PROCESSO
DE DESENVOLVIMENTO DE MODELOS
CONCEITUAIS DE BANCOS DE DADOS

Jos Ferreira Prata*

Consideraes Iniciais

A bstrair o modelo conceitual de forma adequada talvez


seja uma das tarefas mais importantes do projeto de banco
de dados, pois com base nesse modelo que sero desenvolvi-
dos o projeto lgico e fsico. Atravs dos anos, com participa-
o em projetos que envolveram banco de dados e, tambm,
lecionando essa disciplina em diversas instituies universitrias,
notamos que tanto os analistas quanto os alunos tinham como
principal dificuldade abstrair, de forma adequada, o modelo
conceitual. Por conseqncia, os modelos lgico e fsico tam-
bm ficavam comprometidos. A correta identificao, princi-

* Jos Ferreira Prata formado em Administrao de Empresas,


mestre em Engenharia de Computao pela Universidade Mackenzie,
professor das disciplinas Banco de Dados, Linguagem de Programao,
Engenharia de Software e Anlise Orientada a Objetos, na Faculdade So
Luis, Centro Universitrio Uninove e Universidade de Santo Amaro. E-
mail: jose@infortex.com.br

134 Ano IX N 18/2006


UMA PROPOSTA PARA A PADRONIZAO E A SISTEMATIZAO

palmente das entidades de dados e de seus respectivos relacionamentos,


torna-se, em geral, totalmente dependente da capacidade de quem est
modelando. Como a experincia s obtida com o tempo e com os
trabalhos realizados, durante esse perodo de aprendizado os projetos
podem ter seus custos aumentados pelas correes de erros ou mesmo ter
sua qualidade comprometida de forma irreversvel. Como contornar en-
to essas dificuldades? Acreditamos que a resposta esteja em uma das
melhores prticas da qualidade de software, que o estabelecimento de
um processo padro que seja aprimorado toda vez em que se realiza.
importante frisar que todo projeto de banco de dados deve comear
sempre com requisitos bem descritos, que traduzam de forma adequada as
necessidades e medidas de qualidade esperadas pelo cliente. Estes requisi-
tos, aliados a boas prticas de desenvolvimento, aumentaro, de forma con-
sidervel, a probabilidade de o produto planejado ter a qualidade desejada.
No iremos tratar, porm, da engenharia de requisitos que, por si
s, merece um trabalho parte. Tambm no trataremos de todas as
regras e dos conceitos necessrios para a construo do modelo conceitual
de banco de dados, por se tratar de assunto muito extenso e complexo.
Caso haja interesse no aprofundamento desses conceitos, sugerimos
consultar a bibliografia recomendada no final deste artigo. Neste trabalho,
apresentamos uma proposta com dez passos bsicos para a modelagem
de projetos conceituais (Prata, 2005) e aproveitamos algumas regras da
lngua portuguesa para identificar entidades de dados, tipos e graus de
relacionamento e respectivas razes de cardinalidade.
Antes de iniciarmos as consideraes sobre a proposta de processo
padro, necessrio estabelecer:
substantivos, que designam algum (fornecedor, cliente, funcion-
rio, aluno); documentos (nota fiscal, pedido, conta corrente, es-
toque) ou ainda coisas (pea, produto) representam objetos do
mundo real que podem vir a fazer parte do modelo conceitual.
Vale ressaltar, que nem todos os objetos citados nos requisitos fa-
ro parte do modelo e, para separ-los, podemos utilizar algumas
regras simples das quais falaremos mais adiante;
verbos e preposies, por sua vez, servem para que identifiquemos
o relacionamento entre as entidades, pois demonstram as ligaes
existentes entre elas. Por exemplo, quando lemos em um texto a frase
listar empregados por departamento, conclumos que a entidade

Pensam. Real. 135


NOTAS E COMUNICAES

empregado tem um tipo de relacionamento que podemos chamar


de trabalha no com a entidade departamento.
Apresentaremos, a seguir, dois exemplos que detalham a execuo
do padro proposto. No primeiro, voltado modelagem de banco de
dados relacionais, utilizaremos os conceitos do MER Modelo Entidade
Relacionamento (Elmasri, 2002) e, no segundo, voltado a banco de
dados orientados a objetos, utilizaremos o diagrama de classes da UML
Unified Modelling Language (Booch, 1997), normalmente aplicado a
projetos de softwares, mas que tambm tem sido largamente aproveitado
para representar esquemas de Bancos de Dados orientados a objetos.

I. Exemplo de processo padro para elaborar um modelo


conceitual de banco de dados relacional.
Uma escola deseja disponibilizar, em uma intranet, as notas de seus
alunos por matria e por bimestre. Em um semestre, sempre ter duas
notas bimestrais e a mdia final ser calculada pelo sistema. Na pgina, o
aluno poder visualizar o cdigo da matria, sua descrio, o bimestre, a
nota e, ao trmino do semestre, a respectiva mdia final. Ele tambm
poder consultar quais as disciplinas cursadas, durante este perodo e seus
respectivos professores. J o docente, pode visualizar quais matrias lecio-
na em cada curso e lanar as notas de cada aluno. A escola tambm deseja
extrair relatrios ou pesquisas sobre as reas estudadas pelos discentes e
vice-versa e, ainda, as lecionadas pelos professores e vice-versa.
Para que no haja confuso entre matrias de mesmo nome, mas
em cursos e com contedos diferentes, e, ainda, considerando que podem
existir vrias turmas do mesmo curso no mesmo semestre, todas as
disciplinas possuiro um cdigo prprio que a distinguir por curso e
por turma. Assim, matemtica I da turma A do curso de Administrao
ter um cdigo de matria diferente de matemtica I do mesmo curso
de Administrao da turma B. Ser diferente tambm da matemtica I
de qualquer outro curso. Desta forma, para cada cdigo criado, haver
somente um docente responsvel.

Identificando todos os substantivos que designem objetos


Primeiro lemos o texto e grifamos todos os substantivos que de-
signam objetos do mundo real, tais como pessoas, coisas, documentos,
controles, sistemas etc.

136 Ano IX N 18/2006


UMA PROPOSTA PARA A PADRONIZAO E A SISTEMATIZAO

Consideramos o substantivo apenas uma vez, mesmo que ele apa-


rea vrias vezes no texto. Eliminamos, tambm, aqueles que, mesmo
com denominaes diferentes, representam o mesmo objeto.
Em seguida, fazemos uma lista dos objetos grifados, pois ser por
meio deles que sero identificadas as entidades que constituiro parte
do modelo conceitual.
Resultado: escola, intranet, nota, aluno, matria, bimestre, semes-
tre, sistema, pgina, cdigo da matria, descrio da matria,
mdia final do semestre, curso, professor, relatrio, pesquisa,
matemtica I, administrao, computao, turma.

Descartando substantivos que, como entidade, teriam apenas uma


ocorrncia.
Elaboramos uma das seguintes perguntas: se esse substantivo for
transformado em entidade ser um conjunto de apenas uma ocorrncia?
ou caso essa entidade venha a se transformar em tabela ter apenas uma
linha? Caso a resposta seja afirmativa descarte esse substantivo.
Resultado: escola.

Descartando substantivos que servem apenas para o entendimento do


problema
Mesmo os substantivos que designam objetos, podem servir apenas
para entendimento do problema e, neste caso, no devem fazer parte do
modelo conceitual como entidades. Para identific-los, formulamos a
seguinte pergunta: preciso guardar informaes sobre esse objeto?.
Caso a resposta seja negativa, esse substantivo deve ser descartado.
Resultado: intranet, semestre, sistema, matemtica I, administrao.

Descartando objetos que so referncia a uma futura aplicao


Em um projeto de banco de dados relacional, no existe, no modelo
conceitual, preocupaes com os programas que acessaro ou manipu-
laro os dados. Assim, citaes a telas, relatrios, estatsticas, clculos e
tudo aquilo que signifique manipulao dos dados no deve ser consi-
derado entidade.
Resultado: mdia final do semestre, relatrio, pgina, pesquisa.

Pensam. Real. 137


NOTAS E COMUNICAES

Descartando substantivos que, se transformados em entidade, teriam


apenas um atributo
Para isto, perguntamos: se essa entidade vier a ser uma tabela,
quantas colunas ter? Se for apenas uma, verificamos a qual outra
entidade esse atributo dever pertencer.
Resultado: bimestre, cdigo da matria, descrio da matria.

Listando os substantivos que se tornaro entidades


Depois destas etapas, temos a lista de substantivos que se tornaro
as entidades do nosso modelo conceitual.
Resultado: curso, aluno, matria, nota, professor.

Identificando os relacionamentos fsicos e definindo seus tipos,


por meio de verbos ou preposies que demonstrem relaes de
dependncia ou existncia entre as entidades.
Normalmente, no prprio texto, identificamos as relaes de de-
pendncia ou existncia entre as entidades por meio de verbos ou pre-
posies. Em algumas poucas vezes, essas relaes esto ocultas e pre-
cisamos fazer uma anlise mais apurada do texto, porm isso no a
regra. Tipos de relacionamento so representados no desenho do mo-
delo ER no formato de losangos e seus nomes devem representar, da
melhor forma possvel, qual a ligao entre as entidades. O nome do
relacionamento geralmente o verbo que melhor representa a ligao
entre as entidades
Resultado: aluno possui nota, matria tem nota, aluno cursa
matria, professor leciona matria, matria pertence a curso.

Estabelecendo o grau de relacionamento entre as entidades


(ver Figura 1)
O grau de relacionamento entre entidades demonstra o tipo de
ligao fsica entre elas. Ligaes fsicas que futuramente iro permitir
uma adequada extrao dos dados armazenados no banco de dados. O
grau de relacionamento mais comum o grau dois ou binrio, assim
chamado por representar a conexo entre duas entidades.

138 Ano IX N 18/2006


UMA PROPOSTA PARA A PADRONIZAO E A SISTEMATIZAO

Figura 1. Desenho do modelo conceitual demonstrando os respectivos


relacionamentos entre as Entidades.

Estabelecendo a razo da cardinalidade do relacionamento


entre as entidades
A razo da cardinalidade demonstra quantas ocorrncias de uma enti-
dade esto relacionadas a uma ocorrncia de uma outra entidade, o que
depende das regras estabelecidas, ou seja, a forma de operar da organizao.
Porm, mesmo conhecendo o negcio, muitas vezes, nos confundimos com
os tais um pra l e muitos pra c ou muitos pra l e muitos pra c.
Conforme ser demonstrado nos resultados descritos a seguir, suge-
rimos visualizar sempre os dois lados da relao.
Resultado: (ver Figura 2)

1 Nota PERTENCE a apenas 1 Aluno


1 Aluno POSSUI Muitas Notas
Ento: 1 Aluno Muitas Notas
1 Aluno CURSA Muitas Matrias
1 Matria CURSADA POR Muitos Alunos
Ento: Muitos Alunos Muitas Matrias

Pensam. Real. 139


NOTAS E COMUNICAES

1 Matria TEM Muitas Notas


1 Nota PERTENCE A 1 Matria
Ento: 1 Matria Muitas Notas
1 Professor LECIONA Muitas Matrias
1 Matria LECIONADA POR APENAS 1 Professor
Ento: 1 Professor Muitas Matrias
1 Turma LIGADA A Muitas Matrias
1 Matria LIGADA A MUITAS Turmas
Ento: Muitas Turmas Muitas Matrias

Figura 2. Desenho do modelo conceitual incorporando a cardinalidade do


relacionamento entre as entidades.

Identificando os atributos de cada entidade (ver Figura 3)


Todo objeto tem suas propriedades e h a necessidade de conside-
r-las na definio do modelo conceitual. Propriedades equivalem a
caractersticas do objeto. Por exemplo, uma pessoa tem como caracte-
rsticas a altura, peso, cor etc. Um fornecedor tem o CNPJ, razo social,
endereo etc.; um estudante tem o nmero de matricula, o nome etc.

140 Ano IX N 18/2006


UMA PROPOSTA PARA A PADRONIZAO E A SISTEMATIZAO

Resultado:
Aluno = registro_aluno, nome_aluno, endereo_aluno
Matria = cdigo_matria, nome_matria
Nota = bimestre, nota_aluno_matria
Professor = registro_professor, nome_professor
Curso = cdigo_curso, nome_curso
Turma = cdigo_turma, nome_turma
Vale notar, que a entidade Nota denominada fraca em relao s
entidades fortes Matria e Aluno, pois no possui chave primria prpria
e por isso depender das chaves primrias das entidades fortes para
compor a individualidade de cada linha quando se tornar uma tabela.

Figura 3. Modelo Conceitual contendo os atributos de cada entidade.

Pensam. Real. 141


NOTAS E COMUNICAES

II. Exemplo de processo padro para elaborar um modelo


conceitual de banco de dados orientado a objetos.
1) Identificando todos os substantivos que designam objetos
Resultado: escola, intranet, nota, aluno, matria, bimestre, semes-
tre, sistema, pgina, cdigo da matria, descrio da matria, mdia
final do semestre, curso, professor, relatrio, pesquisa, matemtica
I, administrao, computao.
2) Descartando substantivos que, como classe, teriam apenas uma
instncia.
Resultado: escola.
3) Descartando substantivos que servem apenas para o entendi-
mento do problema
Resultado: intranet, semestre, sistema, matemtica I, administrao.
4) Descartando objetos que so referncia a uma futura aplicao
Resultado: mdia final do semestre, relatrio, pgina, pesquisa.
5) Descartando substantivos que, se transformados em classes,
teriam apenas um atributo
Resultado: bimestre, cdigo da matria, descrio da matria.
6) Listando os substantivos que se tornaro classes e identifican-
do superclasses
Resultado: curso, aluno, matria, nota, professor, turma. A
superclasse pessoa ser criada para demonstrar a generalizao do
que comum entre aluno e professor, os quais mantero apenas
seus atributos e operaes especficas.
7) Identificando os relacionamentos fsicos e definindo seus ti-
pos, por meio de verbos ou preposies que demonstrem as
relaes entre as classes.
Resultado: aluno possui nota, matria tem nota, aluno cursa ma-
tria, professor leciona matria, matria pertence a curso, aluno e
professor herdam de pessoa.
8) Estabelecendo o grau de relacionamento entre as classes
Aluno, Matria e Professor tm relaes associativas entre si.
Turma e Matria fazem parte de Curso e por isso esto agregadas a ela.

142 Ano IX N 18/2006


UMA PROPOSTA PARA A PADRONIZAO E A SISTEMATIZAO

Pessoa uma superclasse criada para representar os atributos co-


muns e que sero herdados por Aluno e Professor. Observamos ento
que ocorreu uma generalizao em Pessoa e uma especializao em
Aluno e Professor.
A nota no pode pertencer individualmente a Aluno nem a Mat-
ria. Por isso, a Nota existir para associar as outras duas entidades e
representar seus atributos. A Figura 4 apresenta o diagrama de classes
que construmos com as informaes extradas at agora.
As denominaes entity no topo e persistent no rodap das classes,
significam que estas modelam dados de forma persistente. Equivale
entidade do modelo de banco de dados relacional. Para obter maiores
explicaes sobre os diversos tipos de classes, sugerimos consultar a
extensa bibliografia existente sobre o assunto.

Figura 4. Desenho do modelo conceitual, demonstrando os tipos


e graus de relacionamentos entre as entidades.

Pensam. Real. 143


NOTAS E COMUNICAES

9) Estabelecendo a cardinalidade e a multiplicidade do relaciona-


mento entre as classes
Resultado:
Aluno e Professor so subclasses de Pessoa
Ento: Aluno e Professor herdam de Pessoa
1 Aluno pode cursar nenhuma ou muitas matrias
1 matria pode ser cursada por nenhum ou muitos alunos
Ento: 0..* Aluno 0..* Matria
1 Turma faz parte de apenas 1 Curso
1 Curso pode ter zero ou muitas turmas
Ento: 1..1 Curso 0..* Turma
1 Matria faz parte de apenas 1 Curso
1 Curso deve ter 1 ou muitas Matrias
Ento: 1..1 Curso 1..* Matria
1 Nota resultado da relao entre 1 Aluno e 1 Matria
1 Aluno em cada Matria tem zero ou muitas notas
Ento: 1 Aluno 1 Matria 1..* Notas
A Figura 5 apresenta o diagrama de classes, ajustado com as in-
formaes de multiplicidade.
10) Identificando os atributos de cada classe
Resultado:
Pessoa = nome, endereo, telefone
Aluno = registro_aluno
Matria = cdigo_matria, nome_matria
Nota = avaliao, nota
Professor = registro_professor
Curso = cdigo_curso, nome_curso
Turma = cdigo_turma, nome_turma
A Figura 6 apresenta o diagrama de classes, ajustado com os atri-
butos identificados.
Notem que no adicionamos nenhum mtodo/operao s classes
acima, pois estes representam o comportamento dos objetos modelados,
e no fazem parte, portanto, dos objetivos deste artigo. O smbolo +

144 Ano IX N 18/2006


UMA PROPOSTA PARA A PADRONIZAO E A SISTEMATIZAO

Figura 5. Desenho do diagrama de classes, representando o modelo com a


cardinalidade dos relacionamentos.

Figura 6. Modelo Conceitual contendo os atributos de cada entidade.

Pensam. Real. 145


NOTAS E COMUNICAES

ao lado de cada atributo estabelece que este ltimo pblico e, desta


forma, ser totalmente acessvel para mtodos/operaes de outras classes,
remetendo-nos, assim, aos conceitos de encapsulamento e reuso, que no
tratamos aqui porque no afetam o que queremos demonstrar, ou seja,
como se aplica o processo padro.
A aplicao do processo para banco de dados relacionais e este
exemplo, no qual utilizamos o diagrama de classes, apresenta basica-
mente duas importantes diferenas:
A criao da classe PESSOA, que generaliza os atributos comuns
entre PROFESSOR E ALUNO. Desta forma PROFESSOR E ALUNO
especializam seus atributos exclusivos e herdam os que lhes so comuns
de PESSOA.
A utilizao do conceito de agregao para demonstrar que, neste
exemplo, MATRIA e TURMA so partes de CURSO.
Generalizao, especializao, agregao e herana so conceitos
tpicos de modelagem orientada a objetos e no poderiam ser representa-
dos pelo tradicional Modelo Entidade-Relacionamento. De resto, obser-
vamos que a utilizao do processo padro basicamente a mesma,
qualquer que seja o projeto de banco de dados que se deseja modelar.

Consideraes Finais
Esperamos que, com base nos exemplos apresentados, tenhamos
conseguido demonstrar a facilidade de se implementar um processo padro
para a elaborao de modelos conceituais de banco de dados relacionais
e orientados a objetos, e que no h motivos para que a complexidade
dos conceitos estudados comprometa a qualidade do que se proposto.
Gostaramos de ressaltar, no entanto, que o processo acima deve
servir como trilha e no como trilho, pois no h impedimentos para
que possa sofrer ajustes e desvios.
Tambm no contempla todos os conceitos e as boas prticas neces-
srias para a elaborao do modelo, restringindo-se apenas ao essencial.
Por fim, importante alertar que, em algumas vezes, o objeto ou
relacionamento est oculto, sendo descoberto somente aps alguns
refinamentos do modelo.
Isso, contudo, no a regra, pois mais comum que objetos e
relacionamentos estejam explcitos nos prprios textos de levantamentos

146 Ano IX N 18/2006


UMA PROPOSTA PARA A PADRONIZAO E A SISTEMATIZAO

de dados. Porm, qualquer que seja, o grau de dificuldade para encontrar


objetos e relacionamentos pode-se afirmar que a contnua utilizao de
um processo padro para modelagem ir colaborar para a elaborao
de bons modelos conceituais que, por sua vez, sero a base para a
criao de adequados modelos lgico e fsico do banco de dados.

Referncias Bibliogrficas
PRATA, J.F. (2005). 10 passos para elaborao de um modelo conceitual de
banco de dados. 18. ed. Rio de Janeiro: SQL Magazine.
ELMASRI, R. e NAVATHE S.B. (2000). Sistema gerenciador de banco de
dados. 3. ed. Rio de Janeiro: Editora LTC.
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. (1997). The Unified Language
for Object-oriented Development. Documentation Set Version 1.0.

Pensam. Real. 147

Das könnte Ihnen auch gefallen