34
SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

Embed Size (px)

Citation preview

Page 1: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

SCC0141 - Bancos de Dados e Suas Aplicações

Prof. Jose Fernando Rodrigues Junior

Material original: Elaine Parros Machado de Sousa

MER-X Generalização/Especialização

Page 2: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 2

Abstração de Generalização – Introdução

Genérico

Específico

Generaliza(abstrai)

Especializa(detalha)

Is-a

Herança

Page 3: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 3

MER CE agrupa entidades de um mesmo tipo CE expressa o tipo das entidades

MER-X tipos podem ser especializados em subtipos

entidades podem ser especializadas em subtipos de entidades relevantes no domínio do problema

Abstração de Generalização – Introdução

Abstração de Generalização/EspecializaçãoAbstração de Generalização/Especialização

Page 4: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 4

Abstração de Generalização – Notação DER-X

Entidade Abstrata(Entidade Genérica ou Supertipo)

Direção do Relacionamento: Especialização

Entidade Detalhe (Entidade Específica

ou Subtipo)

Pessoa

Aluno Professor Funcionário

Page 5: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 5

GeneralizaçãoGeneralização - elementos de um conjunto são distribuídos em diversos subconjuntos (subtipos)

relacionamento Is-a

Abstração de Generalização

Pessoa={p1, p2, p3, p4, ...}

Aluno= {p1, p3, ...}

Aluno Pessoa

Pessoa

Aluno Professor Funcionário

Page 6: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 6

Critério de Especialização – determina como os elementos são distribuídos em subconjuntos (subtipos) específicos Definido pelo Usuário Definido por Valor de Atributo (ou Definido por Predicado)

Abstração de Generalização

Pessoa

Aluno Professor Funcionário

Page 7: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 7

Critério Definido pelo UsuárioCritério Definido pelo Usuário CE(s) Específico(s) indicado(s) explicitamente na inserção da entidade

Critério de Especialização

Pessoa

Aluno Professor Funcionário

Page 8: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 8

Critério Definido por PredicadoCritério Definido por Predicado valores do(s) atributo(s) de critério definem o(s) CE(s) Específico(s) automaticamente na inserção da entidade

Critério de Especialização

Critério de Especialização

Pessoa

Aluno Professor Funcionário

Nome

Vínculo

Vínculo

‘docente’

‘funcionário’‘aluno’

Page 9: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 9

Conceito fundamental: HERANÇAHERANÇA CEs específicos herdam todos os atributos do CE genérico

OBS: em geral, atributos usados como critério não são herdados pelos CEs específicos

Herança

Page 10: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 10

Herança a chave do CE específicos é herdada do CE genérico chave definida implicitamente

Nome

Idade

Altura

Vínculo

N#Func

Função

N#USP

Curso

Pessoa

Aluno Professor Funcionário

Vínculo

‘docente’‘funcionário’

‘aluno’

Page 11: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 11

CEs específicos herdam todos os CRs definidos para o CE genérico

Herança

Plano SaúdepossuiNome

Idade

Altura

Vínculo

N#Func

Função

N#USP

Curso

Pessoa

Aluno Professor Funcionário

Vínculo

‘docente’‘funcionário’

‘aluno’

N1

Page 12: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

12

Herança em Múltiplos Níveis

Graduação Pós-Grad. Técnico Secretária

Semestre Formação Especialidade

Nome

Idade

Altura

Vínculo

N#Func

Função

N#USP

Curso

Pessoa

Aluno Professor Funcionário

Page 13: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

Exemplo: Exemplo:

Graduação Pós-Grad. Assistente Doutor

Nome

Idade

Altura

Vínculo

Titulação

N#USP

Curso

Pessoa

Aluno Funcionário Professor

Herança Herança MúltiplaMúltipla

Prof/Aluno

Page 14: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 14

Um mesmo CE participa como CE Específico em mais de uma ocorrência da Abstração de Generalização

Um mesmo CE possui mais de um supertipo “direto” CE específico "herda" todos os atributos e

relacionamentos dos seus supertipos atributos e relacionamentos herdados de um mesmo

CE genérico por caminhos diferentes na hierarquia são associados (implicitamente) apenas uma vez ao CE específico

Herança Múltipla

Page 15: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

Veículo

Terrestre Aquático

Automóvel Anfíbio Barco

Exemplo: Exemplo: Herança Múltipla Herança Múltipla

Page 16: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 16

Podemos criar uma hierarquia de especialização com mais de um CE genérico?

Herança Múltipla

NÃO!!!NÃO!!!Por que? Por que?

Page 17: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

Quando Especializar? CASO 1:

determinados atributos aplicam-se somente a alguns CEs específicos

AtributosGenéricos

AtributosEspecíficos

AtributosEspecíficos

Nome

Idade

Altura

Vínculo

N#Func

Função

N#USP

Curso

Pessoa

Aluno Professor Funcionário

Vínculo

‘docente’‘funcionário’

‘aluno’

Page 18: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 18

CASO 2: existem

relacionamentos dos quais participam apenas entidades de alguns CEs específicos

Quando Especializar?

Disciplina ministracursa

Pessoa

Aluno Professor Funcionário

Page 19: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 21

Restrição de Disjunção

Exclusão Mútua

Sobreposição

Restrição de Totalidade

Especialização Total

Especialização Parcial

Restrições da Abstração de Generalização

CEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

Page 20: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 22

Restrição de Disjunção

Exclusão MútuaExclusão Mútua - uma disciplina deve ser somente de um tipoTipo

Disciplina

Grad. Pós-Gr.

Nome

Sigla

Semestre Nível

DD

Tipo

‘pós’‘grad’

Page 21: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 23

Abstração de Generalização é mutuamente mutuamente exclusivaexclusiva se, para qualquer par de CEEs j e k distintos, vale:

CEEj CEEk =

Restrição de Disjunção

Exclusão Mútua

NotaçãoCEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

DD

DD

Page 22: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 24

Restrição de Disjunção

Sobreposição - um funcionário pode acumular mais de uma função ao mesmo tempo

Pessoa

Vigia Secretário

Turno Nível

Bibliotecário

Seção

Função

Nome

OO

Função

‘bibliotecário’‘vigia’ ‘secretário’

Page 23: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 25

Abstração de Generalização é definida com sobreposiçãosobreposição se para algum par de CEEs j e k distintos:

CEEj CEEk

Sobreposição

Notação

Restrição de Disjunção

CEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

OO

OO

Page 24: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 26

Restrição de Totalidade

Especialização TotalEspecialização Total - qualquer disciplina é de pelo menos um tipo:graduação, pós-graduação, e/ou especialização

Disciplina

Grad. Pós-Gr.

Semestre Nível

Especializ.

N#Horas

Tipo

Nome

Sigla

tipo

‘espec.’‘grad’ ‘pós’

Page 25: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 27

Abstração de Generalização é TotalTotal quando todas as entidades genéricas estão em pelo menos um dos CEEs:

U CEEk = CEG

Total

Notação

K

Restrição de Totalidade

CEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

Page 26: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 28

Restrição de TotalidadeEspecialização Parcial – uma pessoa pode, por exemplo, ter a função de Gerente de Recursos Humanos (que não está definida como subtipo)

Pessoa

Vigia Secretário

Turno Nível

Bibliotecário

Seção

Função

Nome

função

‘bibliotecário’‘vigia’‘secretário’

Page 27: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 29

Abstração de Generalização é ParcialParcial quando existem entidades genéricas que não estão em nenhum CEE:

U CEEk CEG

Parcial

Notação

k

Restrição de Totalidade

CEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

Page 28: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 30

Restrições de cada ocorrência da abstração dependem da semântica do mundo real

As Restrições da Abstração de Generalização

Parcial ExclusivaParcial Sobreposta

Total ExclusivaTotal Sobreposta

PossibilidadesCEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

Page 29: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 31

Parcial Exclusiva

Uma disciplina só pode ser de um tipo

Há disciplinas que não são nem de graduação nem de pós-graduação. Ex: disciplinas para cursos de treinamento em empresas

Tipo

Disciplina

Grad. Pós-Gr.

Nome

Sigla

Semestre Nível

D

tipo

‘pós’‘grad’

Page 30: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 32

Total Exclusiva

Uma disciplina ou é de graduação ou de pós, ou de especialização

Só há disciplinas de graduação, de pós-graduação, e de especialização

Disciplina

Grad. Pós-Gr.

Semestre Nível

Especializ.

N#Horas

Tipo

Nome

Sigla

DD

tipo

‘espec.’‘grad’ ‘pós’

Page 31: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 33

Parcial Sobreposta

Um funcionário pode acumular mais de uma função, por exemplo Secretário e Bibliotecário, ao mesmo tempo

Além de Vigia, Secretário e Bibliotecário, há outras funções

Pessoa

Vigia Secretário

Turno Nível

Bibliotecário

Seção

Função

Nome

OO

função

‘bibliotecário’‘vigia’ ‘secretário’

Page 32: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

USP – ICMC - GBDI 34

Total Sobreposta

Um aluno pode ao mesmo tempo estar matriculado em um curso de graduação e em um curso de especialização, por exemplo

Há somente alunos de graduação, de pós-graduação, e de especialização

Aluno

Grad. Pós-Gr.

Ano Ingresso M/D

Especializ.

Tipo

Nome

NUSP

OO

tipo

‘espec.’‘grad’ ‘pós’

Page 33: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

Exercício – construa o DER para um BD do Céu O céu é composto por moradores comuns (ex: pessoas que

morreram e foram para o céu), por anjos da guarda, por santos e, é claro, por Deus. Os anjos e santos desempenham funções particulares. Cada anjo é alocado para olhar por um mortal que ainda está na Terra, sendo que cada mortal pode ser guardado por vários anjos. Um anjo sempre é supervisionado por um outro anjo, e cada anjo pode supervisionar vários outros. Os santos ficam o dia todo atendendo pedidos provenientes dos mortais. Às vezes, esses atendimentos são considerados milagres. Os moradores comuns do céu passam o dia orando, e cada um tem a função de orar para santos e Deus por uma determinada quantia fixa de horas por dia, dependendo dos pecados cometidos em vida. Sobre os anjos são conhecidos o nome, a cor das asas e a idade; sobre os santos sabe-se nome, cor das vestes, tempo de beatificação e idade; sobre os moradores comuns sabe-se apenas o nome. Sobre Deus não se sabe muita coisa ....

Page 34: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER-X Generalização/Especialização

Sugestão de Leitura ELMASRI, R; NAVATHE, S.B. –

Sistemas de Banco de Dados, Addison Wesley, 4a Edição. Capítulo 4 – Modelagem com

Entidade-Relacionamento Estendido e UML

USP – ICMC – GBDI 37