Você está na página 1de 65

Modelo de Entidades e Relacionamentos

Modelo de Entidades e Relacionamentos


Um modelo grfico que descreve o mundo como ...cheio de coisas que possuem caractersticas prprias e que se relacionam entre si Diagrama de Entidades e Relacionamentos

Conhecendo o Modelo (1)

Conhecendo o Modelo (2)

Muitos Diagramas?
Vrios autores e empresas lanaram formas diferentes de descrever o modelo de entidades e relacionamentos Alguns se consideram modelos diferentes, mas todos seguem os mesmos princpios

Modelo de Chen (o original)


Entidades: retngulo Relacionamentos: losangos Atributos: Crculos
n

Fita

Aluga

Cliente

Contm

Filme

Atua m Ator

Dirige m Diretor

Modelos Eng. da Informao (Erwin)


Entidades: Retngulos Atributos: Listados no retngulo Relacionamentos: Apenas as linhas, com smbolos que lembram ps de galinha

Modelo IDEF1X (Erwin)


Entidades: Retngulos Atributos: Listados no retngulo Relacionamentos: Apenas as linhas, com bolas nas pontas

Esses Modelos No So Totalmente Iguais


Na prtica, cada modelo apresenta algumas sutis diferenas, que podem ajudar ou atrapalhar em alguns momentos Os modelos mais modernos so mais apropriados ao desenho em ferramentas CASE

Qual notao adotaremos


Ns adotaremos a notao da Engenharia da Informao
Os ps de galinha

Ns veremos alguns casos especficos em outras notaes


Para ampliar nossos horizontes

Voltemos ao Incio
Um modelo que descreve o mundo como ...cheio de coisas que possuem caractersticas prprias e que se relacionam entre si Coisas = Entidades

O que so as coisas?
Pessoas Objetos Conceitos Eventos Coisas Abstratas Etc....

O que precisarmos para modelar a informao em um sistema

Exigncia
Cada coisa modelada deve poder ser identificada unicamente Ou seja, devemos ser capazes de identificar as instncias

Entidades (1)
Uma entidade uma pessoa, objeto, local, animal, acontecimento, organizao ou outra idia abstrata sobre a qual o sistema deve se lembrar alguma coisa.

Entidades (2)
Uma entidade uma classe de objetos
Abstrao de Classificao

Uma entidade um conjunto no vazio de objetos A entidade deve ser de interesse para o sistema sendo modelado

Entidades (3)
Cada instncia de uma determinada entidade tem caractersticas similares (mas no iguais), o mesmo comportamento e uma identidade prpria.

Entidades (4)
Entidades no possuem valor
Entidades possuem caractersticas, e estas possuem valores

Se voc pode dar um valor a uma entidade, algo est errado em seu modelo

Exemplo de Entidades (1)


Locadora de Vdeo
Filme Fita
A locadora pode ter vrias fitas de um mesmo filme

Cliente Emprstimo

Exemplo de Entidades (2)


Na Escola Primria
Aluno Turma Professor

Diagramando as Entidades
Normalmente as entidades so modeladas como retngulos

Nome da Entidade

Diagrama Inicial para a Escola

Caractersticas das Entidades


Um modelo que descreve o mundo como
...cheio de coisas que possuem caractersticas prprias e que se relacionam entre si ...Entidades que possuem caractersticas prprias e que se relacionam entre si Caractersticas = Atributos

Atributos
Caractersticas que toda instncia possui, mas que variam de valor entre uma instncia e outra
Algumas caractersticas podem ser opcionais Algumas podem variar mais do que outras

Atributos possuem valor

Exemplo de Atributos (1)


Pessoa
Nome CPF Data de Nascimento

Exemplo de Atributos (2)


Filme
Nome Diretor Data de Lanamento Estdio Ator Principal Atriz Principal

Que atributos escolher para uma Entidade?


Aqueles que so necessrios e suficientes Lembrar das principais caractersticas das nossas abstraes
Eliminar detalhes que no so importantes Reforar os detalhes importantes

Exemplo de Atributos (3)


Filme (atributos possveis)
Nome Diretor Data de Lanamento Estdio Ator Principal Atriz Principal Diretor de Som Cameraman Empresa de divulgao Cozinheiro ...

Filme (atributos escolhidos)


Nome Diretor Data de Lanamento Estdio Ator Principal Atriz Principal

Domnio
Um atributo deve possuir um valor O valor deve ser de um domnio O domnio o conjunto de valores possveis para os atributos Conhecido tambm como Tipo

Domnios Gerais
Nmeros
Reais Inteiros Moeda (reais, dlares)

Strings Data/Hora Lgicos (Sim ou No, Verdadeiro ou Falso)

Domnios Especficos
Listas de Valores
Cores Salas de um prdio

Valores com Regras


CPF CNPJ

Notao para Atributos (1)


Nossos atributos sero listados em nossas entidades Precisamos modificar um pouco nosso desenho original
Aluno CP NomeAluno EnderecoAluno NomePai Nome ae Escola rigem EnderecoEscola rigem

Notao EI para Atributos (2)


Nome da Entidade
Aluno CP

Atributo Identificador
Veremos isso logo

Atributos Comuns

NomeAluno EnderecoAluno NomePai Nome ae Escola rigem EnderecoEscola rigem

Notao EI para Atributos (3)


Nome da Entidade
Aluno CP

Atributo Identificador
Veremos isso logo

Atributos Comuns

NomeAluno EnderecoAluno NomePai Nome ae Escola rigem EnderecoEscola rigem

Notao EI para Atributos (4)


Nome da Entidade
Aluno CP

Atributo Identificador
Veremos isso logo

Atributos Comuns

NomeAluno EnderecoAluno NomePai Nome ae Escola rigem EnderecoEscola rigem

Notao para Atributos (6)


Podemos tambm listar os domnios de cada atributo Aluno
CPF NomeAluno: String DataNasc: Data NomePai: String NomaMe: String Desconto: Nmero

Notao Chen Para Atributos


CPF NomeAluno

Aluno

NomePai NomeMe EscolaOrigem EndereoEscolaOrigem

As Entidades se Relacionam...
Um modelo que descreve o mundo como
...cheio de coisas que possuem caractersticas prprias e que se relacionam entre si ...Entidades que possuem atributos e que se relacionam entre si se relacionam entre si = relacionamentos

Relacionamentos
No mundo real, as entidades se relacionam com outras entidades
Na Escola
Professores do aula para uma turma Aluno freqentam uma turma

Na Locadora
Clientes alugam fitas

Representao dos Relacionamentos


Relacionamentos so representados por linhas As linhas possuem smbolos que vamos explicar

Aluno scola ome scola ndereco scola omeAluno nderecoAluno ome ai ome ae

O que um relacionamento (1)


Uma entidade representa um conjunto de elementos de uma mesma classe Quando duas entidades se relacionam, podemos definir uma relao, no sentido matemtico do termo, entre os dois conjuntos

Exemplo de Relacionamento (1)


Mat Port Cien
Esse conjunto representa a entidade Turma Estamos aplicando os conceitos mais bsicos de matemtica: conjunto e elemento

Exemplo de Relacionamento (2)


Tambm poderamos usar uma notao mais matemtica Turma = { Matemtica, Portugus, Cincias}

Exemplo de Relacionamento (3)


Esse conjunto representa a entidade Aluno

Alice Bruno Carlos Daniela

Exemplo de Relacionamento (4)


Tambm podemos descrever da mesma forma Aluno = { Alice, Bruno, Carlos, Daniela }

Exemplo de Relacionamento (5)


Que alunos freqentam que turmas? As possibilidades so muitas
Cada aluno pode freqentar quantas turmas? Quantas alunos podem freqentar uma turma?

Exemplo de Relacionamento (6)


Por exemplo
Matemtica: Alice, Bruno e Carlos Portugus: Alice, Carlos e Daniela Cincia: ningum

Exemplo de Relacionamento (7)


Alice Mat Port Cien Carlos Daniela Bruno

Exemplo de Relacionamento (8)


Turma = { Matemtica, Portugus, Cincias} Aluno = { Alice, Bruno, Carlos, Daniela } Para cada relacionamento, um par ordenado Relao Aluno x Turma
{ (Matemtica, Alice), (Matemtica, Bruno), (Matemtica, Carlos), (Portugus, Alice), (Portugus, Carlos), (Portugus, Daniela ) }

O que um Relacionamento (2)


Um relacionamento entre duas Entidades indica que as instncias de uma Entidade podem se relacionar, uma certa quantidade de vezes, com instncias da outra entidade
Alice Mat Port Cien Carlos Daniela Bruno

Quantas Vezes?
A pergunta sobre quantas vezes as instncias podem se relacionar muito importante e deve ser modelada A resposta modelada na Cardinalidade do relacionamento

Cardinalidades Simples
A cardinalidade pode ser vista de uma maneira simples, indicando-se quantas vezes, no mximo, uma instncia pode se relacionar com uma instncia da outra entidade
1x1 1xN NxM

Cardinalidade 1x1
Cada instncia de uma entidade s pode se relacionar com uma instncia de outra entidade Como um casamento

1x1: Exemplo
No modelo de uma Igreja
Entidades: Homem, Mulher Relacionamento: Casamento

No modelo de uma empresa de caminhes


Entidades: Caminho, Reboque Relacionamento: Usando

Cardinalidade 1xN
Cada instncia de uma das entidades pode ser relacionar com vrias instncias da outra entidade, mas essas s podem se relacionar com uma da primeira

1xN: Exemplo
Em uma maternidade
Entidade: Me, Filho/a Relacionamento: deu a luz

Em uma escola primria


Entidades: Turma, Aluno Relacionamento: estuda Em uma universidade esse relacionamento no mais 1xN

Cardinalidade NxM
Quando so possveis quantos relacionamentos quantos quisermos nos dois lados Relacionamento bastante comum

NxM: Exemplo
Falando sobre Filmes
Entidades: Ator, Filme Relacionamento: Atua

Detalhando os Relacionamentos
Para melhor detalhar os relacionamentos, normalmente falamos no s da Cardinalidade Mxima, mas tambm da Cardinalidade Mnima A cardinalidade mnima sempre 0 ou 1 A cardinalidade mxima sempre 1 ou N

Cardinalidade Mnima = Obrigatoriedade


Assim ficamos sabemos, basicamente, se o relacionamento obrigatrio ou opcional
Isso , se cada instncia da entidade deve ter, ou no, um relacionamento com instncias da outra entidade

Desenhando Relacionamentos (1)

Desenhando Relacionamentos (2)

Desenhando Relacionamentos (3)


m o mais

e o o mais

eoo

m e a enas m

Lendo Relacionamentos
possui Pessoa possudo Apartamento

possui Pessoa possudo Apartamento

Concluso
...cheio de coisas que possuem caractersticas prprias e que se relacionam entre si ...Entidades que possuem atributos e relacionamentos

Concluso
Entidades so classes de objetos Entidades possuem caractersticas, descritas por Atributos Atributos possuem valores de um Domnio Entidades se relacionam Devem ser definidos um nmero mnimo e mximo de relacionamentos entre as instncias das Entidades

Você também pode gostar