27
Disciplina: http://www3.ifrn.edu.br/~edmilsoncampos/ [email protected] @edmilsonbcn Edmilson Campos, Prof. Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado dos slides do Livro Projeto de Banco de Dados, v. 4 de ©Carlos A. Heuser

Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Disciplina:

http://www3.ifrn.edu.br/~edmilsoncampos/

[email protected]

@edmilsonbcn

Edmilson Campos, Prof.

Tradução de relacionamentos do modelo conceitual para o lógico

AULA 05

Banco de Dados

Implementação de relacionamentos

Adaptado dos slides do Livro Projeto de Banco de Dados, v. 4 de ©Carlos A. Heuser

Page 2: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Introdução ▪

»

»

»

Edmilson Campos ([email protected]) 2

Page 3: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Tabela própria ▪

ENGENHEIRO ATUAÇÃO PROJETO (0,n) (0,n)

Código Nome Título Função Código

Edmilson Campos ([email protected]) 3

Engenheiro (CodEng, Nome) Projeto (CodProj, Título)

Atuação (CodEng,CodProj,Função)

CodEng referencia Engenheiro

CodProj referencia Projeto

Tradução das

entidades

Tradução do

relacionamento

Page 4: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Adição de colunas

DEPARTAMENTO LOTAÇÃO EMPREGADO (1,1) (0,n)

Código Nome Nome

Data da

lotação Código

Edmilson Campos ([email protected]) 4

Departamento (CodDept,Nome) Empregado (CodEmp,Nome) Empregado (CodEmp, Nome, CodDept, DataLota)

CodDept referencia Departamento

Tradução das

entidades

Tradução do

relacionamento

Page 5: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Fusão de tabelas ▪

CONFERÊNCIA ORGANIZAÇÃO COMISSÃO

ORGANIZADORA

(1,1) (1,1)

Código Nome Ender

Data

Instalação

Conferência (CodConf, Nome, DataInstComOrg, EnderComOrg)

Edmilson Campos ([email protected]) 5

Page 6: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Implementação de relacionamentos 1:1

Tipo de relacionamento

Regra de implementação

Tabela própria Adição de coluna Fusão de tabelas

±

±

(1,1) (1,1)

(0,1) (1,1)

(0,1) (0,1)

± ±

±

Convenção:

- Alternativa preferida

± - Pode ser usada – 1ª opção

- Pode ser usada – 2ª opção

- Não cabe

±

Edmilson Campos ([email protected]) 6

Page 7: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Tradução das

entidades Mulher (IdentM,Nome)

1:1 – Ambas entidades opcionais ▪

HOMEM CASAMENTO MULHER (0,1)

Identidade Nome Identidade Data Regime Nome

(0,1) (0,1)

Homem (IdentH,Nome) Mulher (IdentM, Nome, IdentH, Data, Regime)

IdentH referencia Homem

Tradução do

relacionamento

Edmilson Campos ([email protected]) 7

(0,1)

Page 8: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:1 – Ambas entidades opcionais ▪

HOMEM CASAMENTO MULHER (0,1) (0,1)

Identidade Nome Identidade Data Regime Nome

(0,1) (0,1)

Homem (IdentH,Nome) Tradução das

entidades Mulher (IdentM,Nome)

Edmilson Campos ([email protected]) 8

Casamento (IdentM, IdentH, Data, Regime)

IdentM referencia Mulher

IdentH referencia Homem

Tradução do

relacionamento

Page 9: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:1 – Ambas entidades opcionais ▪

»

»

»

(0,1) (0,1)

Edmilson Campos ([email protected]) 9

Page 10: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:1 –Entidade opcional e outra obrigatória

CORRENTISTA CARTÃO

MAGNÉTICO

(1,1) (0,1)

Código Nome Código Data Exp.

Correntista (CodCorrent, Nome, CodCartão, DataExp)

(0,1) (1,1)

Edmilson Campos ([email protected]) 10

Page 11: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Cartão(CodCartão,DataExp)

1:1 –Entidade opcional e outra obrigatória

CORRENTISTA CARTÃO

MAGNÉTICO

(1,1) (0,1)

Código Nome Código Data Exp.

(0,1) (1,1)

Edmilson Campos ([email protected]) 11

Tradução das

entidades Correntista (CodCorrent,Nome) Cartão(CodCartão,DataExp,CodCorrent)

CodCorrent referencia Correntista

Tradução do

relacionamento

Page 12: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:1 –Entidade opcional e outra obrigatória

CORRENTISTA CARTÃO

MAGNÉTICO

(1,1) (0,1)

Código Nome Código Data Exp.

(0,1) (1,1)

Edmilson Campos ([email protected]) 12

CartãoCorrentista(CodCartão,CodCorrent)

CodCorrent referencia Correntista

CodCartão referencia Cartão

Correntista (CodCorrent,Nome) Cartão(CodCartão,DataExp) Tradução das

entidades

Tradução do

relacionamento

Page 13: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:1 –Entidade opcional e outra obrigatória

»

»

»

▪»

»

»

(0,1) (1,1)

Edmilson Campos ([email protected]) 13

Page 14: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:1 - Ambas entidades obrigatórias ▪

CONFERÊNCIA ORGANIZAÇÃO COMISSÃO

ORGANIZADORA

(1,1) (1,1)

Código Nome Ender

Data

Instalação

(1,1) (1,1)

Edmilson Campos ([email protected]) 14

Conferência (CodConf, Nome, DataInstComOrg, EnderComOrg)

Page 15: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:1 - Ambas entidades obrigatórias ▪

»

»

»

»

(1,1) (1,1)

Edmilson Campos ([email protected]) 15

Page 16: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Implementação de relacionamentos 1:n

Tipo de relacionamento

Regra de implementação

Tabela própria Adição de coluna Fusão de tabelas

±

(0,1) (_,n)

(1,1) (_,n)

Convenção:

- Alternativa preferida

± - Pode ser usada – 1ª opção

- Não cabe

Edmilson Campos ([email protected]) 16

Page 17: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

(1,1)

1:n - Com uma entidade obrigatória ▪

DEPARTAMENTO LOTAÇÃO EMPREGADO (1,1) (_,n)

Código Nome Nome

Data

lotação Código

A entidade que tem

cardinalidade máxima 1

é obrigatória

Edmilson Campos ([email protected]) 17

Page 18: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Empregado (CodEmp, Nome)

(1,1)

1:n - Com uma entidade obrigatória ▪

DEPARTAMENTO LOTAÇÃO EMPREGADO (_,n)

Código Nome Nome

Data

lotação Código

Edmilson Campos ([email protected]) 18

Tradução das

entidades Departamento (CodDept, Nome) Empregado (CodEmp,Nome,CodDept,DataLota)

CodDept referencia Departamento

Tradução do

relacionamento

Page 19: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:n - Com uma entidade obrigatória ▪

»−

»

»

»

Edmilson Campos ([email protected]) 19

Page 20: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:n - Com uma entidade opcional ▪

FINANCEIRA FINACIAM VENDA

taxa de juros

(_,n)

nº de parcelas

Código Nome Id Data

A entidade que tem

cardinalidade máxima 1

é opcional

(0,1) (0,1)

Edmilson Campos ([email protected]) 20

Page 21: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Venda (IdVend, Data)

1:n - Com uma entidade opcional ▪

FINANCEIRA FINACIAM VENDA

taxa de juros

(_,n)

nº de parcelas

Código Nome Id Data

(0,1)

Edmilson Campos ([email protected]) 21

Tradução das

entidades Financeira (CodFin, Nome)

Tradução do

relacionamento

Venda (IdVend,Data,CodFin,NoParc,TxJuros)

CodFin referencia Financeira

Page 22: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:n - Com uma entidade opcional ▪

FINANCEIRA FINACIAM VENDA

taxa de juros

(_,n)

nº de parcelas

Código Nome Id Data

(0,1)

Edmilson Campos ([email protected]) 22

Fianciam (IdVend,CodFin,NoParc,TxJuros)

IdVend referencia Venda

CodFin referencia Financeira

Financeira (CodFin, Nome) Venda (IdVend, Data) Tradução das

entidades

Tradução do

relacionamento

Page 23: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

1:n - Com uma entidade opcional ▪

»

»

Edmilson Campos ([email protected]) 23

Page 24: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Implementação de relacionamentos n:n

Tipo de relacionamento

Regra de implementação

Tabela própria Adição de coluna Fusão de tabelas

(_n) (_,n)

Convenção:

- Alternativa preferida

- Não cabe

Edmilson Campos ([email protected]) 24

Page 25: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Implementação de relacionamentos n:n ▪

ENGENHEIRO ATUAÇÃO PROJETO (0,n) (0,n)

Código Nome Título Função Código

Atuação (CodEng, CodProj, Função)

CodEng referencia Engenheiro

CodProj referencia Projeto

Engenheiro (CodEng, Nome) Projeto (CodProj, Título) Tradução das

entidades

Tradução do

relacionamento

Edmilson Campos ([email protected]) 25

Page 26: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Edmilson Campos ([email protected]) 26

Page 27: Implementação de relacionamentos - WordPress.com...Tradução de relacionamentos do modelo conceitual para o lógico AULA 05 Banco de Dados Implementação de relacionamentos Adaptado

Edmilson Campos ([email protected]) 27