Relacionamento

Propaganda
Banco de Dados
Aula 4 - Prof. Bruno Moreno
02/09/2011
Modelo de Dados
• Vimos que a idéia não é nova
– Arquitetura, engenharia
• Objetivo
– Representar ou reproduzir a estrutura e o
comportamento do original, no todo ou parte
• Não trata instância de entidades
– Conceito semântico
– Tipo entidade
14:01
Modelo de Dados
“Coleção de ferramentas conceituais para
descrição de dados, relacionamento entre
eles, semântica e restrições de dados.”
Henry F. Korth
• Descrição formal da estrutura de um banco de
dados
14:01
Modelo de Dados
• Modelos propostos:
– Modelo conceitual
– Modelo Lógico
– Modelo Físico
Minimundo
Projeto Conceitual
Níveis
De
Abstração
Projeto Lógico
Projeto Físico
14:01
Modelo de Dados
Iniciamos na aula passada
• Modelo conceitual (projeto conceitual)
– Modelo de dados abstrato que descreve a estrutura de
um banco de dados independente de um SGBD
• Modelo lógico (projeto lógico)‫‏‬
Empregado
Nome
Endereço
– Modelo de dados que representa a estrutura dos dados de
um banco de dados
• Dependente do modelo do SGBD
• Modelo físico (projeto físico)‫‏‬
– Nível de Implementação
– Depende do SGBD
– ênfase na eficiência de acesso
14:01
Modelo de Dados
• Modelo Entidade Relacionamento
– Técnica mais utilizada de modelagem
– Tem como objetivo auxiliar na especificação geral
do sistema
– O modelo de dados é representado graficamente
através de um Diagrama de EntidadeRelacionamento (DER)
– Principais conceitos: (1) entidades, (2) atributos e
(3) relacionamentos
– Notação criada por Peter Chen (1976)
14:01
Entidades
• Entidades fortes
– Possuem identificação própria: chave primária
Funcionário
Departamento
• Entidade fraca
– Não possui identificação própria
• Depende de um relacionamento com outra entidade
• Chave primária é formada pela chave primária da
entidade forte (chave estrangeira)
14:01
Entidades
• Entidades fortes
– Possuem identificação própria: chave primária
Funcionário
Departamento
• Entidade fraca
– Exemplo: DEPENDENTE só existe se existir um
FUNCIONÁRIO associado
Funcionário
14:01
POSSUI
Dependente
Atributos
• Monovalorado: possui apenas um valor
Idade
• Multivalorado: possui mais de um valor
Telefones
• Composto: possui sub-partes
Cidade
Rua
Estado
Endereço
• Derivado: obtido por meio de outros atributos
ou relacionamentos
Tempo_moradia
14:01
Atributos chave
• Atributo ou conjunto de atributos (chave
composta) que consegue identificar uma única
entidade dentro de um conjunto de entidades
• Meio de acesso a uma entidade
• Mínima
Aluno
Matrícula
14:01
Conta Corrente
NumAgencia
NumConta
X
Endereço
Atributos chave
• Atributo ou conjunto de atributos (chave
composta) que consegue identificar uma única
entidade dentro de um conjunto de entidades
• Meio de acesso a uma entidade
• Mínima
Aluno
Matrícula
14:01
Conta Corrente
NumAgencia
NumConta
Endereço
Exercício
• Considerando um sistema acadêmico, defina
pelo menos 3 atributos para cada uma das
entidades abaixo. Se a entidade for forte,
defina também o atributo chave
14:01
Turma
Aluno
Professor
Disciplina
Relacionamentos
• Como expressamos que João trabalha no
Departamento de Contabilidade?
Empregado
João
Pedro
Paulo
Maria
14:01
Lotação
Departamento
Contabilidade
Financeiro
Jurídico
Pessoal
Relacionamentos
• Relacionamento: associação entre várias entidades
• Conjunto de relacionamentos: conjunto de
relacionamentos do mesmo tipo
• Exemplos
Cliente
Conta
ContaCliente
Residência
Medico
Cidade
14:01
Consulta
Paciente
Relacionamentos
• Grau de relacionamento
– Quantidade de entidades diferentes envolvidas
– Binários: grau de relacionamento 2
– Ternários: grau 3
– Quaternários: grau 4
Relacionamento com grau N > 2 só é
justificável se não puder ser decomposto em
relacionamentos com graus menores e ainda
manter a semântica desejada.
14:01
Relacionamentos
• Grau de Relacionamento Ternário
– Só deve ser utilizado se não puder ser
transformado em duplo
Aluno
N
M
MONITORA
Disciplina
Q
P
Aluno A auxilia professor P em
qual disciplina?
AUXILIA
14:01
1
Professor
1
MINISTRA
Relacionamentos
• Grau de Relacionamento Ternário
– Só deve ser utilizado se não puder ser
transformado em duplo
Aluno
N
MONITORA
1
Professor
14:01
M
Disciplina
Relacionamentos
• Cardinalidade
– Relacionamento binário
– Quantidade de instâncias envolvidas no
relacionamento
– Tipos
• Um para um (1:1)
– Uma entidade do tipo A está associada a no máximo uma
entidade do tipo B
14:01
Relacionamentos
• Cardinalidade
– Relacionamento binário
– Quantidade de instâncias envolvidas no
relacionamento
– Tipos
• Um para muitos (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.
14:01
Relacionamentos
• Cardinalidade
– Relacionamento binário
– Quantidade de instâncias envolvidas no
relacionamento
– Tipos
• Muitos para um (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
14:01
Relacionamentos
• Cardinalidade
– Relacionamento binário
– Quantidade de instâncias envolvidas no
relacionamento
– Tipos
• Muitos para muitos (M: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
14:01
Relacionamentos
• Restrições: mostram dependência entre
entidades
– Total: toda entidade do conjunto de entidades
deve se relacionar com a entidade
correspondente do relacionamento
– Parcial
Disciplina
POSSUI
Ementa
Uma entidade Ementa tem que participar de
um relacionamento Possui, ou seja, deve estar
associada a uma entidade Disciplina
14:01
Relacionamentos
• Cardinalidade 1 para 1
– Um funcionário gerencia no máximo 1
departamento. Um departamento é gerenciado
por no máximo um funcionário
Funcionário
14:01
1
1
GERENCIA
f1
d1
f2
d2
f3
d3
Departamento
Relacionamentos
• Cardinalidade 1 para muitos
– Um funcionário está lotado no máximo em 1
departamento. Um departamento tem até N
funcionários lotados nele
Funcionário
N
LOTADOS
f1
f2
14:01
1
f3
f4
f5
d1
d2
d3
Departamento
Relacionamentos
• Cardinalidade muito para muitos
– Um funcionário participa de vários projetos. Um
projeto pode ter a participação de até N
funcionários
Funcionário
Médico
14:01
N
PARTICIPA
N
N
CONSULTA
N
f1
p1
f2
p2
f3
p3
Projeto
Paciente
Relacionamentos
• Cardinalidade máxima e mínima
– Indica obrigatoriedade ou não de participação das
Notação de par de cardinalidade
entidades
(mínima, máxima)
Funcionário
(1,N)
LOTADOS_EM
(1,1)
Departamento
Um funcionário pode estar lotado em um e somente um
departamento. Um departamento obrigatoriamente tem de um
até N empregados lotados nele
14:01
Relacionamentos
• Cardinalidade máxima e mínima
Funcionário
Funcionário
Funcionário
14:02
(1,N)
(1,N)
(1,1)
LOTADOS_EM
PARTICIPA_DE
COORDENA
(1,1)
(1,N)
(0,2)
Departamento
Projeto
Projeto
Relacionamentos
• Auto relacionamentos
– Relacionamento entre instâncias de uma mesma
entidade
– Requer a identificação de papéis
• Utilizado quando não é clara a participação de um
determinado conjunto de entidades em um relacionamento
– “Um funcionário pode ser supervisionado por no
máximo 1 Funcionário. Um Funcionário pode
supervisionar no máximo N funcionários”
Papéis
14:02
Funcionário
SUPERVISOR
(0,1)
SUPERVISÃO
SUPERVISIONADO (0,n)
Relacionamentos
• Auto relacionamentos
esposa
Pessoa
Marido
Esposa
(0,1)
(0,1)
casadoCom
14:02
Roberto
Pedro
Jessica
Ana
marido
Relacionamentos
• Relacionamentos podem ter atributos
Nome
Telefones
Rua
Estado
CPF
Funcionário
14:02
TRABALHA_EM
Departamento
Nome
Endereço
HorasTrabalhadas
Cidade
Código
Relacionamentos
• Relacionamentos podem ter atributos
Nome
Telefones
Rua
Estado
CPF
Funcionário
Código
TRABALHA_EM
Nome
Endereço
HorasTrabalhadas
Cidade
14:02
Departamento
Relacionamentos
• Relacionamentos podem ter atributos
esquema
Médico
nome celular
Consulta
dataDaConsulta
Paciente
nome endereço
instâncias
Dr. Paulo
Dr. Flora
14:02
22/10/2007
05/02/2009
20/03/2009
Vania
José
Relacionamentos
• Relacionamentos podem ter atributos
Empregado
nome salario
Vania
Pedro
Gabriel
14:02
Atuação
função
coordenador
pesquisador
bolsista
Projeto
sigla
AATOM
Sinpli
Exercício
• Identifique os relacionamentos no modelo e
os atributos do relacionamento (quando
houver)
– Cardinalidade
– Nome dos relacionamentos
14:02
Diagrama ER
14:02
Notações:
Peter Chan vs James Martin
• A notação de Peter Chan pode ser cansativa
para grandes modelos
• Ferramentas CASE: Notação de James Martin
Conectividade
1:1
1:N
N:N
14:02
Peter Chan
1
James Martin
1
1
N
N
M
Notações:
Peter Chan vs James Martin
• Principais diferenças
– Relacionamentos são representados apenas por
uma linha que une as duas entidades;
– Somente relacionamentos binários;
– A notação de cardinalidade máxima e mínima é
gráfica
• O símbolo mais próximo ao retângulo é a representação
da cardinalidade máxima e o mais distante a
cardinalidade mínima.
14:02
Notações:
Peter Chan vs James Martin
Empregado
(1,1)
Trabalha
Empregado
Departamento
Departamento
Opcional
14:02
(0,n)
Notações:
Peter Chan vs James Martin
• Um para um
Motorista
Táxi
• Um para muitos
Estado
Cidade
• Muitos para muitos
Advogado
14:02
Processo
Exercício para casa
• Dado o seguinte minimundo, construa um diagrama ER
– O acervo de uma biblioteca é composto por exemplares de
livros. Cada livro é caracterizado por um ou mais autores,
um título, uma editora, local de edição, um código ISBN e
um conjunto de palavras-chave. A biblioteca possui pelo
menos um exemplar de cada livro, numerados
seqüencialmente (exemplares 1, 2, 3, etc). Os associados
da biblioteca podem retirar exemplares dos livros. Cada
associado pode levar emprestado no máximo três
exemplares. Para cada empréstimo é registrada a data em
que este foi realizado. Cada associado possui um código,
um nome e endereço.
• Entrega: 08/09/11
– [email protected]
14:02
Bibliografia
• Sistema de Banco de Dados – Elmasri e
Navathe
• Material da Profa. Vania Bogorny (UFSC)
• Material do Prof. Clodis Boscarioli (UNIOESTE)
• Material da Profa. Renata Rêgo (IFPE)
14:02
Download