Buscar

A03 BD Transformacao MER Relacional

Prévia do material em texto

BANCO DE DADOS
TRANSFORMAÇÃO DO MER PARA 
MODELO RELACIONAL
Nickerson Fonseca Ferreira 
nickerson.ferreira@ifrn.edu.br
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E
TECNOLOGIA DO RIO GRANDE DO NORTE
CAMPUS JOÃO CÂMARA
1
Passos de um projeto de BD
2
1. Preciso saber o que o sistema precisa guardar
 LEVANTAMENTO DOS REQUISITOS
2. Criar uma modelo conceitual
 Modelo Entidade-Relacionamento
3. Organizar e descrever a estrutura do BD
 Modelo lógico de dados (abordagem relacional)
4. Criar o BD utilizando um SGBD específico
 Modelo Físico
Passos de um projeto de BD
3
1. Preciso saber o que o sistema precisa guardar
 LEVANTAMENTO DOS REQUISITOS
2. Criar uma modelo conceitual
 Modelo Entidade-Relacionamento
3. Organizar e descrever a estrutura do BD
 Modelo lógico de dados (abordagem relacional)
4. Criar o BD utilizando um SGBD específico
 Modelo Físico
Objetivos da Transformação
4
 Melhorar a performance do BD
 Evitar Junções
 Diminuir número de chaves
 Evitar campos opcionais
 Simplificar o desenvolvimento do Software
Passos da Transformação
5
 Passo 1:
 Tradução das entidades e seus atributos
 Passo 2:
 Tradução dos relacionamentos e seus atributos
 Passo 3:
 Tradução da especialização/generalização
Passo 1
6
 Cada entidade irá se transformar em uma tabela
 Cada atributo da entidade se transformará em
uma coluna da respectiva tabela
 Atributos identificadores irão corresponder à chave
primária da tabela
Passo 1
7
PESSOA
Endereço
Código
Nome
Data de nascimento
Data de admissão
Pessoa (CodPessoa,Nome,Endereço,DataNasc,DataAdm)
Dicas de nomenclatura
8
 Manter nomes CURTOS nas colunas
 Nome de coluna não pode conter espaços em
branco
 Nomes de colunas que podem se repetir em outras
tabelas colocar o sufixo com o nome da tabela.
 Ex: NomePessoa, CodPessoa, etc.
Transformando Relacionamentos
9
 Existem diferentes estratégias para a
transformação de relacionamentos em modelo
lógico
 As estratégias são:
 Tabela própria
 Adição de coluna
 Fusão de tabelas
 A decisão de qual estratégia utilizar vai depender
da cardinalidade (máxima e mínima)
Estratégias
10
ENGENHEIRO ATUAÇÃO PROJETO
(0,n) (0,n)
Código Nome TítuloFunção Código
Engenheiro (CodEng, Nome) Projeto (CodProj, Título)
Atuação (CodEng,CodProj,Função)
CodEng referencia Engenheiro
CodProj referencia Projeto
 Tabela própria:
Estratégias
11
 Adição de coluna:
DEPARTAMENTO LOTAÇÃO EMPREGADO
(1,1) (1,n)
Código Nome Nome
Data da 
lotação
Código
Departamento (CodDept,Nome) Empregado (CodEmp,Nome)Empregado (CodEmp, Nome, CodDept, DataLota)
CodDept referencia Departamento
Estratégias
12
 Fusão de Tabelas:
CONFERÊNCIA ORGANIZAÇÃO
COMISSÃO
ORGANIZADORA
(1,1) (1,1)
Código Nome Endereço
Data 
Instalação
Conferência (CodConf, Nome, DtInstOrg, EnderComOrg)
Relacionamento 1:1
13
Tipo de 
relacionamento
Regra de implementação
Tabela própria Adição de coluna Fusão de tabelas
2ª Opção  
3ª Opção 2ª Opção 
3ª Opção 2ª Opção 
(1,1) (1,1)
(0,1) (1,1)
(0,1) (0,1)
Relacionamento 1:1
14
HOMEM CASAMENTO MULHER
(0,1)
Identidade Nome IdentidadeData Regime Nome
Homem (IdentH,Nome) Mulher (IdentM, Nome, IdentH, Data, Regime)
IdentH referencia Homem
(0,1)
Homem (IdentH,Nome) Mulher (IdentM,Nome)
Casamento (IdentM, IdentH, Data, Regime)
IdentM referencia Mulher
IdentH referencia Homem
Adição de Coluna
Tabela Própria
(0,1) (0,1)
Relacionamento 1:1
15
(0,1) (1,1)
CORRENTISTA POSSUI
CARTÃO 
MAGNÉTICO
(1,1) (0,1)
Código Nome Código Data Exp.
CartãoCorrentista(CodCartão,CodCorrent)
CodCorrent referencia Correntista
CodCartão referencia Cartão
Correntista (CodCorrent,Nome) Cartão(CodCartão,DataExp)
Correntista (CodCorrent, Nome, CodCartão, DataExp)
Correntista (CodCorrent,Nome)
Cartão(CodCartão,DataExp,CodCorrent)
CodCorrent referencia Correntista
Tabela Própria
Fusão de Tabelas
Adição de Coluna
Relacionamento 1:1
16
(1,1) (1,1)
CONFERÊNCIA ORGANIZAÇÃO
COMISSÃO
ORGANIZADORA
(1,1) (1,1)
Código Nome Endereço
Data Instalação
Conferência (CodConf, Nome, DataInstComOrg, EnderComOrg)
Fusão de Tabelas
Relacionamento 1:N
17
Tipo de 
relacionamento
Regra de implementação
Tabela própria Adição de coluna Fusão de tabelas
2ª Opção  
  
(0,1) (_,n)
(1,1) (_,n)
Relacionamento 1:N
18
FINANCEIRA FINACIAM VENDA
taxa de juros
(_,n)
nº de parcelas
Código Nome Id Data
(0,1)
(0,1) (_,n)
Fianciam (IdVend,CodFin,NoParc,TxJuros)
IdVend referencia Venda
CodFin referencia Financeira
Financeira (CodFin, Nome) Venda (IdVend, Data)
Financeira (CodFin, Nome) Venda (IdVend,Data,CodFin,NoParc,TxJuros)
CodFin referencia Financeira
Tabela Própria
Adição de Coluna
Relacionamento 1:N
19
(1,1) (_,n)
(1,1)
DEPARTAMENTO LOTAÇÃO EMPREGADO
(_,n)
Código Nome Nome
Data 
lotação
Código
Departamento (CodDept, Nome) Empregado (CodEmp,Nome,CodDept,DataLota)
CodDept referencia Departamento
Entidades Fracas
20
Conta (NumConta, Saldo) Transação (NumConta,NumTransacao,data,quantia)
NumConta referencia Conta
(1,1) (0,n)
Relacionamento N:N
21
Tipo de 
relacionamento
Regra de implementação
Tabela própria Adição de coluna Fusão de tabelas
  
(_n) (_,n)
ENGENHEIRO ATUAÇÃO PROJETO
(0,n) (0,n)
Código Nome TítuloFunção Código
Atuação (CodEng, CodProj, Função)
CodEng referencia Engenheiro
CodProj referencia Projeto
Engenheiro (CodEng, Nome) Projeto (CodProj, Título)

Mais conteúdos dessa disciplina