Banco de Dados - Bruno Morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/BD_Aula4.pdf ·...

Preview:

Citation preview

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 dedados

14:01

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

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

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

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

• 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

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

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

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

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

Relacionamentos

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

14:01

Empregado DepartamentoLotação

JoãoPedroPauloMaria

ContabilidadeFinanceiroJurídicoPessoal

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

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.

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?

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

• 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

• 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

• 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

• 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

• 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

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

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

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

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

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)

• 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

• Auto relacionamentos

Relacionamentos

14:02

Pessoa

(0,1)(0,1)

casadoCom

EsposaMarido

RobertoPedroJessica

Ana

marido

esposa

Relacionamentos

• Relacionamentos podem ter atributos

14:02

Funcionário DepartamentoTRABALHA_EM

CPF

Nome

Endereço

Rua

Cidade

Estado

Código

Nome

Telefones

HorasTrabalhadas

Relacionamentos

• Relacionamentos podem ter atributos

14:02

Funcionário DepartamentoTRABALHA_EM

CPF

Nome

Endereço

Rua

Cidade

Estado

Código

Nome

Telefones

HorasTrabalhadas

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

Relacionamentos

• Relacionamentos podem ter atributos

14:02

Empregado ProjetoAtuação

funçãonome salario sigla

VaniaPedro

Gabriel

AATOM

Sinpli

coordenadorpesquisadorbolsista

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

14:02

Conectividade Peter Chan James Martin

1:1

1:N

N:N

1 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

14:02

Empregado Departamento

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

Opcional

Notações: Peter Chan vs James Martin

• Um para um

• Um para muitos

• Muitos para muitos

14:02

TáxiMotorista

Estado Cidade

Advogado 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– bruno@dce.ufpb.br

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