Sie sind auf Seite 1von 21

Universidade Estadual de Montes Claros

CENTRO DE CINCIAS EXATAS E TECNOLGICAS DEPARTAMENTO DE CINCIA DA COMPUTAO Curso Sistemas de Informao

Apostila:

DERIVAO DO MODELO LGICO

Profa. Ktia Adriana Alves Leite

Abril 2006

SUMRIO

1. Conceitos ..........................................................................................................01 1.1 Domnio .....................................................................................................01 1.2 Esquema de uma Relao ..........................................................................01 1.3 Atributos .....................................................................................................01 1.4 Relaes e Tuplas .......................................................................................01 1.5 Chave Candidata e Chave Primria ...........................................................02 1.6 Chave Estrangeira ......................................................................................02 2. Modelo Lgico Relacional ..............................................................................03 3. Regras de Derivao .......................................................................................04 3.1 Derivao 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 Derivao de Estruturas Generalizao-Especializao ............................07 3.3 Derivao de Agregaes ..........................................................................11 3.4 Normalizao 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. Referncia Bibliogrfica ................................................................................19

Derivao do Modelo Lgico

DERIVAO DO MODELO LGICO 1. Conceitos


1.1 Domnio Um domnio D um conjunto de valores atmicos. A definio do domnio pode comear com a especificao de um tipo de dado sendo que, este pode tambm ser especificado para cada domnio. Exs.: - Telefones_nacionais: (0dddd)dddd-dddd, onde d=[0-9] ; - Altura de uma pessoa definida em metros (valor real) ou centmetros (valor inteiro) - Idade: nmeros inteiros positivos entre 0 e 99. 1.2 Esquema de uma Relao R(A1, A2 , ..., An ) onde R a relao e Ai so atributos. Cada atributo A corresponde ao nome do papel desempenhado por algum domnio D no esquema da relao R. D denominado o domnio de Ai. O esquema de uma relao usado para descrever essa relao, e por isso chamado de nome da relao. O grau de uma relao (n) o nmero de atributos desse esquema de relao. Exs: ALUNO(Nome, CPF, Telefone, Endereo, Idade, numMatrcula) 1.3 Atributos Cada atributo corresponde um domnio. Ex.: Domnio CPF_Valido: 11 dgitos numricos, sendo que os ltimos 2 obedecem regra de dgito verificador 1.4 Relaes e Tuplas Uma relao (ou estado da relao) r de um esquema de relao R(A1, A2 , ..., An ), tambm representada por r(R) um conjunto de n-tuplas r = {t1, t2, ..., tn}. Cada tupla uma lista ordenada de n valores t = <v1, v2, ..., vn >, onde cada valor v um elemento pertencente a domnio(A), ou um valor especial chamado nulo. O i-simo valor na tupla t, que corresponde ao atributo Ai, representado como t[Ai] Cada valor da tupla atmico. No permitido so permitidos atributos multivalorados ou compostos. Resumindo: Relaes = Tabelas Tuplas = Linhas Domnios = Colunas Ex.: Relao : Clientes Esquema : CPF, Nome e Sexo.

Derivao do Modelo Lgico

Domnios: CPF

NOME

SEXO

82306516634 25896314785 36985214785

Roberto Masculino Antnio Feminino Adriana

Tabela: Cliente Nome da relao Clientes CPF 82306516634 25896314785 36985214785 Domnio 1.5 Chave Candidata e Chave Primria (PK Primary Key) Como o prprio nome diz, ela uma chave candidata a ser uma chave principal. um atributo que possui domnio que apresente a caracterstica de no repetir seus valores durante as instanciaes para todas as linhas da tabela. A chave principal a chave eleita entre as chaves candidatas. Chave primria o atributo ou grupamento de atributos (chave composta) cujo valor identifica unicamente uma tupla dentre todas as outras de uma identidade. Deve ter contedo reduzido e valor constante no tempo. A chave primria pode ser composta, isto , pode ser formada por vrios atributos. Ex.: Relao FUNCIONRIOS Chaves candidatas: CPF, Ttulo Eleitor e RG Chave principal (PK): CPF 1.6 Chave Estrangeira (FK Foreign Key) A chave estrangeira possui as seguintes caractersticas: uma chave e, portanto, identifica de modo nico uma tupla; Ela no est em seu local original (local de origem), mais sim em um local para onde foi migrada (no estrangeiro); Ela tem um local de origem e l possui suas caractersticas originais ( uma chave primria). Ex.:
Funcinrio

NOME Roberto Antnio Adriana

SEXO Masculino Masculino Feminino

esquema tupla

Lotao

Depto

Derivao do Modelo Lgico

Tabela : Depto Chave Primria (PK): Cd_depto Colunas: Descrio, Prdio Tabela : Funcionrio Chave Primria (PK): CPF Colunas: Nome, Endereo, e-mail Chave Estrangeira (FK): Cd-Depto

2. Modelo Lgico Relacional


O modelo relacional foi proposto inicialmente por Edgard F. Cood, em 1970. Este modelo era concebido a partir da associao dos conceitos e regras que norteiam a teoria de conjuntos e as possveis estruturas de manipulao de dados. Associaes:

Relao

Arquivo

Tuplas contendo elementos de domnios distintos e agregados de forma predefinida

Registro e seus campos

O modelo relacional implementa as estruturas de dados independentemente de seus tipos, atravs de uma nica viso: Tabelas. Para obter um modelo lgico a partir de um modelo conceitual so necessrios os seguintes passos: 1. 2. 3. 4. Obter Modelo Conceitual Definir o tipo de implementao (rede-codasyl, relacional, O-O) Aplicar as regras de derivao especficas Adaptar o modelo s necessidades

Atividades a serem desenvolvidas: 1. Derivao de Relacionamentos 2. Derivao de Estruturas de Generalizao-Especializao e Agregao 3. Normalizao das Estruturas de Dados

Derivao do Modelo Lgico

3. REGRAS DE DERIVAO
3.1 Derivao de Relacionamentos 3.1.1 Relacionamentos 1:1 sem atributos Para a derivao Cada entidade se transforma em uma tabela e a chave principal de uma tabela herdada pela outra como chave estrangeira.

Tabela A Coluna A1 (PK) Coluna A2 Coluna A3....

Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.... Coluna A1 (FK)

Ou ainda migrar todos os dados das entidades A e B para uma nica tabela.

Tabela nica Coluna B1 (PK) Coluna B2 Coluna B3... Coluna A1 Coluna A2 Coluna A3...

3.1.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.

A
Tabela A Coluna A1 (PK) Coluna A2 Coluna A3....

B
Tabela B Coluna B1 (PK) Coluna B2 Coluna B3....

Tabela R Coluna A1 (FK) Coluna B1 (FK) Coluna R2 Coluna R3....

Derivao do Modelo Lgico

Ou, cada entidade se transforma em uma tabela e a chave principal de uma das tabelas herdada pela outra como chave estrangeira. E os atributos do relacionamento so migrados para a Tabela A ou para a Tabela B

A
Tabela A Coluna A1 (PK) Coluna A2 Coluna A3....

B
Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.... Coluna A1 (FK) Coluna R1 Coluna R2...

3.1.3

Relaes 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.

Tabela A Coluna A1 (PK) Coluna A2 Coluna A3....

Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.... Coluna A1 (FK)

3.1.4

Relaes 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. Os atributos do relacionamentos so, tambm, herdados pela entidade B.

Tabela A Coluna A1 (PK) Coluna A2 Coluna A3....

Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.... Coluna A1 (FK) Coluna R1 Coluna R2...

Derivao do Modelo Lgico

Cada entidade se transforma em uma tabela; o relacionamento tambm 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....

B
Tabela B Coluna B1 (PK) Coluna B2 Coluna B3....

Tabela R Coluna A1 (FK) Coluna B1 (FK) Coluna R2 Coluna R3....

3.1.5 Relacionamento N:N com ou sem atributos Cada entidade se transforma em uma tabela; o relacionamento tambm se transforma em uma tabela e ter como chave principal as chaves herdadas das entidades A e B. Caso haja atributos no relacionamento, estes ficaro na tabela R.

A
Tabela A Coluna A1 (PK) Coluna A2 Coluna A3....

B
Tabela B Coluna B1 (PK) Coluna B2 Coluna B3....

Tabela R Coluna A1 (FK) Coluna B1 (FK) Coluna R2 Coluna R3....

3.1.6 Auto-relacionamento 1:1 Migra-se a chave da tabela A para a tabela A


Tabela A

1 R 1
Coluna A1 (PK) Coluna A2 Coluna A3 Coluna A1-E (FK de A em A)

Derivao do Modelo Lgico

3.1.7 Auto-relacionamento 1:N Migra-se a chave da tabela A para a tabela A


Tabela A

1 R N
Coluna A1 (PK) Coluna A2 Coluna A3 Coluna A1-E (FK de A em A)

3.1.8

Auto-relacionamento N:N

Cria-se uma nova tabela para o relacionamento R

N R N
Tabela A Tabela R Coluna A1 - A (PK) (FK) Coluna A1 B (PK) (FK) Coluna R1.... Coluna R2...

Coluna A1 (PK) Coluna A2 Coluna A3...

3.2 Derivao de Estruturas de Generalizao-Especializao Existem 3 estratgias para tratarmos com este tipo de estrutura. a) Estratgia 1 Criar uma tabela para cada entidade (generalizada e especializada) e mantm os relacionamentos associados a cada uma delas, da seguinte forma: Criar um relacionamento de cardinalidade 1:1 para cada entidade especializada com a entidade generalizada e adota a regra de derivao para relacionamentos 1:1, citada anteriormente; Todos os atributos comuns (existentes na entidade generalizada) sero alocados em uma tabela (representando a entidade generalizada); Os atributos especficos de cada entidade especializada sero alocados nas tabelas que representaro as entidades especficas correspondentes; Os relacionamentos existentes em cada uma das entidades sero mantidos associados a cada uma das tabelas que as representam.

Derivao do Modelo Lgico

Ex.:

R1

R2

Derivando:

1 R3 1 1

A
R4 1

R1

R2

Tabelas geradas (opo 01): mais recomendada


Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.... Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.... Coluna A1 (FK) Tabela C Coluna C1 (PK) Coluna C2 Coluna C3.... Coluna E1 (FK) Coluna A1 (FK) Tabela D Coluna D1 (PK) Coluna D2 Coluna D3.... Coluna A1 (FK) Tabela E Coluna E1 (PK) Coluna E2 Coluna E3....

Tabelas geradas (opo 02): menos recomendada


Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.... Coluna B1 (FK) Coluna C1 (FK) Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.... Tabela C Coluna C1 (PK) Coluna C2 Coluna C3.... Coluna E1 (FK) Tabela D Coluna D1 (PK) Coluna D2 Coluna D3.... Coluna A1 (FK) Tabela E Coluna E1 (PK) Coluna E2 Coluna E3....

Obs.: na tabela A, haver sempre uma chave estrangeira com valor nulo

Derivao do Modelo Lgico

b) Estratgia 2 Criar apenas uma tabela para a entidade generalizada e agregar a ela os atributos e relacionamentos das entidades especializadas, da seguinte forma: - Onde for identificada uma estrutura generalizao-especializao, no modelo conceitual, substitu-la por uma nica entidade que representar somente a entidade generalizada; - Transferir os atributos e relacionamentos das entidades especializadas para a entidade generalizada; - Tratar a entidade e relacionamentos obtidos de forma convencional, sem caractersticas especiais.

Ex.:

R1

B
Derivando:

R2

A+(B+C)

R1

N Tabelas geradas:
Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.... Coluna B1 Coluna B2 Coluna B3 ... Coluna C1 Coluna C2 Coluna C3... Coluna E1 (FK)

R2

Tabela D Coluna D1 (PK) Coluna D2 Coluna D3.... Coluna A1 (FK)

Tabela E Coluna E1 (PK) Coluna E2 Coluna E3....

Derivao do Modelo Lgico

c) Estratgia 3 Criar tabelas para as entidades especializadas e agregar a elas os atributos e relacionamentos da entidade generalizada, da seguinte forma: - Onde for identificada uma estrutura de generalizao-especializao no modelo conceitual, substitu-la pelas entidades que representam as entidades especializadas; - Transferir os atributos e relacionamentos da entidade generalizada para cada uma das entidades especializadas; - Tratar as entidades e relacionamentos obtidos de forma convencional, sem caractersticas especiais. Ex.:

R1

R2

Derivando:

D
N R1 1 1 N R2 N 1

B
Tabelas geradas:
Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.... Coluna A1 Coluna A2 Coluna A3 ... Tabela C

R3

Tabela D Coluna D1 (PK) Coluna D2 Coluna D3.... Coluna B1 (FK) Coluna C1 (FK)

Tabela E Coluna E1 (PK) Coluna E2 Coluna E3....

Coluna C1 (PK) Coluna C2 Coluna C3.... Coluna A1 Coluna A2 Coluna A3 ... Coluna E1 (FK)

10

Derivao do Modelo Lgico

3.3 Derivao de Agregaes Para derivar agregaes, primeiramente deve-se: 1. Observar o aspecto ligado ao relacionamento: obter um modelo intermedirio em que o relacionamento da agregao seja resolvido, observar a cardinalidade (1:1, 1:N ou M:N) com ou sem atributos; 2. Observar o aspecto ligado entidade: visualizar o relacionamento obtido como uma entidade; 3. Aplicar as regras de derivao vistas na seo 3.1. Ex1.:

R1 1 R2 N

C
Derivando:

R3

NR1 1 R2 N

R4

Tabelas geradas:
Tabela A Coluna A1 (PK) Coluna A2 Coluna A3.... Tabela B Coluna B1 (PK) Coluna B2 Coluna B3.... Tabela C Coluna C1 (PK) Coluna C2 Coluna C3.... Coluna A1 (FK) Coluna B1 (FK) Tabela R1 Coluna A1 (PK) (FK) Coluna B1 (PK) (FK) Coluna R1-1 Coluna R1-2...

11

Derivao do Modelo Lgico

3.4 Normalizao de Tabelas A normalizao uma tcnica para a obteno de organizaes de dados estveis. Ela pode ser usada como tcnica de anlise de dados ou para enxugar o modelo obtido pela anlise de entidades e relacionamentos. Uma base de dados relacional composta por um grupo de tabelas vinculadas, a normalizao permite a simplificao destas tabelas. Possui carter organizativo. Pode ocorrer durante a concepo do modelo conceitual, durante a derivao do modelo lgico para o relacional, ou aps a derivao do modelo lgico.

Benefcios da normalizao: Estabilidade do modelo lgico : capacidade de um modelo manter-se inalterado face a mudanas que venham a ser percebida ou introduzidas no ambiente que tenha sido modelado. Flexibilidade: capacidade de adaptao a demandas diferenciadas, a expanso e reduo, a omisso ou presena, etc. Integridade: diz respeito qualidade do dado. Um dado mapeado em mais de um local de modo diferente, com valores instanciados de modo diferentes, pode ser indcio de que no h integridade entre eles. Economia: no espao de armazenamento; no custo em manipulao de dados (que representa todo e qualquer esforo, tempo, ou valor agregado ao fato de manipularmos volumes de dados maiores do que os efetivamente necessrios); custo causado pelo atraso do fornecimento da informao desejada. Fidelidade ao Ambiente Observado: ajuda a definir elementos que foram despercebidos durante o processo de modelagem.

3.4.1 Primeira Forma Normal 1FN Diz-se que um modelo est na 1FN se: 1. 2. 3. 4. 5. Est integrado por tabelas As linhas da tabela so unvocas As linhas no contm itens repetitivos Os atributos so atmicos Os atributos no contm valores nulos.

Passos para obteno da 1FN 1. Definir chaves candidatas e escolher a chave primria Poder ser utilizado tantos atributos (ou colunas) quantos forem necessrios formao da chave da tabela, mesmo que tenhamos que chegar concatenao de todos os atributos de uma linha. Na prtica, o grade nmero de colunas formando chave pode causar transtornos, por isso, nesse caso, pode-se criar uma coluna-artificial do tipo contadori ou n seqencial. 2. Transformar atributos compostos em atmicos Os atributos compostos que claramente tenham elementos distintos em sua estrutura, devero ser separados. Ex.: Telefone Prefixo Nmero (038)3221-3050 (038) 3221-3050 12

Derivao do Modelo Lgico

3. Em cada tabela eliminar grupos repetitivos gerando novas linhas, uma para cada ocorrncia de item repetitivo, mantendo os valores dos demais itens. Para cada tabela eliminar os grupos repetitivos gerando uma nova tabela, na qual cada um dos itens repetitivos dar origem a uma nova linha e na qual a chave primria ser a concatenao da chave da tabela original com uma nova coluna que identifique de modo unvoco a linha. Exemplo: Uma empresa composta por vrias filiais. Cada filial efetua pedidos a seus fornecedores diretamente. Cada um dos pedidos pertence a somente um fornecedor, mas um pedido pode requisitar mais de um produto.

Pedido Num

003

Data Emisso:

20/02/2001

Nome Fornecedor: House of Software CGC 8236541112-00

Endereo: Rua Lapa, 785 centro Cod. Produto 0035 002M 158I Nome Produto SQL Server 2000 Corew Draw 11.0 Windows 2000 workstation Qtde 02 01 03 Preo Unitrio 5.650,00 2.200,00 800,00

Modelo Conceitual: Emite pedido

Filial

Pedido

Entidade: FILIAL Atributos: CGC Razo Social Telefone Endereo Bairro

Entidade: PEDIDO Atributos: N Pedido Data Emisso Nome Fornecedor CGC Fornecedor Endereo Fornecedor Produtos contendo: Cdigo Produto Nome Produto Quantidade Pedida

13

Derivao do Modelo Lgico

Tabela PEDIDO No-normalizada Num Data Nome CGC Endereo Pedido Emisso Fornecedor
002 2/2/02 House SW 8521 Rua c, 212 Rua D, 5

Produtos Cd
01 02 03 01

Nome
SQL Windows Corew SQL

Qtde
2 1 1 3

Preo Unitrio
2.320,00 800,00 852,00 2.320,00

006

3/2/04

Brasoft

5556

04 - Normalizando:

DOS

230,00

1. Acabar com itens de repetio: tomar cada item de repetio e com eles dar origem a novas linhas da tabela onde o contedo das demais colunas ser o mesmo da linha original Num Data Nome CGC Endereo Pedido Emisso 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, 21 Rua c, 21 Rua c, 21 Rua D, 5 Rua D, 5 Produtos Cd 01 02 03 01 04 Nome SQL Windows Corew SQL DOS Qtde 2 1 1 3 2 Preo Unitrio 2.320,00 800,00 852,00 2.320,00 230,00

2. Transformar os atributos compostos em atributos atmicos Endereo: contm o nome da rua e o n da casa. Dados de natureza completamente distintas, representando caractersticas completamente diferentes. Num Data Nome CGC Rua Pedido Emisso 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 Cd 01 02 03 01 04 Nome SQL Windows Corew SQL DOS Qtde 2 1 1 3 2 Preo Unitrio 2.320,00 800,00 852,00 2.320,00 230,00

3. Definir uma chave para que tenhamos unicidade nas linhas da tabela. Num Pedido + Num Produto Num Pedido 002 002 002 006 006 Data Nome CGC Rua Cd Produto Emisso 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 Preo Unit Produto 2.320,00 800,00 852,00 2.320,00 230,00 14

Derivao do Modelo Lgico

3.4.2 Segunda Forma Normal 2FN Uma tabela est na 2FN se est na 1FN e cada uma das colunas no pertencentes chave primria no for dependente parcialmente dessa chave. Passos para obteno da 2FN 1. Identificar as colunas que no participam da chave primria da tabela Identifica-se as colunas que formam a chave para ignor-las durante o processo de anlise. 2. Para cada uma das colunas identificas, analisar se seu valor determinado por parte, ou pela totalidade da chave. Para identificar a a dependncia de uma coluna em relao chave indaga-se: - para que seu valor seja determinado, quais so as colunas da chave que devem ser conhecidas? 3. Para as colunas dependentes parcialmente da chave, criar novas tabelas onde a chave primria ser(o) a(s) coluna(s) da chave primria 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 Cd Data Nome CGC Rua Produto Emisso 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 Preo Unit Produto 2.320,00 800,00 852,00 2.320,00 230,00

1. Analisar as colunas no chaves.... Colunas: Data Emisso, Nome Fornecedor, CGC, Rua, N, Nome Produto, Qtde Prod., Preo Unit. Produto. 2. Identificando dependncias Parciais... Coluna Data Emisso Nome Fornecedor CGC Rua N Nome Produto Qtde Produto Preo Unit Dependncia Parcial Parcial Parcial Parcial Parcial Parcial Total Total Chave N Pedido N Pedido N Pedido N Pedido N Pedido Cdigo Produto N Pedido + Cdigo Produto N Pedido + Cdigo Produto

3. Criando novas tabelas com as colunas dependentes parcialmente das chaves, e excluindo essas colunas da tabela original 15

Derivao do Modelo Lgico

Tabela 1 (Tabela Original) Num Pedido 002 002 002 006 006 Cd Produto 01 02 03 01 04 Qtde Prod 2 1 1 3 2 Preo Unit Produto 2.320,00 800,00 852,00 2.320,00 230,00

Tabela 2 - obtida por dependncia Parcial (chave n pedido) Num Data Nome CGC Rua Pedido Emisso 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 - obtida por dependncia Parcial (chave cdigo produto) Cd Nome Produto Produto 01 SQL 02 Windows 03 Corew 01 SQL 04 DOS N 21 21 21 5 5

3.4.3 Terceira Forma Normal 3FN


Uma tabela est na 3FN se est na 2FN e se nenhuma coluna no pertencente chave fica determinada transitivamente por esta. Passos: 1. Identificar as colunas que no participam da chave primria da tabela. 2. Para cada uma das colunas identificadas, analisar se seu valor determinado por alguma outra coluna no pertencente chave. 3. Para colunas dependentes transitivamente da chave: - criar novas tabelas onde a chave primria ser(o) a(s) coluna(s) que determinou(aram) o valor da coluna analisada. Agregar a essas tabelas as colunas dependentes transitivamente. - Excluir da tabela de origem as colunas dependentes transitivamente das chaves mantendo, porm, a coluna determinante de transitividade na tabela. 16

Derivao do Modelo Lgico

Exemplo: 1. identificar as colunas que no participam da chave... Tabela 1 - Qtde Prod e Preo Unit Produto Tabela 2 Data Emisso, Nome Fornecedor, CGC, Rua e N Tabela 3 nenhuma, pois ela j est na 3FN (s tem uma coluna pertencente chave) 2. identificando as dependncias transitivas Tabela 1 o valor de uma coluna Qtde Prod no pode ser definido com base no valor da coluna Qtde e vice-versa Tabela 2 o valor de uma Data Emisso no possvel determinar o Nome Fornecedor, CGC, Rua e N; e atravs de quaisquer outras colunas no e possvel determinar o valor da coluna Data Emisso. - o valor da coluna CGC possvel determinar um e s um valor para as colunas Nome Fornecedor, Rua e N. Isso denota uma dependncia transitiva dessas trs colunas em relao coluna CGC. 3. criando novas tabelas onde a chave primria ser(o) a(s) coluna(s) que determinou(aram) o valor da coluna analisada, agregando a essas tabelas as colunas dependentes transitivamente, e excluir das tabelas de origem as colunas dependentes transitivamente mantendo a coluna que determinou a transitividade. Tabela 1 J est na 3FN Num Pedido 002 002 002 006 006 Cd Produto 01 02 03 01 04 Qtde Prod 2 1 1 3 2 Preo Unit Produto 2.320,00 800,00 852,00 2.320,00 230,00

Tabela 2 - mantendo a coluna CGC que determinou a transitividade e sem as demais colunas que eram determinadas transitivamente. Num Data CGC Pedido Emisso 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

Derivao do Modelo Lgico

Tabela 3 J na 3NF Cd Nome Produto Produto 01 SQL 02 Windows 03 Corew 01 SQL 04 DOS Tabela 4 obtida a partir da tabela 2, por dependncia 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.4.4 Resumo: TABELAS NO NORMALIZADAS Eliminar grupos repetitivos (atributos multivalorados)

1FN Eliminar dependncias parciais em relao chave primria. (somente quando esta for concatenada)

2FN Eliminar dependncias entre atributos no chaves.

3FN

18

Derivao do Modelo Lgico

4. Referncias Bibliogrficas

COUGO, Paulo. Modelagem Conceitual e Projeto de Banco de Dados. Rio de Janeiro: Campus, 1997. ELMASRI, R.; NAVATHE, S. Fundamentals of database systems. 4th ed. Boston: Pearson, Addison-Wesley, 2004. GANE, Chris. Anlise Estruturada de Sistemas. Livros Tcnicos e Cientficos Editora, 1999.

19

Das könnte Ihnen auch gefallen