Aula 2 2--_modelo_er

34
Modelo Entidade Modelo Entidade - - Relacionamento Relacionamento (ER ou MER) (ER ou MER) Parte 2 Parte 2 INSTITUTO FEDERAL DE EDUCA INSTITUTO FEDERAL DE EDUCA Ç Ç ÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA ÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA CAMPUS DE FLORIAN CAMPUS DE FLORIAN Ó Ó POLIS POLIS CURSO T CURSO T É É CNICO DE METEOROLOGIA CNICO DE METEOROLOGIA DASS DASS - - Departamento Acadêmico de Sa Departamento Acadêmico de Sa ú ú de e Servi de e Servi ç ç os os Unidade Curricular De Sistema de Banco de Dados Unidade Curricular De Sistema de Banco de Dados Prof. Marcos Antônio Viana Nascimento Prof. Marcos Antônio Viana Nascimento [email protected] [email protected]

Transcript of Aula 2 2--_modelo_er

Page 1: 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

Page 2: Aula 2 2--_modelo_er

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

Page 3: Aula 2 2--_modelo_er

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

Page 4: Aula 2 2--_modelo_er

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

Page 5: Aula 2 2--_modelo_er

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

Page 6: Aula 2 2--_modelo_er

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

Page 7: Aula 2 2--_modelo_er

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

Page 8: Aula 2 2--_modelo_er

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

Page 9: Aula 2 2--_modelo_er

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

Page 10: Aula 2 2--_modelo_er

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

Page 11: Aula 2 2--_modelo_er

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

Page 12: Aula 2 2--_modelo_er

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.

Page 13: Aula 2 2--_modelo_er

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)

Page 14: Aula 2 2--_modelo_er

SBD - 2008/2 14

Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento

Relacionamentos EspeciaisRelacionamentos Especiais

Aluno

Professor

DisciplinaCursamN N

1

N:N

1:N1:N

Page 15: Aula 2 2--_modelo_er

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

Page 16: Aula 2 2--_modelo_er

SBD - 2008/2 16

Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento

Relacionamentos EspeciaisRelacionamentos Especiais

AlunoProfessor

Disciplina

Ministra É freqüentada

Não éPermitido!!!

Page 17: Aula 2 2--_modelo_er

SBD - 2008/2 17

Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento

Relacionamentos EspeciaisRelacionamentos Especiais

Meliante Vitima

Arma

Assassina

Usa

Crime

N

N

NN

Page 18: Aula 2 2--_modelo_er

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

Page 19: Aula 2 2--_modelo_er

SBD - 2008/2 19

Elementos Da Modelagem Elementos Da Modelagem -- RelacionamentoRelacionamento

Relacionamentos EspeciaisRelacionamentos Especiais

Funcionário Projeto

Computador

Alocado

Usa

1

N

NN

Page 20: Aula 2 2--_modelo_er

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

Page 21: Aula 2 2--_modelo_er

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

Page 22: Aula 2 2--_modelo_er

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

Page 23: Aula 2 2--_modelo_er

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

Page 24: Aula 2 2--_modelo_er

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

Page 25: Aula 2 2--_modelo_er

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

Page 26: Aula 2 2--_modelo_er

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

Page 27: Aula 2 2--_modelo_er

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

Page 28: Aula 2 2--_modelo_er

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.

Page 29: Aula 2 2--_modelo_er

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

Page 30: Aula 2 2--_modelo_er

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

Page 31: Aula 2 2--_modelo_er

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

Page 32: Aula 2 2--_modelo_er

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

Page 33: Aula 2 2--_modelo_er

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

Page 34: Aula 2 2--_modelo_er

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.