04 Modelo de Entidades e to

65
Modelo de Entidades e Relacionamentos

Transcript of 04 Modelo de Entidades e to

Page 1: 04 Modelo de Entidades e to

Modelo de Entidades e Relacionamentos

Page 2: 04 Modelo de Entidades e to

Modelo de Entidades e Relacionamentos

• Um modelo gráfico que descreve o mundo como “...cheio de coisas que possuem características próprias e que se relacionam entre si”

• Diagrama de Entidades e Relacionamentos

Page 3: 04 Modelo de Entidades e to

Conhecendo o Modelo (1)

Page 4: 04 Modelo de Entidades e to

Conhecendo o Modelo (2)

Page 5: 04 Modelo de Entidades e to

Muitos Diagramas?

• Vários autores e empresas lançaram formas diferentes de descrever o modelo de entidades e relacionamentos

• Alguns se consideram modelos diferentes, mas todos seguem os mesmos princípios

Page 6: 04 Modelo de Entidades e to

Modelo de Chen (o original)

• Entidades: retângulo• Relacionamentos:

losangos• Atributos: Círculos

Filme

Atua

Fita

DiretorAtor

Dirige

Contém

ClienteAlugan m

n

1

n n

m m

Page 7: 04 Modelo de Entidades e to

Modelos Eng. da Informação (Erwin)

• Entidades: Retângulos• Atributos: Listados no retângulo• Relacionamentos: Apenas as linhas, com

símbolos que lembram pés de galinha

Page 8: 04 Modelo de Entidades e to

Modelo IDEF1X (Erwin)

• Entidades: Retângulos• Atributos: Listados no retângulo• Relacionamentos: Apenas as linhas, com bolas

nas pontas

Page 9: 04 Modelo de Entidades e to

Esses Modelos Não São Totalmente Iguais

• Na prática, cada modelo apresenta algumas sutis diferenças, que podem ajudar ou atrapalhar em alguns momentos

• Os modelos mais modernos são mais apropriados ao desenho em ferramentas CASE

Page 10: 04 Modelo de Entidades e to

Qual notação adotaremos

• Nós adotaremos a notação da Engenharia da Informação– Os pés de galinha

• Nós veremos alguns casos específicos em outras notações– Para ampliar nossos horizontes

Page 11: 04 Modelo de Entidades e to

Voltemos ao Início

• Um modelo que descreve o mundo como “...cheio de coisas que possuem características próprias e que se relacionam entre si”

• Coisas = Entidades

Page 12: 04 Modelo de Entidades e to

O que são as coisas?

• Pessoas• Objetos• Conceitos• Eventos• Coisas Abstratas• Etc....

• O que precisarmos para modelar a informação em um sistema

Page 13: 04 Modelo de Entidades e to

Exigência

• Cada “coisa” modelada deve poder ser identificada unicamente

• Ou seja, devemos ser capazes de identificar as instâncias

Page 14: 04 Modelo de Entidades e to

Entidades (1)

• Uma entidade é uma pessoa, objeto, local, animal, acontecimento, organização ou outra idéia abstrata sobre a qual o sistema deve se lembrar alguma coisa.

Page 15: 04 Modelo de Entidades e to

Entidades (2)

• Uma entidade é uma classe de objetos– Abstração de Classificação

• Uma entidade é um conjunto não vazio de objetos

• A entidade deve ser de interesse para o sistema sendo modelado

Page 16: 04 Modelo de Entidades e to

Entidades (3)

• Cada instância de uma determinada entidade tem características similares (mas não iguais), o mesmo comportamento e uma identidade própria.

Page 17: 04 Modelo de Entidades e to

Entidades (4)

• Entidades não possuem valor– Entidades possuem características, e estas

possuem valores

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

Page 18: 04 Modelo de Entidades e to

Exemplo de Entidades (1)

• Locadora de Vídeo– Filme– Fita

• A locadora pode ter várias fitas de um mesmo filme

– Cliente– Empréstimo

Page 19: 04 Modelo de Entidades e to

Exemplo de Entidades (2)

• Na Escola Primária– Aluno– Turma– Professor

Page 20: 04 Modelo de Entidades e to

Diagramando as Entidades

• Normalmente as entidades são modeladas como retângulos

Nome da Entidade

Page 21: 04 Modelo de Entidades e to

Diagrama Inicial para a Escola

Page 22: 04 Modelo de Entidades e to

Características das Entidades

• Um modelo que descreve o mundo como– “...cheio de coisas que possuem

características próprias e que se relacionam entre si”

– “...Entidades que possuem características próprias e que se relacionam entre si”

– Características = Atributos

Page 23: 04 Modelo de Entidades e to

Atributos

• Características que toda instância possui, mas que variam de valor entre uma instância e outra– Algumas características podem ser opcionais– Algumas podem variar mais do que outras

• Atributos possuem valor

Page 24: 04 Modelo de Entidades e to

Exemplo de Atributos (1)

• Pessoa– Nome– CPF– Data de Nascimento

Page 25: 04 Modelo de Entidades e to

Exemplo de Atributos (2)

• Filme– Nome– Diretor– Data de Lançamento– Estúdio– Ator Principal– Atriz Principal

Page 26: 04 Modelo de Entidades e to

Que atributos escolher para uma Entidade?

• Aqueles que são necessários e suficientes

• Lembrar das principais características das nossas abstrações– Eliminar detalhes que não são importantes– Reforçar os detalhes importantes

Page 27: 04 Modelo de Entidades e to

Exemplo de Atributos (3)

• Filme (atributos possíveis)– Nome– Diretor– Data de Lançamento– Estúdio– Ator Principal– Atriz Principal– Diretor de Som– Cameraman– Empresa de divulgação– Cozinheiro– ...

• Filme (atributos escolhidos)– Nome– Diretor– Data de Lançamento– Estúdio– Ator Principal– Atriz Principal

Page 28: 04 Modelo de Entidades e to

Domínio

• Um atributo deve possuir um valor

• O valor deve ser de um domínio

• O domínio é o conjunto de valores possíveis para os atributos

• Conhecido também como Tipo

Page 29: 04 Modelo de Entidades e to

Domínios Gerais

• Números– Reais– Inteiros– Moeda (reais, dólares)

• Strings

• Data/Hora

• Lógicos (Sim ou Não, Verdadeiro ou Falso)

Page 30: 04 Modelo de Entidades e to

Domínios Específicos

• Listas de Valores– Cores– Salas de um prédio

• Valores com Regras– CPF– CNPJ

Page 31: 04 Modelo de Entidades e to

Notação para Atributos (1)

• Nossos atributos serão listados em nossas entidades

• Precisamos modificar um pouco nosso desenho original

Aluno

CPF

NomeAlunoEnderecoAlunoNomePaiNomeMaeEscolaOrigemEnderecoEscolaOrigem

Page 32: 04 Modelo de Entidades e to

Notação EI para Atributos (2)

• Nome da Entidade

• Atributo Identificador– Veremos isso logo

• Atributos “Comuns”

Aluno

CPF

NomeAlunoEnderecoAlunoNomePaiNomeMaeEscolaOrigemEnderecoEscolaOrigem

Page 33: 04 Modelo de Entidades e to

Notação EI para Atributos (3)

• Nome da Entidade

• Atributo Identificador– Veremos isso logo

• Atributos “Comuns”

Aluno

CPF

NomeAlunoEnderecoAlunoNomePaiNomeMaeEscolaOrigemEnderecoEscolaOrigem

Page 34: 04 Modelo de Entidades e to

Notação EI para Atributos (4)

• Nome da Entidade

• Atributo Identificador– Veremos isso logo

• Atributos “Comuns”

Aluno

CPF

NomeAlunoEnderecoAlunoNomePaiNomeMaeEscolaOrigemEnderecoEscolaOrigem

Page 35: 04 Modelo de Entidades e to

Notação para Atributos (6)

• Podemos também listar os domínios de cada atributo

AlunoCPF

NomeAluno: StringDataNasc: DataNomePai: StringNomaMãe: StringDesconto: Número

Page 36: 04 Modelo de Entidades e to

Notação Chen Para Atributos

Aluno

CPF

NomeAluno

NomePai

NomeMãe

EscolaOrigem

EndereçoEscolaOrigem

Page 37: 04 Modelo de Entidades e to

As Entidades se Relacionam...

• Um modelo que descreve o mundo como– “...cheio de coisas que possuem

características próprias e que se relacionam entre si”

– “...Entidades que possuem atributos e que se relacionam entre si”

– se relacionam entre si = relacionamentos

Page 38: 04 Modelo de Entidades e to

Relacionamentos

• No mundo real, as entidades “se relacionam” com outras entidades– Na Escola

• Professores dão aula para uma turma• Aluno freqüentam uma turma

– Na Locadora• Clientes alugam fitas

Page 39: 04 Modelo de Entidades e to

Representação dos Relacionamentos

• Relacionamentos são representados por linhas• As linhas possuem símbolos que vamos explicar

Aluno

CPF

NomeAlunoEnderecoAlunoNomePaiNomeMae

Escola

NomeEscola

EnderecoEscola

Page 40: 04 Modelo de Entidades e to

O que é um relacionamento (1)

• Uma entidade representa um conjunto de elementos de uma mesma classe

• Quando duas entidades se relacionam, podemos definir uma relação, no sentido matemático do termo, entre os dois conjuntos

Page 41: 04 Modelo de Entidades e to

Exemplo de Relacionamento (1)

• Esse conjunto representa a entidade Turma

• Estamos aplicando os conceitos mais básicos de matemática: conjunto e elemento

Mat

Port

Cien

Page 42: 04 Modelo de Entidades e to

Exemplo de Relacionamento (2)

• Também poderíamos usar uma notação mais “matemática”

• Turma = { Matemática, Português, Ciências}

Page 43: 04 Modelo de Entidades e to

Exemplo de Relacionamento (3)

• Esse conjunto representa a entidade Aluno

Alice

Bruno

Carlos

Daniela

Page 44: 04 Modelo de Entidades e to

Exemplo de Relacionamento (4)

• Também podemos descrever da mesma forma

• Aluno = { Alice, Bruno, Carlos, Daniela }

Page 45: 04 Modelo de Entidades e to

Exemplo de Relacionamento (5)

• Que alunos freqüentam que turmas?

• As possibilidades são muitas– Cada aluno pode freqüentar quantas turmas?– Quantas alunos podem freqüentar uma

turma?

Page 46: 04 Modelo de Entidades e to

Exemplo de Relacionamento (6)

• Por exemplo– Matemática: Alice, Bruno e Carlos– Português: Alice, Carlos e Daniela– Ciência: ninguém

Page 47: 04 Modelo de Entidades e to

Exemplo de Relacionamento (7)

Mat

Port

Cien

Alice

Bruno

Carlos

Daniela

Page 48: 04 Modelo de Entidades e to

Exemplo de Relacionamento (8)

• Turma = { Matemática, Português, Ciências}

• Aluno = { Alice, Bruno, Carlos, Daniela }• Para cada relacionamento, um par

ordenado• Relação Aluno x Turma

– { (Matemática, Alice), (Matemática, Bruno), (Matemática, Carlos), (Português, Alice), (Português, Carlos), (Português, Daniela ) }

Page 49: 04 Modelo de Entidades e to

O que é um Relacionamento (2)

• Um relacionamento entre duas Entidades indica que as instâncias de uma Entidade podem se relacionar, uma certa quantidade de vezes, com instâncias da outra entidade

Mat

Port

Cien

Alice

Bruno

Carlos

Daniela

Page 50: 04 Modelo de Entidades e to

Quantas Vezes?

• A pergunta sobre “quantas vezes as instâncias podem se relacionar” é muito importante e deve ser modelada

• A resposta é modelada na Cardinalidade do relacionamento

Page 51: 04 Modelo de Entidades e to

Cardinalidades Simples

• A cardinalidade pode ser vista de uma maneira simples, indicando-se quantas vezes, no máximo, uma instância pode se relacionar com uma instância da outra entidade– 1 x 1– 1 x N– N x M

Page 52: 04 Modelo de Entidades e to

Cardinalidade 1x1

• Cada instância de uma entidade só pode se relacionar com uma instância de outra entidade

• Como um “casamento”

Page 53: 04 Modelo de Entidades e to

1x1: Exemplo

• No modelo de uma Igreja– Entidades: Homem, Mulher– Relacionamento: Casamento

• No modelo de uma empresa de caminhões– Entidades: Caminhão, Reboque– Relacionamento: Usando

Page 54: 04 Modelo de Entidades e to

Cardinalidade 1xN

• Cada instância de uma das entidades pode ser relacionar com várias instâncias da outra entidade, mas essas só podem se relacionar com uma da primeira

Page 55: 04 Modelo de Entidades e to

1xN: Exemplo

• Em uma maternidade– Entidade: Mãe, Filho/a– Relacionamento: “deu a luz”

• Em uma escola primária– Entidades: Turma, Aluno– Relacionamento: estuda– Em uma universidade esse relacionamento

não é mais 1xN

Page 56: 04 Modelo de Entidades e to

Cardinalidade NxM

• Quando são possíveis quantos relacionamentos quantos quisermos nos dois lados

• Relacionamento bastante comum

Page 57: 04 Modelo de Entidades e to

NxM: Exemplo

• Falando sobre Filmes– Entidades: Ator, Filme– Relacionamento: Atua

Page 58: 04 Modelo de Entidades e to

Detalhando os Relacionamentos

• Para melhor detalhar os relacionamentos, normalmente falamos não só da Cardinalidade Máxima, mas também da Cardinalidade Mínima

• A cardinalidade mínima é sempre 0 ou 1

• A cardinalidade máxima é sempre 1 ou N

Page 59: 04 Modelo de Entidades e to

Cardinalidade Mínima = Obrigatoriedade

• Assim ficamos sabemos, basicamente, se o relacionamento é obrigatório ou opcional– Isso é, se cada instância da entidade deve

ter, ou não, um relacionamento com instâncias da outra entidade

Page 60: 04 Modelo de Entidades e to

Desenhando Relacionamentos (1)

Page 61: 04 Modelo de Entidades e to

Desenhando Relacionamentos (2)

Page 62: 04 Modelo de Entidades e to

Desenhando Relacionamentos (3)

um ou mais

zero ou mais

zero ou um

um e apenas um

Page 63: 04 Modelo de Entidades e to

Lendo Relacionamentos

Pessoa Apartamento

possui

é possuído

Pessoa Apartamento

possui

é possuído

Page 64: 04 Modelo de Entidades e to

Conclusão

–“...cheio de coisas que possuem características próprias e que se relacionam entre si”

–“...Entidades que possuem atributos e relacionamentos

Page 65: 04 Modelo de Entidades e to

Conclusão

• Entidades são classes de objetos

• Entidades possuem características, descritas por Atributos

• Atributos possuem valores de um Domínio

• Entidades se relacionam

• Devem ser definidos um número mínimo e máximo de relacionamentos entre as instâncias das Entidades