banco de dados - vpcamargo.com.br - mcd - der... · É a entidade que não se identifica por si...

24
Banco de Dados Diagramas de Entidade Relacionamento (DER) - Complementos Ref. Prof . Renato de Oliveira Violin - UFSCar

Upload: phungdien

Post on 12-Feb-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Banco de Dados

Diagramas de Entidade – Relacionamento

(DER) - Complementos

Ref. Prof . Renato de Oliveira Violin - UFSCar

Page 2: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Tipo de Entidade Fraca ou Dependente

É a entidade cuja identificação não pode ser feita por seus próprios

atributos. Para sua identificação completa é necessário o uso de

atributos de outra entidade.

ExemploA entidade DEPENDENTE é uma entidade fraca pois para a sua identificação há

que se utilizar atributos da entidade EMPREGADO (A Matrícula do empregado,

por exemplo). Ou seja, quando falamos, João

Viera (Dependente) precisamos dizer de quem ele é dependente (Empregado)

para que se possa identifica-lo completamente. Assim: João Vieira é dependente

de Francisco da Rocha (Empregado)

Observe a notação da entidade e da linha do relacionamento

Page 3: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Tipo de Entidade Fraca ou Dependente

É a entidade cuja identificação não pode ser feita por seus próprios

atributos. Para sua identificação completa é necessário o uso de

atributos de outra entidade.

ExemploA entidade DEPENDENTE é uma entidade fraca pois para a sua identificação há

que se utilizar atributos da entidade EMPREGADO (A Matrícula do empregado,

por exemplo). Ou seja, quando falamos, João

Viera (Dependente) precisamos dizer de quem ele é dependente (Empregado)

para que se possa identifica-lo completamente. Assim: João Vieira é dependente

de Francisco da Rocha (Empregado)

Observe a notação da entidade e da linha do relacionamento

Como pode existir uma entidade

fraca, tem-se também

relacionamento com tipo de

entidade fraca. Nesses casos, os

símbolos são os mesmos, apenas

possuem duplas linhas nas

suas respectivas

representações.

Page 4: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Entidade Associativa

É a entidade que não se identifica por si mesma e sua existência

depende da existência de duas ou mais outras entidades. Compõem

seu identificador, os identificadores das entidades que se associaram

para lhe dar origem.

ExemploNo diagrama abaixo a entidade, APROVEITAMENTO é uma entidade

associativa porque a sua identificação só é possível a partir da Matrícula,

identificador da entidade ALUNO e de Código, identificador da entidade

DISCIPLINA. Ou seja, quando nos referimos ao aproveitamento 7,3, por

exemplo, ele só tem sentido quando associado a uma aluno e a uma disciplina.

Assim: João Ribeiro Ferraz

(Aluno) obteve a nota 7,3 (Aproveitamento) em Banco de Dados (Disciplina).

Page 5: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Atributos

São partes específicas de uma determinada entidade. São as

informações que caracterizam a entidade.

Exemplos de Atributos

Poderiam ser atributos de uma entidade Aluno: nome, número da

matrícula, cpf, data de ingresso no curso, endereço, telefone e data de

nascimento.

Uma entidade Fornecedor poderia Ter como atributos:

Cnpj, nome, Razão Social, Endereço, e Capital Social.

Cada entidade tem valores específicos para seus atributos que pode

diferir ou ser iguais aos valores dos atributos de outras entidades de um

mesmo tipo de entidade.

Valor de um Atributo

Chamamos valor de um atributo ao conteúdo que um atributo pode ter.

Marcos Ferreira, Rosa Cristina e Deusdete da Cunha poderiam ser

valores da entidade Aluno. Casa do Barata e Lojas X seriam valores do

atributo nome da entidade Fornecedor.

Page 6: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Atributos (cont.)

Domínio de um Atributo

É o conjunto de valores que um atributo pode assumir.

Exemplos: Masculino e Feminino são o domínio do atributo Sexo da

entidade Aluno.

O atributo Nota da entidade aluno tem o domínio: {números reais de 0

a 10).

Tipos de Atributos de uma Entidade

Único

Cada entidade tem um valor diferente para este atributo. A matrícula de

um aluno em um curso é um atributo único porque não existe outro aluno

matriculado com o mesmo número de matrícula.

Não-Único

Quando o valor pode se repetir em várias entidades. Por exemplo, o

aproveitamento de um aluno. Mais de um aluno pode ter a mesma nota.

Page 7: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Atributos (cont.)

Derivado

Quando o seu conteúdo depende do conteúdos de outros atributos. Por

exemplo, o total de uma nota fiscal é formado pela soma dos totais de

cada item componente da nota fiscal (apesar que não se deve

armazenar o total de uma nota no banco de dados)

Não derivado

Quando ele não pode ser obtido a partir de outros atributos. Por

exemplo, nome de um aluno.

Identificador

É o atributo ou atributos que identificam uma entidade de um tipo de

entidade de maneira única. Por exemplo a matrícula do estudante. Ou a

matrícula do aluno e o código da disciplina no tipo de entidade

APROVEITAMENTO.

Não Identificador

Quando o identificador não identifica por si só uma entidade dentro de

um tipo de entidades. Por exemplo, o nome do aluno não identifica o

aluno na entidade ALUNO, pois pode ter mais de um aluno com o

mesmo nome, neste caso deve-se referenciar mais de um atributo para

auxiliar na respectiva identificação.

Page 8: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Atributos (cont.)

Derivado

Quando o seu conteúdo depende do conteúdos de outros atributos. Por

exemplo, o total de uma nota fiscal é formado pela soma dos totais de

cada item componente da nota fiscal (apesar que não se deve

armazenar o total de uma nota no banco de dados)

Não derivado

Quando ele não pode ser obtido a partir de outros atributos. Por

exemplo, nome de um aluno.

Identificador

É o atributo ou atributos que identificam uma entidade de um tipo de

entidade de maneira única. Por exemplo a matrícula do estudante. Ou a

matrícula do aluno e o código da disciplina no tipo de entidade

APROVEITAMENTO.

Não Identificador

Quando o identificador não identifica por si só uma entidade dentro de

um tipo de entidades. Por exemplo, o nome do aluno não identifica o

aluno na entidade ALUNO, pois pode ter mais de um aluno com o

mesmo nome, neste caso deve-se referenciar mais de um atributo para

auxiliar na respectiva identificação.

Page 9: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Auto Relacionamento

Ocorre quando uma entidade se relaciona consigo mesma.

Page 10: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos

Uma entidade no modelo conceitual corresponde a uma tabela no banco

de dados.

Uma tabela é também denominada de relação e possui linhas e atributos

(ou colunas).

Uma linha em uma tabela é também denominada de tupla ou registro.

Assim, uma consulta específica em uma tabela poderá apresentar n-

tuplas ou n registros.

Uma consulta poderá referenciar um, alguns ou todos os atributos (ou

colunas) de uma tabela. Podendo, no entanto, apresentar somente

colunas resultantes de cálculos.

O termo chave candidata é apenas conceitual, mas podemos ter

atributos que possuem a característica de chave candidata, pois podem

ser chave primária por possuírem, por natureza, a identificação única.

Por exemplo: Os atributos matricula, cpf e titulo de eleitor podem ser

chaves candidatas em uma entidade pessoa. Deve-se analisar qual

delas representa melhor a chave primária.

Page 11: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos

funcionario projeto

função

É alocado

Representação

segundo Peter Chen

funcionario projeto

função

alocação

Representação

segundo James Martin

Fonte: Paulo Cougo

Page 12: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Relacionamentos Condicionais

Até o momento foi apresentado o grau de relacionamento entre duas

entidades. Mas, é importante conhecer dois tipos de grau: mínimo e

máximo. O grau máximo já foi visto como 1:1, 1:N e N:N. O grau mínimo

permite estabelecer o menor valor possível de participação dos

elementos do conjunto A e B no relacionamento.

Assim, um relacionamento, por exemplo, de grau 1:N, tal como o de

ESCOLA ATENDE ALUNOS, poderá ser qualificado como 1,1:1,N, como

indicado:

escola alunoatende

1,1 1,N

Uma ESCOLA deve atender a pelo menos 1 ALUNO e até N ALUNOS

Um ALUNO obrigatoriamente é atendido por 1 ESCOLA

Grau mínimo

Grau máximo

Fonte: Paulo Cougo

Page 13: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Relacionamentos Condicionais

escola alunoatende

1,1 30,200

Essa representação indica que a ESCOLA deve atender a, no mínimo,

30 ALUNOS e, no máximo, 200 ALUNOS

Grau mínimo

Grau máximo

escola alunoatende

1,1 1,n=200

Grau mínimo

Essa representação indica que a ESCOLA deve atender a, no mínimo, 1

ALUNO e, no máximo, N ALUNOS, com N igual a 200

Fonte: Paulo Cougo

Page 14: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Relacionamentos Independentes

Relacionamento independente pode ser estabelecido entre duas

entidades ou com a mesma entidade, mesmo que possuam outro

relacionamento. Um exemplo disso é a situação dos relacionamentos

entre CLIENTE e FORNECEDOR: a)”um CLIENTE é visitado por vários

FORNECEDORES”; b)”um CLIENTE faz cotação de preços com vários

FORNECEDORES”. São dois relacionamentos distintos entre as

mesmas entidades e são independentes.

Cliente fornecedoré visitado

0,N 0,N

Fonte: Paulo Cougo

faz

cotação

0,N 0,N

Page 15: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Relacionamentos Contingentes

Há situações em que há associações que processam com uma mesma

finalidade, que pode ou não possuir o mesmo nome, mas envolvem

elementos diferentes. É o caso do exemplo a seguir:

ClienteNorma

ISO9000segue

0,N 1,N

Fonte: Paulo Cougo

segue

0,N 1,N Critério de

segurança

Processos executados devem seguir normas ISO 9000 e também

CRITÉRIOS DE SEGURANÇA. Processos e normas ISO 9000 irão

ocorrer concorrentemente, mas por serem elementos diferentes não

podem ser um só relacionamento.

Page 16: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Relacionamentos Contingentes

Há situações em que há relacionamentos com o mesmo nome e não são

contingentes. É o caso de “CLIENTE compra PRODUTOS” e “CLIENTE

compra AÇÕES”

Cliente produtoscompra

0,N 1,N

Fonte: Paulo Cougo

compra

0,N 1,Nações

Por outro lado, podemos ter “PROJETO aloca ENGENHEIRO ao ser

iniciado” e “PROJETO atende a uma REGIÃO da cidade”. Ambos

ocorrem ao mesmo tempo. Por isso são contingentes.

projeto engenheiroé alocado

0,N 1,N

atende

0,N 1,Nregião

Page 17: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Relacionamentos Mutuamente Exclusivos

Relacionamentos mutuamente exclusivos podem ocorrer entre objetos

de um modelo em função de características próprias do ambiente

observado. Neste caso, quando uma associação de um elemento for

estabelecida através de um relacionamento, não poderá ser estabelecida

pelos demais. Essa exclusividade se processa a nível de elemento

individualizado dentro do conjunto de elementos.

Fonte: Paulo Cougo

a1

a2

a3

b1

b2

b3

c1

c2

c3

Se um elemento a1 do conjunto A estabelece

um relacionamento com um elemento b1 do

conjunto B, não poderá estabelecer

relacionamento com o elemento c2 do conjunto

C e vice-versa. Sendo que os relacionamentos

podem ou não possuir a mesma identificação.

produto Decreto leié isento

0,N

Paga

imposto

0,N 1,Ninstituição

Page 18: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Generalização e Especialização

Considere um ambiente hospitalar com médicos, pacientes, quartos e

salas de cirurgia. Consideremos que temos médicos efetivos e médicos

residentes, sendo que cada um deles, apesar de possuírem diversos

atributos em comum, possuem outros distintos para cada um. Observe o

quadro:

Fonte: Paulo Cougo

Atributo Médico

Residente

Médico Efetivo

Especialidade X X

Nome do médico X X

Local de atuação X

Tempo de

permanência

X

Data de efetivação X

Data inicio da

residência

X

Nome do

orientador

X

Data de avaliação

prevista

X

Tempo de

experiência na

função

X X

Como cada atributo seria

apropriado a um e outro tipo de

médico? Todos os atributos

poderiam ser utilizados a todos

os tipos de médicos? Como

resolver esse tipo de situação?

Do ponto de vista da

modelagem, utiliza-se

a estrutura

Generalização-

Especialização (Gen-

Espec).

Page 19: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Generalização e Especialização

A generalização-especialização estabelece que:

Dado um conjunto de elementos pertencentes a subconjuntos de um

conjunto maior, cada um deles deve ser capaz de ser visto como um

elemento tanto pertencente aos subconjuntos distintos como ao outro

conjunto completo

Fonte: Paulo Cougo

médico

Médico

efetivo

Médico

residente

Essa representação não denota três entidades.

Mas, podemos considerar o triângulo como

sendo um prisma que reflete de um médico ou

um residente ou um médico efetivo. Assim,

médico é a generalização de médico residente e

médico efetivo. E esses dois últimos são

especializações de médico. Assim, essa

representação destaca dois grupos de médicos:

Médico Residente e Médico Efetivo.

Generalização Especialização

Veículos automotor Carro, caminhão,

trator

Animal Animal doméstico,

animal selvagem

Item de estoque Item perecível, item

não perecível

Hardware HD interno, HD

externo, Monitor

Outros exemplos

Page 20: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Especializações mutuamente exclusivas

Geralmente a estrutura Gen-Espec estabelece subconjuntos

mutuamente exclusivos (um médico residente não pertence ao conjunto

dos médicos efetivos). No entanto, se considerarmos animais

domésticos e animais selvagens como subgrupos de animais e,

dependendo da situação, um animal selvagem, caso seja estimação,

poderá pertencer aos dois grupos. Isso implica a definir dois tipos de

especialização:

Especialização mutuamente exclusiva

Especialização não mutuamente exclusiva

Fonte: Paulo Cougo

médico

C

Médico

efetivo

Médico

residente

Representação para

Especialização mutuamente exclusiva

C de Categorias

Page 21: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Especializações não mutuamente exclusivas

Considere um ambiente empresarial que apresenta os elementos: funcionários,

automóveis, produtos, agendamento de entregas e pedidos. Dentre os

funcionários há os grupos de funcionários administrativos e funcionários

entregadores. Os funcionários entregadores são alocados para efetuar entregas

dos pedidos usando certo automóvel. Os funcionários administrativos são

alocados para gerenciar a venda de produtos, gerando pedidos. No entanto,

ocorre que em certas épocas o volume de vendas aumenta (natal, promoções e

outras). Nestes casos, os funcionários administrativos são designados para

entregas e os entregadores poderão auxiliar nas vendas. Há portanto, uma

mudança de papéis. Neste caso, temos especialização não mutuamente

exclusiva.

Fonte: Paulo Cougo

funcionário

P

entregadoradministrativo

automóvel

usa

produto

atende

pedidogera

entrega

Papéis

Page 22: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Agregação

Considere o seguinte seguinte esquema:

Fonte: Paulo Cougo

projeto

função

funcionário

alocadoM N

M

Esse esquema apesar de

correto, fica confuso: entre

funcionário e função há um

relacionamento MxM, ou

seria entre projeto e função

NxM? Há uma mistura de

informações nesses

relacionamentos.

Nesse tipo de situação, o

correto é utilizar agregação.

Agregação é uma estrutura que denota a existência de uma função de

elementos através de um relacionamento, e que permite que essa junção seja

percebida como um novo elemento a ser, por sua vez, relacionado a outro

elemento.

Page 23: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

Complementos- Agregação

Usando agregação, temos:

Fonte: Paulo Cougo

projeto

função

funcionário

alocadoM N

1

Com o novo esquema um

funcionário pode exercer

várias funções em vários

projetos, mas somente uma

em determinado projeto.

Assim, cada par da

associação FUNCIONÁRIO

X PROJETO pode estar

ligado a uma só FUNÇÃO,

denotando que um

FUNCIONÁRIO, apesar de

poder participar de vários

PROJETOS, quando estiver

alocado a um deles, estará

somente em uma FUNÇÃO.

exerce

M

Page 24: Banco de Dados - vpcamargo.com.br - MCD - DER... · É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem

FIM