You are on page 1of 21

Universidade Estadual de Montes Claros

CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Curso Sistemas de Informação

Apostila:

DERIVAÇÃO DO MODELO LÓGICO

Profa. Kátia Adriana Alves Leite

Abril 2006

SUMÁRIO

1. Conceitos ..........................................................................................................01 1.1 Domínio .....................................................................................................01 1.2 Esquema de uma Relação ..........................................................................01 1.3 Atributos .....................................................................................................01 1.4 Relações e Tuplas .......................................................................................01 1.5 Chave Candidata e Chave Primária ...........................................................02 1.6 Chave Estrangeira ......................................................................................02 2. Modelo Lógico Relacional ..............................................................................03 3. Regras de Derivação .......................................................................................04 3.1 Derivação de Relacionamentos...................................................................04 3.1.1 Relacionamento 1:1 – sem atributos ................................................04 3.1.2 Relacionamento 1:1 – com atributos ...............................................04 3.1.3 Relacionamento 1:N – sem atributos ...............................................05 3.1.4 Relacionamento 1:N – com atributos ..............................................05 3.1.5 Relacionamento N:N – com ou sem atributos .................................06 3.1.6 Auto-relacionamento 1:1 .................................................................06 3.1.7 Auto-relacionamento 1:N ................................................................07 3.1.8 Auto-relacionamento N:N ...............................................................07 3.2 Derivação de Estruturas Generalização-Especialização ............................07 3.3 Derivação de Agregações ..........................................................................11 3.4 Normalização de Tabelas ...........................................................................12 3.4.1 Primeira Forma Normal (1FN) ........................................................12 3.4.1 Segunda Forma Normal (2FN) ........................................................15 3.4.3 Terceira Forma Normal (3FN) .........................................................16 3.4.4 Resumo ............................................................................................18 4. Referência Bibliográfica ................................................................................19

. t2. Ex.. Resumindo: Relações = Tabelas Tuplas = Linhas Domínios = Colunas Ex.4 Relações e Tuplas Uma relação (ou estado da relação) r de um esquema de relação R(A1. que corresponde ao atributo Ai.: Domínio CPF_Valido: 11 dígitos numéricos. este pode também ser especificado para cada domínio.. O esquema de uma relação é usado para descrever essa relação. também representada por r(R) é um conjunto de n-tuplas r = {t1. O grau de uma relação (n) é o número de atributos desse esquema de relação.. sendo que os últimos 2 obedecem à regra de dígito verificador 1. Exs: ALUNO(Nome. Cada tupla é uma lista ordenada de n valores t = <v1.1 Domínio Um domínio D é um conjunto de valores atômicos. An ) onde R é a relação e Ai são atributos. An ). 1. onde d=[0-9] . 1 . tn}..: Relação : Clientes Esquema : CPF. A definição do domínio pode começar com a especificação de um tipo de dado sendo que. ... Endereço.Idade: números inteiros positivos entre 0 e 99.2 Esquema de uma Relação R(A1.. v2. Conceitos 1.Derivação do Modelo Lógico DERIVAÇÃO DO MODELO LÓGICO 1. Telefone. Idade. e por isso é chamado de nome da relação. A2 . numMatrícula) 1. onde cada valor v é um elemento pertencente a domínio(A). ou um valor especial chamado nulo.Telefones_nacionais: (0dddd)dddd-dddd.3 Atributos Cada atributo corresponde um domínio. Não é permitido são permitidos atributos multivalorados ou compostos.Altura de uma pessoa definida em metros (valor real) ou centímetros (valor inteiro) . é representado como t[Ai] Cada valor da tupla é atômico.. A2 .. .: .. . . CPF. Cada atributo A corresponde ao nome do papel desempenhado por algum domínio D no esquema da relação R. Nome e Sexo. . D é denominado o domínio de Ai. vn >. O i-ésimo valor na tupla t. Exs..

5 Chave Candidata e Chave Primária (PK – Primary Key) Como o próprio nome diz. Chave primária é o atributo ou grupamento de atributos (chave composta) cujo valor identifica unicamente uma tupla dentre todas as outras de uma identidade. identifica de modo único uma tupla. Deve ter conteúdo reduzido e valor constante no tempo. portanto. Ex. • Ela não está em seu local original (local de origem). • Ela tem um local de origem e lá possui suas características originais (é uma chave primária). Título Eleitor e RG Chave principal (PK): CPF 1.6 Chave Estrangeira (FK – Foreign Key) A chave estrangeira possui as seguintes características: • É uma chave e.Derivação do Modelo Lógico Domínios: CPF NOME SEXO 82306516634 25896314785 36985214785 Roberto Masculino Antônio Feminino Adriana Tabela: Cliente Nome da relação Clientes CPF 82306516634 25896314785 36985214785 Domínio 1. ela é uma chave candidata a ser uma chave principal. mais sim em um local para onde foi migrada (no estrangeiro). Ex. isto é. pode ser formada por vários atributos. É um atributo que possui domínio que apresente a característica de não repetir seus valores durante as instanciações para todas as linhas da tabela. A chave principal é a chave eleita entre as chaves candidatas. A chave primária pode ser composta.: Funcinário NOME Roberto Antônio Adriana SEXO Masculino Masculino Feminino esquema tupla N Lotação 1 Depto 2 .: Relação FUNCIONÁRIOS Chaves candidatas: CPF.

Obter Modelo Conceitual Definir o tipo de implementação (rede-codasyl. Prédio Tabela : Funcionário Chave Primária (PK): CPF Colunas: Nome. Este modelo era concebido a partir da associação dos conceitos e regras que norteiam a teoria de conjuntos e as possíveis estruturas de manipulação de dados. e-mail Chave Estrangeira (FK): Cód-Depto 2. 2. Derivação de Relacionamentos 2. relacional. Cood. O-O) Aplicar as regras de derivação específicas Adaptar o modelo às necessidades Atividades a serem desenvolvidas: 1. Modelo Lógico Relacional O modelo relacional foi proposto inicialmente por Edgard F. 3. Normalização das Estruturas de Dados 3 .Derivação do Modelo Lógico Tabela : Depto Chave Primária (PK): Cód_depto Colunas: Descrição. através de uma única visão: Tabelas. em 1970. 4. Para obter um modelo lógico a partir de um modelo conceitual são necessários os seguintes passos: 1. Endereço. Derivação de Estruturas de Generalização-Especialização e Agregação 3. Associações: Relação Arquivo Tuplas contendo elementos de domínios distintos e agregados de forma predefinida Registro e seus campos O modelo relacional implementa as estruturas de dados independentemente de seus tipos.

.... Coluna A1 Coluna A2 Coluna A3. 1 R 1 B Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.1 Derivação de Relacionamentos 3... Coluna A1 (FK) Ou ainda migrar todos os dados das entidades A e B para uma única tabela...2 Relacionamentos 1:1 com atributos Cada entidade se transforma em uma tabela e criará uma entidade R que terá como chave principal as chaves herdadas das entidades A e B. Tabela B Coluna B1 (PK) Coluna B2 Coluna B3. 4 . Tabela R Coluna A1 (FK) Coluna B1 (FK) Coluna R2 Coluna R3...1 Relacionamentos 1:1 sem atributos Para a derivação Cada entidade se transforma em uma tabela e a chave principal de uma tabela é herdada pela outra como chave estrangeira. REGRAS DE DERIVAÇÃO 3.Derivação do Modelo Lógico 3.. 3. A 1 R 1 B Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.....1.. A 1 R 1 B Tabela Única Coluna B1 (PK) Coluna B2 Coluna B3....1. A Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.

1. Coluna A1 (FK) Coluna R1 Coluna R2. A 1 R N B Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.. cada entidade se transforma em uma tabela e a chave principal de uma das tabelas é herdada pela outra como chave estrangeira.. herdados pela entidade B.. Coluna A1 (FK) Coluna R1 Coluna R2...... E os atributos do relacionamento são migrados para a Tabela A ou para a Tabela B A Tabela A Coluna A1 (PK) Coluna A2 Coluna A3. Os atributos do relacionamentos são. Coluna A1 (FK) 3... Tabela B Coluna B1 (PK) Coluna B2 Coluna B3. 3. Tabela B Coluna B1 (PK) Coluna B2 Coluna B3..... 1 R 1 B Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.1.....4 Relações 1:N com atributos Cada entidade se transforma em uma tabela e a chave principal de entidade A é herdada pela entidade B como chave estrangeira.Derivação do Modelo Lógico Ou.. A 1 R N B Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.. 5 .3 Relações 1:N sem atributos Cada entidade se transforma em uma tabela e a chave principal de entidade A é herdada pela entidade B como chave estrangeira. também...

.. 3... o relacionamento também se transformará em uma tabela e terá como chave principal as chaves herdadas das entidades A e B.. A Tabela A Coluna A1 (PK) Coluna A2 Coluna A3......... Tabela R Coluna A1 (FK) Coluna B1 (FK) Coluna R2 Coluna R3. o relacionamento também se transforma em uma tabela e terá como chave principal as chaves herdadas das entidades A e B.. Tabela R Coluna A1 (FK) Coluna B1 (FK) Coluna R2 Coluna R3. Caso haja atributos no relacionamento. N R N B Tabela B Coluna B1 (PK) Coluna B2 Coluna B3...Derivação do Modelo Lógico Cada entidade se transforma em uma tabela.1.6 Auto-relacionamento 1:1 Migra-se a chave da tabela A para a tabela A Tabela A A 1 R 1 Coluna A1 (PK) Coluna A2 Coluna A3 Coluna A1-E (FK de A em A) 6 . A Tabela A Coluna A1 (PK) Coluna A2 Coluna A3. 1 R N B Tabela B Coluna B1 (PK) Coluna B2 Coluna B3. estes ficarão na tabela R. 3..5 Relacionamento N:N com ou sem atributos Cada entidade se transforma em uma tabela..1.

2 Derivação de Estruturas de Generalização-Especialização Existem 3 estratégias para tratarmos com este tipo de estrutura.A (PK) (FK) Coluna A1 – B (PK) (FK) Coluna R1.. Coluna R2.1... Coluna A1 (PK) Coluna A2 Coluna A3. a) Estratégia 1 Criar uma tabela para cada entidade (generalizada e especializada) e mantém os relacionamentos associados a cada uma delas...8 Auto-relacionamento N:N Cria-se uma nova tabela para o relacionamento R A N R N Tabela A Tabela R Coluna A1 ..1. Todos os atributos comuns (existentes na entidade generalizada) serão alocados em uma tabela (representando a entidade generalizada).7 Auto-relacionamento 1:N Migra-se a chave da tabela A para a tabela A Tabela A A 1 R N Coluna A1 (PK) Coluna A2 Coluna A3 Coluna A1-E (FK de A em A) 3. Os relacionamentos existentes em cada uma das entidades serão mantidos associados a cada uma das tabelas que as representam.Derivação do Modelo Lógico 3. 3. citada anteriormente. - 7 . Os atributos específicos de cada entidade especializada serão alocados nas tabelas que representarão as entidades específicas correspondentes. da seguinte forma: Criar um relacionamento de cardinalidade 1:1 para cada entidade especializada com a entidade generalizada e adota a regra de derivação para relacionamentos 1:1..

.... Tabelas geradas (opção 02): menos recomendada Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.: A 1 R1 N D B C 1 R2 N E Derivando: 1 R3 1 1 A R4 1 1 R1 N D B C N R2 1 E Tabelas geradas (opção 01): mais recomendada Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.. Coluna A1 (FK) Tabela E Coluna E1 (PK) Coluna E2 Coluna E3.. Coluna E1 (FK) Coluna A1 (FK) Tabela D Coluna D1 (PK) Coluna D2 Coluna D3. Coluna B1 (FK) Coluna C1 (FK) Tabela B Coluna B1 (PK) Coluna B2 Coluna B3. Obs..... Tabela C Coluna C1 (PK) Coluna C2 Coluna C3.: na tabela A.Derivação do Modelo Lógico Ex. Coluna E1 (FK) Tabela D Coluna D1 (PK) Coluna D2 Coluna D3.... Tabela B Coluna B1 (PK) Coluna B2 Coluna B3...... Coluna A1 (FK) Tabela E Coluna E1 (PK) Coluna E2 Coluna E3.......... haverá sempre uma chave estrangeira com valor nulo 8 .... Coluna A1 (FK) Tabela C Coluna C1 (PK) Coluna C2 Coluna C3.

.. .Derivação do Modelo Lógico b) Estratégia 2 Criar apenas uma tabela para a entidade generalizada e agregar a ela os atributos e relacionamentos das entidades especializadas..Onde for identificada uma estrutura generalização-especialização. substituí-la por uma única entidade que representará somente a entidade generalizada. sem características especiais. Coluna B1 Coluna B2 Coluna B3 .. 9 . no modelo conceitual.Transferir os atributos e relacionamentos das entidades especializadas para a entidade generalizada.. Coluna C1 Coluna C2 Coluna C3.. . Coluna E1 (FK) R2 1 E Tabela D Coluna D1 (PK) Coluna D2 Coluna D3.. Coluna A1 (FK) Tabela E Coluna E1 (PK) Coluna E2 Coluna E3...Tratar a entidade e relacionamentos obtidos de forma convencional.: A 1 R1 N D B Derivando: C 1 R2 N E A+(B+C) 1 R1 N D N Tabelas geradas: Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.... Ex. da seguinte forma: ..

... substituí-la pelas entidades que representam as entidades especializadas. Coluna C1 (PK) Coluna C2 Coluna C3..Transferir os atributos e relacionamentos da entidade generalizada para cada uma das entidades especializadas. Coluna E1 (FK) 10 .Tratar as entidades e relacionamentos obtidos de forma convencional.. Ex.Onde for identificada uma estrutura de generalização-especialização no modelo conceitual... Coluna A1 Coluna A2 Coluna A3 .Derivação do Modelo Lógico c) Estratégia 3 Criar tabelas para as entidades especializadas e agregar a elas os atributos e relacionamentos da entidade generalizada...: A 1 R1 N D B C 1 R2 N E Derivando: D N R1 1 1 N R2 N 1 B Tabelas geradas: Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.. .. da seguinte forma: ... . Coluna B1 (FK) Coluna C1 (FK) Tabela E Coluna E1 (PK) Coluna E2 Coluna E3. Tabela C C R3 E Tabela D Coluna D1 (PK) Coluna D2 Coluna D3. sem características especiais... Coluna A1 Coluna A2 Coluna A3 ..

1.3 Derivação de Agregações Para derivar agregações. Observar o aspecto ligado à entidade: visualizar o relacionamento obtido como uma entidade. Coluna A1 (FK) Coluna B1 (FK) Tabela R1 Coluna A1 (PK) (FK) Coluna B1 (PK) (FK) Coluna R1-1 Coluna R1-2. 2. observar a cardinalidade (1:1..: A N R1 1 R2 N N B C Derivando: A 1 R3 N NR1 1 R2 N N R4 1 B C Tabelas geradas: Tabela A Coluna A1 (PK) Coluna A2 Coluna A3. 3. Observar o aspecto ligado ao relacionamento: obter um modelo intermediário em que o relacionamento da agregação seja resolvido. Tabela C Coluna C1 (PK) Coluna C2 Coluna C3...... 11 .Derivação do Modelo Lógico 3... primeiramente deve-se: 1. 1:N ou M:N) com ou sem atributos. Aplicar as regras de derivação vistas na seção 3. Ex1.... Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.

com valores instanciados de modo diferentes. Integridade: diz respeito à qualidade do dado. Transformar atributos compostos em atômicos Os atributos compostos que claramente tenham elementos distintos em sua estrutura. Flexibilidade: capacidade de adaptação a demandas diferenciadas. pode ser indício de que não há integridade entre eles. tempo. ou valor agregado ao fato de manipularmos volumes de dados maiores do que os efetivamente necessários).4 Normalização de Tabelas A normalização é uma técnica para a obtenção de organizações de dados estáveis.: Telefone Prefixo Número (038)3221-3050 (038) 3221-3050 12 . o grade número de colunas formando chave pode causar transtornos. nesse caso. a expansão e redução. 2. Definir chaves candidatas e escolher a chave primária Poderá ser utilizado tantos atributos (ou colunas) quantos forem necessários à formação da chave da tabela. Fidelidade ao Ambiente Observado: ajuda a definir elementos que foram despercebidos durante o processo de modelagem. a normalização permite a simplificação destas tabelas. • 3. no custo em manipulação de dados (que representa todo e qualquer esforço. 4. Economia: no espaço de armazenamento.Derivação do Modelo Lógico 3. Pode ocorrer durante a concepção do modelo conceitual. 2. Um dado mapeado em mais de um local de modo diferente. etc. 5. mesmo que tenhamos que chegar à concatenação de todos os atributos de uma linha. ou após a derivação do modelo lógico. • • Possui caráter organizativo. Está integrado por tabelas As linhas da tabela são unívocas As linhas não contêm itens repetitivos Os atributos são atômicos Os atributos não contêm valores nulos. a omissão ou presença. Benefícios da normalização: • • • • Estabilidade do modelo lógico : capacidade de um modelo manter-se inalterado face a mudanças que venham a ser percebida ou introduzidas no ambiente que tenha sido modelado.1 Primeira Forma Normal – 1FN Diz-se que um modelo está na 1FN se: 1. Na prática. por isso. 3. Ela pode ser usada como técnica de análise de dados ou para “enxugar” o modelo obtido pela análise de entidades e relacionamentos. durante a derivação do modelo lógico para o relacional.4. Ex. custo causado pelo atraso do fornecimento da informação desejada. pode-se criar uma coluna-artificial do tipo contadori ou nº seqüencial. Uma base de dados relacional é composta por um grupo de tabelas vinculadas. Passos para obtenção da 1FN 1. deverão ser separados.

Derivação do Modelo Lógico 3. Produto 0035 002M 158I Nome Produto SQL Server 2000 Corew Draw 11. Para cada tabela eliminar os grupos repetitivos gerando uma nova tabela.0 Windows 2000 workstation Qtde 02 01 03 Preço Unitário 5. Em cada tabela eliminar grupos repetitivos gerando novas linhas. 785 – centro Cod.650.00 Modelo Conceitual: Emite pedido Filial 1 N Pedido Entidade: FILIAL Atributos: CGC Razão Social Telefone Endereço Bairro Entidade: PEDIDO Atributos: Nº Pedido Data Emissão Nome Fornecedor CGC Fornecedor Endereço Fornecedor Produtos contendo: Código Produto Nome Produto Quantidade Pedida 13 . Cada um dos pedidos pertence a somente um fornecedor. Cada filial efetua pedidos a seus fornecedores diretamente.00 800. Pedido Num 003 Data Emissão: 20/02/2001 Nome Fornecedor: House of Software CGC 8236541112-00 Endereço: Rua Lapa. mantendo os valores dos demais itens. mas um pedido pode requisitar mais de um produto.200.00 2. uma para cada ocorrência de item repetitivo. na qual cada um dos itens repetitivos dará origem a uma nova linha e na qual a chave primária será a concatenação da chave da tabela original com uma nova coluna que identifique de modo unívoco a linha. Exemplo: Uma empresa é composta por várias filiais.

Derivação do Modelo Lógico Tabela PEDIDO Não-normalizada Num Data Nome CGC Endereço Pedido Emissão Fornecedor 002 2/2/02 House SW 8521 Rua “c”.320.00 006 3/2/04 Brasoft 5556 04 .00 14 . Acabar com itens de repetição: tomar cada item de repetição e com eles dar origem a novas linhas da tabela onde o conteúdo das demais colunas será o mesmo da linha original Num Data Nome CGC Endereço Pedido Emissão Fornecedor 002 002 002 006 006 2/2/02 2/2/02 2/2/02 3/2/04 3/2/04 House SW House SW House SW Brasoft Brasoft 8521 8521 8521 5556 5556 Rua “c”.00 3.00 230. 21 Rua “D”.00 800.00 230. 5 Produtos Cód 01 02 03 01 Nome SQL Windows Corew SQL Qtde 2 1 1 3 Preço Unitário 2.320. representando características completamente diferentes.00 230.320.00 800.00 852. 212 Rua “D”.00 2.320. Transformar os atributos compostos em atributos atômicos Endereço: contém o nome da rua e o nº da casa. 5 Produtos Cód 01 02 03 01 04 Nome SQL Windows Corew SQL DOS Qtde 2 1 1 3 2 Preço Unitário 2.00 800.320. 21 Rua “c”.320. 21 Rua “c”.320. Num Pedido + Num Produto Num Pedido 002 002 002 006 006 Data Nome CGC Rua Cód Produto Emissão Fornecedor 01 2/2/02 House SW 8521 “c” 02 2/2/02 House SW 8521 “c” 03 2/2/02 House SW 8521 “c” 01 3/2/04 Brasoft 5556 “D” 04 3/2/04 Brasoft 5556 “D” Nº 21 21 21 5 5 Nome Produto SQL Windows Corew SQL DOS Qtde Prod 2 1 1 3 2 Preço Unit Produto 2.00 852.00 2. 5 Rua “D”.00 2.00 2.00 1. Definir uma chave para que tenhamos unicidade nas linhas da tabela.320.00 852. Num Data Nome CGC Rua Pedido Emissão Fornecedor 002 002 002 006 006 2/2/02 2/2/02 2/2/02 3/2/04 3/2/04 House SW House SW House SW Brasoft Brasoft 8521 “c” 8521 “c” 8521 “c” 5556 “D” 5556 “D” Produtos Nº 21 21 21 5 5 Cód 01 02 03 01 04 Nome SQL Windows Corew SQL DOS Qtde 2 1 1 3 2 Preço Unitário 2.Normalizando: DOS 2 230.00 852.00 2. Dados de natureza completamente distintas.00 800.

Nome Fornecedor.00 800.00 230. Nº.4. Criando novas tabelas com as colunas dependentes parcialmente das chaves..para que seu valor seja determinado. quais são as colunas da chave que devem ser conhecidas? 3.00 1. Para as colunas dependentes parcialmente da chave. Para cada uma das colunas identificas.320. Qtde Prod. 2. analisar se seu valor é determinado por parte. Identificar as colunas que não participam da chave primária da tabela Identifica-se as colunas que formam a chave para ignorá-las durante o processo de análise. Coluna Data Emissão Nome Fornecedor CGC Rua Nº Nome Produto Qtde Produto Preço Unit Dependência Parcial Parcial Parcial Parcial Parcial Parcial Total Total Chave Nº Pedido Nº Pedido Nº Pedido Nº Pedido Nº Pedido Código Produto Nº Pedido + Código Produto Nº Pedido + Código Produto 3. Nome Produto. Para identificar a a dependência de uma coluna em relação à chave indaga-se: .00 2. e excluindo essas colunas da tabela original 15 . Produto. 2..320. Passos para obtenção da 2FN 1. Preço Unit. criar novas tabelas onde a chave primária será(ão) a(s) coluna(s) da chave primária original que determinou(aram) o valor da coluna analisada e excluir da tabela original as colunas dependentes parcialmente da chave Exemplo: Num Pedido 002 002 002 006 006 Cód Data Nome CGC Rua Produto Emissão Fornecedor 01 2/2/02 House SW 8521 “c” 02 2/2/02 House SW 8521 “c” 03 2/2/02 House SW 8521 “c” 01 3/2/04 Brasoft 5556 “D” 04 3/2/04 Brasoft 5556 “D” Nº 21 21 21 5 5 Nome Produto SQL Windows Corew SQL DOS Qtde Prod 2 1 1 3 2 Preço Unit Produto 2.. CGC.2 Segunda Forma Normal – 2FN Uma tabela está na 2FN se está na 1FN e cada uma das colunas não pertencentes à chave primária não for dependente parcialmente dessa chave. Rua. Analisar as colunas não chaves..Derivação do Modelo Lógico 3.00 852. ou pela totalidade da chave... Colunas: Data Emissão. Identificando dependências Parciais.

obtida por dependência Parcial (chave ´nº pedido´) Num Data Nome CGC Rua Pedido Emissão Fornecedor 002 2/2/02 House SW 8521 “c” 002 2/2/02 House SW 8521 “c” 002 2/2/02 House SW 8521 “c” 006 3/2/04 Brasoft 5556 “D” 006 3/2/04 Brasoft 5556 “D” Tabela 3 .320.4.criar novas tabelas onde a chave primária será(ão) a(s) coluna(s) que determinou(aram) o valor da coluna analisada. 2.obtida por dependência Parcial (chave ´código produto´) Cód Nome Produto Produto 01 SQL 02 Windows 03 Corew 01 SQL 04 DOS Nº 21 21 21 5 5 3.3 Terceira Forma Normal – 3FN Uma tabela está na 3FN se está na 2FN e se nenhuma coluna não pertencente à chave fica determinada transitivamente por esta. a coluna determinante de transitividade na tabela.00 230. analisar se seu valor é determinado por alguma outra coluna não pertencente à chave. Para colunas dependentes transitivamente da chave: . Agregar a essas tabelas as colunas dependentes transitivamente. porém.Derivação do Modelo Lógico Tabela 1 (Tabela Original) Num Pedido 002 002 002 006 006 Cód Produto 01 02 03 01 04 Qtde Prod 2 1 1 3 2 Preço Unit Produto 2.00 Tabela 2 .320.00 852.Excluir da tabela de origem as colunas dependentes transitivamente das chaves mantendo. 3.00 2. Para cada uma das colunas identificadas. Passos: 1.00 800. Identificar as colunas que não participam da chave primária da tabela. 16 . .

mantendo a coluna CGC que determinou a transitividade e sem as demais colunas que eram determinadas transitivamente. e através de quaisquer outras colunas não e possível determinar o valor da coluna Data Emissão. Tabela 1 . Num Data CGC Pedido Emissão 002 2/2/02 8521 002 2/2/02 8521 002 2/2/02 8521 006 3/2/04 5556 006 3/2/04 5556 17 . identificar as colunas que não participam da chave. 3.00 800. Isso denota uma dependência transitiva dessas três colunas em relação à coluna CGC. .Derivação do Modelo Lógico Exemplo: 1. e excluir das tabelas de origem as colunas dependentes transitivamente mantendo a coluna que determinou a transitividade.00 230.00 2.00 Tabela 2 .. Nome Fornecedor..320. Rua e Nº. Tabela 1 – Já está na 3FN Num Pedido 002 002 002 006 006 Cód Produto 01 02 03 01 04 Qtde Prod 2 1 1 3 2 Preço Unit Produto 2.Qtde Prod e Preço Unit Produto Tabela 2 – Data Emissão. pois ela já está na 3FN (só tem uma coluna pertencente à chave) 2.o valor da coluna CGC é possível determinar um e só um valor para as colunas Nome Fornecedor.00 852. Rua e Nº Tabela 3 – nenhuma. CGC. agregando a essas tabelas as colunas dependentes transitivamente.320. Rua e Nº. identificando as dependências transitivas Tabela 1 – o valor de uma coluna Qtde Prod não pode ser definido com base no valor da coluna Qtde e vice-versa Tabela 2 – o valor de uma Data Emissão não é possível determinar o Nome Fornecedor. CGC. criando novas tabelas onde a chave primária será(ão) a(s) coluna(s) que determinou(aram) o valor da coluna analisada.

(somente quando esta for concatenada) 2FN Eliminar dependências entre atributos não chaves.4.Derivação do Modelo Lógico Tabela 3 – Já na 3NF Cód Nome Produto Produto 01 SQL 02 Windows 03 Corew 01 SQL 04 DOS Tabela 4 – obtida a partir da tabela 2.4 Resumo: TABELAS NÃO NORMALIZADAS Eliminar grupos repetitivos (atributos multivalorados) 1FN Eliminar dependências parciais em relação à chave primária. 3FN 18 . por dependência transitiva do CGC CGC 8521 8521 8521 5556 5556 Nome Fornecedor House SW House SW House SW Brasoft Brasoft Rua “c” “c” “c” “D” “D” Nº 21 21 21 5 5 3.

NAVATHE. 4th ed. GANE. Boston: Pearson. Rio de Janeiro: Campus. Paulo.Derivação do Modelo Lógico 4. 2004.. Análise Estruturada de Sistemas. Fundamentals of database systems. Referências Bibliográficas COUGO. ELMASRI. S. Modelagem Conceitual e Projeto de Banco de Dados. Livros Técnicos e Científicos Editora. Chris. 19 . 1999. 1997. R. Addison-Wesley.