Modelagem Da Informação
Modelagem Da Informação
Modelagem Da Informação
da Informação
Material Teórico
Modelo e Diagrama Entidade Relacionamento (MER e DER)
Revisão Textual:
Prof.ª Dr.ª Selma Aparecida Cesarin
Modelo e Diagrama Entidade
Relacionamento (MER e DER)
OBJETIVOS DE APRENDIZADO
• Capacitar os alunos quanto à abstração e à construção de Modelos Entidade Relaciona-
mento (MER);
• Impulsionar o pensamento crítico quanto ao desenho e à utilização de modelos no pro-
cesso de modelagem da informação, como parte do levantamento de requisitos e design
de soluções, aplicativos ou funcionalidades diversas;
• Qualificar os alunos para lidarem com o processo de gestão e construção de conhecimen-
to quando inseridos em equipes ágeis, adotando uma verdadeira cultura de dados em
suas vidas profissionais.
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem
aproveitado e haja maior aplicabilidade na sua
formação acadêmica e atuação profissional, siga
algumas recomendações básicas:
Conserve seu
material e local de
estudos sempre
organizados.
Aproveite as
Procure manter indicações
contato com seus de Material
colegas e tutores Complementar.
para trocar ideias!
Determine um Isso amplia a
horário fixo aprendizagem.
para estudar.
Mantenha o foco!
Evite se distrair com
as redes sociais.
Seja original!
Nunca plagie
trabalhos.
Não se esqueça
de se alimentar
Assim: e de se manter
Organize seus estudos de maneira que passem a fazer parte hidratado.
da sua rotina. Por exemplo, você poderá determinar um dia e
horário fixos como seu “momento do estudo”;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam-
bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua
interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de
aprendizagem.
UNIDADE Modelo e Diagrama Entidade Relacionamento (MER e DER)
Introdução – A Importância do
Levantamento de Requisitos
Nas Unidades anteriores, pudemos notar a importância da construção de mode-
los logo ao iniciarmos o desenvolvimento de um novo sistema ou mesmo de uma
nova funcionalidade ou aplicação para um sistema existente.
Por exemplo, Sommerville (2007) aborda em seu livro que, durante o processo
de Engenharia de Requisitos é que se acaba definindo o que de fato o sistema deve
fazer, quais suas características, tanto essenciais quanto desejáveis, assim como as
restrições possíveis quanto à sua operação e o seu processo de desenvolvimento.
Um processo que, quando não executado de forma adequada, pode levar à cons-
trução de sistemas falhos e complexos, que de fato não atendam ao proposto pelo
cliente. Então, na fase de elicitação e análise de requisitos, a primeira atividade na
Engenharia de Requisitos, é dada ênfase na busca e aquisição de requisitos para o
desenvolvimento do software, utilizando técnicas e métodos adequados para obtê-los.
Porém, cabe aqui ressaltar que essa atividade não ocorre apenas uma única vez,
sendo um processo iterativo, ou seja, nas demais atividades do processo de Enge-
nharia de Requisitos, ela também pode ser empregada.
8
Explor
De modo geral, a criação e o posterior sucesso de um projeto de software dependem de um
processo de Engenharia de Requisitos bem elaborado e definido, visto que tal processo auxi-
lia em aspectos como a construção de tarefas tangíveis, que podem ajudar na compreensão
do impacto do produto a ser criado no negócio, permitindo, também, o alinhamento entre o
desejado pelo cliente e o que de fato é entregue aos usuários finais.
Cabe a ressalva de que o Banco de Dados poderá conter várias outras entida-
des, como chaves e tabelas intermediárias, que podem só fazer sentido no contexto
de Bases de Dados Relacionais.
Importante! Importante!
Nem sempre criaremos modelos para um sistema completo, pois ele pode acabar muito
extenso e de difícil interpretação. Dependendo da complexidade do que estaremos de-
senvolvendo, podemos criar modelos apenas para uma parte do sistema, um módulo, ou
mesmo uma única funcionalidade.
Assim, é importante ressaltar que se pode dividir a modelagem em várias partes menores,
Explor
9
9
UNIDADE Modelo e Diagrama Entidade Relacionamento (MER e DER)
Um MER pode ser encarado como design ou, mais especificamente, o desenho
de uma planta de um Banco de Dados, que pode ser implementado posteriormente
como um Banco de Dados.
10
Estudante Disciplina Professor
+ String: Nome + String: Nome + String: Nome
+ String: ID_Estudante + String: ID_Estudante + String: ID_Professor
+ Int: Vagas
Entidades
Uma entidade é comumente descrita como algo que pode ser definido e que
pode ter dados armazenados sobre ela, tais como uma pessoa, um objeto ou um
evento. Normalmente, entidades são pensadas como substantivos tais como um
estudante ou um consumidor.
11
11
UNIDADE Modelo e Diagrama Entidade Relacionamento (MER e DER)
Nesse caso, temos, então, as entidades Médico e Paciente que se relacionam por
meio de uma entidade associativa Consulta, de maneira muitos-para-muitos, vez
que em nosso sistema existem vários médicos e pacientes diferentes que podem
estar relacionados no mesmo sistema, com também diferentes consultas para dife-
rentes médicos.
Isso ocorre pois, imagine que queiramos saber se o medicamento que o médico
receitou para o paciente em uma consulta qualquer necessita de receita (um flag na
entidade Medicamento).
12
n n
Médico Consulta Paciente
Prescrição
Medicamento
Relacionamentos
Tendo em vista que entidades atuam umas sobre as outras, ou estão associadas
uma para com as outras, pense em relacionamentos como se fossem verbos. Do
nosso exemplo anterior, temos que Médicos consultam Pacientes e podem prescre-
ver Medicamentos.
Logo, uma vez que as entidades são identificadas, deve-se, então, definir como
se dá o relacionamento entre elas. Comumente, os relacionamentos são classifica-
dos de três formas, de acordo com a quantidade de objetos envolvidos em cada lado
do relacionamento:
• Relacionamentos 1..1 (um para um): cada uma das duas entidades envolvi-
das referência, obrigatoriamente, apenas uma unidade da outra. Por exemplo,
em um Banco de Dados policial, cada infrator cadastrado possui somente uma
ficha criminal na base, ao mesmo tempo em que cada ficha criminal só perten-
ce a um único infrator cadastrado;
• Relacionamentos 1..n ou 1..* (um para muitos): nesse tipo de relacionamen-
to, uma das entidades envolvidas pode referenciar várias unidades da outra,
porém, do outro lado, cada uma das várias unidades referenciadas só pode
estar ligada a uma unidade da outra entidade. Por exemplo, no nosso exemplo
do tópico anterior sobre entidades, com relação ao sistema de um clube, cada
Sócio pode ter vários Dependentes, mas cada Dependente, invariavelmente,
só pode estar ligado a um Sócio. Nesse caso, em específico, o que se modifica
é a quantidade de objetos envolvidos de cada lado do relacionamento;
• Relacionamentos n..n, n:m ou *..* (muitos para muitos): neste tipo de rela-
cionamento, cada entidade, de ambos os lados, pode referenciar múltiplas uni-
dades da outra. Por exemplo, em um sistema de publicação de artigos científi-
cos, um Artigo pode ter vários Autores enquanto um Autor também pode ter
participação na autoria de diferentes artigos. Assim, um objeto do tipo Autor
pode referenciar múltiplos objetos do tipo Artigo.
13
13
UNIDADE Modelo e Diagrama Entidade Relacionamento (MER e DER)
Atributos
Atributos são as características que descrevem as propriedades ou as caracte-
rísticas de cada uma das entidades envolvidas dentro de um domínio. De nosso
exemplo anterior, um Paciente pode possuir Nome, Endereço, Telefone, Número
de Convênio Médico associado e uma série de outras informações relevantes.
14
• Atributo Multivalorado: quando seu conteúdo é formado por mais de um va-
lor. Por exemplo: telefone, visto que uma pessoa poderá ter mais de um núme-
ro de telefone. Costuma ser indicado colocando-se um asterisco precedendo o
nome do atributo;
• Atributo Determinante ou Chave Primária: identifica de forma única uma
entidade dentro do domínio e, portanto, não pode se repetir. Em um cadastro
de clientes, por exemplo, esse atributo poderia ser o CPF;
• Atributos Referenciais ou Chave Estrangeira: geralmente, estão ligados à
chave primária da outra entidade. Esses termos são bastante comuns no con-
texto de Bancos de Dados. Partindo do exemplo anterior, a entidade cliente
tem como chave primária seu CPF, assim, uma instância de venda possui
também um campo CPF do cliente, que se relaciona com o campo CPF da
entidade cliente.
15
15
UNIDADE Modelo e Diagrama Entidade Relacionamento (MER e DER)
Ferramentas Case
Para auxílio no processo de análise de requisitos e modelagem, e nos últimos
tempos, até na programação e testes, têm-se utilizado bastante as ferramentas
CASE, do inglês, Computer-Aided Software Engineering; ferramentas para auxílio
nas mais variadas atividades em Engenharia de Software.
16
No tópico a seguir, é demonstrado como, a partir de uma ferramenta deste tipo,
o StarUML, software especializado para criação dos mais diversos diagramas da
UML), podemos construir diagramas ER para um exemplo, de forma rápida e faci-
litada, mostrando, passo a passo, como se dá a criação de nosso modelo de dados,
entidades, criação de colunas e relacionamentos, tendo em vista otimizar seu pro-
cesso de desenvolvimento de software.
Explor
Exemplo Prático
Como exemplo do uso do StarUML, suponha que temos de modelar um sistema
para um hotel, em que estamos interessados no sistema de reservas e de cobranças
de serviços ligados a essas reservas, assim como pode ser verificado na Figura 4 a
seguir, no qual se notam as informações que podem vir a ser utilizadas como parte
de nosso modelo de dados, nossas entidades, que vão ser modeladas como nossas
colunas, seus atributos e relacionamentos.
Rooms
Paciente
Room Number <PK>
Services
17
17
UNIDADE Modelo e Diagrama Entidade Relacionamento (MER e DER)
Criando um Diagrama ER
A Figura 5, a seguir, ilustra os passos para a criação de um diagrama ER
entre entidades:
• Do seu lado direito, em Model Explorer, favor selecionar primeiro um elemen-
to em que um novo Diagrama de Entidade-Relacionamento possa ser contido
como filho;
• Selecione o modelo em Model |Add Diagram | ER Diagram na barra de
menus ou selecione Add Diagram | ER Diagram no menu de contexto.
Modelo de Dados
Para criar um Modelo de Dados (somente o elemento de modelo), via Menu:
• Selecionar um elemento em que o novo Modelo de Dados (Data Model) estará
contido;
• Selecionar Model |Add |Data Model na barra de menu ou Add |Data Model
no meu de contexto.
Entidade
Na Figura 6 ilustram-se os passos para criação de uma entidade, como descrito
a seguir.
18
Para criar uma entidade (apenas o elemento de modelo) por meio do Menu:
• Selecione um Modelo de Dados em que uma nova Entidade seja contida;
• Selecione Model | Add | Entity na barra de menus ou Add | Entity no menu
de contexto.
Você também pode usar o QuickEdit for Entity clicando duas vezes ou pressio-
ne Enter em uma entidade selecionada:
• Name: Digite o nome;
• Add Note: adicione uma nota vinculada;
• Add Column (Ctrl + Enter): adiciona uma coluna;
• Add One to One: adicionando um relacionamento um a um com uma entidade;
• Ads One to Many: adicionando um relacionamento um a muitos com
uma entidade;
• Add Many to Many: adicionando um relacionamento muitos a muitos com
uma entidade.
Coluna
Na Figura 7, são ilustrados os seguintes passos para a criação de uma coluna,
como descrito a seguir.
Você pode usar o QuickEdit for Column clicando duas vezes ou pressionando
Enter em uma coluna selecionada.
19
19
UNIDADE Modelo e Diagrama Entidade Relacionamento (MER e DER)
Hotels Rooms
PK Hotel Id int PK RoomNo int
Zipcode int Room Type Reservation
City string Rates
PK Res Number int
PhoneNo string Room Location
Costumer Id int
int Number of Beds
Check in Date
Costumer_ID int
Check out Date
Status
Number of Guests
Reservation
Room Number int
20
Relacionamento
A partir do mesmo menu (toolbox) no qual interagimos com nossas Entidades,
agora podemos ir ajustando os Relacionamentos de acordo com o exemplo base,
como visto nas Figuras 9 e 10.
Você também pode usar o QuickEdit for Relationship ao clicar duas vezes ou
pressionando Enter em um relacionamento selecionado.
• Name: Digite o nome.
• Identifying: verifique se o relacionamento está identificando ou não.
• Add Note: adicione uma nota vinculada.
» Você também pode usar o QuickEdit para final do relacionamento clicando
duas vezes no lado final de um relacionamento.
• Nome: Digite o nome.
• Cardinalidade: selecione a cardinalidade do final do relacionamento selecionado.
21
21
UNIDADE Modelo e Diagrama Entidade Relacionamento (MER e DER)
Atividade
Agora, como atividade, suponha que queremos modelar um Sistema de Bibliote-
ca no qual estamos interessados numa aplicação de empréstimo de livros.
A Figura 10 mostra, então, o que poderia ser uma versão simplificada do esboço
de um DER referente a essa aplicação
1 n
Usuário Efetua Empréstimo
Contém
Livro
Pertence
1
Sessão
Agora que conseguimos ter uma primeira versão de nosso diagrama, quais po-
deriam ser os atributos e outras entidades necessárias a serem adicionados para a
correta modelagem desse tipo de aplicação?
Tente usar ferramentas CASE como o StarUML que possui versão de avaliação gratuitamente,
Explor
22
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Leitura
Modelo de Entidade e Relacionamento – MER
http://bit.ly/2Tc8d7q
Entidade: Atributos simples, compostos e multivalorados
http://bit.ly/2uBxuOg
Relacionamento entre entidades: tipos e cardinalidade
http://bit.ly/2NcTIws
O que é um diagrama entidade relacionamento?
http://bit.ly/2KIvCZ2
Como fazer um diagrama entidade relacionamento
http://bit.ly/2FI2vlH
Guia Completo de Modelagem de Banco de Dados
http://bit.ly/307Ntzf
Cinco passos para criar uma cultura orientada por dados
http://bit.ly/2FC9Vaj
What is Entity Relationship Diagram (ERD)?
http://bit.ly/2FAfxld
Ferramentas CASE e qualidade dos dados: O paradigma da boa modelagem
http://bit.ly/2QFf0Vx
23
23
UNIDADE Modelo e Diagrama Entidade Relacionamento (MER e DER)
Referências
BOOCH, G.; RUMBAUGH, J; JACOBSON, I. The Unified Modeling Language
user guide. EUA: Addison-Wesley, 1997.
CHEN, P. Suggested research directions for a new frontier: Active conceptual
modeling. ER 2006, v. 4215 of Lecture Notes in Computer Science, 1-4. Springer
Berlin/Heidelberg, 2006.
24