1. Modelo EntidadeModelo Entidade -- RelacionamentoRelacionamento
(ER ou MER)(ER ou MER)
Parte 2Parte 2
INSTITUTO FEDERAL DE EDUCAINSTITUTO FEDERAL DE EDUCAÇÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINAÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA
CAMPUS DE FLORIANCAMPUS DE FLORIANÓÓPOLISPOLIS
CURSO TCURSO TÉÉCNICO DE METEOROLOGIACNICO DE METEOROLOGIA
DASSDASS -- Departamento Acadêmico de SaDepartamento Acadêmico de Saúúde e Servide e Serviççosos
Unidade Curricular De Sistema de Banco de DadosUnidade Curricular De Sistema de Banco de Dados
Prof. Marcos Antônio Viana NascimentoProf. Marcos Antônio Viana Nascimento
marcao@ifsc.edu.brmarcao@ifsc.edu.br
2. SBD - 2008/2 2
Nos dias atuais se comenta muito sobre a
qualidade de vida das pessoas.
Um dos comentários mais ouvidos é que, para
estar bem com a vida, devemos em primeiro
lugar estar bem conosco.
Devemos nos autorrelacionar muito bem, gostar
de nós mesmos antes de tudo para poder encarar
a vida.
Estas afirmativas apresentam um relacionamento
do ser humano consigo mesmo, isto é, auto-
relacionamento.
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
3. SBD - 2008/2 3
A situação mais típica dos relacionamentos que existem e
entre duas entidades, o qual chamamos de Relacionamento
Binário.
Entretanto, podemos ter relacionamento de uma entidade
com ela mesma, chamado de Unário.
O relacionamento de duas entidades com uma terceira e
chamado de Ternário.
Podem existir relacionamentos entre 4, 5 e N entidades.
A função que uma entidade desempenha em um
relacionamento é chamada Papel.
Assim, pode ocorrer de um mesmo conjunto de entidades
participar de um conjunto de relacionamentos mais de uma
vez em diferentes papeis.
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
4. SBD - 2008/2 4
Relacionamento UNARIO ou Auto-Relacionamento
São relacionamentos que se estabelecem entre os
elementos de uma mesma entidade.
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Funcionário
Chefia
Lucia
Carolina
Guilherme
Hewerton
Laís
Iracema
Ventura
chefesubordinado
Chefesubordinado
Funcionário
(1,1) (1,N)
1:N
5. SBD - 2008/2 5
Auto-relacionamentos são, na maioria das
vezes, representações de estruturas de
hierarquias.
Vamos considerar a entidade Pessoa cujas
ocorrências são representativas de
inúmeras pessoas de um determinado
local.
Entre essas inúmeras ocorrências de
pessoas existem relacionamentos bem
definidos, tais como, É filho de, Tem Pai,
Tem Mãe, etc..
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
6. SBD - 2008/2 6
Pessoa
Tem Pai
Uma pessoa (Pai) tem muitos filhos: 1:N
Pessoa
Tem Mãe
Uma pessoa (Mãe) tem muitos filhos: 1:N
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Uma Mãe
(Pessoa) pode
ter no Mínimo 1
filho e no
Maximo N (1,N)
Uma filho
(Pessoa) pode
ter no Mínimo
1 mãe e no
Maximo 1
(1,1)
Um filho (Pessoa)
pode ter no
Mínimo 1 pai e
no Maximo 1
(1,1)
Um pai
(Pessoa) pode
ter no Mínimo
1 filho e no
Maximo N
(1,N)
Pai
Mãe
FilhoPessoa
Tem Mãe
N1
Tem Pai
1
N
1:N
1:N
7. SBD - 2008/2 7
Composto Componente
Produto
Compõe
Em uma industria um produto é composto de vários outros
produtos: 1:N
Por outro lado, um produto componente pode participar da
composição de muitos produtos: 1:N
Um componente (produto) compõe no Mínimo 1 produto e no
Maximo N (1,N).
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Pessoa
Casamento
Marido Esposa
1:1
N:N
8. SBD - 2008/2 8
Ate o momento apresentamos e analisamos situações
em que as entidades se relacionavam aos pares, isto
e, relacionamentos Binários.
E e assim que deve ocorrer quando estamos no
principio da construção da modelagem de dados:
analisar as entidades aos pares.
O relacionamento entre múltiplas entidades
expressam um fato em que todas as entidades
ocorrem simultaneamente, ou seja, todas as
ocorrências do relacionamento possuem, sempre,
ligações com todas as entidades envolvidas no
relacionamento.
Não e possível um relacionamento triplo, em um
determinado momento, transformar-se em duplo.
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
9. SBD - 2008/2 9
Considere as entidades abaixo, na realidade de uma escola.
Qual o grau do relacionamento entre as entidades?
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Aluno DisciplinaCursa
1. Um alunos pode cursar no mínimo 1 e no máximo N disciplinas;
2. Em uma disciplina podemos ter cursando no mínimo 1 e no máximo N alunos;
3. Portanto, o grau do relacionamento é muitos para muitos, isto é, N:N
N N
N:N
10. SBD - 2008/2 10
Considere as entidades abaixo, na realidade de uma escola.
Qual o grau do relacionamento entre as entidades?
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Professor DisciplinaMinistra
1. Um professor pode cursar no mínimo 1 e no máximo N disciplinas;
2. Uma disciplina pode ser ministrada no mínimo 1 e no máximo N professores;
3. Portanto, o grau do relacionamento é muitos para muitos, isto é, N:N
N N
N:N
11. SBD - 2008/2 11
Considere as entidades abaixo, na realidade de uma escola.
Qual o grau do relacionamento entre as entidades?
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Professor AlunoAula
1. Um professor pode dar aula para no mínimo 1 e no máximo N alunos;
2. Um aluno pode aula com no mínimo 1 e no máximo N professores;
3. Portanto, o grau do relacionamento é muitos para muitos, isto é, N:N
N N
N:N
12. SBD - 2008/2 12
E Agora! Como resolver?
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Aluno
Professor
DisciplinaCursam
1. Quando um aluno esta matriculado em uma disciplina, ele tem sempre um professor.
2. Um aluno pode estar matriculado em varias disciplinas.
3. Uma disciplina tem vários alunos matriculados, e somente um professor.
4. Um professor leciona uma disciplina para vários alunos.
5. Um aluno em uma disciplina sempre tem um professor.
6. Uma disciplina com alunos sempre tem um professor.
7. Um professor com aluno sempre tem uma disciplina.
13. SBD - 2008/2 13
Relacionamento Ternário
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Aluno
Professor
DisciplinaCursam
Isolando ALUNO Para cada par Professor-Disciplina podemos ter
de 1 a N Alunos relacionados.
Isolando PROFESSOR Para cada par Aluno-Disciplina podemos ter
de 1 e somente 1 Professor relacionado.
Isolando DISCIPLINA Para cada par Professor-Aluno podemos ter
de 1 a N Disciplinas relacionadas.
(1,N) (1,N)
(1,1)
14. SBD - 2008/2 14
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Aluno
Professor
DisciplinaCursam
N N
1
N:N
1:N1:N
15. SBD - 2008/2 15
Existem situações em que a visão dos dados nos deixa
dúvida de como representar um fato que está
relacionado a ouro fato.
Isso equivale a dizer que um relacionamento está
relacionado a outro.
Conceitualmente, não existem relacionamentos entre
relacionamentos; é uma inverdade conceitual.
O que existe no mundo real são relacionamentos
dependentes de outros, que somente existem após a
ocorrência de outro, considerado fundamental.
A essas situações chamadas de AGREGAÇÃO, em que
consiste numa forma de abstração onde o
relacionamento entre objetos é considerado um objeto
de nível mais elevado.
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
16. SBD - 2008/2 16
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
AlunoProfessor
Disciplina
Ministra É freqüentada
Não é
Permitido!!!
17. SBD - 2008/2 17
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Meliante Vitima
Arma
Assassina
Usa
Crime
N
N
NN
18. SBD - 2008/2 18
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Meliante Vitima
Arma
Crime
Usa
N
N
NN
Faz Tem
Utilizando Entidades Associativas
1 1
1
1
19. SBD - 2008/2 19
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Funcionário Projeto
Computador
Alocado
Usa
1
N
NN
20. SBD - 2008/2 20
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Funcionário Projeto
Computador
Alocação
Usa
1
N
N N
Utilizando Entidades Associativas
AssociadoTem
Possui
Utilização
N
1
1
1
21. SBD - 2008/2 21
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Médico PacienteAtende
Usa
1
N
NN
Clinica LocalAtua
NN
Fato 1
Fato 2
22. SBD - 2008/2 22
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Médico PacienteConsulta
Realiza
1
N
NN
Clinica Local
Clinica
local
N N
1 1
1 1
Utilizando Entidades Associativas
23. SBD - 2008/2 23
Generalização e Especialização
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PessoasNome
Endereço
CPF
RG
CNPJ
IE
Telefone
Razão Social
Cidade
Tipo sangue
Sexo
Filiação
24. SBD - 2008/2 24
Generalização e Especialização
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Pessoas
Nome
Endereço
CPF
RG CNPJ
IE
Telefone
Razão Social
Cidade
Tipo sangue
Sexo
Filiação
Tipo Pessoa
Pessoa Física Pessoa Jurídica
Cod_Pessoa
Cod_Pessoa
Cod_Pessoa
25. SBD - 2008/2 25
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Aluno
Matrícula
Nome
Sexo
Idade
Altura
Médico
CRM
Nome
Sexo
Idade
Altura
Engenheiro
CREA
Nome
Sexo
Idade
Altura
Generalização e Especialização
26. SBD - 2008/2 26
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Aluno Médico Engenheiro
GENERALIZAR
PESSOA
Nome
Sexo
Idade
Altura
Matrícula CRM CREA
Generalização e Especialização
27. SBD - 2008/2 27
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PESSOA
Tipo Pesooa
ALUNO ENGENHEIRO
MÉDICO
Generalização e Especialização
Nome
Sexo
Idade
Altura
Matrícula
CRM
CREA
28. SBD - 2008/2 28
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Propriedades da Generalização
Disjunção x Sobreposição (D x S)
Se uma entidade especializada puder pertencer a mais de um
subconjunto de entidades ao mesmo tempo, diz-se ter uma
sobreposição, caso contrário, disjunção.
Cobertura Total ou Parcial (T x P)
Se toda entidade pertencente ao conjunto de entidades
genérica pertencer a alguma entidade no conjunto de
entidades especializadas, então tem-se cobertura total; caso
contrário, cobertura parcial.
29. SBD - 2008/2 29
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PESSOA
Tipo Pesooa
ALUNO ENGENHEIRO
MÉDICO
Generalização e Especialização
Nome
SexoIdade
Altura
Matrícula
CRM
CREA
LÚCIA
ou
DISJUNÇÃOSOBREPOSIÇÃO
e
30. SBD - 2008/2 30
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PESSOA
Tipo Pesooa
ALUNO ENGENHEIRO
MÉDICO
Generalização e Especialização
Nome
SexoIdade
Altura
Matrícula
CRM
CREA
LÚCIA
e/ou
TOTAL
e/ou
31. SBD - 2008/2 31
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PESSOA
Tipo Pesooa
ALUNO ENGENHEIRO
MÉDICO
Generalização e Especialização
Nome
SexoIdade
Altura
Matrícula
CRM
CREA
LÚCIAPARCIAL
32. SBD - 2008/2 32
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Estudante
Tipo Estudante
Graduação Pós-Graduação
Técnico
Tipo Técnico
Pós-Médio Integrado
33. SBD - 2008/2 33
Especialização
Elementos Da ModelagemElementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Conta
Tipo Conta
Especial Poupança
Empregado
Tipo Funcionário
Secretario Técnico
Engenheiro
34. SBD - 2008/2 34
Pessoa: Código, TipoDePessoa, Nome, Endereço, Telefone, CPF, RG, CNPJ, IE,
RazaoSocial
2) Criar uma tabela para cada especialização e definir mais um campo identificador
Pessoa: Código, Nome, Endereço, Telefone
Pessoa_Fisica: CodPessoa, CPF, RG Pessoa_Juridica: CodPessoa, CNPJ, IE,
RazaoSocial
A vantagem da primeira alternativa é que não precisaremos fazer junções da tabela
generalizada (Pessoa) com a tabela especializada (Pessoa Física ou Jurídica) quando
precisarmos de informações específicas. Outra vantagem é que a chave primária da
tabela Pessoa fica armazenada somente 1 vez no banco de dados. A desvantagem é
que, ao fazermos uma consulta no banco de dados, a linha inteira (todos os campos)
são carregados na memória, mas sabemos que haverão campos em branco,
dependendo do tipo de Pessoa cadastrada.
Na segunda alternativa, há a necessidade de fazer junções quando formos obter
todas as informações de uma Pessoa. Porém, a vantagem é que teremos somente os
dados necessários sem a necessidade de carregar todos os campos na memória,
gerando mais acessos ao banco de dados. As chaves primárias de Pessoa são
repetidas nas tabelas especializadas e, quando houver atualização das informações
de uma pessoa, haverá a necessidade de criar uma instrução para cada tabela
especializada.
A escolha de um dos tipos de tradução para generalizações/especializações irá
depender do projeto que está sendo construído e dos recursos disponíveis para quem
está modelando. Nada impede que as duas alternativas sejam usadas no mesmo
projeto de banco de dados, uma alternativa pra cada caso de tabelas generalizadas.