41
Banco de Dados Aula 4 - Prof. Bruno Moreno 02/09/2011

Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

  • Upload
    vutruc

  • View
    274

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Banco de Dados

Aula 4 - Prof. Bruno Moreno

02/09/2011

Page 2: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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

Page 3: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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 dedados

14:01

Page 4: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Modelo de Dados

• Modelos propostos:

– Modelo conceitual

– Modelo Lógico

– Modelo Físico

14:01

Projeto Físico

Projeto Lógico

Projeto Conceitual

NíveisDe

Abstração

Minimundo

Page 5: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Modelo de Dados

• 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)‏– 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

Iniciamos na aula passada

EmpregadoNomeEndereço

Page 6: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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 Entidade-Relacionamento (DER)

– Principais conceitos: (1) entidades, (2) atributos e (3) relacionamentos

– Notação criada por Peter Chen (1976)

14:01

Page 7: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Entidades

• Entidades fortes

– Possuem identificação própria: chave primária

• 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

Funcionário Departamento

Page 8: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

• Entidades fortes

– Possuem identificação própria: chave primária

• Entidade fraca

– Exemplo: DEPENDENTE só existe se existir um FUNCIONÁRIO associado

Entidades

14:01

Funcionário Dependente

Funcionário Departamento

POSSUI

Page 9: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Atributos

• Monovalorado: possui apenas um valor

• Multivalorado: possui mais de um valor

• Composto: possui sub-partes

• Derivado: obtido por meio de outros atributos ou relacionamentos

14:01

Idade

Telefones

Endereço

Rua

Cidade

Estado

Tempo_moradia

Page 10: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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

14:01

Matrícula

Aluno

NumAgencia

Conta Corrente

NumConta EndereçoX

Page 11: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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

14:01

Matrícula

Aluno

NumAgencia

Conta Corrente

NumConta Endereço

Page 12: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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

Aluno

DisciplinaProfessor

Turma

Page 13: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Como expressamos que João trabalha no Departamento de Contabilidade?

14:01

Empregado DepartamentoLotação

JoãoPedroPauloMaria

ContabilidadeFinanceiroJurídicoPessoal

Page 14: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Relacionamento: associação entre várias entidades

• Conjunto de relacionamentos: conjunto de relacionamentos do mesmo tipo

• Exemplos

14:01

Consulta Medico Paciente

Cliente ContaContaCliente

Cidade

Residência

Page 15: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Grau de relacionamento

– Quantidade de entidades diferentes envolvidas

– Binários: grau de relacionamento 2

– Ternários: grau 3

– Quaternários: grau 4

14:01

Relacionamento com grau N > 2 só éjustificável se não puder ser decomposto emrelacionamentos com graus menores e aindamanter a semântica desejada.

Page 16: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Grau de Relacionamento Ternário

– Só deve ser utilizado se não puder ser transformado em duplo

14:01

Aluno DisciplinaMONITORA

Professor MINISTRAAUXILIA

N M

P

1

Q

1

Aluno A auxilia professor P em qual disciplina?

Page 17: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Grau de Relacionamento Ternário

– Só deve ser utilizado se não puder ser transformado em duplo

14:01

Aluno DisciplinaMONITORAN M

Professor

1

Page 18: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

• 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

Relacionamentos

14:01

Page 19: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

• 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.

Relacionamentos

14:01

Page 20: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

• 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

Relacionamentos

14:01

Page 21: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

• 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

Relacionamentos

14:01

Page 22: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

• Restrições: mostram dependência entre entidades

– Total: toda entidade do conjunto de entidades deve se relacionar com a entidade correspondente do relacionamento

– Parcial

Relacionamentos

14:01

Disciplina EmentaPOSSUI

Uma entidade Ementa tem que participar deum relacionamento Possui, ou seja, deve estarassociada a uma entidade Disciplina

Page 23: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Cardinalidade 1 para 1

– Um funcionário gerencia no máximo 1 departamento. Um departamento é gerenciado por no máximo um funcionário

14:01

f1

f2

f3

d1

d2

d3

Funcionário DepartamentoGERENCIA1 1

Page 24: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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

14:01

f1

f2

f3

f4

f5

d1

d2

d3

Funcionário DepartamentoLOTADOSN 1

Page 25: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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

14:01

f1

f2

f3

p1

p2

p3

Funcionário ProjetoPARTICIPA

Médico PacienteCONSULTA

N N

N N

Page 26: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Cardinalidade máxima e mínima

– Indica obrigatoriedade ou não de participação das entidades

14:01

Funcionário DepartamentoLOTADOS_EM(1,N) (1,1)

Notação de par de cardinalidade(mínima, máxima)

Um funcionário pode estar lotado em um e somente um departamento. Um departamento obrigatoriamente tem de um

até N empregados lotados nele

Page 27: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Cardinalidade máxima e mínima

14:02

Funcionário DepartamentoLOTADOS_EM(1,N) (1,1)

Funcionário ProjetoPARTICIPA_DE(1,N) (1,N)

Funcionário ProjetoCOORDENA(1,1) (0,2)

Page 28: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

• Auto relacionamentos

– Relacionamento entre instâncias de uma mesmaentidade

– 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”

Funcionário

Relacionamentos

14:02

SUPERVISÃO

(0,1)

(0,n)SUPERVISIONADO

SUPERVISORPapéis

Page 29: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

• Auto relacionamentos

Relacionamentos

14:02

Pessoa

(0,1)(0,1)

casadoCom

EsposaMarido

RobertoPedroJessica

Ana

marido

esposa

Page 30: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Relacionamentos podem ter atributos

14:02

Funcionário DepartamentoTRABALHA_EM

CPF

Nome

Endereço

Rua

Cidade

Estado

Código

Nome

Telefones

HorasTrabalhadas

Page 31: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Relacionamentos podem ter atributos

14:02

Funcionário DepartamentoTRABALHA_EM

CPF

Nome

Endereço

Rua

Cidade

Estado

Código

Nome

Telefones

HorasTrabalhadas

Page 32: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Relacionamentos podem ter atributos

14:02

Médico PacienteConsulta

dataDaConsultanome celular nome endereço

Dr. PauloDr. Flora

Vania

José

22/10/200705/02/200920/03/2009

esquema

instâncias

Page 33: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Relacionamentos

• Relacionamentos podem ter atributos

14:02

Empregado ProjetoAtuação

funçãonome salario sigla

VaniaPedro

Gabriel

AATOM

Sinpli

coordenadorpesquisadorbolsista

Page 34: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Exercício

• Identifique os relacionamentos no modelo e os atributos do relacionamento (quando houver)

– Cardinalidade

– Nome dos relacionamentos

14:02

Page 35: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Diagrama ER

14:02

Page 36: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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

14:02

Conectividade Peter Chan James Martin

1:1

1:N

N:N

1 1

1 N

N M

Page 37: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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

Page 38: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Notações: Peter Chan vs James Martin

14:02

Empregado Departamento

Empregado DepartamentoTrabalha(1,1) (0,n)

Opcional

Page 39: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

Notações: Peter Chan vs James Martin

• Um para um

• Um para muitos

• Muitos para muitos

14:02

TáxiMotorista

Estado Cidade

Advogado Processo

Page 40: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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

Page 41: Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf · •Modelo Entidade Relacionamento –Técnica mais utilizada de modelagem –Tem

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