36
1 Modelo Entidade- Modelo Entidade- Relacionamento (ER) Relacionamento (ER) Universidade Federal da Grande Dourados Prof. Me. Everton C. Tetila

1 Modelo Entidade- Relacionamento (ER) Universidade Federal da Grande Dourados Prof. Me. Everton C. Tetila

Embed Size (px)

Citation preview

1

Modelo Entidade-Modelo Entidade-Relacionamento (ER)Relacionamento (ER)

Universidade Federal da Grande DouradosProf. Me. Everton C. Tetila

2

Modelagem de dados usando o MERModelagem de dados usando o MER

Modelo Entidade-Relacionamento (ER) Modelo de dados conceitual popular de alto nível

Diagrama ER Notação diagramática associada ao modelo ER

Descreve os dados como: Entidades Atributos e Relacionamentos

3

CLIENTE CONTAPOSSUI

Nome Endereco Telefone Numero Saldo

* *

#tabela clienteCREATE TABLE CLIENTE( Cpf CHAR(14), Nome VARCHAR(45), Endereco VARCHAR(45), Telefone CHAR(13), PRIMARY KEY (Cpf));

Projeto Conceitual(Diagrama Entidade-Relacionamento)

Projeto Lógico(Modelo Relacional) Projeto Físico

(Instruções SQL)

Cpf

Levantamento e análise de requisitosMinimundo

Fases do projeto de banco de dadosFases do projeto de banco de dados

4

Um exemploUm exemplo

Suponha que, depois da fase de levantamento e análise de requisitos, os projetistas de banco de dados ofereçam a seguinte descrição do minimundo: Um banco é organizado em agências. Cada banco tem um código, um

nome e pode ter várias agências. Registramos o número e o endereço de cada agência. Uma agência controla uma série de contas. Desejamos saber a quantidade de contas que cada agência controla.

Armazenamos o nome, número do Cadastro de Pessoa Física, sexo (gênero), telefone e endereço de cada cliente. Registramos para o endereço do cliente: rua, número, bairro, complemento, cidade, estado e CEP. Um cliente pode ter vários telefones (ex: residencial, comercial, celular) e diferentes contas que não necessariamente pertencem a uma mesma agência. De modo semelhante, uma conta pode ter mais de um titular.

Queremos registrar as contas de cada cliente para fins de controle. Para cada conta, mantemos o número, o saldo e o seu tipo (ex: corrente, poupança).

5

Um exemploUm exemplo

6

EntidadeEntidade

Entidade É um conjunto de objetos do mundo real sobre os quais se

deseja manter informações no banco de dados Representada através de um retângulo Pode representar:

objetos concretos (uma pessoa) objetos abstratos (um departamento)

Departamento

Contabilidade Financeiro Jurídico Pessoal

Empregado

JoãoPedroPauloMaria

Possui propriedadesPossui propriedadesAtributos e RelacionamentosAtributos e Relacionamentos

7

EntidadeEntidade

Exemplos de Entidades: Sistema BancárioSistema Bancário

Cliente Conta Agência Banco

Sistema de Ambiente EmpresarialSistema de Ambiente Empresarial Produto Empregado Departamento Cliente

8

Entidade-fraca É identificada por estar relacionada a uma entidades

proprietária

Empregado Dependente

Entidade-fracaEntidade-fraca

9

AtributoAtributo

É um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento

Representado através de um oval

EmpregadoCpfNomeEndereco

Departamento

Numero Nome

ou

10

AtributoAtributo

Tipos de atributos: Simples versus composto Valor único versus multivalorados Armazenado versus derivado Valores NULL

Não aplicável Desconhecido

11

AtributoAtributo

Notação para diagramas ER:

12

ExercícioExercício

Considerando um sistema acadêmico, envolvendo entidades que todos conhecemos, defina pelo menos 3 atributos para cada uma das entidades

Aluno

Disciplina

Professor

Turma

13

RelacionamentosRelacionamentos

Relacionamento: É uma associação entre entidades Representado através de um losango e linhas que

ligam as entidades relacionadas

nomeDoRelacionamentoA B

14

RelacionamentosRelacionamentos

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

Empregado DepartamentoTrabalha_para

JoãoPedroPauloMaria

Contabilidade Financeiro Jurídico Pessoal

Diagrama de Ocorrências (instâncias)

15

RelacionamentosRelacionamentos

Exemplos de Relacionamentos

Cliente ContaPossui

Medico PacienteConsulta

16

Relacionamentos com AtributosRelacionamentos com Atributos

Exemplo I

Medico PacienteConsulta

dataDaConsulta nome celular nome endereço

Dr. PauloDr. Flora

Vania

José

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

instâncias

17

Relacionamentos com AtributosRelacionamentos com Atributos

Exemplo II

Empregado ProjetoAtua

funcao nome salario sigla

VaniaPedro

Gabriel

Genoma

Biodiesel

coordenadorpesquisadorbolsista

18

Especifica o número máximo ou mínimo de instâncias de relacionamento em que uma entidade pode participar: (1:1, 1:N, N:1, M:N)

Existem 2 tipos de cardina-lidades:

Máxima Mínima

a4

a3

a1

a2

b1

b2

b3

b4

A B

A ocorrência a1 da entidade Aestá relacionado a quantasocorrências em B?

Restrições sobre relacionamentosRestrições sobre relacionamentos

Razão de cardinalidade:

19

Restrições sobre relacionamentosRestrições sobre relacionamentos

Funcionario

Participação Especifica se a existência de uma entidade depende dela

estar relacionada a outra entidade por meio do tipo de relacionamento

Tipos: parcial e total

DepartamentoGerencia

20

Relacionamento de identificação Relaciona um tipo de entidade fraca a seu proprietário Sempre tem uma restrição de participação total

Funcionário DependentePossui

Restrições sobre relacionamentosRestrições sobre relacionamentos

21

Cardinalidade MáximaCardinalidade Máxima

22

Relacionamento Um para Um – 1:1Relacionamento Um para Um – 1:1

Uma ocorrência de A está associada a no máximo uma ocorrência de B, e uma ocorrência em B está associada a no máximo uma ocorrência em A.

João

Pedro

Paulo

Maria

Jurídico

Contabilidade

FinanceiroConjunto A(Empregado)

Conjunto B(Departamento)

EmpregadoEmpregado DepartamentoDepartamentoGerencia 11

23

Relacionamento Um para Muitos – 1:NRelacionamento Um para Muitos – 1:N

Uma ocorrência de A está associada a várias ocorrências de B, porém uma ocorrência de B deve estar associada a no máximo uma ocorrência em A

Conjunto A(Departamento)

EmpregadoEmpregadoDepartamentoDepartamento LotaN1

Contabilidade

Financeiro

Ana

Pedro

João

Sandro

Conjunto B(Empregado)

24

Uma ocorrência de A está associada a qualquer número de ocorrências de B, e uma ocorrência em B está associada a qualquer número de ocorrências em A

Pré sal

Biodiesel

Genome

AATOMConjunto A(Empregado)

Conjunto B(Projeto)

EmpregadoEmpregado ProjetoProjetoAtua NM

João

Pedro

Paulo

Maria

Relacionamento Muitos para Muitos – M:NRelacionamento Muitos para Muitos – M:N

25

Cardinalidade MínimaCardinalidade Mínima

O modelo ER permite expressar cardinalidades mínimas e máximas em cada relacionamento Cardinalidade Mínima: Cardinalidade Mínima:

número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B

Representação: (cardinalidade mínima, cardinalidade máxima)(cardinalidade mínima, cardinalidade máxima) Cardinalidades Possíveis: (1,1); (1,N); (0,1);(0,N);(N,N)

Cardinalidade mínima = 1 (relacionamento obrigatório) Cardinalidade mínima = 0 (relacionamento opcional)

26

Cliente ContaPossui(1,2) (1,N)

Exemplo de Relacionamento Obrigatório: cada ocorrência de cliente está relacionado a no mínimo

quantas contas e no máximo quantas contas? Cada ocorrência de conta está relacionada a no mínimo

quantos clientes e no máximo quantos clientes?

Exemplo de Relacionamento Opcional:

Cardinalidade MínimaCardinalidade Mínima

Empregado DepartamentoGerencia (1,1) (0,1)(0,1)

27

Relacionamentos e PapéisRelacionamentos e Papéis

Papel é a função que uma ocorrência da entidade cumpre dentro de uma ocorrência do relacionamento Não é obrigatório no Modelo ER

Cliente ContaPossui(1,1) (1,N)movimenta É movimentada

EmpregadoEmpregado ProjetoProjetoLotado (0,N)(1,N)

alocado envolve

28

Auto-RelacionamentoAuto-Relacionamento

Relacionamento entre ocorrências da mesma entidade

Empregado

(0,N)supervisiona

supervisor(0,1)

supervisionado

JoãoPedroPauloMaria

supervisor

supervisionada

Pessoa

(0,1)(0,1)casadoCom

EsposaMarido

RobertoPedroFelipeAna

marido

esposa

29

Tipos de relacionamento de grau maior que doisTipos de relacionamento de grau maior que dois

Graus de um tipo de relacionamento Número de ocorrências de entidade que participam de cada

ocorrência do relacionamento Binário

Tipo de relacionamento de grau dois Ternário

Tipo de relacionamento de grau três

30

Relacionamento Binário e TernárioRelacionamento Binário e Ternário

Empregado DepartamentoTrabalha

Fornecedor Projeto

Peça

Fornece

Binário

Ternário

N

N

1

31

Identificando EntidadesIdentificando Entidades

Cada entidade deve ter um identificador Identificador (também conhecido como atributo chave):

É o conjunto de um ou mais atributos cujos valores são distintos para cada entidade individual no conjunto de entidades

Exemplo: os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidadão brasileiro

Representação no Modelo

CPFNomeSexo

ou

CPF Nome Sexo

ClienteCliente

32

Notação para Diagramas ERNotação para Diagramas ER

33

Construção do Diagrama ERConstrução do Diagrama ER

Passo 1: identificar entidades Substantivos

Passo 2: identificar relacionamentos Verbos que relacionam substantivos

Passo 3: identificar atributos Adjetivos ou substantivos

Passo 4: identificar cardinalidades Concordâncias de número

3434

Identifique as entidades e os relacionamentos da seguinte descrição do minimundo:As turmas são grupos de alunos, e cada aluno pertence somente a uma turma. Cada professor ministra a mesma matéria em uma ou mais turmas. Não há mais de um professor por matéria.Uma turma recebe aulas de várias matérias e uma matéria pode pertencer a mais de uma turma. Com referência aos tipos de relacionamentos que ocorrem entre estas entidades, esboce o DER e o tipo de relacionamento para cada par de entidades apresentadas.

ExemploExemplo

3535

ColégioColégio

36

BibliografiaBibliografia

Bibliografia Básica Elmasri, R.; Navathe S. B. Sistemas de Banco de

Dados. 4 ed. Editora Addison-Wesley. 2005. - Capítulo 3

Bibliografia Complementar HEUSER, C.A. Projeto de Banco de Dados. 6ª

Edição. Porto Alegre. Capítulos 2 e 3