Banco de Dados Distribuídos - Faculdade de...

90
GBC043 – Sistemas de Banco de Dados Modelo de Entidade-Relacionamento (ER) Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/GBC043 MS Teams: GBC043.2020/3.T1 UFU/FACOM

Transcript of Banco de Dados Distribuídos - Faculdade de...

Page 1: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

GBC043 – Sistemas de Banco de DadosModelo de Entidade-Relacionamento (ER)

Ilmério Reis da Silvailmerio arroba ufu.brwww.facom.ufu.br/~ilmerio/GBC043MS Teams: GBC043.2020/3.T1UFU/FACOM

Page 2: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 2

Projeto de BD – Uma Visão Panorâmica

Page 3: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 3

Projeto Conceitual

• Modelagem de dados em alto nível com foco no domínio do problema e não na solução

Page 4: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 4

Projeto Conceitual

• Modelagem de dados em alto nível com foco no domínio do problema e não na solução

• Elementos básicos

Modelar os conceitos do mundo real

Modelar as características dos conceitos

Modelar os relacionamentos entre conceitos

Page 5: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 5

Modelo de Entidade-Relacionamento (MER)

• O MER, ou simplesmente ER, foi desenvolvido com o objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de implementação e de fácil compreensão por parte do usuário

Page 6: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 6

Modelo de Entidade-Relacionamento (MER)

• O MER, ou simplesmente ER, foi desenvolvido com o objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de implementação e de fácil compreensão por parte do usuário

• Conceitos básicos:

– Entidade, Tipo Entidade e Conjunto de Entidades

– Relacionamento e Conjunto de Relacionamentos– Atributos

Page 7: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 7

Modelo de Entidade-Relacionamento (MER)

• O MER, ou simplesmente ER, foi desenvolvido com o objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de implementação e de fácil compreensão por parte do usuário

• Conceitos básicos:

– Entidade, Tipo Entidade e Conjunto de Entidades

– Relacionamento e Conjunto de Relacionamentos– Atributos

• Def. O Diagrama ER-DER é uma representação gráfica de Entidades, Atributos e Relacionamentos que modelam um Esquema de Banco de Dados

Page 8: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 8

DER – Um exemplo – Company Database

Page 9: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 9

ER - Entidade

Def. ENTIDADE é um conceito do mundo real com existência independente.

Page 10: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 10

ER - Entidade

Def ENTIDADE é um conceito do mundo real com existência independente.

Exemplo: empregado, projeto, curso

Obs: empregado é um conceito físico;

curso é um conceito abstrato

Page 11: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 11

ER - Entidade

Def ENTIDADE é um conceito do mundo real com existência independente.

Exemplo: empregado, projeto, curso

Obs: empregado é um conceito físico;

curso é um conceito abstrato

• o retângulo representa Tipo Entidade

• O tipo Empregado representa um Conjunto de Entidades, ou seja, todas as instâncias no BD

Page 12: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 12

ER - Atributo

Def. ATRIBUTO é uma propriedade da entidade• Exemplo: código, nome, créditos

Page 13: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 13

ER - Atributo

Def. ATRIBUTO é uma propriedade da entidade• Exemplo: código, nome, créditos

Um atributo no DER é representado por uma elipse ligada ao Tipo Entidade.

Existem vários tipos de atributos...

Page 14: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 14

ER – Atributo Simples

Def. ATRIBUTO SIMPLES ou ATÔMICO é um atributo básico e indivisível.

Page 15: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 15

ER – Atributo Simples

Def. ATRIBUTO SIMPLES ou ATÔMICO é um atributo básico e indivisível.

• Exemplos: sexo, cpf

Page 16: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 16

ER – Atributo Composto

Def. ATRIBUTO COMPOSTO é um atributo que pode ser dividido em partes com significados diferentes

Page 17: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 17

ER – Atributo Composto

Def. ATRIBUTO COMPOSTO é um atributo que pode ser dividido em partes com significados diferentes

Exemplo: employee.name, pessoa.endereço

Page 18: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 18

ER – Hierarquia de Atributos

Um Atributo Composto pode formar uma hierarquia

Page 19: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 19

ER – Atributo Multivalorado e Monovalorado

Def. ATRIBUTO MULTIVALORADO é um atributo que possui um conjunto de valores para uma mesma entidade

Exemplo: empresa.telefone

Page 20: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 20

ER – Atributo Multivalorado e Monovalorado

Def.

ATRIBUTO MONOVALORADO é um atributo que possui um único valor para uma mesma entidade

Exemplo: empresa.nome

Def. ATRIBUTO MULTIVALORADO é um atributo que possui um conjunto de valores para uma mesma entidade

Exemplo: empresa.telefone

Page 21: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 21

ER – Atributo Multivalorado e Monovalorado

Def.

ATRIBUTO MONOVALORADO é um atributo que possui um único valor para uma mesma entidade

Exemplo: nome

Def. ATRIBUTO MULTIVALORADO é um atributo que possui um conjunto de valores para uma mesma entidade

Exemplo: telefone

OBS: no DER um Atributo Multivalorado é representado por uma elipse com contorno em linha dupla

Page 22: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 22

ER – Atributo Chave

Def. ATRIBUTO CHAVE é um atributo cujos valores são distintos p/ instâncias distintas de um Conjunto Entidades

Exemplos: disciplina.código, turma.sigla, turma.codigo

Page 23: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 23

ER – Atributo Chave

Def. ATRIBUTO CHAVE é um atributo cujos valores são distintos p/ instâncias distintas de um Conjunto Entidades

Exemplos: disciplina.código, turma.sigla, turma.codigo

OBS: no DER um Atributo Chave é representado por um sublinhado em seu nome. Observe que uma entidade pode ter mais de um atributo chave.

Page 24: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 24

ER – Atributo Derivado e Armazenado

Def. ATRIBUTO DERIVADO é um tipo de atributo cujo valor pode ser obtido de outros atributos ou relacionamentos. Diante disso não precisa ser armazenado.

Ex: pessoa.idade, departamento.numerodeempregados

Page 25: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 25

ER – Atributo Derivado e Armazenado

Def. ATRIBUTO DERIVADO é um tipo de atributo cujo valor pode ser obtido de outros atributos ou relacionamentos. Diante disso não precisa ser armazenado.

Ex: pessoa.idade, departamento.numerodeempregados

OBS: no DER um Atributo Derivado é representado por uma elipse com contorno em linha tracejada. O ATRIBUTO ARMAZENADO é aquele cujo valor será fisicamente no BD.

Page 26: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 26

ER – Relacionamento

Def. RELACIONAMENTO é uma associação entre entidades que deve ser definido quando um tipo entidade se refere a outro tipo entidade.

Exemplo: lotação de empregado em departamento

Page 27: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 27

ER – Relacionamento

Def. RELACIONAMENTO é uma associação entre entidades que deve ser definido quando um tipo entidade se refere a outro tipo entidade.

Exemplo: lotação de empregado em departamento

Um relacionamento no DER é representado por um losango ligado às entidades.

Existem vários tipos de relacionamentos

Page 28: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 28

ER – Papéis em relacionamentos

Def. PAPEL em um relacionamento define como a entidade participa do mesmo

Exemplo: empregado está lotado em departamento

departamento tem lotação de empregados

Page 29: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 29

ER – Papéis em relacionamentos

Def. PAPEL em um relacionamento define como a entidade participa do mesmo

Exemplo: empregado está lotado em departamento

departamento tem lotação de empregados

Muitas vezes o papel está implícito no relacionamento e não é representado no diagrama ER

Page 30: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 30

ER – Auto-relacionamentos e papéis

Def. Auto-relacionamentos associam instâncias de uma mesma entidade

Exemplo:

supervisão de empregados

Papéis:

empregado é supervisor de empregado

empregado é supervisionado por empregado

Page 31: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 31

ER – Auto-relacionamentos e papéis

Def. Auto-relacionamentos associam instâncias de uma mesma entidade

Exemplo:

supervisão de empregados

Papéis:

empregado é supervisor de empregado

empregado é supervisionado por empregado

Em autorelacionametnos é necessário indicar os papéis, que são denotados por rótulos nas linhas que modelam o relacionamento

Page 32: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 32

ER – Cardinalidade em Relacionamentos

Def. CARDINALIDADE de relacionamento é uma restrição na quantidade máxima de instâncias de uma entidade que podem estar associadas a uma instância de outra entidade

Page 33: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 33

ER – Cardinalidade em Relacionamentos

Def. CARDINALIDADE de relacionamento é uma restrição na quantidade máxima de instâncias de uma entidade que podem estar associadas a uma instância de outra entidade

No DER definimos a cardinalidade como N ou 1, neste caso, indicando que uma instância de funcionário pode estar associadas a, no máximo, uma instância de departamento.

Page 34: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 34

ER – Partitipação em Relacionamentos

Def. PARTICIPAÇÃO TOTAL de uma entidade em um relacionamento é uma restrição que indica a necessidade de que qualquer instância da entidade, estar associada a, no mínimo, um instância no relacionamento

Exemplo: toda instância de PROJECT necessariamente está associado a um departamento no relacionamento CONTROLS

Page 35: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 35

ER – Partitipação em Relacionamentos

Def. PARTICIPAÇÃO TOTAL de uma entidade em um relacionamento é uma restrição que indica a necessidade de que qualquer instância da entidade, estar associada a, no mínimo, um instância no relacionamento

Exemplo: toda instância de PROJECT necessariamente está associado a um departamento no relacionamento CONTROLS

No DER um relacionamento com participação total é indicado por meio de uma linha dupla. Quando não é total, chamamos de Partcipação Parcial

Page 36: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 36

ER – Entidade Fraca

Def. ENTIDADE FRACA é aquela que não possui atributo chave e é identificada por meio de um relacionamento total com pelo menos um tipo Entidade Forte.

Ex: Dependente/Entidade Fraca; Funcionário/Entidade Forte

Page 37: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 37

ER – Entidade Fraca

No DER, um Tipo Entidade Fraca é representado por meio de retângulo com contorno em linha dupla. O relacionamento total com pelo menos uma entidade forte é denotado por um losângulo com contorno em linha dupla. A “chave local” é denotada por sublinhado pontilhado. A chave de uma instância de uma entidade fraca é um atributo composto pela chave da entidade forte mais a sua “chave local”

Def. ENTIDADE FRACA é aquela que não possui atributo chave e é identificada por meio de um relacionamento total com pelo menos um tipo Entidade Forte.

Ex: Dependente/Entidade Fraca; Funcionário/Entidade Forte

Page 38: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 38

Especificação do Exemplo BD Empresa

Elabore um diagrama ER para o BD Empresa que deve armazenar dados de funcionários, departamentos e projetos de uma empresa. Cada departamento tem um nome exclusivo, um número exclusivo e um funcionário que o gerencia a partir de uma data. Um departamento pode estar em vários locais e controla uma série de projetos. Cada projeto tem um nome exclusivo, um número exclusivo e um local. O funcionário tem um nome, CPF, endereço, salário, sexo, data de nascimento, está lotado em um departamento e trabalha em pelo menos um projeto. Registraremos o número de horas que o funcionário trabalha em um determinado projeto. Registraremos também o supervisor do funcionário, se houver. O supervisor é outro funcionário. Os dependentes dos funcionários serão registrados com nome, sexo, data de nascimento e parentesco com o funcionário. O funcionário não pode ter dois ou mais dependentes com o mesmo nome.

Page 39: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 39

ER - Exemplo

Page 40: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 40

Exercícios ER

• Desenhe um diagrama ER para o SEE descrito no item II.7 de L2_ER.pdf

• [EN] Exercícios do Capítulo 7

• [RG] Exercícios do Capítulo 2

• [SK]Exercícios do Capítulo 7

Page 41: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 41

ER:

RESUMO DA

NOTAÇÃO

Page 42: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 42

ER – Notação alternativa (min, max)

Page 43: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 43

ER – Grau de Tipo-Relacionamentos

Def. GRAU DE UM TIPO-RELACIONAMENTO é o número de tipos de entidade que participam.

Ex: relacionamentos de grau 3 (ternário) ligam 3 entidades, por exemplo: relacionamento entre agencia, cliente e conta

Page 44: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 44

ER – Grau de Tipo-Relacionamentos

Um tipo-relacionamento de grau n tem n arcos no diagrama

Def. GRAU DE UM TIPO-RELACIONAMENTO é o número de tipos de entidade que participam.

Ex: relacionamentos de grau 3 (ternário) ligam 3 entidades, por exemplo: relacionamento entre agencia, cliente e conta

Page 45: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 45

Diferença entre um relacionamento ternário é três relacionamentos binários (Figura (a) e (b))....

ER – Relacionamentos binário/ternário

Page 46: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 46

... , mas uma alternativa à representação ternária é usar uma entidade fraca e três relacionamentos binários Figura (c)

ER – Alternativa para relacionamento ternário

Page 47: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 47

ER Estendido (EER)

Page 48: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 48

ER Estendido (EER)

• Introduz semântica adicional ao ER

Page 49: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 49

ER Estendido (EER)

• Introduz semântica adicional ao ER

• Entidades do ER podem representar:

CLASSE

SUBCLASSE

SUPERCLASSE

Page 50: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 50

ER Estendido (EER)

• Introduz semântica adicional ao ER

• Entidades do ER podem representar:

CLASSE

SUBCLASSE

SUPERCLASSE• HERANÇA:

subclasses herdam atributos da superclasse

Page 51: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 51

EER – Especialização/ Generalização

• ESPECIALIZAÇÃO:

definir sub-classes à partir da super-classe

Page 52: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 52

EER – Especialização/ Generalização

• ESPECIALIZAÇÃO:

definir sub-classes à partir da super-classe• GENERALIZAÇÃO:

definir super-classe à partir de sub-classes

Page 53: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 53

EER – Especialização/ Generalização

• ESPECIALIZAÇÃO:

definir sub-classes à partir da super-classe• GENERALIZAÇÃO:

definir super-classe à partir de sub-classes

Page 54: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 54

EER – Especialização/ GeneralizaçãoExemplo

• Cada entidade do Conjunto de Entidades das subclasses também é um Empregado

• OBS: a notação será discutida em seguida

Page 55: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 55

EER – Herança de Relacionamentos

• Além dos atributos, as subclasses herdam os relacionamentos das superclasses

Page 56: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 56

EER – Herança de Relacionamentos

• Além dos atributos, as subclasses herdam os relacionamentos das superclasses

• Uma instância da superclasse pode ser instância de zero, uma ou mais subclasses, dependendo do critério de especialização/generalização

Page 57: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 57

EER – Especialização/GeneralizaçãoNotação

Page 58: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 58

EER – Subclassses mutuamente exclusivas

Critério de Especialização/Generalização

Disjunto: este critério modela uma restrição tal que as subclasses são mutuamente exclusivas, ou seja, uma instância da superclasse pode ser, no máximo, a instância de uma das subclasses

Page 59: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 59

EER – Subclassses mutuamente exclusivas

No DER o critério disjunto é indicado pela letra “d” no relacionamento superclasse/subclasses;

Critério de Especialização/Generalização

Disjunto: este critério modela uma restrição tal que as subclasses são mutuamente exclusivas, ou seja, uma instância da superclasse pode ser, no máximo, a instância de uma das subclasses

Page 60: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 60

EER – Exemplo subclassses disjuntas

Uma instância de disciplina não pode ser de graduação e pós graduação

Page 61: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 61

EER – Subclasses sobrepostas

Critérios de Especialização/Generalização

Sobreposto: subclasses se sobrepõesm, ou seja, uma instância da superclasse pode ser instância de mais de uma subclasse

Page 62: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 62

EER – Subclasses sobrepostas

Critérios de Especialização/Generalização

Sobreposto: subclasses se sobrepõesm, ou seja, uma instância da superclasse pode ser instância de mais de uma subclasse

No DER o critério sobreposto é o default ou pode ser explicitado pela letra “o”

Page 63: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 63

EER – Exemplo de subclasses sobrepostas

Uma instância de pessoa pode praticar mais de um tipo de esporte

Page 64: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 64

EER – Exemplo de Especialização

Page 65: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 65

EER – Exemplo de Generalização

Page 66: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 66

EER – Especialização definida com atributo

Page 67: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 67

EER – Especialização com sobreposição

Page 68: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 68

EER – Herança múltipla em subclasses

Page 69: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 69

EER – Herança Múltipla

Page 70: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 70

EER - Categoria

“UNION TYPE” ou CATEGORIA

• União de entidades (superclasses) formando categorias (ou clusters), onde a instância de uma subclasse da categoria tem que ser instância de pelo menos uma das superclasses

Page 71: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 71

EER - Categoria

“UNION TYPE” ou CATEGORIA

• União de entidades (superclasses) formando categorias (ou clusters), onde a instância de uma subclasse da categoria tem que ser instância de pelo menos uma das superclasses

• A categoria é modelada por meio de um relacionamento (União) da subclasse com mais de uma superclasse e a subclasse representa um subconjunto da união de todas as superclasses

Page 72: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 72

EER - Categoria

“UNION TYPE” ou CATEGORIA

• União de entidades (superclasses) formando categorias (ou clusters), onde a instância de uma subclasse da categoria tem que ser instância de pelo menos uma das superclasses

• A categoria é modelada por meio de um relacionamento (União) da subclasse com mais de uma superclasse e a subclasse representa um subconjunto da união de todas as superclasses

No DER denotamos a união com a letra “U” no relacionamento das superclasses com a subclasse

Page 73: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 73

Page 74: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 74

EER - Agregação

Def. AGREGAÇÃO é um conceito de abstração para a criação de objetos compostos com base em componentes (três casos)

Page 75: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 75

EER - Agregação

Def. AGREGAÇÃO é um conceito de abstração para a criação de objetos compostos com base em componentes (três casos)

1) Entidade que agrega atributos de objetos para representar um objeto mais complexo (Exemplo: COMPA agrega CNa e Caddr)

Page 76: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 76

EER - Agregação

Def. AGREGAÇÃO é um conceito de abstração para a criação de objetos compostos com base em componentes (três casos)

1) Entidade que agrega atributos de objetos para representar um objeto mais complexo (Exemplo: COMPA agrega CNa e Caddr)

2) Relacionamento que agrega atributos (Exemplo: INTERVIE agrega ContactNa e ContactPho)

Page 77: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 77

EER - Agregação

Def. AGREGAÇÃO é um conceito de abstração para a criação de objetos compostos com base em componentes (três casos)

1) Entidade que agrega atributos de objetos para representar um objeto mais complexo (Exemplo: COMPA agrega CNa e Caddr)

2) Relacionamento que agrega atributos (Exemplo: INTERVIE agrega ContactNa e ContactPho)

3) Entidade que representa objeto agregado a partir do relacionamento de outros objetos (Não é natural no ER. Como resolver isso?)

Page 78: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 78

EER – Agregação – o problema

Como relacionar Entrevista a outra entidade chamada Oferta_de_Emprego?

Page 79: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 79

EER –Agregação – 1a abordagem equivocada

Nem toda Entrevista gera uma Oferta_de_Emprego. Logo não é correto modelar entrevista como um relacionamento.

Page 80: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 80

EER– Agregação – 2a abordagem equivocada

O ER não permite relacionamento entre relacionamentos (alguna autores definem diagramas ER que permitem)

Page 81: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 81

EER – Abordagem baseada em Agregação

Define-se então um objeto composto, ou Entidade Agregada, mas esta última também não é usual em ER

Page 82: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 82

EER – Abordagem com Entidade_Fraca

Esta é abordagem recomendade por [EN]

Page 83: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 83

Um Exemplo de EER

Page 84: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 84

Projeto Conceitual - UML

Diagrama de classes da UML como alternativa de modelagem conceitual

Page 85: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 85

UML – Um Exemplo

Page 86: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 86

UML - Especialização/Generalização

Page 87: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 87

Resumo de Projeto Conceitual com ER e EER

• Entidades (fraca)• Atributos (atômico, composto, multivalorado, derivado,

chave) e domínios

• Relacionamentos

participação total e parcial

Cardinalidades (1:1, 1:N, N:M) ou (min, max)• Especialização e Generalização

Total e parcial

Disjunta e sobreposta

União ou Categoria

Page 88: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 88

Projeto Conceitual – Alternativas de Notação

Page 89: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 89

Bibliografia/Exercícios de EER

• Lista de Exercícios: L2_ER

• [EN] Capítulo 7 e 8

• [RG] Capítulo 2

• [SK] Capítulo 7

Page 90: Banco de Dados Distribuídos - Faculdade de Computaçãoilmerio/GBC043/notasdeaula/bccSbd2...objetivo de facilitar o projeto de banco de dados por meio de um modelo independente de

UFU/FACOM

Página 90

FIM – ER e EER

FIM – ER e EER