24.10.2019 Views

BD1 - O Modelo Conceitual

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Banco de Dados<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 1


<strong>Modelo</strong> Entidade Relacionamento<br />

• É o primeiro modelo a ser construído no projeto do banco de<br />

dados.<br />

<strong>Modelo</strong> <strong>Conceitual</strong><br />

Representação abstrata<br />

dos dados observados<br />

<strong>Modelo</strong> Lógico<br />

Representação dos dados<br />

sob a forma de tabelas<br />

<strong>Modelo</strong> Físico<br />

Representação dos dados<br />

de acordo com o SGBD<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 2


<strong>Modelo</strong> Entidade Relacionamento<br />

• Foi criado por Peter Chen em 1976 e<br />

posteriormente, na década de 80, sofreu<br />

algumas extensões (especialização e<br />

agregação)<br />

• O modelo E-R é baseado na teoria relacional<br />

criada em 1970 por Edgar F. Codd.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 3


<strong>Modelo</strong> Entidade Relacionamento<br />

• É um modelo semântico representado por uma linguagem<br />

gráfica para construir modelos conceituais de bancos de dados.<br />

• É considerada um padrão para modelagem conceitual de BD.<br />

• Consiste em um conjunto de objetos básicos:<br />

• Entidades: são as “coisas” do negócio que representam os<br />

dados genéricos do sistema.<br />

• Relacionamentos: são as associações que existem entre as<br />

entidades.<br />

• Atributos: são as características individuais que descrevem<br />

cada entidade ou relacionamento.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 4


<strong>Modelo</strong> Entidade-Relacionamento<br />

• Permite a especificação do esquema do banco de dados, através<br />

do Diagrama Entidade-Relacionamento.<br />

Diagrama E-R = Esquema E-R<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 5


Entidades<br />

• São elementos que:<br />

• Existem no mundo real e necessitam ser representados;<br />

• Podem ser concretos ou abstratos;<br />

• Representam os dados genéricos do sistema.<br />

• É um conjunto de dados que representam objetos da realidade a<br />

ser modelada e sobre os quais deseja manter informações.<br />

• Cada elemento particular de uma entidade, formado por um<br />

conjunto de valores, é denominado de ocorrência ou instância<br />

da entidade.<br />

• As ocorrências devem ser identificadas de forma única através<br />

dos valores armazenados nos seus atributos.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 6


Entidades<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 7


Entidades<br />

• Entidade CLIENTE:<br />

atributos<br />

ocorrências<br />

Código Nome Fone<br />

1123 José Ferreira 3224.2345<br />

1124 Maria Tavares 3225.1234<br />

1125 Tânia de Souza 3226.9879<br />

1126 Pedro da Silva 3227.8495<br />

• Pode ser representada sob a forma de uma tabela.<br />

• Deve possuir várias ocorrências e vários atributos.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 8


Entidades<br />

• São representadas graficamente por um retângulo com o nome<br />

da entidade no seu interior em letras maiúsculas.<br />

PRODUTO ALUNO PEDIDO<br />

• Podem representar:<br />

• Objetos concretos (uma pessoa, um produto).<br />

• Objetos abstratos (um setor, um curso).<br />

• Papéis desempenhados (um médico, um cliente)<br />

• Eventos que acontecem (um pedido, uma locação).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 9


Exemplos de Entidades<br />

• Sistema de Controle Acadêmico.<br />

PROFESSOR ALUNO DISCIPLINA CURSO<br />

• Sistema de Controle de Pedidos.<br />

CLIENTE PEDIDO PRODUTO VENDEDOR<br />

• Sistema de Consultas Médicas<br />

MÉDICO PACIENTE CONSULTA EXAME<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 10


Identificando Entidades<br />

• Deseja-se construir um banco de dados para um sistema de<br />

controle de pedidos. Cada cliente faz os pedidos desejados,<br />

sendo cada um deles atendido por um funcionário. Cada pedido<br />

pode possuir de um a vários produtos e um produto pode<br />

aparecer em diversos pedidos.<br />

• Entidades identificadas:<br />

? PEDIDO<br />

CLIENTE<br />

FUNCIONÁRIO<br />

PRODUTO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 11


Relacionamentos<br />

• São associações entre entidades.<br />

• Representam as ações dos processos sobre os dados.<br />

• É um fato que liga ocorrências entre duas entidades.<br />

CLIENTE<br />

PEDIDO<br />

DIAGRAMA DE OCORRÊNCIAS<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 12


Relacionamentos<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 13


Relacionamentos<br />

• São representadas graficamente por um losango com o nome do<br />

relacionamento no seu interior em letras maiúsculas.<br />

CLIENTE<br />

FAZ<br />

PEDIDO<br />

• Em uma sentença que expressa um acontecimento do mundo<br />

real:<br />

• o sujeito e o objeto são entidades;<br />

• o verbo é um relacionamento.<br />

• CLIENTE FAZ PEDIDO<br />

• ALUNO CURSA DISCIPLINA<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 14


Relacionamentos<br />

CLIENTE<br />

FAZ<br />

PEDIDO<br />

• No exemplo acima temos:<br />

• Entidade CLIENTE - um conjunto de dados classificados como<br />

clientes;<br />

• Entidade PEDIDO - um conjunto de dados classificados como<br />

departamentos;<br />

• Relacionamento FAZ - um conjunto de associações entre<br />

clientes e pedidos, cada uma ligando um cliente a um pedido.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 15


Identificando Relacionamentos<br />

• Deseja-se construir um banco de dados para um sistema de<br />

controle de pedidos. Cada cliente faz os pedidos desejados,<br />

sendo cada um deles atendido por um funcionário. Cada pedido<br />

pode possuir de um a vários produtos e um produto pode<br />

aparecer em diversos pedidos.<br />

• Entidades e relacionamentos identificados:<br />

?<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 16


Identificando Relacionamentos<br />

Diagrama Entidade-Relacionamento<br />

FUNCIONÁRIO<br />

ATENDE<br />

CLIENTE<br />

FAZ<br />

PEDIDO<br />

CONTÉM<br />

PRODUTO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 17


Cardinalidade de Relacionamentos<br />

• É o número (mínimo e máximo) de ocorrências de uma entidade<br />

que podem estar associadas a uma ocorrência de entidade,<br />

através de um relacionamento.<br />

• Cardinalidade mínima:<br />

• Indica o número mínimo de ocorrências de uma entidade que<br />

podem estar relacionadas a uma ocorrência de entidade.<br />

• Pode assumir os valores de:<br />

• 0 – podem existir ocorrências da entidade que não<br />

participam do relacionamento.<br />

• 1 – sempre vai existir uma ocorrência da entidade<br />

participando do relacionamento.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 18


Cardinalidade de Relacionamentos<br />

• Cardinalidade máxima:<br />

• Indica o número máximo de ocorrências de uma entidade que<br />

podem estar relacionadas a uma ocorrência de entidade.<br />

• Pode assumir os valores de:<br />

• 1 – no máximo uma ocorrência da entidade está<br />

participando do relacionamento.<br />

• n – muitas ocorrências da entidade podem estar<br />

participando do relacionamento.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 19


Cardinalidade de Relacionamentos<br />

CLIENTE<br />

(1,1) (0,n)<br />

FAZ<br />

PEDIDO<br />

• Um cliente pode fazer:<br />

• No mínimo, nenhum pedido (cardinalidade mínima = 0).<br />

• No máximo, vários pedidos (cardinalidade máxima = n).<br />

• Um pedido pode ser feito:<br />

• No mínimo, por um cliente (cardinalidade mínima = 1).<br />

• No máximo, por um cliente (cardinalidade máxima = 1).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 20


Cardinalidade de Relacionamentos<br />

CLIENTE<br />

(1,1) (0,n)<br />

FAZ<br />

PEDIDO<br />

CLIENTE<br />

PEDIDO<br />

DIAGRAMA DE OCORRÊNCIAS<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 21


Relacionamento Obrigatório<br />

• Possui cardinalidade mínima igual a 1.<br />

• Sempre existe uma ocorrência da entidade que participa do<br />

relacionamento.<br />

• Exemplo: em um relacionamento entre as entidades CLIENTE e<br />

PEDIDO, sempre existe um cliente para cada pedido.<br />

Cada pedido tem um cliente<br />

Cardinalidade mínima = 1<br />

CLIENTE<br />

(1,1) 1<br />

(0,n)<br />

FAZ<br />

PEDIDO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 22


Relacionamento Opcional<br />

• Possui cardinalidade mínima igual a zero.<br />

• Podem existir ocorrências da entidade que não participam do<br />

relacionamento.<br />

• Exemplo: em um relacionamento entre as entidades CLIENTE e<br />

PEDIDO, podem existir clientes que nunca fizeram pedido.<br />

Cliente sem fazer pedido<br />

Cardinalidade mínima = 0<br />

CLIENTE<br />

(1,1) (0,n) 0<br />

FAZ<br />

PEDIDO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 23


Cardinalidade Máxima<br />

• Relacionamento de Um para Um – 1:1:<br />

• Uma ocorrência da entidade A relaciona-se com somente uma<br />

ocorrência da entidade B e vice-versa.<br />

CURSO<br />

Curso 1<br />

Curso 2<br />

Curso 3<br />

Curso 4<br />

COORDENADOR<br />

Coordenador A<br />

Coordenador B<br />

Coordenador C<br />

Coordenador D<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 24


Cardinalidade Máxima<br />

• Relacionamento de Um para Muitos – 1:N:<br />

• Uma ocorrência da entidade A relaciona-se com muitas<br />

ocorrências da entidade B, mas cada ocorrência da entidade B<br />

somente pode estar relacionada a uma ocorrência da<br />

entidade A.<br />

PROFESSOR<br />

Professor 1<br />

Professor 2<br />

Professor 3<br />

DISCIPLINA<br />

Disciplina A<br />

Disciplina B<br />

Disciplina C<br />

Disciplina D<br />

Disciplina E<br />

Disciplina F<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 25


Cardinalidade Máxima<br />

• Relacionamento de Muitos para Muitos – N:N:<br />

• Uma ocorrência da entidade A relaciona-se com muitas<br />

ocorrências da entidade B e vice versa.<br />

ALUNO<br />

Aluno 1<br />

Aluno 2<br />

Aluno 3<br />

Aluno 4<br />

DISCIPLINA<br />

Disciplina A<br />

Disciplina B<br />

Disciplina C<br />

Disciplina D<br />

Disciplina E<br />

Disciplina F<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 26


Cardinalidade Máxima<br />

CURSO<br />

1 1<br />

POSSUI<br />

1 1<br />

1 1<br />

COORDENADOR<br />

PROFESSOR<br />

1 N<br />

ENSINA<br />

1 N<br />

1 1<br />

DISCIPLINA<br />

ALUNO<br />

N<br />

CURSA<br />

N<br />

DISCIPLINA<br />

1 N<br />

N 1<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 27


Paralelismo de Relacionamentos<br />

• Ocorre quando uma entidade possui mais de um relacionamento<br />

com outra entidade.<br />

• Cada um dos relacionamentos representa uma associação<br />

descrita nas regras de negócio do sistema.<br />

(0,n) (1,1)<br />

RESIDE<br />

FUNCIONÁRIO<br />

CIDADE<br />

NASCEU<br />

(0,n) (1,1)<br />

• Um relacionamento informa a cidade em que reside e o outro<br />

informa a cidade em que nasceu cada funcionário.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 28


Redundância de Relacionamentos<br />

• Ocorre quando a informação descrita por um relacionamento<br />

pode ser obtida através de outros relacionamentos.<br />

CLIENTE<br />

(1,1) (0,n)<br />

FAZ<br />

PEDIDO<br />

Relacionamento redundante<br />

(0,n)<br />

VENDIDO<br />

(1,1)<br />

(0,n)<br />

ATENDE<br />

(1,n)<br />

FUNCIONARIO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 29


Grau de um Relacionamento<br />

• Representa a quantidade de entidades que participam em um<br />

relacionamento.<br />

• Relacionamento Unário (auto-relacionamento): 1 entidade<br />

FUNCIONÁRIO<br />

(1,1) (0,n)<br />

CHEFIA<br />

• Relacionamento Binário: 2 entidades.<br />

CLIENTE<br />

(1,1) (0,n)<br />

FAZ<br />

PEDIDO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 30


Grau de um Relacionamento<br />

• Relacionamento Ternário: 3 entidades<br />

ENGENHEIRO<br />

(1,n)<br />

PARTICIPA<br />

(1,n)<br />

PROJETO<br />

(1,n)<br />

FUNÇÃO<br />

• A cardinalidade mínima igual a 1 indica a obrigatoriedade de uma<br />

ocorrência de cada entidade para cada ocorrência do<br />

relacionamento.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 31


Auto-relacionamento<br />

• Ocorre quando uma ocorrência de uma entidade relaciona-se<br />

com outra(s) ocorrência(s) da mesma entidade.<br />

• Auto-relacionamento de Um para Um - 1:1:<br />

PESSOA<br />

(0,1) (0,1)<br />

REPRESENTA<br />

• Uma pessoa pode representar nenhuma ou apenas uma outra<br />

pessoa.<br />

• Uma pessoa pode ser representada por nenhuma ou por apenas<br />

uma outra pessoa.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 32


Auto-relacionamento<br />

• Auto-relacionamento de Um para Muitos - 1:N:<br />

FUNCIONÁRIO<br />

(0,1) (0,n)<br />

CHEFIA<br />

• Um funcionário chefia nenhum ou vários funcionários.<br />

• Um funcionário pode ter nenhum ou apenas um chefe.<br />

• Geralmente está associado à hierarquia de ocorrências.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 33


Auto-relacionamento<br />

• Auto-relacionamento de Muitos para Muitos - N:N:<br />

PRODUTO<br />

(0,n)<br />

COMPÕE<br />

(0,n)<br />

• Um produto compõe nenhum ou vários produtos.<br />

• Um produto pode ser composto por nenhum ou por vários<br />

produtos.<br />

• Geralmente está associado à composição de ocorrências.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 34


Relacionamento Ternário<br />

• Ocorre quando as ocorrências de três entidades participam<br />

obrigatoriamente do mesmo relacionamento.<br />

ENGENHEIRO<br />

(1,n)<br />

PARTICIPA<br />

(1,n)<br />

PROJETO<br />

(1,n)<br />

FUNÇÃO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 35


Relacionamento Ternário<br />

• Em um relacionamento ternário deve haver pelo menos um<br />

relacionamento de cardinalidade N:N.<br />

ENGENHEIRO<br />

(1,n)<br />

PARTICIPA<br />

(1,n)<br />

PROJETO<br />

(1,n)<br />

FUNÇÃO<br />

• A cardinalidade de uma entidade indica sempre quantas<br />

ocorrências dessa entidade estão associadas a um par de<br />

ocorrências das duas outras entidades.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 36


Relacionamento Ternário<br />

ENGENHEIRO<br />

PARTICIPA<br />

PROJETO<br />

(1,n)<br />

FUNÇÃO<br />

• A cardinalidade de FUNÇÃO indica quantas ocorrências dessa<br />

entidade estão associadas a um par de ocorrências de<br />

ENGENHEIRO e PROJETO.<br />

• Um ENGENHEIRO em um PROJETO exerce uma ou várias funções.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 37


Relacionamento Ternário<br />

ENGENHEIRO<br />

(1,n)<br />

PARTICIPA<br />

PROJETO<br />

FUNÇÃO<br />

• A cardinalidade de ENGENHEIRO indica quantas ocorrências<br />

dessa entidade estão associadas a um par de ocorrências de<br />

FUNÇÃO e PROJETO.<br />

• Uma FUNÇÃO em um PROJETO é exercida por um ou por vários<br />

ENGENHEIROS.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 38


Relacionamento Ternário<br />

ENGENHEIRO<br />

PARTICIPA<br />

(1,n)<br />

PROJETO<br />

FUNÇÃO<br />

• A cardinalidade de PROJETO indica quantas ocorrências dessa<br />

entidade estão associadas a um par de ocorrências de<br />

ENGENHEIRO e FUNÇÃO.<br />

• Um ENGENHEIRO exerce uma FUNÇÃO em um ou em vários<br />

PROJETOS.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 39


Exemplo<br />

• Deseja-se manter informações sobre alunos, cursos, disciplinas e<br />

departamentos de um sistema de controle acadêmico e as<br />

associações de alunos a cursos, de disciplinas a cursos, de<br />

disciplinas a departamentos e de disciplinas a suas disciplinas<br />

pré-requisitos.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 40


Atributos<br />

• São dados associados às ocorrências de uma entidade ou de um<br />

relacionamento.<br />

• São valores que fornecem a descrição de uma entidade ou de um<br />

relacionamento.<br />

• Cada ocorrência de uma entidade é identificada de forma única<br />

pelos seus atributos.<br />

• Exemplo:<br />

• Entidade CLIENTE: (codcliente, nome, cpf, telefone)<br />

• Entidade PRODUTO: (codproduto, nome, preço, quant)<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 41


Atributos<br />

• São representados graficamente por um círculo ou elipse ligado à<br />

entidade ou ao relacionamento.<br />

cpf<br />

fone<br />

cargahoraria<br />

periodo<br />

ALUNO<br />

(0,n)<br />

CURSA<br />

(0,n)<br />

DISCIPLINA<br />

matrícula<br />

nome<br />

media<br />

frequencia<br />

coddisc<br />

nome<br />

cpf<br />

fone<br />

matrícula<br />

ALUNO<br />

nome<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 42


Tipos de Atributos<br />

• Atributo Simples: é aquele que não pode ser dividido. É também<br />

chamado de atômico.<br />

• Entidade: CLIENTE<br />

• Atributos: bairro, fone<br />

fone<br />

CLIENTE<br />

bairro<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 43


Tipos de Atributos<br />

• Atributo Composto: é aquele formado pela junção de vários<br />

valores.<br />

• Entidade: CLIENTE<br />

• Atributo: endereço (rua, número, complemento, bairro,<br />

cidade, estado, cep).<br />

CLIENTE<br />

endereço<br />

rua<br />

número<br />

complemento<br />

bairro<br />

cidade<br />

estado<br />

cep<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 44


Tipos de Atributos<br />

• Atributo Identificador: é aquele que identifica cada ocorrência<br />

de uma entidade de forma única.<br />

• Entidade: CLIENTE<br />

• Atributo: codcliente<br />

CLIENTE<br />

codcliente<br />

• O atributo identificador não admite repetição de valores nem<br />

pode ser deixado em branco.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 45


Tipos de Atributos<br />

• Atributo Descritivo: é aquele que representa uma característica<br />

de uma entidade ou de um relacionamento, podendo armazenar<br />

valores repetidos. Não deve ser usado como identificador.<br />

• Entidade: CLIENTE<br />

• Atributos: nome, fone, endereço<br />

fone<br />

endereco<br />

CLIENTE<br />

nome<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 46


Tipos de Atributos<br />

• Atributo Derivado: é aquele cujo valor pode ser obtido a partir<br />

do valor de outro atributo.<br />

• Entidade: FUNCIONARIO<br />

• Atributos: idade (derivado a partir da data de nascimento)<br />

idade<br />

FUNCIONARIO<br />

• Os atributos derivados não devem ser colocados no diagrama<br />

Entidade-Relacionamento.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 47


Tipos de Atributos<br />

• Atributo Referencial: é aquele que estabelece um<br />

relacionamento entre duas entidades.<br />

• Entidade: PEDIDO<br />

• Atributo: codcliente<br />

codcliente<br />

CLIENTE<br />

(1,1) (0,n)<br />

FAZ<br />

PEDIDO<br />

codcliente<br />

codpedido<br />

• Os atributos referenciais não devem ser colocados no diagrama<br />

Entidade-Relacionamento.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 48


Cardinalidade de Atributos<br />

• É o número (mínimo e máximo) de valores que pode ser definido<br />

para um atributo em cada ocorrência da entidade.<br />

• Cardinalidade mínima:<br />

• Indica o número mínimo de valores que pode ser definido<br />

para um atributo.<br />

• Pode assumir os valores de 0 (nenhum) ou 1 (um).<br />

• Cardinalidade máxima:<br />

• Indica o número máximo de valores que pode ser definido<br />

para um atributo.<br />

• Pode assumir os valores de 1 (um) ou n (muitos).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 49


Cardinalidade Mínima de Atributos<br />

• Atributo obrigatório (cardinalidade mínima = 1):<br />

• Sempre existe um valor definido para o atributo.<br />

• Exemplo: nome do cliente na entidade CLIENTE (sempre<br />

obrigatório, não existe cliente sem nome).<br />

• Atributo opcional (cardinalidade mínima = 0):<br />

• Pode não haver um valor definido para o atributo.<br />

• Exemplo: fone do cliente na entidade CLIENTE (não é um valor<br />

obrigatório, pode existir cliente sem telefone).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 50


Cardinalidade Máxima de Atributos<br />

• Atributo monovalorado (cardinalidade máxima = 1):<br />

• Sempre existe no máximo um valor definido para o atributo<br />

em cada ocorrência.<br />

• Exemplo: nome do sócio na entidade SÓCIO (todo sócio tem,<br />

no máximo, um nome) .<br />

• Atributo multivalorado (cardinalidade máxima = n):<br />

• Pode haver mais de um valor definido para o atributo em cada<br />

ocorrência.<br />

• Exemplo: nome do dependente na entidade SÓCIO (pode<br />

existir mais de um dependente para o mesmo sócio).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 51


Cardinalidade de Atributos<br />

endereco<br />

dep(0,n)<br />

atributo opcional<br />

e multivalorado<br />

SÓCIO<br />

codsocio<br />

nome(1,1)<br />

atributo obrigatório<br />

e monovalorado<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 52


Atributos Multivalorados<br />

• Representam vários valores para um atributo na mesma<br />

ocorrência.<br />

codcli<br />

nome<br />

CLIENTE<br />

endereco<br />

fone<br />

fone<br />

• Como cada atributo só pode armazenar um único valor a cada<br />

instante, os atributos multivalorados não possuem<br />

implementação direta em bancos de dados relacionais.<br />

• Na passagem para o modelo relacional os atributos<br />

multivalorados deverão ser transformados em tabelas<br />

específicas.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 53


Atributos Multivalorados<br />

• Exemplo:<br />

• Um funcionário possui os seguintes dados: código, nome,<br />

endereço, cpf, nenhum ou vários dependentes e salário.<br />

• Deseja-se armazenar o valor dos salários recebidos pelo<br />

funcionário ao longo do tempo.<br />

codfunc<br />

nome<br />

endereco<br />

cpf<br />

FUNCIONARIO<br />

data (1,n)<br />

dependente (0,n)<br />

salario (1,n)<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 54


Entidade Fraca<br />

• Possui dependência de existência e de identificação.<br />

• As ocorrências só existem se existir outra entidade forte<br />

relacionada (dependência de existência).<br />

• A identificação das ocorrências depende de atributos de outra<br />

entidade forte (dependência de identificação).<br />

• Exemplo:<br />

• Relacionamento entre SÓCIO e DEPENDENTE<br />

• Só existe um dependente se existir um sócio responsável por<br />

ele (dependência de existência).<br />

• O dependente é identificado por um número sequencial para<br />

cada sócio. Logo para identificar o dependente será<br />

necessário o código do sócio (dependência de identificação).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 55


Entidade Fraca<br />

codsócio codsocio<br />

SOCIO<br />

nome<br />

endereco<br />

fone<br />

codsócio codsocio<br />

DEPENDENTE<br />

coddep numero nome<br />

celular<br />

• A entidade DEPENDENTE só existe se a entidade SOCIO também<br />

existir (dependência de existência).<br />

• Parte da identificação da entidade DEPENDENTE vem da<br />

entidade SOCIO (dependência de identificação).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 56


Relacionamento Identificador<br />

• Ocorre quando um relacionamento é utilizado para dar<br />

identificação a uma entidade fraca.<br />

fone<br />

endereco<br />

celular<br />

SOCIO<br />

(1,1) (0,n)<br />

POSSUI<br />

DEPENDENTE<br />

codsocio<br />

nome<br />

numero<br />

nome<br />

Relacionamento<br />

obrigatório<br />

Entidade<br />

fraca<br />

• O número do dependente é sequencial para cada sócio. Qual o<br />

identificador de dependente?<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 57


Relacionamento Identificador<br />

• O identificador da entidade fraca será formado por atributo(s) da<br />

própria entidade, concatenado(s) com um atributo referencial<br />

oriundo da entidade forte do relacionamento.<br />

• Esse atributo oriundo da entidade forte, por ser referencial, não<br />

deverá ser expresso nos esquemas E-R.<br />

• No exemplo entre as entidades SOCIO e DEPENDENTE, o<br />

identificador de DEPENDENTE será formado pelo código do sócio<br />

(atributo referencial) concatenado com o número sequencial de<br />

cada dependente (atributo próprio da entidade fraca).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 58


Relacionamento Identificador<br />

GRUPO<br />

(1,1)<br />

R1<br />

(0,n)<br />

EMPRESA<br />

(1,1)<br />

R2<br />

(0,n)<br />

FILIAL<br />

codgrupo<br />

codempresa<br />

codfilial<br />

IDENTIFICADORES:<br />

GRUPO<br />

• codgrupo<br />

EMPRESA<br />

• codgrupo<br />

• codempresa<br />

FILIAL<br />

• codgrupo<br />

• codempresa<br />

• codfilial<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 59


Atributos em Relacionamentos<br />

• Ocorre quando o atributo depende simultaneamente das duas<br />

entidades que participam do relacionamento.<br />

• Descreve uma característica que só existe quando o<br />

relacionamento passa a existir.<br />

fone<br />

endereco<br />

periodo<br />

duracao<br />

ALUNO<br />

(0,n)<br />

CURSA<br />

(0,n)<br />

DISCIPLINA<br />

codaluno<br />

nome<br />

media<br />

faltas<br />

coddisc<br />

nome<br />

• Média do aluno na disciplina?<br />

• Número de faltas do aluno na disciplina?<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 60


Especialização<br />

• É uma estrutura que representa uma hierarquia entre entidades<br />

do mesmo tipo.<br />

CLIENTE<br />

PESSOA<br />

FISICA<br />

ATRIBUTOS<br />

COMUNS<br />

PESSOA<br />

JURIDICA<br />

• A entidade genérica (CLIENTE) possui subconjuntos de dados que<br />

formam entidades diferentes (PESSOAFÍSICA e PESSOAJURÍDICA),<br />

mas que possuem características comuns que permitem colocálos<br />

como formando uma única entidade.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 61


Especialização<br />

Entidade genérica<br />

(atributos comuns)<br />

CLIENTE<br />

PESSOAFISICA<br />

PESSOAJURIDICA<br />

Entidades especializadas<br />

(atributos particulares)<br />

• Uma ocorrência pertencente a uma entidade especializada deve<br />

ser vista como pertencente tanto a entidade especializada<br />

quanto a entidade genérica.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 62


Especialização<br />

• Permite a herança de propriedades, onde cada entidade<br />

especializada possui, além dos seus atributos próprios, todos os<br />

atributos herdados da entidade genérica.<br />

• Os atributos herdados não são fisicamente incluídos nas<br />

entidades especializadas.<br />

• Atributos da entidade CLIENTE:<br />

• codcliente, nome, endereco, cidade, estado, cep<br />

• Atributos da entidade PESSOAFISICA<br />

• cpf, rg, sexo e todos os atributos de CLIENTE<br />

• Atributos da entidade PESSOAJURIDICA<br />

• cnpj, inscest, ramo e todos os atributos de CLIENTE<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 63


Generalização<br />

• É um processo reverso ao da especialização, no qual as entidades<br />

especializadas formam uma única entidade genérica.<br />

• As diferenças entre as entidades especializadas podem, em<br />

alguns casos, ser suprimidas.<br />

• Quando não são suprimidas, geram valores nulos inaplicáveis na<br />

entidade genérica.<br />

• Deve ser acrescentado um atributo adicional na entidade<br />

genérica para indicar o tipo de cada ocorrência nesta entidade.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 64


Generalização/Especialização<br />

• A generalização é a união do conteúdo de duas ou mais<br />

entidades de nível inferior, formando uma entidade de nível mais<br />

elevado.<br />

• A generalização cria, a partir de entidades mais específicas (nível<br />

inferior), uma entidade mais genérica (nível superior).<br />

• A especialização é a divisão de subconjuntos de dados de uma<br />

entidade de nível superior, formando entidades de nível inferior.<br />

• A especialização cria, a partir de uma entidade genérica (nível<br />

superior), novas entidades mais específicas (nível inferior).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 65


Especialização Total<br />

• Ocorre quando para cada ocorrência da entidade genérica existe<br />

sempre uma ocorrência em uma das entidades especializadas.<br />

CLIENTE<br />

t<br />

Indica que todo<br />

cliente é pessoa<br />

física ou é<br />

pessoa jurídica<br />

PESSOAFISICA<br />

PESSOAJURIDICA<br />

• Na especialização total, existe a obrigatoriedade de uma<br />

ocorrência da entidade genérica corresponder a uma ocorrência<br />

em uma das entidades especializadas.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 66


Especialização Total<br />

Entidade CLIENTE - 15 atributos e 5 ocorrências<br />

1ª ocorrência – Pessoa física<br />

2ª ocorrência – Pessoa jurídica<br />

3ª ocorrência – Pessoa jurídica<br />

4ª ocorrência – Pessoa física<br />

5ª ocorrência – Pessoa física<br />

A B C D E F G H I J L M N O P<br />

X X X X X X X X X X X<br />

X X X X X X X X X X<br />

X X X X X X X X X X<br />

X X X X X X X X X X X<br />

X X X X X X X X X X X<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 67


Especialização Total<br />

CLIENTE<br />

DADOS COMUNS A PESSOA<br />

FÍSICA E PESSOA JURÍDICA<br />

DADOS APENAS DE<br />

PESSOA FÍSICA<br />

DADOS APENAS DE<br />

PESSOA JURÍDICA<br />

• Sempre existem valores que ficam nulos em cada ocorrência da<br />

entidade (nulos inaplicáveis).<br />

• A existência de valores nulos inaplicáveis indica que a entidade<br />

deve ser especializada.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 68


Especialização Total<br />

• A especialização é feita criando-se:<br />

• uma entidade para armazenar os dados comuns;<br />

• uma entidade para guardar cada grupo de dados particulares.<br />

A<br />

B<br />

CLIENTE<br />

C<br />

D<br />

E<br />

dados comuns<br />

F<br />

G<br />

P. FÍSICA<br />

X X X X X X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

H<br />

I<br />

J<br />

dados de<br />

pessoa física<br />

L<br />

X X X X X<br />

X X X X X<br />

P. JURÍDICA<br />

M<br />

N<br />

O<br />

P<br />

X X X X<br />

X X X X<br />

dados de<br />

pessoa jurídica<br />

pessoa física, pessoa jurídica, pessoa<br />

jurídica, pessoa física, pessoa física<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 69


Especialização Parcial<br />

• Ocorre quando nem toda ocorrência da entidade genérica<br />

corresponde a uma ocorrência em uma das entidades<br />

especializadas.<br />

FUNCIONARIO<br />

p<br />

Indica que nem<br />

todo funcionário<br />

é motorista ou<br />

engenheiro<br />

MOTORISTA<br />

ENGENHEIRO<br />

• Na especialização parcial, não existe a obrigatoriedade de uma<br />

ocorrência da entidade genérica corresponder a uma ocorrência<br />

em uma das entidades especializadas.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 70


Especialização Parcial<br />

Entidade FUNCIONARIO - 15 atributos e 6 ocorrências<br />

1ª ocorrência – Motorista<br />

2ª ocorrência – Engenheiro<br />

3ª ocorrência – Secretária<br />

4ª ocorrência – Motorista<br />

5ª ocorrência – Digitador<br />

6ª ocorrência – Engenheiro<br />

A B C D E F G H I J L M N O P<br />

X X X X X X X X X X X<br />

X X X X X X X X X X<br />

X X X X X X<br />

X X X X X X X X X X X<br />

X X X X X X<br />

X X X X X X X X X X<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 71


Especialização Parcial<br />

FUNCIONARIO<br />

DADOS COMUNS A TODOS<br />

OS FUNCIONÁRIOS<br />

DADOS APENAS<br />

DE MOTORISTA<br />

DADOS APENAS<br />

DE ENGENHEIRO<br />

• A existência de valores nulos inaplicáveis em todas as ocorrências<br />

indica que a entidade deve ser especializada.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 72


Especialização Parcial<br />

• São criadas entidades apenas para as funções que têm atributos<br />

particulares.<br />

• Não existe a necessidade da criação de entidades para as funções<br />

de secretária e digitador.<br />

FUNCIONARIO<br />

MOTORISTA<br />

ENGENHEIRO<br />

A B C D E F<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

dados comuns<br />

G<br />

H<br />

I<br />

J<br />

dados de<br />

motorista<br />

L<br />

X X X X X X X X X<br />

X X X X X X X X X<br />

M<br />

N<br />

O<br />

dados de<br />

engenheiro<br />

motorista, engenheiro, secretária,<br />

motorista, digitador, engenheiro<br />

P<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 73


Especialização Parcial<br />

• Quando há uma especialização parcial, na entidade genérica<br />

aparece um atributo que identifica o tipo de ocorrência desta<br />

entidade.<br />

FUNCIONARIO<br />

A B C D E F<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

X X X X X X<br />

TIPO<br />

MOT<br />

ENG<br />

SEC<br />

MOT<br />

DIG<br />

ENG<br />

MOTORISTA<br />

G H I J L<br />

X X X X X<br />

X X X X X<br />

ENGENHEIRO<br />

M N O P<br />

X X X X<br />

X X X X<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 74


Especialização Exclusiva<br />

• Ocorre sempre que uma ocorrência da entidade genérica só<br />

puder pertencer a uma das entidades especializadas, não<br />

pertencendo, simultaneamente, à outra.<br />

CLIENTE<br />

x<br />

Indica que um<br />

cliente não pode<br />

ser pessoa física e<br />

pessoa jurídica ao<br />

mesmo tempo<br />

PESSOAFÍSICA<br />

PESSOAJURÍDICA<br />

• Uma ocorrência da entidade genérica aparece em apenas uma<br />

das entidades especializadas (categorias diferentes).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 75


Especialização Compartilhada<br />

• Ocorre sempre que uma ocorrência da entidade genérica puder<br />

pertencer, simultaneamente, a mais de uma das entidades<br />

especializadas.<br />

PESSOA<br />

c<br />

Indica que uma<br />

pessoa pode ser<br />

aluno e professor ao<br />

mesmo tempo<br />

ALUNO<br />

PROFESSOR<br />

• Uma ocorrência da entidade genérica pode aparecer em mais de<br />

uma das entidades especializadas (papéis simultâneos).<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 76


Agregação - Entidade Associativa<br />

• Ocorre quando um relacionamento de cardinalidade máxima N:N<br />

é percebido como um objeto que se relaciona opcionalmente<br />

com uma terceira entidade.<br />

• Exemplo:<br />

• Em uma clínica médica existem vários médicos que consultam<br />

os pacientes e prescrevem medicamentos.<br />

MÉDICO<br />

(1,n)<br />

CONSULTA<br />

(0,n)<br />

PACIENTE<br />

• Devemos relacionar MEDICAMENTO a MÉDICO ou a PACIENTE?<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 77


Agregação<br />

• Características do modelo:<br />

• O relacionamento entre MÉDICO e PACIENTE tem cardinalidade<br />

máxima de N:N;<br />

• O MEDICAMENTO só será prescrito se o MÉDICO consultar o<br />

PACIENTE.<br />

ou seja:<br />

• Existe um relacionamento de cardinalidade máxima N:N;<br />

• Existe uma terceira entidade, opcional, cuja existência depende<br />

diretamente da existência desse relacionamento;<br />

• Logo, podemos fazer uma agregação.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 78


Agregação<br />

• Para realizar uma agregação devemos:<br />

• Transformar o relacionamento N:N em uma entidade associativa:<br />

• O relacionamento entre MÉDICO e PACIENTE se transforma<br />

em uma entidade associativa.<br />

• Relacionar esta entidade associativa com a terceira entidade do<br />

sistema:<br />

• Estabelecer o relacionamento entre a entidade associativa e<br />

MEDICAMENTO;<br />

• Definir as cardinalidades desse relacionamento.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 79


Agregação<br />

MÉDICO<br />

(1,n)<br />

CONSULTA<br />

(0,n)<br />

PACIENTE<br />

(0,n)<br />

PRESCREVE<br />

(0,n)<br />

MEDICAMENTO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 80


Agregação<br />

• Entidade Associativa:<br />

• A entidade associativa não existe por si só;<br />

• Sua existência está condicionada à existência de duas outras<br />

entidades e resulta da associação entre elas;<br />

• Seu identificador é geralmente formado pela concatenação dos<br />

identificadores das duas entidades que lhe deram origem<br />

(atributos referenciais). Entretanto, em algumas situações, tornase<br />

necessário a concatenação com mais atributos para garantir a<br />

unicidade das ocorrências.<br />

• Lembrando que esses identificadores (atributos referenciais) não<br />

devem ser colocados no diagrama E-R.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 81


Agregação<br />

codmed<br />

data<br />

codpac<br />

MÉDICO<br />

(1,n)<br />

CONSULTA<br />

(0,n)<br />

PACIENTE<br />

codmed<br />

(0,n)<br />

codpac<br />

PRESCREVE<br />

(0,n)<br />

MEDICAMENTO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 82


Agregação<br />

• Exercício 1:<br />

• Um engenheiro participa de um ou muitos projetos e em cada<br />

projeto um engenheiro pode exercer uma função. Os dados de<br />

engenheiro são: código, crea, nome, endereço, telefone, data de<br />

início em cada projeto, função exercida em cada projeto e data<br />

de início em cada função.<br />

• Em um projeto podem participar vários engenheiros. Os dados<br />

de projeto são: código, nome, duração e engenheiros que<br />

participam do projeto.<br />

• Uma função pode ser exercida por muitos engenheiros. Os dados<br />

de função são: código, nome, gratificação e engenheiros que<br />

exercem a função.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 83


Agregação<br />

• Exercício 2:<br />

• Refaça o exercício anterior, considerando agora que um<br />

engenheiro só pode participar de um projeto e que em um<br />

projeto cada engenheiro pode exercer várias funções.<br />

• Exercício 3:<br />

• Refaça o exercício anterior, considerando agora que um<br />

engenheiro só pode participar de um projeto e que em um<br />

projeto cada engenheiro só pode exercer uma função.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 84


Equivalência entre Esquemas<br />

• Dois esquemas E-R diferentes são equivalentes quando modelam<br />

a mesma realidade.<br />

• Para fins de projeto, dois esquema E-R diferentes são<br />

equivalentes quando geram o mesmo esquema lógico.<br />

• Esquemas equivalentes geram bancos de dados distintos que<br />

tem a mesma estrutura de tabelas e relacionamentos.<br />

• Nessa equivalência deve-se considerar o conjunto de regras de<br />

transposição entre os modelos conceitual e lógico.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 85


Equivalência entre Esquemas<br />

• Exemplo: O relacionamento N:N entre as entidades MÉDICO e<br />

PACIENTE, no qual a CONSULTA pode ser vista como um<br />

relacionamento entre essas entidades.<br />

MÉDICO<br />

(1,n)<br />

CONSULTA<br />

(0,n)<br />

PACIENTE<br />

codmed<br />

datahora<br />

codpac<br />

• Nesse caso, a CONSULTA é modelada como sendo um<br />

relacionamento porque ela é vista como sendo uma ação que<br />

ocorre entre as entidades MÉDICO e PACIENTE.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 86


Equivalência entre Esquemas<br />

• A CONSULTA também pode ser vista como uma entidade fraca<br />

que se relaciona com MÉDICO e PACIENTE.<br />

MÉDICO<br />

PACIENTE<br />

(1,1) (1,1)<br />

codmed<br />

codpac<br />

(0,n)<br />

(1,n)<br />

ATENDE CONSULTA<br />

TEM<br />

data_hora<br />

• Os dois esquemas E-R mostrados, embora diferentes, são<br />

equivalentes porque geram o mesmo esquema lógico.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 87


Determinando Construções E-R<br />

• A determinação da construção E-R usada para modelar um dado<br />

deve ser escolhida analisando-se o contexto no qual o dado está<br />

inserido.<br />

• Deve-se considerar a possibilidade de que a construção escolhida<br />

para modelar um dado pode sofrer modificações durante o<br />

processo de modelagem.<br />

• O conhecimento da realidade a ser modelada e a experiência<br />

acumulada em modelagens anteriores irão refinar e aperfeiçoar<br />

o desenvolvimento do esquema E-R.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 88


Atributo X Entidade Relacionada<br />

• Quando modelar um dado como sendo um atributo de uma<br />

entidade A e quando modelar esse mesmo dado como sendo<br />

uma outra entidade B relacionada a esta entidade A?<br />

PRODUTO<br />

tipo<br />

PRODUTO<br />

(0,n) (1,1)<br />

POSSUI<br />

TIPO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 89


Atributo X Entidade Relacionada<br />

• Critérios:<br />

• O dado possui propriedades (atributos)?<br />

• Se sim, deve ser modelado como entidade.<br />

• Se não, pode ser modelado como atributo.<br />

• O dado está vinculado a outras entidades?<br />

• Se sim, deve ser modelado como entidade.<br />

• Se não, pode ser modelado como atributo.<br />

• O conjunto de valores que pode ser atribuído ao dado é fixo<br />

ou se altera com as transações do sistema?<br />

• Se é fixo, pode ser modelado como atributo.<br />

• Se é variável, deve ser modelado como entidade.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 90


Atributo X Entidade(s) Especializada(s)<br />

• Quando modelar um dado como sendo um atributo de uma<br />

entidade e quando modelar esse mesmo dado como sendo uma<br />

especialização dessa entidade?<br />

FUNCIONÁRIO<br />

categoria<br />

FUNCIONÁRIO<br />

VENDEDOR<br />

ENGENHEIRO<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 91


Atributo X Entidade(s) Especializada(s)<br />

• Critérios:<br />

• O dado possui conjuntos de atributos particulares que<br />

possibilitam a criação de entidades especializadas?<br />

• Se sim, deve ser modelado como entidade(s).<br />

• Se não, pode ser modelado como atributo.<br />

• O dado possui conjuntos de atributos que possuem<br />

relacionamentos próprios?<br />

• Se sim, deve ser modelado como entidade(s).<br />

• Se não, pode ser modelado como atributo.<br />

• Essa opção não é muito utilizada.<br />

• A especialização pode ser total ou parcial, exclusiva ou<br />

compartilhada.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 92


Mantendo o Histórico dos Atributos<br />

• Como manter o histórico dos valores de salário de um<br />

funcionário, considerando que o salário é um atributo da<br />

entidade FUNCIONÁRIO?<br />

FUNCIONÁRIO<br />

salário<br />

• Nesse caso, o banco de dados irá armazenar apenas o salário<br />

atual do funcionário. O que deve ser feito para armazenar os<br />

salários que o funcionário recebeu ao longo do tempo?<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 93


Mantendo o Histórico dos Atributos<br />

• Considerando que será necessário armazenar os diversos salários<br />

de cada funcionário ao longo do tempo, o atributo salário passou<br />

a ser multivalorado e essa indicação deverá ser adicionada ao<br />

esquema E-R, acrescido das informações das datas em que o<br />

funcionário começou e terminou de receber cada um dos<br />

salários, que também serão atributos multivalorados.<br />

FUNCIONÁRIO<br />

salário (1,n)<br />

dtinicio (1,n)<br />

dtfim (0,n)<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 94


Mantendo o Histórico dos Relacionamentos<br />

• Como manter o histórico do relacionamento entre as entidades<br />

FUNCIONÁRIO e FUNÇÃO, mostrado abaixo:<br />

FUNCIONÁRIO<br />

(0,n) (1,1)<br />

EXERCE<br />

FUNÇÃO<br />

• Nesse caso, cada funcionário só pode exercer uma função. O que<br />

deve ser feito para armazenar as funções que o funcionário já<br />

exerceu ao longo do tempo?<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 95


Mantendo o Histórico dos Atributos<br />

• Considerando que será necessário armazenar as diversas funções<br />

exercidas por cada funcionário ao longo do tempo, o<br />

relacionamento entre FUNCIONÁRIO e FUNÇÃO passa a ser de<br />

N:N, considerando que cada funcionário pode exercer várias<br />

funções, sendo apenas uma a cada instante. É necessário colocar<br />

no relacionamento as datas em que o funcionário começou e<br />

terminou de exercer cada função.<br />

FUNCIONÁRIO<br />

(0,n)<br />

EXERCE<br />

(1,n)<br />

FUNÇÃO<br />

dtinicio<br />

dtfim<br />

O <strong>Modelo</strong> <strong>Conceitual</strong><br />

24/10/2019 96


Copyright © 2019 Nilton Freire Santos.<br />

Todos os direitos reservados.<br />

O <strong>Modelo</strong> <strong>Conceitual</strong> 24/10/2019 97

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!