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)