Modelagem de
Banco de Dados
Parte do conteúdo exposto nestas transparências foi retirado dos livros: “Projeto de Banco de Dados”, de Carlos A. Heuser ;
“Projeto de Banco de Dados - Uma visão prática”, de Felipe Machado e Maurício Abreu
Parte 2
Abordagem
Objetivos
3
Compreender os conceitos de ENTIDADE e algumas
de suas características: RELACIONAMENTO, ATRIBUTO, CARDINALIDADE
Abordagem Entidade-Relacionamento
• A primeira etapa do projeto de um banco de
dados é a construção de um modelo conceitual,
a chamada
Modelagem Conceitual.4
AModelagem Conceitual tem por objetivo obter uma
descrição abstrata, independente de implementação em computador, dos dados que serão armazenados no banco de dados. CONCEITUAL MODELO CONCEITUAL MODELO LÓGICO MODELO FÍSICO
Abordagem Entidade-Relacionamento
Dentre as técnicas mais difundidas e utilizadas para
a modelagem conceitual dos dados destacam-se:
o Abordagem Entidade-Relacionamento, definida
por Peter Chen em 1976 e que segue a metodologia de desenvolvimento Estruturado de Sistemas
o UML (Unified Modeling Language), que é uma
metodologia de desenvolvimento Orientado a Objeto
5
Abordagem Entidade-Relacionamento
6
A UML é uma excelente metodologia, porém, até
este momento, depara-se com um grande problema:
ainda não existe um Banco de Dados totalmente Orientado a Objeto.
Para solucionar tal problema, a UML utiliza um
procedimento denominado “Mapeamento Objeto-Relacional”, de forma a permitir que as estruturas definidas no modelo Orientado a Objeto possam ser implementadas em um Banco de Dados Relacional.
Modelo Entidade-Relacionamento
7
Peter Chen, ao formular a proposta do modelo E-R
baseou-se na compreensão da realidade em que se situava o problema e não na visão de um sistema de aplicação.
CHEN preocupou-se em destacar a importância de
reconhecer os objetos (coisas) que compõem este negócio, independentemente de preocupar-se com formas de tratamento das informações, procedimentos, programas, etc
Estes objetos ele classificou em dois grupos:
ENTIDADE e RELACIONAMENTO
Abordagem Entidade-Relacionamento
8
Faz Contém
O fato acima pode acontecer em qualquer realidade. Ele deve, portanto, ser retratado através de elementos básicos que compõem o Modelo ER.
PEDIDO
Modelo Entidade-Relacionamento (M.E.R.)
9
Os componentes básicos do Modelo ER são:
ENTIDADES RELACIONAMENTOS
ATRIBUTOS
O Modelo Entidade Relacionamento (M.E.R.) é
representado graficamente pelo Diagrama Entidade Relacionamento (D.E.R.) e este é convertido para o Modelo Relacional/Lógico para ser implementado fisicamente num Banco de Dados Relacional.
Modelo ER: ENTIDADE
10 ENTIDADE
“Conjunto de objetos da realidade modelada sobre
os quais deseja-se manter informações no Banco de Dados” (Heuser). Considera-se objeto qualquer coisa perceptível ou manipulável.
São as “coisas” que existem no negócio sobre as
quais temos interesse em manter armazenadas no banco de dados.
É uma “coisa” ou um “objeto” no mundo real que
pode ser identificada de forma única em relação aos outros objetos.
Modelo ER: ENTIDADE
11 ENTIDADE
Uma ENTIDADE é uma representação de um
CONJUNTO DE DADOS do negócio, um conjunto de informações de mesmas características e suas ocorrências.
É representada através de um retângulo com o nome
da entidade em seu interior.
CLIENTE PRODUTO FUNCIONÁRIO
NOTA FISCAL
ORDEM DE PRODUÇÃO
Modelo ER: ENTIDADE
12 Exemplo:
CLIENTE
O retângulo CLIENTE representa o conjunto de todas as pessoas sobre as quais se deseja manter informações no BD..
Este objeto particular (um dos clientes) é chamado de OCORRÊNCIA de uma entidade, neste caso CLIENTE.
Modelo ER: ENTIDADE
13
As ocorrências de uma entidade não são
representadas no DER mas são semanticamente interpretadas no mesmo, ou seja, ao visualizar uma entidade, devemos entendê-la como uma tabela de dados, onde cada linha representa uma ocorrência da mesma.
FUNCIONÁRIO
Matrícula Nome Data Admissão
4456 João Carlos da Silva 29/04/91 6689 Sílvia de Oliveira 26/02/92 1203 Carla Martinez 14/04/92
Modelo ER: ENTIDADE
14 Exemplo:
Quais são as “coisas” que vocês conseguem
identificar nos LABORATÓRIOS de INFORMÁTICA da UNINOVE ? Máquinas Bancadas Pessoas Quadro-negro Canetas Ar-condicionado
Modelo ER: ENTIDADE
15 PERGUNTA 1 !!
Todas estas “coisas” identificadas deveriam ter seus dados armazenados, caso nós quiséssemos desenvolver um Sistema para Controlar os Equipamentosdos Laboratórios de Informática?
NÃO!!!
Pois se quero controlar equipamentos, a entidade PESSOA, por exemplo, não
teria importância alguma no contexto
Modelo ER: ENTIDADE
16 PERGUNTA 2 !!
Se ao invés do caso anterior, nós quiséssemos desenvolver um sistema para controlar não somente os Equipamentos existentes, mas também a Utilização dos Laboratórios ?
Neste caso temos que lembrar que quem utiliza, ou seja, as PESSOAS são
Modelo ER: PROPRIEDADES
17
Além de especificar as entidades, ou seja, os objetos
sobre os quais se deseja manter informações, o MER deve permitir a especificação das PROPRIEDADES destas entidades.
Estas propriedades são :
Participar de um Relacionamento Ter um ATRIBUTO
Modelo ER : ATRIBUTO
18 ATRIBUTODado que é associado a cada ocorrência de uma
entidade ou de um relacionamento (características específicas)
Modelo ER: ATRIBUTO
19 Ex 1: Projeto
• Em uma entidade Projeto, por exemplo, poderá ser importante armazenar o Código, o Tipo e no nome do Projeto. A representação gráfica deverá ficar, então:
PROJETO tipo código nome ENTIDADE ATRIBUTOS
Modelo ER: ATRIBUTO
20 Ex 2: Funcionário
• Vamos supor que em uma empresa temos uma entidade chamada Funcionario, ou seja, um objeto sobre o qual desejamos manter informações.
O que descreve FUNCIONÁRIO?
- um número de matrícula, o nome do funcionário, sua data de admissão, data de nascimento, valor do salário,...
FUNCIONÁRIO Número Matrícula Nome Data Admissão Data Nascimento Valor Salário
Modelo ER: ATRIBUTO
21 Cada ocorrência de Funcionário será formada por valores nestes atributos e o conjunto destes valores representa a informação de um funcionário que devemos visualizar como uma linha de uma tabela de dados.
Entidade: Funcionário
Matrícula Nome Data
Admissão
4456 João Carlos da Silva 29/04/91 6689 Sílvia de Oliveira 26/02/92 1203 Carla Martinez 14/04/92 7702 Pedro Guilherme Souza 01/01/92
Modelo ER: ATRIBUTO
22 CLIENTE
Endereço Nome
CPF
Os atributos podem ser de vários tipos:
monovalorado: possui apenas um valor que não pode ser decomposto. Ex:CPF
multivalorado: possui vários valores na mesma ocorrência. Ex:Telefone
composto: possui vários valores sobre o mesmo nome e quando decomposto não perde o sentido. Ex:Nome, Endereço
Modelo ER: ATRIBUTO IDENTIFICADOR
23 Cada entidade deve possuir um identificador!!! IDENTIFICADOR ⇒ é um conjunto de um ou mais atributos (e possivelmente relacionamentos) cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade
PESSOA código nome endereço DISCIPLINA Cód. Departamento Cód. Disciplina Nome da disciplina Identificador simples Identificador composto
Modelo ER: ATRIBUTO IDENTIFICADOR
24 O identificador de uma Entidade deve obedecer UMA propriedade:
Deve ser MÍNIMO ⇒ isto é, se retirarmos um dos atributos ou relacionamentos que o compõe, ele deixa de ser identificador
PESSOA
código nome endereço
Não é necessário utilizar Código e nome para identificar a entidade.
Códigoé suficiente para distinguir as ocorrências de PESSOA
Modelo ER: RELACIONAMENTO
25 RELACIONAMENTO
Conjunto de associações entre entidades
DEPARTAMENTO LOTAÇÃO PESSOA
• Um conjunto de objetos classificados como pessoa (Entidade PESSOA) ;
• Um conjunto de objetos classificados como departamento (Entidade DEPARTAMENTO);
• Um conjunto de ASSOCIAÇÕES, cada uma ligando um departamento a uma pessoa (relacionamento LOTAÇÃO);
Modelo ER: RELACIONAMENTO
26 No nosso dia-a-dia convivemos com os mais variados tipos de entidades (objetos reais), que são descritos por uma série de atributos (características) e que expressam uma realidade de existência.
Estas entidades do dia-a-dia estão relacionadas de forma a mostrar a realidade com um conteúdo lógico:
♦As pessoas Moram em Apartamentos;
♦Os apartamentos Formam Condomínios;
♦Os condomínios Localizam-se em Ruas ou Avenidas;
Modelo ER: RELACIONAMENTO
27 RELACIONAMENTO
Assim como ocorre com as entidades, temos as
ocorrências de relacionamentos.
Isto pode ser melhor observado através do Diagrama de Ocorrências. Nele, ocorrências de entidades são representadas por círculos brancos e de relacionamentos por círculos pretos.
Modelo ER: RELACIONAMENTO
28 p1,d1 p1 p 2 p4 p5 p3 p7 p 8 d1 d2 d3 p2,d1 p4,d2 p5,d3 Diagrama de ocorrências PESSOA DEPARTAMENTO LOTAÇÃO
Neste caso, uma ocorrência seria um par específico
formado por uma determinada ocorrência da entidade PESSOA e por uma determinada ocorrência da entidade DEPARTAMENTO
Entidade
Relacionamento
Modelo ER: RELACIONAMENTO
29 No exemplo, ATUAÇÃO possui um atributo (Função),
ou seja, o papel que um engenheiro deve desempenhar dentro de um projeto. ENGENHEIRO código nome PROJETO código título ATUAÇÃO (0,n) (0,n) Função
Assim como Entidade, Relacionamentos também podem possuir atributos
Função⇒ENGENHEIRO Função ⇒PROJETO
Modelo ER: CARDINALIDADE
30
CARDINALIDADE (mínima e máxima)
num relacionamento
É o número (mínimo,máximo) de ocorrências de uma entidade associadas a
uma ocorrência de outra entidade através do relacionamento
Modelo ER: LEITURA da CARDINALIDADE
31
HOMEM CASADO
?
MULHERPERGUNTA:
Um homem pode estar casado com quantas mulheres?
HOMEM CASADO (0,1) MULHER
RESPOSTA:
Um homem pode não ser casado com NENHUMA mulher, portanto a cardinalidade mínima é “0”;
Um homem pode se casar com no máximo UMA mulher, portanto, a cardinalidade máxima é “1”;
Modelo ER: LEITURA da CARDINALIDADE
32
HOMEM
?
CASADO MULHERPERGUNTA:
Uma mulher pode estar casada com quantos homens?
HOMEM (0,1) CASADO MULHER
RESPOSTA:
Uma mulher pode não ser casada com NENHUM homem, portanto a cardinalidade mínima é “0”;
Uma mulher pode se casar com no máximo UM homem, portanto, a cardinalidade máxima é “1”;
Modelo ER: LEITURA da CARDINALIDADE
33
HOMEM CASADO (0,1) MULHER
HOMEM (0,1) CASADO MULHER
HOMEM (0,1) CASADO (0,1) MULHER
Modelo ER: Cardinalidade MÍNIMA
34
Cardinalidade Mínima ⇒ é o número mínimo de ocorrências de uma entidade associadas a uma ocorrência de outra entidade num relacionamento
Consideram-se apenas duas cardinalidades:
Obrigatória (“1”) ⇒ indica que o relacionamento deve obrigatoriamente associar uma ocorrência de uma entidade a uma ocorrência de outra entidade
Opcional (“0”) ⇒ indica que o relacionamento existe independente de haver ou não uma ocorrência de uma entidade ligada à outra
Modelo ER: Cardinalidade MÍNIMA
35
Cada empregado deve estar obrigatoriamente
alocado a um setor-departamento (“1”)
Um setor-departamento pode existir mesmo que
não exista nenhum empregado alocado nele (“0”)
EMPREGADO
DEPARTAMENTO
ALOCAÇÃO
(
0
,n)
(
1
,1)
Modelo ER: Cardinalidade MÁXIMA
36
Cardinalidade Máxima ⇒ é o número máximo de ocorrências de uma entidade associadas a uma ocorrência de outra entidade num relacionamento
Consideram-se apenas duas cardinalidades:
“n” ⇒ indica que uma ocorrência de uma determinada entidade pode estar associada a muitas ocorrências da entidade relacionada a ela “1” ⇒ indica que uma ocorrência de uma determinada entidade pode estar associada a no máximo UMA ocorrência da entidade relacionada a ela
Modelo ER: Cardinalidade MÁXIMA
37 Uma ocorrência de departamento pode estar associada a muitas (“n”) ocorrências de empregado, isto é, Departamento tem cardinalidade máxima n no relacionamento LotaçãoEMPREGADO LOTAÇÃO DEPARTAMENTO
(0,n) (1,1)
Uma ocorrência de empregado pode estar associada a no máximo uma (“1”) ocorrência de departamento, isto é, empregado tem cardinalidade máxima 1 no relacionamento Lotação 38
Modelo ER: TIPO DE RELACIONAMENTO
TIPO DE RELACIONAMENTO
1:1 1:N N:N
Para a descoberta do tipo de relacionamento devemos analisar de forma macro a possibilidade de relacionamentos entre as entidades, sendo que a ocorrência de maior valor é que determina sempre o tipo do relacionamento (cardinalidade máxima). São eles:
TIPO DE RELACIONAMENTO TIPO DE RELACIONAMENTO
Modelo ER: TIPO DE RELACIONAMENTO
39
HOMEM (0,1) CASADO MULHER
HOMEM A • B • C • D • MULHER
•
X•
Y•
Z•
W (0,1)Relacionamento de 1:1 ⇒ Cada elemento de uma
entidade relaciona-se com um e somente um elemento de outra entidade
Modelo ER: TIPO DE RELACIONAMENTO
40 Cada divisão é gerenciada por UM e apenas UM gerente Cada gerente administra UMA e apenas UMA divisão
Exemplo Relacionamento de 1:1
DIVISÃO GERENCIADA GERÊNCIA
Modelo ER: TIPO DE RELACIONAMENTO
41 MÃE A • B • C • FILHO • a • b • c • d • e • fEste tipo de relacionamento é o mais comum no
mundo real, entretanto, possui características específicas quanto ao sentido de leitura dos fatos e sua interpretação
Relacionamento de 1:N ⇒ Cada elemento da
entidade A relaciona-se com muitos elementos da entidade B, mas cada elemento da entidade B só pode estar relacionado a um elemento da entidade A
Modelo ER: TIPO DE RELACIONAMENTO
42
MÃE POSSUI (1,n) FILHO
MÃE (1,1) POSSUI FILHO
MÃE (1,1) POSSUI (1,n) FILHO
A cardinalidade
determinante é sempre a máxima obtida da interpretação dos fatos
Modelo ER: TIPO DE RELACIONAMENTO
43
Regra geral: um relacionamento é do tipo 1:N
quando um sentido de leitura dos fatos nos apresenta a cardinalidade máxima de 1:N e o sentido oposto apresenta obrigatoriamente cardinalidade máxima de 1:1
MÃE (1,1) POSSUI (1,n) FILHO
EMPREGADO (1,1) POSSUI (0,n) DEPENDENTE
Modelo ER: TIPO DE RELACIONAMENTO
44 ESTUDANTE E1 • E2 • E3 • E4 • E5 • DISCIPLINA
• D1
• D2
• D3
• D4
ESTUDANTE E1 • E2 • E3 • E4 • E5 • DISCIPLINA• D1
• D2
• D3
• D4
Relacionamento de N:N⇒Em ambos os sentidos de
leitura encontramos uma cardinalidade máxima de 1:N, o que caracteriza ser então um contexto geral de N:N
Modelo ER: TIPO DE RELACIONAMENTO
45 Exemplo Relacionamento de N:N DISCIPLINA CURSA ALUNO (0,n) (0,n)Modelo ER: TIPO DE RELACIONAMENTO
46 ALUNO E1 • E2 • E3 • E4 • E5 • DISCIPLINA
• D1
• D2
• D3
• D4
CURSA 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 •Modelo ER: TIPO DE RELACIONAMENTO
47
Cada produto é fornecido por UM ou MUITOS fornecedores Cada fornecedor fornece UM ou MUITOS produtos
Este tipo de relacionamento caracteriza-se por apresentar atributos, isto é, o relacionamento possui dados que são
inerentes ao fato e não as entidades
FORNECEDOR (0,n) FORNECE (0,n) PRODUTO
Exemplo Relacionamento de N:N
Vl_Unit
Modelo ER: IDENTIFICANDO ENTIDADES
48 IDENTIFICADOR Relacionamento ⇒ quando o identificador
de uma entidade é composto por atributos da própria entidade e também por relacionamentos dos quais a entidade participa
Número seqüência EMPREGADO código nome DEPENDENTE nome (1,1) (0,n)
CADA dependente está relacionado a exatamente UM empregado um dependente é identificado através do código do empregado ao qual ele está relacionado e por um número de seqüência que distingue os diferentes dependentes de um mesmo empregado
Alguns autores chamam esta entidade de “FRACA” pois ela só existe relacionada à outra entidade
49
Modelo ER: GRAU DE RELACIONAMENTO
GRAU DE RELACIONAMENTO
É o número de entidades ligadas num mesmo relacionamento. São eles:
Grau 1 ou Auto-relacionamento Grau 2 ou Binário
Grau 3 ou Ternário
N-ário (acima de 3 entidades)
Modelo ER: GRAU DE RELACIONAMENTO
50
Grau 1 ou Auto-relacionamento ⇒ Quando existe
apenas uma entidade envolvida num relacionamento, ou seja, uma entidade se relacionando com ela mesma.
Neste caso, é necessário definir o papel da entidade no
relacionamento, ou seja, a função que a entidade exerce dentro do relacionamento PESSOA CASAMENTO marido esposa p1 p 2 p4 p5 p3 p7 p 8 p2,p3 p4,p5
Uma ocorrência de pessoa exerce o papel de marido e a outra ocorrência exerce o papel de esposa
marido
marido esposa esposa
Modelo ER: GRAU DE RELACIONAMENTO
51
Grau 2 ou Binário ⇒ é quando existem duas
entidades envolvidas num mesmo relacionamento. 1:1⇒Um para Um
HOMEM 1 CASADO 1 MULHER
1:N⇒Um para Muitos
ALUNO n INSCRIÇÃO 1 CURSO
N:N⇒Muitos para muitos
MÉDICO n ATENDE n PACIENTE
Modelo ER: GRAU DE RELACIONAMENTO
52
CIDADE DISTRIBUIDOR
DISTRIBUIÇÃO
PRODUTO
Cada ocorrência do relacionamento DISTRIBUIÇÃO associa três ocorrências de entidade:
- um produto a ser distribuído,
- uma cidade na qual é feita a distribuição e - um distribuidor
n
1
n
Grau 3 ou Ternário ⇒ é quando existem três
Modelo ER: GRAU DE RELACIONAMENTO
53 CIDADE DISTRIBUIDOR DISTRIBUIÇÃOn
1
PRODUTOn
Cada par de ocorrências de Cidade e Produto está relacionado a NO MÁXIMO um distribuidor , isto é, em cada cidade só pode haver um distribuidor para cada produto.
Neste caso analisaremos PARES de entidades
A cardinalidade “1”refere-se a um par cidade produto
Modelo ER: GRAU DE RELACIONAMENTO
54 CIDADE DISTRIBUIDOR DISTRIBUIÇÃO
n
1
PRODUTOn
(Cidade, Produto) está associado a no Máximo 1
Distribuidor ⇒ Cada produto só pode ter um
distribuidor em cada cidade
(Cidade, Distribuidor) está associada a MUITOS
produtos ⇒ um distribuidor pode distribuir muitos
produtos em uma cidade
(Distribuidor, Produto) está associado a MUITAS
Modelo ER: EXERCÍCIOS
55 DEPARTAMENTO DISCIPLINA RESPONSÁVEL (1,1) (0,n) ALUNO CURSO DISC-CURSO INSCRIÇÃO (0,n) (1,1) (0,n) (0,n) PRÉ_REQUIS (0,n)(
0,n)
1) Explique a diferença entre uma entidade e umaocorrência de entidade.
2) Observe o MER e responda às questões:
Modelo ER: EXERCÍCIOS
56 Identifique as entidades e os relacionamentos do modelo; Interprete cada um dos relacionamentos abaixo,
identificando o tipo de cardinalidade e o grau do relacionamento:
a)
b)
c) d)
DEPARTAMENTO RESPONSÁVEL DISCIPLINA
(1,1) (0,n) DISCIPLINA PRÉ_REQUIS (0,n) (0,n) (0,n) (1,1) DISCIPLINA CURSO DISC-CURSO (0,n) (0,n) INSCRIÇÃO ALUNO CURSO
Modelo ER: EXERCÍCIOS
57 3) Identifique a Cardinalidade dos relacionamentos,
exibindo os passos conforme o exemplo:
Um Aluno DEVE estar inscrito em no mínimo um curso (mínimo “1”) e somente UM curso (máximo “1”).
Um Curso pode ter NENHUM aluno inscrito ou MUITOS alunos inscritos.
a)
b)
____
____
ALUNO INSCRIÇÃO CURSO
(0,n) (1,1)
____
MÉDICO ATENDE PACIENTE
____
PROJETO
ENGENHEIRO ALOCAÇÃO
Modelo ER: EXERCÍCIOS
58 c) d) e) f) PRODUTO COMPOSIÇÃO
____
compõe____
é compostoPEÇA FORNECE FORNECEDOR
____
____
POSSUI____
___
MEDICAMENTO MEDICAMENTO PRESCRIÇÃO____
___
MÉDICO EMPREGADO DEPENDENTEModelo ER: EXERCÍCIOS
59 4) Identifique as entidades, os relacionamentos e a
cardinalidade entre os relacionamentos, como no exercício 1. EMPREGADO DEPARTAMENTO DEPENDENTE PROJETO controla trabalha gerencia trabalha possui
GENERALIZAÇÃO/ESPECIALIZAÇÃO
60É importante, durante a visualização dos dados, prestar atenção ao nível de abstração em que estamos atuando, pois, quando definimos uma entidade, estamos com a visão de uma classe genérica de dados, que pode estar incorporando, implicitamente, diversas outras classes de dados
Ou seja, temos classes diferenciadas mas que possuem características que nos permitam colocá-las sob a visão de
uma única entidade.
Por exemplo, CLIENTE é na realidade uma generalização
para diversas classes de dados de clientes, tais como:
- Cliente – Pessoa Física - Cliente – Pessoa Jurídica
GENERALIZAÇÃO/ESPECIALIZAÇÃO
61 Através deste conceito é possível atribuir propriedades particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica.
FILIAL CLIENTE PESSOA FÍSICA PESSOA JURÍDICA CPF Sexo CNPJ Tipo de organização nome código (0,n) (1,1) Cliente é dividida em dois subconjutnos, as entidades PESSOA FÍSICA e JURÍDICA, cada uma com propriedades específicas
GENERALIZAÇÃO/ESPECIALIZAÇÃO
62 • Mas por que a preocupação deste gênero?
• Quando ela se torna importante?
Ela é importante porque podemos vir a ter na análise funcional do sistema, tratamentos procedurais e diferenciados para cada subconjunto, assim como poderemos tratar simultaneamente todos os conjuntos. Desta forma, devemos representá-los de forma que possamos vir a tratá-los como um todo ou como parte do todo
GENERALIZAÇÃO/ESPECIALIZAÇÃO
63 HERANÇA DE PROPRIEDADE ⇒ cada ocorrência da entidade especializada possui, além de suas propriedades, também as propriedades da ocorrência da entidade genérica. FILIAL CLIENTE PESSOA FÍSICA PESSOA JURÍDICA CPF SEXO CNPJ Tipo de organização nome código (0,n) (1,1)
Pessoa Física tem como atributos nome, código, CPF e sexo.
É identificada pelo código e está obrigatoriamente relacionada a exatamente uma filial.
GENERALIZAÇÃO/ESPECIALIZAÇÃO
64 Generalização TOTAL⇒⇒⇒⇒ para cada ocorrência da entidade
genérica existe sempre uma ocorrência em uma das
entidades especializadas.
Isto é válido para o exemplo pois, para TODA ocorrência de cliente deve haver uma ocorrência em uma das duas especializações CLIENTE PESSOA FÍSICA PESSOA JURÍDICA CPF Sexo CNPJ Tipo de organização nome código
t
GENERALIZAÇÃO/ESPECIALIZAÇÃO
65 Generalização PARCIAL ⇒⇒⇒⇒ nem toda ocorrência da
entidade genérica corresponde a uma ocorrência em uma entidade especializada.
Ex: Nem todo funcionário é Motorista ou secretária!! Neste caso, há necessidade de especificar o atributo que identifica o tipo de ocorrência da entidade genérica
FUNCIONÁRIO MOTORISTA SECRETÁRIA Tipo de funcionário
p
GENERALIZAÇÃO/ESPECIALIZAÇÃO
66Uma entidade pode ser especializada em qualquer número de entidades, inclusive em uma única.
FUNCIONÁRIO MOTORISTA Tipo de funcionário p VEÍCULO VEÍCULO TERRESTRE VEÍCULO AQUÁTICO AUTOMÓVEL VEÍCULO ANFÍBIO BARCO
GENERALIZAÇÃO/ESPECIALIZAÇÃO
67 Só pode haver UMA ENTIDADE GENÉRICA em cada
hierarquia de generalização/Especialização
Modelo ER: ENTIDADE ASSOCIATIVA
68
MÉDICO n CONSULTA n PACIENTE
Como ficaria o modelo se quiséssemos saber QUE MEDICAMENTOS EXISTEM e QUAIS FORAM
PRESCRITOS em cada consulta?
Teríamos, claro, que definir uma nova entidade, denominada MEDICAMENTO. Mas, como esta nova entidade deveria
estar relacionada no modelo? Ou seja, ela deveria estar ligada a MÉDICO ou a PACIENTE ?
Modelo ER: ENTIDADE ASSOCIATIVA
69
MÉDICO n CONSULTA n PACIENTE
Neste caso, teríamos a informação de que médico prescreve qual medicamento. Entretanto, não teríamos a informação de quais pacientes receberam a prescrição. MEDICAMENTO PRESCRIÇÃO n n 1aOPÇÃO
Modelo ER: ENTIDADE ASSOCIATIVA
70
MÉDICO n CONSULTA n PACIENTE
Neste outro caso, teríamos a informação de quais pacientes receberam quais medicamentos, porém, não saberíamos dizer qual foi o médico que prescreveu tais medicamentos.
MEDICAMENTO PRESCRIÇÃO
n
n
Modelo ER: ENTIDADE ASSOCIATIVA
71
MÉDICO n CONSULTA n PACIENTE
MEDICAMENTO PRESCRIÇÃO
n
n
SOLUÇÃO
A entidade MEDICAMENTO, portanto, deve estar
relacionado ao relacionamento CONSULTA. A isso,
damos o nome de ENTIDADE ASSOCIATIVA, ou seja, o relacionamento que passa a ser tratado como se fosse também uma entidade.
Modelo ER: ENTIDADE ASSOCIATIVA
72 MÉDICO PACIENTE CONSULTA n n MEDICAMENTO PRESCRIÇÃO n n (1,1) (1,1)
Caso não se desejasse usar o conceito de Entidade Associativa, seria necessário transformar o relacionamento CONSULTA em uma entidade. Neste caso, uma consulta deve estar relacionada com exatamente um médico e um paciente.