Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2...

61
GES013 – Sistema de Banco de Dados Modelo de Entidade-Relacionamento (ER) Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM

Transcript of Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2...

Page 1: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

GES013 – Sistema de Banco de DadosModelo de Entidade-Relacionamento (ER)

Ilmério Reis da Silvailmerio arroba ufu.brwww.facom.ufu.br/~ilmerio/sbdUFU/FACOM

Page 2: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 2

Projeto de BD – Uma Visão Panorâmica

Page 3: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 3

Projeto Conceitual

• Modelagem de dados em alto nível

• 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 4: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 4

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 5: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 5

DER – Um exemplo – Company Database

Page 6: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 6

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 7: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 7

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 8: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 8

ER – Atributo Simples

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

• Exemplos: sexo, cpf

Page 9: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 9

ER – Atributo Composto

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

Exemplo: employee.name, pessoa.endereço

Page 10: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 10

ER – Hierarquia de Atributos

Um Atributo Composto pode formar uma hierarquia

Page 11: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 11

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 12: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 12

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 13: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 13

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 14: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 14

Exercício–Entidades/Atributos de EMPRESA

Elabore uma representação para entidades e atributos do 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 exclusivo. O funcionário tem um nome, CPF, endereço, salário, sexo, data de nascimento, está lotado em um departamento, mas pode trabalhar em vários projetos. Registraremos o número de horas que o funcionário trabalha em um determinado projeto. Registraremos também o supervisor do funcionário, que é outro funcionário. Os dependentes dos funcionários serão registrados com nome, sexo, data de nascimento e parentesco com o funcionário.

Page 15: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 15

ER – Relacionamento

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

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

Existem vários tipos de relacionamentos

Page 16: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 16

ER – Papéis em relacionamentos

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

Exemplo: SupervisorSupervisionado

Muitas vezes o papel está implícito, mas é necessária sua indicação em auto-relacionamentos

Page 17: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 17

ER – Cardinalidade em Relacionamentos

Def. CARDINALIDADE de relacionamento é a quantidade máxima de ocorrência de entidades que podem estar associadas a uma ocorrência de outra entidade

No DER definimos a cardinalidade como 1 ou N, este último indicando várias entidades associadas a uma outra entidade.

Page 18: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 18

ER – Partitipação em Relacionamentos

Def. PARTICIPAÇÃO TOTAL de uma entidade em um relacionamento indica que qualquer instância da entidade necessariamente participa de um relacionamento

Exemplo: PROJECT necessariamente participa do relacionameto 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 19: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 19

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 20: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 20

Exercícios ER

• Inclua os relacionamentos no BD EMPRESA, redefina as entidades, atributos e desenhe o ER completo.

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

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

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

Page 21: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 21

ER - Exemplo

Page 22: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 22

ER:

RESUMO DA

NOTAÇÃO

Page 23: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 23

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

Page 24: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 24

ER – Grau de Tipo-Relacionamentos

OBS: No DER 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 2 (binário) e 3 (ternário)

Page 25: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 25

Um relacionamento ternário é diferente de três relacionamentos binários (Figura (a) e (b))....

ER – Relacionamentos binário/ternário

Page 26: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 26

... , 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 27: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 27

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 28: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 28

EER – Especialização/ Generalização

• ESPECIALIZAÇÃO:

definir sub-classes à partir da super-classe

• GENERALIZAÇÃO:

definir super-classe à partir de sub-classes

Page 29: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 29

EER – Ex. Especialização/ Generalização

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

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

Page 30: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 30

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 31: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 31

EER – Ex. Especialização/Generalização

Page 32: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 32

EER – Subclassses mutuamente exclusivas

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

Disjunto: subclasses mutuamente exclusivas, ou seja, instância da superclasse pode ser, no máximo, instância de uma das subclasses

OBS: no DER o critério disjunto é indicado pela letra “d” no relacionamento superclasse/subclasse;

Page 33: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 33

EER – Exemplo subclassses disjuntas

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

Page 34: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 34

EER – Subclasses sobrepostas

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

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

OBS: no DER o critério sobreposto é o default ou pode ser explicitado pela letra “o”

Page 35: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 35

EER – Exemplo de subclasses sobrepostas

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

Page 36: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 36

EER – Exemplo de Especialização

Page 37: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 37

EER – Exemplo de Generalização

Page 38: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 38

EER – Especialização definida com atributo

Page 39: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 39

EER – Especialização com sobreposição

Page 40: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 40

EER – Herança múltipla em subclasses

Page 41: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 41

EER – Herança Múltipla

Page 42: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 42

EER - Categoria

“UNION TYPE” ou CATEGORIA

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

• Em união modelamos 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 43: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 43

Page 44: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 44

EER - Agregação

Def. AGREGAÇÃO é um conceito de abstração para a criação de objetos compostos com base em componentes

• No ER podemos agregar atributos de objetos para formar um objeto mais complexo

• Podemos representar um relacionamento de agregação como um relacionamento comum

Page 45: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 45

EER – Agregação – o problema

Como relacionar Entrevista a outra entidade chamada Oferta_de_Emprego?

Page 46: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 46

EER –Agregação – 1a abordagem equivocada

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

Page 47: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 47

EER– Agregação – 2a abordagem equivocada

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

Page 48: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 48

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 49: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 49

EER – Abordagem com Entidade_Fraca

Esta é abordagem recomendade por [EN]

Page 50: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 50

Um Exemplo de EER

Page 51: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 51

Projeto Conceitual - UML

Diagrama de classes da UML como alternativa de modelagem conceitual

Page 52: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 52

UML – Um Exemplo

Page 53: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 53

UML - Especialização/Generalização

Page 54: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 54

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 55: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 55

Projeto Conceitual – Alternativas de Notação

Page 56: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 56

EER – Exercício em sala

Desenhe um Diagrama EER para o Sistema de Eventos Científicos-SEC descrito abaixo

O SEC tem como objetivo armazenar dados de empresas, pessoas, tarefas e serviços relativos a um evento científico. Uma empresa tem cnpj, nome e pode participar do evento como organizadora, promotora, patrocinadora ou prestadora de serviços. Uma pessoa tem cpf, número de inscrição, nome e pode ser do tipo estudante ou profissional. Qualquer tipo de pessoa pode estar associada a uma empresa. Uma tarefa tem uma descrição e as tarefas podem ser hierarquizadas i.e., uma tarefa pode ser subtarefa de outra tarefa. Um serviço tem uma descrição, data de término, custo e estado(previsto, contratado, executado ou pago). Uma tarefa deve ter uma pessoa responsável. Uma pessoa pode inscrever-se em várias tarefas. O custo da inscrição de uma pessoa é um atributo obtido de um cálculo consideranto as tarefas, o tipo da pessoa e a data do pagamento. Um serviço deve ter um responsável que pode ser uma empresa prestadora de serviços ou uma pessoa. Uma empresa patrocinadora deve ter o valor de patrocínio, a data prevista de sua liberação e o estado (previsto ou liberado). Uma empresa pode ter mais de um tipo de participação.

Page 57: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 57

EER – Outro exercício

Desenhe um Diagrama EER para o Sistema de Eventos Esportivos-SEE descrito abaixo

O SEE tem como objetivo armazenar dados de modalidades esportivas (ex: natação), categorias (ex: 100m costas), competições, locais, pessoas e equipes participantes. Além disso, armazenar dados de empresas patrocinadoras e resultados das competições.

Uma categoria deve ter nome, tipo (individual ou coletiva) e gênero. Cada competição tem uma data, horário, local e refere-se a uma fase da categoria, sendo que deve existir pelo menos uma fase final por categoria. Os atletas ou equipes se inscrevem em categorias e participam de competições. Cada atleta(ou equipe) terá um resultado na competição, incluindo um escore e uma indicação de colocação na campetição e na categoria. O vencedor da competição final será o vencedor da categoria. Cada local terá um endereço, capacidade de público e lista de modalidades esportivas. As pessoas terão cpf, nome, idade e serão do tipo funcionário ou atleta. Dos atletas deve-se registrar as categorias inscritas. Os funcionários podem ser responsáveis por locais. Cada local deve ter um responsável. O árbitro é um tipo especial de funcionário para o qual deve-se registrar as modalidades. Cada esquipe terá um nome e uma lista de atletas participantes. Cada empresa patrocinadora terá um cnpj, nome, endereço e tipo de patrocínio (atleta, equipe e/ou evento). Nos dois primeiros casos deve-se registrar quem são os patrocinados, no último caso deve-se registrar o valor do patrocínio.

Page 58: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 58

EER – Mais um exercício Desenhe um Diagrama EER para o Sistema de Administração de Faculdades Isoladas-

SAFIS descrito abaixo: O sistema deve manter dados de pessoas, cursos, disciplinas, projetos, receitas e custos. As pessoas tem carteira de identidade, cpf, nome, genero (M ou F), tipo (aluno e/ou funcionário). Um aluno tem número de matrícula, curso/currículo, data de ingresso, e valor da mensalidade. Um funcionário tem número de matrícula, data de admissão e tipo (professor ou técnico-administrativo e/ou dirigente), unidade (de lotação). Um professor tem titulação(bacharel, especialista, mestre ou doutor), tipo de contrato de trabalho(horista, regime parcial ou regime integral), remuneração por hora-aula (se horista) e salário (se regime parcial ou regime integral). Um técnico-administrativo tem nível (apoio, médio ou superior) e salário. Um dirigente tem tipo (coordenador de curso, diretor de unidade, diretor geral), salário. Uma unidade tem código, nome, dirigente, superunidade (formando uma hierarquia de unidades tal que a somente a Diretoria Geal não tem superunidade). Um curso tem nome, código(único), coordenador, currículos, unidade. Um currículo tem código do curso, data de aprovação e disciplinas por período e tipo (obrigatória ou optativa). Uma disciplina tem nome, código(único), conjunto de pré-requisitos, carga horária semestral, número de créditos (cada 15 horas da carga horária corresponde a um crédito). Uma turma da disciplina tem ano, semestre, horários por sala de aula. Há um registro de histórico do aluno-para cada disciplina/turma do curriculo com situação (matriculado, trancado, aprovado, reprovado por nota ou reprovado por frequência), nota e frequência. ....continua...

Page 59: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 59

EER – Exercício SAFIS continuação

Há também um registro histórico do professor-para cada disciplina/turma com quantidade de alunos matriculados, quantidade de alunos aprovados, quantidade de alunos reprovados por nota, quantidade de alunos reprovados por frequência. Um projeto tem título, funcionário-coordenador, super-projeto (formando hierarquia de projetos), fonte de financiamento externo, valor externo, valor da contrapartida, data de início,data de fim, estado (submetido, aprovado, em curso, encerrado) e conjunto de atividades. Uma atividade do projeto tem descrição, data prevista para início e término, funcionário responsável, data de término e número de horas gastas. Os projetos geram resultados com autores, título, local(descrição, cidade, estado, país), ano, mes, tipo (publicação em journal, congresso, livro, capítulo de livro, sofware, patente, outro). As receitas podem ser de mensalidades ou de projetos. As receitas de mensalidades tem matrícula do aluno, valor, pagamento, data pagamento. As receitas de projetos tem identificação do projeto, valor externo, data recebimento. O custo de funcionários: matrícula funcionário, data pagamento, valor pagamento. As despesas de projetos tem descrição, valor, data, identificação do projeto, identificação do fornecedor. Um fornecedor tem cnpj, nome, endereço, telefones.

OBS: a modelagem de restrições como chaves, cardinalidades e tipo de participação em relacionamentos devem ser deduzidas pelo contexto. Em caso de dúvida pergunte ao professor.

Page 60: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 60

Bibliografia/Exercícios de EER

• [EN] Capítulo 8

• [RG] Capítulo 2

• [SK] Capítulo 7

Page 61: Banco de Dados Distribuídos - facom.ufu.brilmerio/sbd/sbd2modeloEReEER.pdf · UFU/FACOM Página 2 Projeto de BD – Uma Visão Panorâmica. UFU/FACOM Página 3 ... subclasse com

UFU/FACOM

Página 61

FIM – ER e EER

FIM – ER e EER