Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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
UFU/FACOM
Página 2
Projeto de BD – Uma Visão Panorâmica
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
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
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
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
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
UFU/FACOM
Página 8
DER – Um exemplo – Company Database
UFU/FACOM
Página 9
ER - Entidade
Def. ENTIDADE é um conceito do mundo real com existência independente.
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
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
UFU/FACOM
Página 12
ER - Atributo
Def. ATRIBUTO é uma propriedade da entidade• Exemplo: código, nome, créditos
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...
UFU/FACOM
Página 14
ER – Atributo Simples
Def. ATRIBUTO SIMPLES ou ATÔMICO é um atributo básico e indivisível.
UFU/FACOM
Página 15
ER – Atributo Simples
Def. ATRIBUTO SIMPLES ou ATÔMICO é um atributo básico e indivisível.
• Exemplos: sexo, cpf
UFU/FACOM
Página 16
ER – Atributo Composto
Def. ATRIBUTO COMPOSTO é um atributo que pode ser dividido em partes com significados diferentes
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
UFU/FACOM
Página 18
ER – Hierarquia de Atributos
Um Atributo Composto pode formar uma hierarquia
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
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
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
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
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.
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
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.
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
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
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
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
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
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
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
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.
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
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
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
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
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.
UFU/FACOM
Página 39
ER - Exemplo
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
UFU/FACOM
Página 41
ER:
RESUMO DA
NOTAÇÃO
UFU/FACOM
Página 42
ER – Notação alternativa (min, max)
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
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
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
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
UFU/FACOM
Página 47
ER Estendido (EER)
UFU/FACOM
Página 48
ER Estendido (EER)
• Introduz semântica adicional ao ER
UFU/FACOM
Página 49
ER Estendido (EER)
• Introduz semântica adicional ao ER
• Entidades do ER podem representar:
CLASSE
SUBCLASSE
SUPERCLASSE
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
UFU/FACOM
Página 51
EER – Especialização/ Generalização
• ESPECIALIZAÇÃO:
definir sub-classes à partir da super-classe
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
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
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
UFU/FACOM
Página 55
EER – Herança de Relacionamentos
• Além dos atributos, as subclasses herdam os relacionamentos das superclasses
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
UFU/FACOM
Página 57
EER – Especialização/GeneralizaçãoNotação
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
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
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
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
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”
UFU/FACOM
Página 63
EER – Exemplo de subclasses sobrepostas
Uma instância de pessoa pode praticar mais de um tipo de esporte
UFU/FACOM
Página 64
EER – Exemplo de Especialização
UFU/FACOM
Página 65
EER – Exemplo de Generalização
UFU/FACOM
Página 66
EER – Especialização definida com atributo
UFU/FACOM
Página 67
EER – Especialização com sobreposição
UFU/FACOM
Página 68
EER – Herança múltipla em subclasses
UFU/FACOM
Página 69
EER – Herança Múltipla
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
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
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
UFU/FACOM
Página 73
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)
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)
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)
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?)
UFU/FACOM
Página 78
EER – Agregação – o problema
Como relacionar Entrevista a outra entidade chamada Oferta_de_Emprego?
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.
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)
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
UFU/FACOM
Página 82
EER – Abordagem com Entidade_Fraca
Esta é abordagem recomendade por [EN]
UFU/FACOM
Página 83
Um Exemplo de EER
UFU/FACOM
Página 84
Projeto Conceitual - UML
Diagrama de classes da UML como alternativa de modelagem conceitual
UFU/FACOM
Página 85
UML – Um Exemplo
UFU/FACOM
Página 86
UML - Especialização/Generalização
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
UFU/FACOM
Página 88
Projeto Conceitual – Alternativas de Notação
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
UFU/FACOM
Página 90
FIM – ER e EER
FIM – ER e EER