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

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)


Filme (atributos escolhidos)


Nome Diretor Data de Lanamento Estdio Ator Principal Atriz Principal Diretor de Som Cameraman Empresa de divulgao Cozinheiro ...

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 CPF NomeAluno EnderecoAluno NomePai NomeMae EscolaOrigem EnderecoEscolaOrigem

NOTAO EI PARA ATRIBUTOS (2)

Nome da Entidade

Aluno CPF

Atributo Identificador

Veremos isso logo

Atributos Comuns

NomeAluno EnderecoAluno NomePai NomeMae EscolaOrigem EnderecoEscolaOrigem

NOTAO EI PARA ATRIBUTOS (3)

Nome da Entidade

Aluno CPF

Atributo Identificador

Veremos isso logo

Atributos Comuns

NomeAluno EnderecoAluno NomePai NomeMae EscolaOrigem EnderecoEscolaOrigem

NOTAO EI PARA ATRIBUTOS (4)

Nome da Entidade

Aluno CPF

Atributo Identificador

Veremos isso logo

Atributos Comuns

NomeAluno EnderecoAluno NomePai NomeMae EscolaOrigem EnderecoEscolaOrigem

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 Escola NomeEscola EnderecoEscola CPF NomeAluno EnderecoAluno NomePai NomeMae

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)


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

Mat

Port Cien

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

Bruno Carlos
Daniela

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 Bruno Carlos Daniela

Port
Cien

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)


um ou mais

zero ou mais

zero ou um

um e apenas um

LENDO RELACIONAMENTOS
possui Pessoa Apartamento possudo

possui Pessoa Apartamento possudo

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