Download - Aula 2 2--_modelo_er
Modelo Entidade Modelo 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 CATARINACAMPUS DE FLORIANCAMPUS DE FLORIANÓÓPOLISPOLIS
CURSO TCURSO TÉÉCNICO DE METEOROLOGIACNICO DE METEOROLOGIADASS DASS -- 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 [email protected]@ifsc.edu.br
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 Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
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 Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
SBD - 2008/2 4
� Relacionamento UNARIO ou Auto-Relacionamento� São relacionamentos que se estabelecem entre os elementos de uma mesma entidade.
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Funcionário
Chefia
LuciaCarolinaGuilhermeHewerton
LaísIracemaVentura
chefesubordinado
Chefesubordinado
Funcionário
(1,1) (1,N)
1:N
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 Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
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 Modelagem Elementos 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
1N
1:N
1:N
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 Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Pessoa
Casamento
Marido Esposa
1:1
N:N
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 Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
SBD - 2008/2 9
� Considere as entidades abaixo, na realidade de uma escola.� Qual o grau do relacionamento entre as entidades?
Elementos Da Modelagem Elementos 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
SBD - 2008/2 10
� Considere as entidades abaixo, na realidade de uma escola.� Qual o grau do relacionamento entre as entidades?
Elementos Da Modelagem Elementos 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
SBD - 2008/2 11
� Considere as entidades abaixo, na realidade de uma escola.� Qual o grau do relacionamento entre as entidades?
Elementos Da Modelagem Elementos 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
SBD - 2008/2 12
� E Agora! Como resolver?
Elementos Da Modelagem Elementos 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.
SBD - 2008/2 13
� Relacionamento Ternário
Elementos Da Modelagem Elementos 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)
SBD - 2008/2 14
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Aluno
Professor
DisciplinaCursamN N
1
N:N
1:N1:N
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 Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
SBD - 2008/2 16
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
AlunoProfessor
Disciplina
Ministra É freqüentada
Não éPermitido!!!
SBD - 2008/2 17
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Meliante Vitima
Arma
Assassina
Usa
Crime
N
N
NN
SBD - 2008/2 18
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Meliante Vitima
Arma
Crime
Usa
N
N
NNFaz Tem
Utilizando Entidades Associativas
1 1
1
1
SBD - 2008/2 19
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Funcionário Projeto
Computador
Alocado
Usa
1
N
NN
SBD - 2008/2 20
Elementos Da Modelagem Elementos 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
SBD - 2008/2 21
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Médico PacienteAtende
Usa
1
N
NN
Clinica LocalAtuaNN
Fato 1
Fato 2
SBD - 2008/2 22
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Médico PacienteConsulta
Realiza
1
N
NN
Clinica LocalClinicalocal
N N
1 1
1 1
Utilizando Entidades Associativas
SBD - 2008/2 23
� Generalização e Especialização
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PessoasNome
Endereço
CPF
RG
CNPJ
IE
Telefone
Razão Social
Cidade
Tipo sangue
Sexo Filiação
SBD - 2008/2 24
� Generalização e Especialização
Elementos Da Modelagem Elementos 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
SBD - 2008/2 25
Elementos Da Modelagem Elementos 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
SBD - 2008/2 26
Elementos Da Modelagem Elementos 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
SBD - 2008/2 27
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PESSOA
Tipo Pesooa
ALUNO ENGENHEIRO
MÉDICO
� Generalização e Especialização
NomeSexo
IdadeAltura
Matrícula
CRM
CREA
SBD - 2008/2 28
Elementos Da Modelagem Elementos 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.
SBD - 2008/2 29
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PESSOA
Tipo Pesooa
ALUNO ENGENHEIRO
MÉDICO
� Generalização e Especialização
NomeSexoIdade
Altura
Matrícula
CRM
CREA
LÚCIA
ou
DISJUNÇÃOSOBREPOSIÇÃO
e
SBD - 2008/2 30
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PESSOA
Tipo Pesooa
ALUNO ENGENHEIRO
MÉDICO
� Generalização e Especialização
NomeSexoIdade
Altura
Matrícula
CRM
CREA
LÚCIA
e/ou
TOTAL
e/ou
SBD - 2008/2 31
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
PESSOA
Tipo Pesooa
ALUNO ENGENHEIRO
MÉDICO
� Generalização e Especialização
NomeSexoIdade
Altura
Matrícula
CRM
CREA
LÚCIAPARCIAL
SBD - 2008/2 32
Elementos Da Modelagem Elementos 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
SBD - 2008/2 33
� Especialização
Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento
Relacionamentos EspeciaisRelacionamentos Especiais
Conta
Tipo Conta
Especial Poupança
Empregado
Tipo Funcionário
Secretario Técnico
Engenheiro
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.