Você está na página 1de 10

Exacta

ISSN: 1678-5428
exacta@uninove.br
Universidade Nove de Julho
Brasil

Ferreira Prata, José


Um roteiro para facilitar o ensino e o aprendizado na elaboração de projetos conceituais de bancos de
dados
Exacta, vol. 4, núm. 1, janeiro-junho, 2006, pp. 113-121
Universidade Nove de Julho
São Paulo, Brasil

Disponível em: http://www.redalyc.org/articulo.oa?id=81040111

Como citar este artigo


Número completo
Sistema de Informação Científica
Mais artigos Rede de Revistas Científicas da América Latina, Caribe , Espanha e Portugal
Home da revista no Redalyc Projeto acadêmico sem fins lucrativos desenvolvido no âmbito da iniciativa Acesso Aberto
Artigos

Um roteiro para facilitar o ensino e o aprendizado


na elaboração de projetos conceituais
de bancos de dados

José Ferreira Prata


Mestre em Engenharia de Computação – Mackenzie;
Professor na graduação – FSL-SP/Uninove/Unisa.
jose@infortex.com.br, Osasco – SP [Brasil]

Este artigo propõe o estabelecimento de um roteiro-padrão


para elaboração de modelos conceituais de bancos de dados
orientados a objetos ou relacionais. Este roteiro pode ser
aplicado tanto no meio profissional, para o desenvolvimento
de projetos de bancos de dados, quanto no meio acadêmico,
para o ensino desses projetos.

Palavras-chave: Banco de dados. Ensino.


Modelagem. Projeto. Roteiro-padrão.

Exacta, São Paulo, v. 4, n. 1, p. 113-121, jan./jun. 2006 113


1 Introdução e todos os requisitos necessários para a constru-
ção do modelo conceitual de banco de dados por
O ensino do modelo conceitual em proje- ser um assunto muito extenso e complexo. Caso
tos de bancos de dados nos cursos de Ciência de haja interesse em aprofundar-se nessa abordagem,
Computação, de Sistemas de Informação e naque- sugerimos consultar a bibliografia ligada ao tema
les que contemplam essa matéria é uma tarefa ár- recomendada no final deste artigo. Neste traba-
dua, pois, abstrair, de forma adequada, o que é lho, apresentamos uma proposta com dez passos
essencial nem sempre é fácil para a maioria dos básicos para modelagem de projetos conceituais
alunos. Essa dificuldade mereceria, por diversas (PRATA, 2005a; 2005b) e aproveitaremos algu-
razões, um estudo particular. Como base para o mas regras da língua portuguesa para identificar
desenvolvimento do projeto lógico e físico, porém, entidades de dados, tipos e graus de relacionamen-
se houver a correta modelagem, os resultados fi- to e as respectivas razões de cardinalidade.
nais também não serão bons. Em geral, a exata Antes de iniciar as considerações sobre a pro-
identificação das entidades de dados e de seus posição de roteiro-padrão, é preciso estabelecer
respectivos relacionamentos fica totalmente con- que:
dicionada à capacidade de quem está modelando.
Enquanto no meio profissional os analistas são • Substantivos que designam alguém (fornece-
exigidos e testados em um ambiente real, no ensi- dor, cliente, funcionário, aluno); documentos
no, depende-se, de modo crucial, da aptidão e do (nota fiscal, pedido, conta-corrente, estoque)
interesse do aluno e da habilidade do professor em ou ainda coisas (peça, produto) que represen-
transmitir e orientar. Durante os muitos anos em tam objetos do mundo real que podem vir a
que lecionei essa disciplina no meio universitário, fazer parte do modelo conceitual. Vale ressal-
as dificuldades apresentadas pelos alunos a cada tar que nem todos os objetos citados nos re-
projeto solicitado resultavam em mecanismos fa- quisitos constituirão o modelo e para separá-
cilitadores para superar os obstáculos. A soma de los podemos utilizar algumas regras simples
todos esses mecanismos será abordada, a seguir, que falaremos mais adiante;
na forma de um roteiro que pode facilitar o ensino • Verbos e preposições, por sua vez, servem
e o aprendizado no desenvolvimento de modelos para que identifiquemos o relacionamento
conceituais para projetos de bancos de dados rela- entre as entidades, demonstrando as ligações
cionais e orientados a objetos. existentes entre elas. Quando lemos em um
É importante frisar que todo projeto de ban- texto “Listar empregados por departamen-
co de dados deve começar sempre com requisitos to”, por exemplo, concluímos que a entidade
bem descritos, que traduzam, de maneira adequa- “empregado” tem um tipo de relacionamento
da, todas as necessidades e medidas de qualidade que se pode chamar de “trabalha no” com a
esperadas. Esses requisitos aliados a boas práticas entidade departamento.
de desenvolvimento aumentarão consideravelmen-
te a probabilidade de o produto desenvolvido ter a Apresentaremos, a seguir, dois exemplos
qualidade desejada. que detalham a execução do padrão proposto.
Não iremos tratar, no entanto, da engenharia No primeiro, à modelagem de banco de dados
de requisitos, que, por si, merece um trabalho à relacionais, adotaremos os conceitos do Modelo
parte. Também não enfocaremos todas as regras Entidade-Relacionamento (MER) (ELMASRI;

114 Exacta, São Paulo, v. 4, n. 1, p. 113-121, jan./jun. 2006


Artigos

NAVATHE, 2002); no segundo, dirigido ao 2.1 Identificando todos os


banco de dados orientado aos objetos, usare- substantivos que designem objetos
mos o diagrama de classes da unified modelling Leia o texto e grife todos os substantivos que
language (UML) (BOOCH; RUMBAUGH; JA- designem objetos do mundo real, tais como pesso-
COBSON, 1997), normalmente utilizado em as, coisas, documentos, controles, sistemas etc.
projetos de softwares, mas que também tem sido Considere o substantivo apenas uma vez,
largamente empregado para representar esque- mesmo que ele apareça várias vezes no texto. Eli-
mas aplicados aos objetos. mine também aqueles que, mesmo com denomina-
ções diferentes, representem o mesmo objeto.
Faça uma lista dos objetos grifados, pois as
2 Exemplo de roteiro-padrão entidades que farão parte do modelo conceitual
para elaborar um modelo serão identificadas por meio deles.
conceitual de banco de Resultado: administração, aluno, bimestre,
dados relacional código da matéria, computação, curso, descrição
da matéria, escola, intranet, matemática I, maté-
Uma escola deseja tornar disponível, em uma ria, média final do semestre, nota, página, pesqui-
intranet, as notas dos alunos por matéria e por sa, professor, relatório, semestre, sistema, turma.
bimestre, sendo que um semestre terá sempre duas
notas bimestrais e a média final do semestre será 2.2 Descartando substantivos que,
calculada pelo sistema. Na página, o aluno poderá como entidade, teriam apenas
visualizar o código e a descrição da matéria, o bi- uma ocorrência
mestre, a nota e, no final do semestre, a respectiva Faça uma das seguintes perguntas: “Se esse
média final, consultar quais matérias cursa e os substantivo for transformado em entidade, será
respectivos professores. O professor terá acesso às um conjunto de apenas uma ocorrência?” ou
matérias que leciona em cada curso para lançar as “Caso essa entidade venha a se transformar em
notas de cada aluno. A escola poderá extrair rela- tabela, terá apenas uma linha?” Se a resposta for
tórios ou pesquisas sobre as matérias que o aluno afirmativa, descarte esse substantivo.
cursa e, ainda, quais professores lecionam uma Resultado: escola.
determinada matéria. Para que não haja confusão
entre matérias com mesmo nome, mas que perten- 2.3 Descartando substantivos
çam à grade curricular de cursos diferentes com que servem apenas para
conteúdos distintos, e considerando que podem entendimento do problema
existir várias turmas do mesmo curso no mesmo Mesmo substantivos que designam objetos
semestre, todas as matérias possuirão um código podem servir apenas para entendimento do pro-
próprio que as distinguirão por curso e por turma. blema e, nesse caso, não devem fazer parte do mo-
Assim, matemática I da turma A do curso de Ad- delo conceitual como entidades. Para identificá-
ministração terá um código de matéria diferente los, faça a seguinte pergunta: “Preciso guardar
de matemática I da turma B do mesmo curso. Será informações sobre esse objeto?” Caso a resposta
diferente também da matemática I de qualquer ou- seja negativa, ele deve ser descartado.
tro curso. Dessa forma, cada código de matéria Resultado: administração, intranet, matemá-
terá somente um professor responsável. tica I, semestre, sistema.

Exacta, São Paulo, v. 4, n. 1, p. 113-121, jan./jun. 2006 115


2.4 Descartando objetos que são posições. Algumas vezes elas estão ocultas, mas
referência a uma futura aplicação em outras será necessário que se faça uma aná-
Em um projeto de banco de dados relacional lise mais apurada do texto – porém, isso não
não existem, no modelo conceitual, preocupações é a regra. Tipos de relacionamento são repre-
com os programas que acessarão ou manipularão sentados, no desenho do MER, no formato de
os dados. Assim, citações a telas, relatórios, esta- losangos e seus nomes devem figurar, da melhor
tísticas, cálculos e tudo aquilo que signifique ma- forma possível. Qual é a ligação entre as entida-
nipulação dos dados não devem ser considerados des? O nome do relacionamento é geralmente o
pela entidade. verbo que melhor representa a ligação entre as
Resultado: média final do semestre, página, entidades.
pesquisa, relatório. Resultado: aluno cursa matéria, aluno possui
nota, matéria pertence curso, matéria tem nota,
2.5 Descartando substantivos professor leciona matéria.
que, se transformados
em entidade, teriam apenas 2.8 Estabelecendo
um atributo o grau de relacionamento
Para isso, faça a seguinte pergunta: “Se essa entre as entidades
entidade vier a ser uma tabela, quantas colunas O grau de relacionamento entre entidades
teria?” Se for apenas uma, verifique para qual en- (Ilustração 1) demonstra o tipo de ligação físi-
tidade esse atributo deverá pertencer. ca que há entre elas. Ligações físicas que, futu-
Resultado: bimestre, código da matéria, des- ramente, irão permitir uma adequada extração
crição da matéria. dos dados armazenados no banco de dados. O
grau de relacionamento mais comum, o grau
2.6 Listando os substantivos dois ou binário, representa a ligação entre duas
que se tornarão entidades entidades.
Depois dessas etapas, temos a lista de subs-
tantivos que se tornarão as entidades do nosso
Turma tem Curso
modelo conceitual.
Resultado: aluno, curso, matéria, nota, pro-
fessor. ligada pertence

2.7 Identificando
os relacionamentos físicos Aluno cursa Matéria leciona
e definindo seus tipos,
por meio de verbos
ou preposições que demonstrem
relações de dependência possui Nota tem Professor

ou existência entre as entidades


Normalmente, no próprio texto, identifi- Ilustração 1: Desenho do modelo
conceitual demonstrando os respectivos
camos as relações de dependência ou existência relacionamentos entre as entidades
entre as entidades por meio de verbos ou pre- Fonte: Prata (2005a).

116 Exacta, São Paulo, v. 4, n. 1, p. 113-121, jan./jun. 2006


Artigos

2.9 Estabelecendo a razão da Uma matéria tem muitas notas;


cardinalidade do relacionamento Uma nota pertence a uma matéria;
entre as entidades Então: uma matéria – muitas notas.
A razão da cardinalidade demonstra quantas
ocorrências de uma entidade estão relacionadas a Um professor leciona muitas matérias;
uma ocorrência de uma outra entidade. Esse re- Uma matéria é lecionada por apenas um pro-
lacionamento depende das regras do negócio, ou fessor;
seja, da forma de operar, da organização. Mesmo Então: um professor – muitas matérias.
conhecendo o negócio, porém, muitas vezes nos
confundimos com os tais “um pra lá e muitos pra Uma turma tem muitas matérias;
cá” ou “muitos pra lá e muitos pra cá”. Uma matéria é ligada a muitas turmas;
Conforme será demonstrado nos resultados Então: muitas turmas – muitas matérias.
descritos a seguir, sugerimos visualizar sempre os
dois lados do relacionamento (Ilustração 2). 2.10 Identificando os atributos
de cada entidade
Todo objeto tem suas propriedades, que de-
Turma tem Curso
M 1 terminam a suas características, e há a necessidade
M 1 de considerá-las na definição do modelo conceitu-
ligada pertence al. Por exemplo, uma pessoa tem como caracterís-
ticas a altura, o peso, a cor etc. Um fornecedor tem
M M o Cadastro Nacional da Pessoa Jurídica (CNPJ), a
Aluno cursa Matéria leciona
razão social, o endereço etc.; um estudante tem o
N M M número de matrícula, o nome etc.
1 1 1
Resultado:
possui tem
M
Nota
M
Professor Aluno = registro_aluno, nome_aluno, ende-
reço_aluno;
Ilustração 2: Desenho do modelo
conceitual incorporando a cardinalidade
Curso = código_curso, nome_curso;
do relacionamento entre as entidades Matéria = código_matéria, nome_matéria;
Fonte: Prata (2005a). Nota = bimestre, nota_aluno_matéria;
Professor = registro_professor, nome_profes-
sor;
Resultado: Turma = código_turma, nome_turma.

Uma nota pertence a apenas um aluno; Vale notar que a entidade nota é considera-
Um aluno possui muitas notas; da fraca em relação às entidades matéria e aluno,
Então: um aluno – muitas notas. classificadas como fortes, pois não possui chave
primária própria e, por isso, dependerá das cha-
Um aluno cursa muitas matérias; ves primárias das entidades fortes para compor a
Uma matéria é cursada por muitos alunos; individualidade de cada linha quando se tornar
Então: muitos alunos – muitas matérias. uma tabela.

Exacta, São Paulo, v. 4, n. 1, p. 113-121, jan./jun. 2006 117


código nome código nome 3.3 Descartando substantivos
turma turma curso curso
que servem apenas para
entendimento do problema
Turma tem Curso
M 1 Resultado: administração, intranet, matemá-
tica I, semestre, sistema.
M 1
ligada pertence
nome
3.4 Descartando objetos
aluno
que são referência
endereço
aluno M M código a uma futura aplicação
matéria
registro
nome
Resultado: média final do semestre, página,
aluno
matéria
pesquisa, relatório.

Aluno cursa Matéria leciona


N M M 3.5 Descartando substantivos
1 1 1 que, se transformados em classes,
teriam apenas um atributo
possui Nota tem Professor Resultado: bimestre, código da matéria, des-
M M
crição da matéria.
nota
aluno registro nome
bimestre
matéria professor professor 3.6 Listando os substantivos
Ilustração 3: Modelo conceitual contendo
que se tornarão classes
os atributos de cada entidade e identificando superclasses
Fonte: Prata (2005a). Resultado: aluno, curso, matéria, nota, pro-
fessor, turma. A superclasse pessoa será criada
para demonstrar a generalização do que é comum
3 Exemplo de roteiro-padrão entre aluno e professor, que manterão apenas seus
para elaborar um modelo atributos e suas operações específicas.
conceitual de banco
de dados orientado a objetos
3.7 Identificando os relacionamentos
Conforme enumerações a seguir. físicos e definindo seus tipos,
por meio de verbos
3.1 Identificando todos os ou preposições que demonstrem
substantivos que designem objetos as relações entre as classes
Resultado: administração, aluno, bimestre, Resultado: aluno cursa matéria, aluno possui
código da matéria, computação, curso, descrição nota, matéria pertence a curso, matéria tem nota,
da matéria, escola, intranet, matemática I, maté- professor leciona matéria. Aluno e professor her-
ria, média final do semestre, nota, página, pesqui- dam de pessoa.
sa, professor, relatório, semestre, sistema.

3.2 Descartando substantivos 3.8 Estabelecendo o grau de


que, como classe, teriam apenas relacionamento entre as classes
uma instância • Aluno, matéria e professor têm relações asso-
Resultado: escola. ciativas entre si;

118 Exacta, São Paulo, v. 4, n. 1, p. 113-121, jan./jun. 2006


Arti­

• Turma e matéria fazem parte de curso e, por assunto e mais especificamente no paper Booch,
isso, estão agregados; Rumbaugh e Jacobson (1997b).
• Pessoa é uma superclasse criada para repre-
sentar os atributos comuns e que serão her- 3.9 Estabelecendo a cardinalidade
dados do aluno e do professor. Observamos, e multiplicidade do relaciona­
que ocorreu uma generalização em pessoa e mento entre as classes
uma especialização em aluno e professor; Resultado: aluno e professor são subclasses
• A nota não pode pertencer, individualmente, de pessoa;
ao aluno e nem a matéria. Por isso, a nota Então: aluno e professor herdam de pessoa.
existirá para associar as outras duas entida-
des e representar seus atributos. A Ilustra- Um aluno cursa nenhuma ou muitas
ção 4 apresenta o diagrama de classes que matérias;
construímos com as informações extraídas Uma matéria é cursada por nenhum ou mui-
até agora. tos alunos;
Então: 0..* aluno – 0..* matéria.

As denominações entity, no topo, e


Um aluno cursa nenhuma ou muitas
persistent, no rodapé das classes, significam que
matérias;
essas classes modelam dados de forma persisten-
Uma matéria é cursada por nenhum ou mui-
te. Isso equivale a entidade do modelo de banco
tos alunos;
de dados relacional. Para obter mais explicações
Então: 0..* aluno – 0..* matéria.
sobre os diversos tipos de classes, sugerimos con-
sultar a extensa bibliografia existente sobre o
Uma turma pertence a apenas um curso;
Um curso tem zero ou muitas turmas;
<<entity>> <<entity>>
PESSOA CURSO Então: 1..1 curso – 0..* turma.

Uma matéria faz parte de apenas um


persistent persistent
curso;
Um curso tem uma ou muitas matérias;
<<entity>> <<entity>> <<entity>> <<entity>>
PROFESSOR ALUNO MATÉRIA TURMA Então: 1..1 curso – 1..* matéria.

Uma nota é resultado da relação entre um


persistent persistent persistent persistent
aluno e uma matéria;
<<entity>>
NOTA Um aluno em cada matéria tem zero ou mui-
tas notas;
Então: um aluno – uma matéria – 1..* notas.
persistent

Ilustração 4: Desenho do modelo conceitual A Ilustração 5 apresenta o diagrama de


demonstrando os tipos e graus de
relacionamentos entre as entidades classes ajustado com as informações de multi-
Fonte: Prata (2005a). plicidade.

Exacta, São Paulo, v. 4, n. 1, p. 113-121, jan./jun. 2006 119


<<entity>> <<entity>> <<entity>> <<entity>>
PESSOA CURSO PESSOA CURSO
+ nome: char + codigo_curso: int
+ endereço: char + nome_curso:
char
+ telefone: int
persistent persistent

1 1
0..* 0..* 0..* persistent persistent

<<entity>> <<entity>> <<entity>> <<entity>>


PROFESSOR ALUNO MATÉRIA TURMA
<<entity>> <<entity>> <<entity>> <<entity>>
PROFESSOR ALUNO MATÉRIA TURMA
+ registro_ + registro_ + codigo_ + codigo_
persistent persistent persistent persistent professor: professor: mateia: int turma: int
char char
+ nome_ + nome_turma:
1 1 materia: char char
<<entity>>
NOTA

0..* 0..* persistent persistent persistent persistent

persistent <<entity>>
NOTA
Ilustração 5: Desenho do diagrama de + avaliação: int

classes representando o modelo com a + nota: float

cardinalidade dos relacionamentos


Fonte: Prata (2005a). persistent

Ilustração 6: Modelo conceitual contendo


3.10 Identificando os atributos de os atributos de cada entidade
cada classe Fonte: Prata (2005a).
Resultado:
Aluno = registro_aluno; mos neste artigo, porque não afetam a demonstra-
Curso = código_curso, nome_curso; ção da aplicação do roteiro-padrão.
Matéria = código_matéria, nome_matéria; A aplicação do roteiro-padrão para banco
Nota = avaliação, nota; de dados relacionais conforme apresentado no
Pessoa = endereço, nome, telefone; item 2 ou a aplicação para banco de dados orien-
Professor = registro_professor; tados a objetos, conforme apresentado no item
Turma = código_turma, nome_turma. 3 apresentam, basicamente, duas importantes
diferenças:
A Ilustração 6 apresenta o diagrama de clas-
ses ajustado com os atributos identificados. • A criação da classe pessoa que generaliza os
Note-se que não adicionamos nenhum atributos comuns entre professor e aluno.
método/operação às classes (Ilustração 6), pois Dessa forma, professor e aluno especializam
eles representam o comportamento dos objetos seus atributos exclusivos e herdam os atribu-
modelados, não fazendo parte, portanto, dos ob- tos que lhe são comuns de pessoa;
jetivos deste artigo. • A utilização do conceito de agregação para
O símbolo “+” ao lado dos atributos, esta- demonstrar que matéria e turma são partes
belece que esse atributo é público e, dessa forma, de curso (Ilustração 6).
será totalmente acessível para métodos/operações
de outras classes, remetendo-nos, assim, aos con- Generalização, especialização, agregação
ceitos de encapsulamento e de reúso – não trata- e herança são conceitos típicos de modelagem

120 Exacta, São Paulo, v. 4, n. 1, p. 113-121, jan./jun. 2006


Artigos

orientada a objetos e não poderiam ser repre- A process to facilitate the


sentados pelo tradicional MER. De resto, obser- teaching and the learning in
vamos que o roteiro-padrão pode ser utilizado, the elaboration of database
basicamente, da mesma maneira, qualquer que conceptual projects
seja o projeto de banco de dados que se deseje
modelar. This article proposes the a standard process
for elaboration of database conceptual models
oriented to objects or relationals. This process
can be applied either in a professional medium,
4 Considerações finais to the development of database projects, and in
an academic medium, to the teaching of these
projects.
É importante alertar que algumas vezes o
objeto ou o relacionamento estão ocultos, sendo Key words: Database. Modeling. Project.
descobertos somente após alguns refinamentos Standard process. Teaching.
do modelo. Isso, no entanto, não é a regra, sen-
do mais comum que estejam explícitos nos pró-
Referências
prios textos de levantamentos de dados.
Qualquer que seja, porém, o grau de difi-
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML:
culdade para encontrar objetos e estabelecer re- the unified language for object-oriented development,
lacionamentos, pode-se afirmar que a contínua documentation. Documentation Set Version 1.0.
Rational Software Corporation, Santa Clara, 1997a.
utilização de roteiro-padrão para modelagem irá Disponível em: <http://www.rational.com>. Acesso em:
colaborar para a elaboração de bons modelos con- 10 fev. 2006.
ceituais que, por sua vez, serão a base para a cons- ______.; ______.; ______. UML: the unified language
trução de adequados modelos lógico e físico do for object-oriented development, documentation.
Documentation Set Version 1.1. Rational Software
banco de dados.
Corporation, Santa Clara, 1997b. Disponível em:
Para finalizar, ressaltamos que este roteiro <http://www.rational.com>. Acesso em: 10 fev. 2006.
deve servir como trilha, e não como trilho que não ELMASRI, R.; NAVATHE, S. B. Sistema gerenciador de
possa sofrer ajustes e desvios, cabendo ao educa- banco de dados. 3. ed. Rio de Janeiro: LTC, 2002.

dor ajustá-lo à capacidade de aprendizado de seus PRATA, J. F. 10 passos para a criação de um modelo
conceitual de banco de dados: parte 1. SQL Magazine,
alunos, podendo inserir ou retirar etapas. Tam-
Rio de Janeiro, n. 16, p. 22-29, 2005a.
bém não contempla as boas práticas e todos os
______. 10 passos para a criação de um modelo
conceitos necessários para elaboração do modelo, conceitual de banco de dados: parte 2. SQL Magazine,
restringindo-se apenas ao essencial. Rio de Janeiro, n. 18, p.50-53, 2005b.

Recebido em: 10 fev. 2006 / aprovado em: 2 maio 2006


Para referenciar este texto
PRATA, J. F. Um roteiro para facilitar o ensino e
aprendizado na elaboração de projetos conceituais de
bancos de dados. Exacta, São Paulo, v. 4, n. 1, p. 113-
121, jan./jun. 2006.

Exacta, São Paulo, v. 4, n. 1, p. 113-121, jan./jun. 2006 121

Você também pode gostar