Aula 4 - Lineu FS Mialaret
Download
Report
Transcript Aula 4 - Lineu FS Mialaret
Instituto Federal de Educação, Ciência e
Tecnologia de São Paulo - IFSP
Campus de Caraguatatuba
Tecnólogo em Análise e Desenvolvimento de Sistemas
10 Semestre de 2013
Banco de Dados I – BD I
Prof. Lineu Mialaret
Aula 4: Modelo Entidade Relacionamento (1)
Curso de Banco de Dados 1
Aula 4 - 1
©Prof. Lineu Mialaret
Desenvolvimento de BD (1)
Etapa de Especificação
Etapa de Desenvolvimento
Modelo Funcional
Modelo Lógico de Banco
de Dados
Modelo Hierárquico
Modelo
Físico
Curso de Banco de Dados 1
Modelo Conceitual de Banco
de Dados
Modelo Rede
Modelo Relacional
Modelo OO
Modelo
Físico
Modelo
Físico
Modelo
Físico
Aula 4 - 2
©Prof. Lineu Mialaret
Desenvolvimento de BD (2)
Requisitos
+
Regras de
Modelo Lógico
Modelo Físico
Visão de
Sistema
Projeto
Negócio
Modelo Conceitual
Visão de
Negócio
Análise
Modelo Funcional
BD Operacional
Curso de Banco de Dados 1
Aula 4 - 3
©Prof. Lineu Mialaret
Desenvolvimento de BD (3)
3 - Login
1.1 - Visualizar Lista de
Itens Bibliograficos
«include»
«extend»
Pesquisador
«extend»
1.4 - Incluir Itens
«extend»
1.2 - Modificar Itens
1.3 - Remover Itens
Quais os conceitos importantes (concretos e abstratos) envolvidos na
execução dessas funcionalidades?
Curso de Banco de Dados 1
Aula 4 - 4
©Prof. Lineu Mialaret
Modelos de BD (1)
No mundo real, entidades (objetos ou conceitos) não existem
de forma isolada. Essas entidades, seus atributos (suas
características), e os relacionamentos ou as associações entre
elas (suas conexões semânticas) devem encontradas e
representadas para propósito de armazenamento num Banco
de Dados - BD.
Em certo ponto de um projeto de um Aplicativo de Banco de
Dados, tanto as capacidades, como as limitações do SGBD a
ser utilizado devem ser levadas em consideração (e isso vai
depender do modelo lógico de BD adotado).
O enfoque desta parte do curso de Banco de Dados 1 é o de,
inicialmente, modelar contextos do mundo real, de forma
independente do “SGBD escolhido”, e mais tarde então,
converter esse Modelo Conceitual (ou Canônico) gerado para
um Modelo Lógico, de forma que ele se encaixe nas
características especiais do SGBD adotado.
Curso de Banco de Dados 1
Aula 4 - 5
©Prof. Lineu Mialaret
Modelos de BD (2)
Modelo Conceitual:
É
um
modelo
independente
da
implementação,
representando os conceitos (do domínio de negócio) que
aparecem no Aplicativo de BD.
Exemplo: Modelo Entidade Relacionamento - MER.
Introduzido por Peter Chen no artigo:
Modelo Entidade Relacionamento - MER:
The Entity-Relationship Model - Toward a Unified View of Data,
Transactions on Database Systems, 1(1), March, 1976.
O MER é um modelo conceitual utilizado durante a fase
inicial de projeto de um Aplicativo de BD, para o
entendimento do mundo real.
Modelo Lógico:
É a descrição de como os dados estarão armazenados
logicamente, e é parcialmente dependente do tipo de SGBD
utilizado.
Exemplo: Modelo Relacional - MR.
Curso de Banco de Dados 1
Aula 4 - 6
©Prof. Lineu Mialaret
Modelos de BD (2)
O Modelo Entidade Relacionamento – MER tem por base a
percepção de que o mundo real é formado por um conjunto
de objetos chamados de entidades (tangíveis ou não),
caracterizados por atributos, e pelos conjuntos de
relacionamentos entre esses objetos.
Esse modelo foi desenvolvido para facilitar o projeto de
desenvolvimento de um Aplicativo de Banco de Dados,
permitindo a especificação do esquema conceitual de uma
empresa por exemplo, o qual será devidamente mapeado
para um modelo lógico, representativo da organização em
questão.
O MER é um dos modelos com maior capacidade semântica,
e esses aspectos semânticos se referem a tentativa de
representar os significado de entidades, atributos e
relacionamentos.
Esse modelo é extremamente útil para mapear, no aspecto
conceitual, o significado e as interações de empresas reais
ou domínios de contextos significativos.
Curso de Banco de Dados 1
Aula 4 - 7
©Prof. Lineu Mialaret
Contextualização (1)
Para
a exemplificação dos conceitos que serão
apresentados no Modelo Conceitual usado nesta parte
do curso (Modelo Entidade Relacionamento – MER), será
utilizado o seguinte contexto de um domínio de negócio,
o qual representa de forma sintética, uma empresa
bancária:
Um banco é organizado em agências. Cada agência se
localiza numa cidade e é identificada por um nome único.
O banco controla os depósitos (totais de saldos) de cada
uma dessas agências. Os clientes do banco são
identificados por meio de seu número de seguro social. O
banco mantém armazenados dados como o nome, rua e
cidade do cliente. Os clientes podem possuir contas e
contrair empréstimos, bem como podem estar associados
a um funcionário do banco específico que cuida de seus
negócios ou atua como um agente de empréstimos.
Curso de Banco de Dados 1
Aula 4 - 8
©Prof. Lineu Mialaret
Contextualização (2)
Os empregados do banco também são também
identificados por meio de seu número de seguro social. A
administração bancária mantém armazenados o nome e o
número do telefone de cada um de seus funcionários, e
também os nomes de seus dependentes, a data de
contratação e o número de seguro social de seu gerente.
O banco oferece dois tipos de contas a seus clientes:
contas do tipo poupança e movimento. As contas
movimento podem ter mais de um correntista e este pode
possuir mais de uma conta. Cada conta bancária possui
um único número de identificação. O banco controla o
saldo de cada conta, bem como como a data do mais
recente de acesso a mesma. Por um outro lado, cada conta
poupança possui uma taxa de juros associada, assim
como são também registrados os excessos nos limites da
conta movimento.
Curso de Banco de Dados 1
Aula 4 - 9
©Prof. Lineu Mialaret
Contextualização (3)
Um empréstimo originado numa determinada agência pode
ter sido obtido por um ou mais clientes, sendo o mesmo
identificado por um único número de empréstimo. Para
cada empréstimo o banco mantém armazenados o
montante emprestado, bem como também os pagamentos
efetuados das parcelas.
Embora o número da parcela de um empréstimo não
identifique de modo único um pagamento específico
dentre os muitos pagamentos realizados num banco, esse
número identifica um pagamento efetuado para um
determinado empréstimo em particular. A data e o
montante pago são registrados no pagamento de cada
parcela.
Curso de Banco de Dados 1
Aula 4 - 10
©Prof. Lineu Mialaret
Conjuntos de Entidades (1)
Um
Banco de Dados pode ser modelado no nível de
esquema conceitual como:
Uma coleção de entidades e seus respectivos atributos.
Os relacionamentos que ocorrem entre essas entidades.
Um entidade é um objeto que existe e é distinguível de
outros objetos:
Exemplo: uma pessoa, uma companhia, um evento, etc...
Entidades possuem propriedades ou atributos:
Exemplo: pessoas possuem nome e endereço.
Um conjunto de entidades é um conjunto
contendo
entidades do mesmo tipo que compartilham as mesmas
propriedades:
Exemplo: O conjunto de todas as pessoas que são clientes
de um dado banco pode ser definido como o conjunto de
entidades Cliente.
Entidades
individuais desse conjunto são denominadas
de extensões ou instâncias de um conjunto de
entidades.
Curso de Banco de Dados 1
Aula 4 - 11
©Prof. Lineu Mialaret
Conjuntos de Entidades (2)
Outras
conceituações e características de entidades e
conjuntos de entidades:
Uma pessoa, um lugar, uma coisa, ou até mesmo um
conceito
(concreto
ou
abstrato),
que
possua
características de interesse numa organização empresarial
ou num sistema computadorizado. Isto é, alguma coisa ou
algo sobre os dados armazenados.
Conjunto de objetos da realidade modelada sobre os quais
deseja-se manter informações no Banco de Dados
(Heuser, 1998).
Um conjunto de objetos sobre os quais é preciso
armazenar informações úteis.
Conjuntos de elementos distinguíveis que aceitam um
código para diferenciá-los.
Curso de Banco de Dados 1
Aula 4 - 12
©Prof. Lineu Mialaret
Conjunto de Entidades (3)
cliente-id
nomecliente
ruacliente
cidadecliente
numero valorempréstimo
Emprestimo
Cliente
Exemplo dos conjuntos de entidades Cliente e Emprestimo.
Curso de Banco de Dados 1
Aula 4 - 13
©Prof. Lineu Mialaret
Atributos (1)
Uma
entidade é representada por um conjunto de
atributos, que são as propriedades descritivas possuídas
por todos os membros de um conjunto de entidades.
Exemplo: sejam as entidades cliente e emprestimo com
os seguintes atributos -
Cliente = (cliente-id, nome-cliente, rua-cliente,
Emprestimo = (numero-emprestimo, valor)
cidade-cliente)
O
conjunto de valores permitidos para cada atributo
denomina-se de domínio do atributo.
Exemplo:
O domínio do atributo nome-cliente pode ser o
conjunto de todos os textos string de um certo
tamanho.
O domínio do atributo numero-emprestimo pode ser
o conjunto de todos os números inteiros.
Curso de Banco de Dados 1
Aula 4 - 14
©Prof. Lineu Mialaret
Atributos (2)
Um
atributo pode ser caracterizado pelos seguintes
tipos:
Atributos simples, os quais não podem ser divisíveis, ou
seja, são atributos atômicos.
Atributos compostos, os quais podem ser divididos
Atributos monovalorados, os quais só podem ter um
valor.
Atributos multivalorados, os quais podem ter mais de um
valor
O atributo nome-dependente pode possuir vários nomes.
Atributos derivados, os quais podem ser obtidos de
outros atributos
O atributo nome-cliente pode ser dividido nos seguintes atributos,
prenome, nome-intermediario e sobrenome.
Seja o atributo data-contratação e o atributo derivado tempo-de-casa,
que pode ser determinado pela data de contratação.
Atributos nulos.
Curso de Banco de Dados 1
Aula 4 - 15
©Prof. Lineu Mialaret
Atributos (3)
Exemplo dos atributos compostos name (nome) e address (endereço).
Curso de Banco de Dados 1
Aula 4 - 16
©Prof. Lineu Mialaret
Conjunto de Relacionamentos (1)
Um
relacionamento é uma associação (conexão
semântica) entre entidades.
Exemplo:
Hayes
depositante
A-102
entidade Cliente
Por
relacionamento
entidade Conta
exemplo, considere os conjuntos de entidades
Emprestimo e Agencia. Pode-se definir o conjunto de
relacionamentos agencia-emprestimo, o qual caracteriza a
associação entre um empréstimo bancário e a agência
onde esse empréstimo é mantido. De modo similar, podese caracterizar o conjunto de relacionamentos devedor,
entre os conjunto de entidades Cliente e Emprestimo.
emprestimo 1
agencia-emprestimo
emprestimo 2
agencia 10
Curso de Banco de Dados 1
Aula 4 - 17
©Prof. Lineu Mialaret
Conjunto de Relacionamentos (2)
nomecliente
ruacliente
cidadecliente
numero valoremprestimo
devedor
cliente-id
E1
E2
Cliente
Emprestimo
Exemplo do conjunto de relacionamentos devedor.
Curso de Banco de Dados 1
Aula 4 - 18
©Prof. Lineu Mialaret
Conjunto de Relacionamentos (3)
A associação entre os conjuntos de entidades também é
referida como uma participação, ou seja, o conjunto de
entidades E1,E2,…,En participa do conjunto de relacionamentos
R.
A função que uma entidade desempenha num relacionamento é
chamada de papel. Uma vez que os conjuntos de entidades
participantes num conjunto de relacionamentos são geralmente
distintos, os nomes de papéis são implícitos e não são,
necessariamente, especificados.
Entretanto, esse nomes de papéis são úteis quando o
significado do relacionamento precisa ser esclarecido. Que é o
caso em que os conjuntos de entidades e de relacionamentos
não são distinguíveis, ou seja, o mesmo conjunto de entidades
participa de um conjunto de relacionamentos mais de uma vez,
em diferentes papéis.
Neste tipo de conjunto de relacionamentos, chamado de
conjunto de relacionamento recursivo, nomes explícitos de
papéis são necessários para especificar como uma entidade
participa de uma instância do relacionamento.
Curso de Banco de Dados 1
Aula 4 - 19
©Prof. Lineu Mialaret
Conjunto de Relacionamentos (4)
Um atributo pode também ser uma propriedade de um
conjunto de relacionamentos:
O relacionamento depositante entre os conjuntos de
entidades Cliente e Conta pode ter o atributo data-acesso.
depositante(data-acesso)
Conta(numero-conta)
Cliente (nome-cliente)
Curso de Banco de Dados 1
Aula 4 - 20
©Prof. Lineu Mialaret
Graus de um Conjunto de Relacionamentos
O grau de um conjunto de relacionamentos se refere ao
número de conjuntos de entidades distintos (diferentes)
que participam nesse relacionamento.
Conjuntos de relacionamentos que envolvem dois
conjuntos de entidades são chamados de binários (ou de
grau 2).
Em certos casos, conjuntos de relacionamentos podem
envolver mais que dois conjuntos de entidades
Exemplo: suponha que empregados de um banco tenham
diversas tarefas (responsabilidades) em múltiplas agências,
com diferentes tarefas nas várias agências. Então há um
relacionamento ternário (ou de grau 3) denominado de ETA
entre os conjuntos de entidades Empregado, Tarefa e
Agencia.
Relacionamentos
entre mais que dois conjuntos de
entidades são raros. Geralmente, a maioria dos
relacionamentos numa base de dados são binários.
Curso de Banco de Dados 1
Aula 4 - 21
©Prof. Lineu Mialaret
Metas Básicas de Projeto de BD (1)
Um
conjunto de entidades e um conjunto de
relacionamentos não são noções precisas.
Pode-se definir um conjunto de entidades e de
relacionamentos de várias formas.
No uso de conjuntos de entidades e atributos, a escolha
destes vai depender principalmente da estrutura da
empresa que está sendo modelada e da semântica
associada com os atributos em questão.
Exemplo:
Modelo 1:
O conjunto de entidades Empregado com os atributos nome-empregado e
numero-telefone
Modelo 2:
O conjunto de entidades Empregado com o atributo nome-empregado
O conjunto de entidades Telefone com os atributos numero-telefone e
localizacao.
O conjunto de relacionamentos emp-telefone, o qual denota a associação
entre os empregados e os telefones que podem ter.
Curso de Banco de Dados 1
Aula 4 - 22
©Prof. Lineu Mialaret
Metas Básicas de Projeto de BD (2)
Observações:
No primeiro modelo, a definição conceitual implica que
todo empregado possui, precisamente, um número de
telefone a ele associado.
No segundo modelo, entretanto, a definição conceitual
estabelece que o empregado pode ter vários números de
telefones, incluindo zero, a ele associados. Esse modelo é
mais geral que o primeiro e pode refletir com maior
precisão as situações reais.
Caso seja constatado que cada empregado tem,
precisamente, um número de telefone a ele associado, o
segundo modelo pode, ainda assim, ser mais apropriado,
caso um um mesmo telefone possa ser compartilhado por
vários empregados.
Curso de Banco de Dados 1
Aula 4 - 23
©Prof. Lineu Mialaret
Metas Básicas de Projeto de BD (3)
No
uso de conjunto de entidades e conjuntos de
relacionamentos:
Nem sempre fica claro se um objeto ou conceito é melhor
expresso por um conjunto de entidades ou por um
conjunto de relacionamentos.
Como exemplo, um empréstimo pode ser modelado como
uma entidade ou como um relacionamento com os
atributos numero-emprestimo e conta?
Relacionamentos binários e n-ários (grau > 2):
Ainda que seja possível substituir um conjunto de
relacionamentos não binário (n-ário, para n > 2) por um
número distinto de conjuntos de relacionamentos binários,
um conjunto de relacionamentos n-ários pode mostrar
mais claramente todos os conjuntos de entidades que
participam numa determinada relação, ou seja, ilustrar que
várias entidades participam num único relacionamento.
Mas há relacionamentos que são naturalmente não
binários.
Exemplo: o relacionamento ETA, entre empregado, agencia e tarefa
Curso de Banco de Dados 1
Aula 4 - 24
©Prof. Lineu Mialaret
Mapeamento de Restrições
O contexto semântico de uma empresa pode definir, por
exemplo, certas regras de negócio as quais um Modelo
Conceitual de um Banco de Dados deve respeitar e
representar por meio de restrições.
Há algumas restrições importantes no Modelo Conceitual
de um Banco de Dados, entre elas:
O
O mapeamento de cardinalidades.
A existência de dependência entre entidades.
O conceito de chave.
conceito de cardinalidade expressa o número de
entidades às quais outra entidade pode estar associada
ou relacionada via um conjunto de relacionamentos.
Ou seja, a cardinalidade identifica quantas vezes cada
instância de uma entidade pode participar do
relacionamento.
Curso de Banco de Dados 1
Aula 4 - 25
©Prof. Lineu Mialaret
Mapeamento de Cardinalidades (1)
Num
conjunto de relacionamentos binário R entre os
conjuntos de entidades A e B, o mapeamento das
cardinalidades ou (rateio das cardinalidades) pode ser
dos seguintes tipos:
um-para-um (1:1): uma entidade em A está associada no
máximo a uma entidade em B e uma entidade em B está
associada a no máximo uma entidade em A.
um-para-muitos (1:M ou 1:N): uma entidade em A está
associada a várias entidades em B. Uma entidade em B,
entretanto, deve estar associada no máximo a uma
entidade em A.
muitos-para-um (M:1 ou N:1): uma entidade em A está
associada a no máximo uma entidade em B. Uma entidade
em B, entretanto, pode estar associada a um número
qualquer de entidades em A.
muitos-para-muitos (M:M ou N:N): uma entidade em A está
associada a qualquer número de entidades em B e uma
entidade em B está associada a um número qualquer de
entidades em A.
Curso de Banco de Dados 1
Aula 4 - 26
©Prof. Lineu Mialaret
Mapeamento de Cardinalidades (2)
um-para-um
Curso de Banco de Dados 1
um-para-muitos
Aula 4 - 27
©Prof. Lineu Mialaret
Mapeamento de Cardinalidades (3)
muitos-para-um
Curso de Banco de Dados 1
muitos-para-muitos
Aula 4 - 28
©Prof. Lineu Mialaret
Mapeamento de Cardinalidades (4)
O
de
um
atributos
um-paraa um dos
de serem
mapeamento
das
cardinalidades
relacionamento pode afetar a colocação de
nos relacionamentos.
Atributos em conjuntos de relacionamentos
um ou um-para-muitos devem ser associados
conjuntos de entidades participantes, em vez
associados ao conjunto de relacionamentos:
Atributos de conjuntos de relacionamentos um-paramuitos podem apenas ser reposicionados no conjunto de
entidades do lado “muitos” desse relacionamento.
Em conjuntos de relacionamentos um-para-um, o atributo
do relacionamento pode ser associado a qualquer uma
das entidades.
Curso de Banco de Dados 1
Aula 4 - 29
©Prof. Lineu Mialaret
Mapeamento de Cardinalidades (5)
Pode-se fazer o atributo data-acesso ser um atributo da
entidade Conta, ao invés de um atributo do
relacionamento depositante, se cada conta é vinculada a
somente um cliente. Ou seja, se o relacionamento
depositante, de Conta para Cliente é de muitos-para-um.
Cliente (nome-cliente)
Conta(numero-conta,data-acesso)
depositante
Curso de Banco de Dados 1
Aula 4 - 30
©Prof. Lineu Mialaret
Mapeamento de Cardinalidades (6)
A
escolha de onde colocar um atributo fica mais clara
quando se trata de um conjunto de relacionamentos
muitos-para-muitos.
Exemplo: seja o cenário onde um cliente pode ter uma ou
mais contas e uma conta pode estar vinculada a um ou
mais clientes. Caso se queira expressar a data do último
acesso de um cliente a uma determinada conta, o atributo
data-acesso deverá ser atribuído ao conjunto de
relacionamentos depositante, em vez de ser alocado a
uma das duas entidades participantes. Se data-acesso
fosse atributo de Conta, não se pode determinar qual dos
clientes é responsável pelo acesso mais recente a conta
em questão.
Quando
um atributo é determinado pela combinação
dos conjuntos de entidades participantes em vez de
estar associado a cada uma das entidades
separadamente, esse atributo precisa ser associado ao
conjunto de relacionamentos muitos-para-muitos.
Curso de Banco de Dados 1
Aula 4 - 31
©Prof. Lineu Mialaret
Dependência de Existência
Outra classe importante de restrição é a dependência de
existência. Se a existência de uma entidade X depende
da existência de uma entidade Y, então a entidade X é
denominada dependente da existência de Y.
Operacionalmente, se a entidade Y for excluída, o
mesmo deve acontecer com a entidade X.
A entidade Y é denominada entidade dominante e a
entidade X de entidade subordinada ou dependente.
Exemplo: sejam os conjuntos de entidades Emprestimo e
Pagamento, sendo que este último mantém todas as
informações de pagamentos realizados por determinado
empréstimo e é caracterizado pelos atributos numeropagamento, data-pagamento e total-pagamento. Cria-se
um conjunto de relacionamentos pagamento_emprestimo
para esses dois conjuntos de entidades, que é um-paramuitos de Emprestimo para Pagamento. Toda entidade
Pagamento está associada a uma entidade Emprestimo.
Se uma entidade Emprestimo for removida, todas as
entidades Pagamento a ela associadas devem ser
excluídas também.
Curso de Banco de Dados 1
Aula 4 - 32
©Prof. Lineu Mialaret
Participação de um Conjunto de Entidades
num Conjunto de Relacionamentos
Participação
total: toda entidade no conjunto de
entidades E participa com no mínimo um relacionamento
no conjunto de relacionamentos R.
Exemplo: desde que toda entidade Pagamento está
associada
a
alguma
entidade
Emprestimo
pelo
relacionamento pagamento-emprestimo, a participação da
entidade Pagamento no conjunto de relacionamentos
pagamento-emprestimo é dita ser uma participação total.
Participação
parcial (ou opcional): algumas entidades do
conjunto de entidades E podem não participar de algum
relacionamento no conjunto de relacionamentos R.
Exemplo: é possível que apenas parte do conjunto de
entidades Cliente esteja relacionado ao conjunto de
entidades Emprestimo e a participação da entidade Cliente
no conjunto de relacionamentos devedor é portanto, dita ser
uma participação parcial (ou opcional).
Curso de Banco de Dados 1
Aula 4 - 33
©Prof. Lineu Mialaret
Chaves (1)
É
importante especificar como as entidades num dado
conjunto de entidades e os relacionamentos de um
conjunto de relacionamentos podem ser identificados,
de maneira distinta ou unívoca.
Conceitualmente,
entidades
e
relacionamentos
individuais são distintos.
Entretanto, na perspectiva de uma modelagem
conceitual, a diferença entre ambos vai ser estabelecida
em termos de seus atributos.
A noção de chave (key) permite fazer tal distinção.
Curso de Banco de Dados 1
Aula 4 - 34
©Prof. Lineu Mialaret
Chaves (2)
Uma
superchave é um conjunto de um ou mais
atributos que, tomados coletivamente, permite a
identificação, de modo unívoco ou distinto, de uma
entidade específica num conjunto de entidades.
Exemplo:
O atributo seguro-social do conjunto de entidades Cliente.
Os atributos nome-cliente e seguro-social do conjunto de
entidades Cliente.
Curso de Banco de Dados 1
Aula 4 - 35
©Prof. Lineu Mialaret
Chaves (3)
Uma
chave candidata de um conjunto de entidades é a
menor superchave que pode ser identificada, ou seja, é a
superchave para a qual nenhum subconjunto pode ser
uma superchave.
Exemplo:
O atributo seguro-social é uma chave candidata da entidade
Cliente.
A combinação dos atributos (nome-cliente, enderecocliente) constitui-se numa chave candidata de Cliente.
A combinação dos atributos (seguro-social, enderecocliente) não constitui uma chave candidata da entidade
Cliente.
Curso de Banco de Dados 1
Aula 4 - 36
©Prof. Lineu Mialaret
Chaves (4)
Ainda que possam haver várias chaves candidatas, usa-se
o termo chave primária para caracterizar a chave
candidata que é aquela escolhida como de significado
especial para a identificação de entidades num conjunto
de entidades.
Uma chave (super, candidata e primária) é uma
propriedade de um conjunto de entidades.
Quaisquer duas entidades entidades individuais num
conjunto de entidades não podem ter, simultaneamente,
os mesmos valores em seus atributos-chave.
Curso de Banco de Dados 1
Aula 4 - 37
©Prof. Lineu Mialaret
Chaves (5)
Uma chave primária distingue as várias entidades de um
conjunto de entidades. De modo similar, é necessário
realizar essa distinção num conjunto de relacionamentos.
Seja R um conjunto de relacionamentos envolvendo os
conjuntos de entidades E1,E2,...,En.
Seja k(Ei) o conjunto de atributos que formam a chave
primária de Ei . Suponha que todos os nomes de
atributos de todas as chaves primárias são diferentes.
Suponha que R não tem atributos. Então, os atributos
que distinguem os relacionamentos individuais do
conjunto R são:
k(E1) k(E2) ... k(En)
Curso de Banco de Dados 1
Aula 4 - 38
©Prof. Lineu Mialaret
Chaves (6)
Se R tem os atributos a1,a2,...,an então a descrição de
um relacionamento em particular do conjunto R é dada
por:
Em
k(E1) k(E2) ... k(En) {a1, a2,...,an}
ambos os casos, o conjunto de atributos abaixo
forma uma superchave do conjunto de relacionamentos
R:
A
k(E1) k(E2) ... k(En)
estrutura da chave primária para o conjunto de
relacionamentos depende também do mapeamento da
cardinalidade do conjunto de relacionamentos, ou seja,
se o relacionamento é do tipo um-para-muitos ou muitospara-muitos, por exemplo.
Curso de Banco de Dados 1
Aula 4 - 39
©Prof. Lineu Mialaret
Chaves (7)
Exemplo: Sejam os conjuntos de entidades Cliente e
Empregado e o
conjunto de relacionamentos clientebancario, representando a associação entre um cliente e um
bancário (uma entidade Empregado). Suponha que o
relacionamento seja de muitos-para-muitos, e também que
ele possui o atributo tipo associado, representando a
natureza do relacionamento (como um agente de
empréstimo ou como um atendente pessoal). A chave
primária do relacionamento cliente-bancario constitui-se da
união das chaves primárias das entidades Cliente e
Empregado.
Entretanto, se um cliente pode ser atendido exclusivamente
por um bancário, ou seja, se o relacionamento clientebancario é muitos-para-um, então a chave primária de
cliente-bancario é simplesmente a chave primária de
Cliente. Para os relacionamentos um-para-um, qualquer
uma das chaves primárias das entidades participantes do
relacionamento pode ser usada.
Curso de Banco de Dados 1
Aula 4 - 40
©Prof. Lineu Mialaret
Conjunto de Entidades Fracas (1)
Um
conjunto de entidades pode não ter atributos que
permitam a formação de uma chave primária.
Esse tipo de conjunto de entidades é denominado de
conjunto de entidades fracas. Um conjunto de entidades
que possui uma chave primária é denominado de
conjunto de entidades fortes.
Exemplo: Seja o conjunto de entidades Pagamento com os
atributos numero-pagamento, data-pagamento e totalpagamentos. Embora cada entidade Pagamento seja
distinta, os pagamentos de empréstimos diferentes podem
compartilhar de um mesmo número.
Para
um conjunto de entidades fracas ser significativo,
ele deve fazer parte de um conjunto de relacionamentos
um-para-muitos.
Curso de Banco de Dados 1
Aula 4 - 41
©Prof. Lineu Mialaret
Conjunto de Entidades Fracas (2)
Uma
entidade de um conjunto de entidades fortes é
definida como uma entidade dominante, enquanto que
uma entidade de um conjunto de entidades fracas é dita
ser uma entidade subordinada.
Apesar de um conjunto de entidades fracas não ter
chave primária, deve-se procurar um meio de se
distinguir as entidades fracas.
O identificador de um conjunto de entidades fracas é
um conjunto de atributos que permite que essa
distinção seja realizada. Esse identificador também é
denominado de chave parcial ou discriminador de um
conjunto de entidades fracas.
Exemplo: O identificador do conjunto de entidades
Pagamento é o atributo numero-pagamento, e dessa
forma, para cada empréstimo, um número de pagamento
identifica um determinado pagamento para aquele
empréstimo.
Curso de Banco de Dados 1
Aula 4 - 42
©Prof. Lineu Mialaret
Conjunto de Entidades Fracas (3)
A chave primária de um conjunto de entidades fracas é
formada pela chave primária do conjunto de entidades
fortes ao qual a existência do conjunto de entidades
fracas está vinculada mais o identificador do conjunto
de entidades fracas.
Exemplo: No caso do conjunto de entidades Pagamento,
sua chave primária é composta pelos atributos numeroemprestimo e numero-pagamento, em que o atributo
numero-emprestimo identifica a entidade dominante
emprestimo e o atributo numero-pagamento identifica a
entidade Pagamento dentro de um determinado
empréstimo.
Curso de Banco de Dados 1
Aula 4 - 43
©Prof. Lineu Mialaret
Conjunto de Entidades Fracas (4)
O
conjunto de entidades dominantes é denominado
proprietário do conjunto de entidades fracas por ele
dominado. O relacionamento que associa o conjunto de
entidades fracas a seu proprietário é denominado de
relacionamento identificador.
Exemplo: o relacionamento pagamento-emprestimo é o
relacionamento identificador do conjunto de entidades
Pagamento e Emprestimo.
Curso de Banco de Dados 1
Aula 4 - 44
©Prof. Lineu Mialaret