banco de dados - vpcamargo.com.br - mcd - der... · É a entidade que não se identifica por si...
TRANSCRIPT
Banco de Dados
Diagramas de Entidade – Relacionamento
(DER) - Complementos
Ref. Prof . Renato de Oliveira Violin - UFSCar
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
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.
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).
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.
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.
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.
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.
Auto Relacionamento
Ocorre quando uma entidade se relaciona consigo mesma.
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.
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
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
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
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
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.
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
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
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).
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
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
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
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.
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
FIM