Sie sind auf Seite 1von 15

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

Janeiro 2006

Sumrio
Passos para derivao do Modelo Lgico .......................................................................01 Modelo Relacional...........................................................................................................01 1. Normalizao..............................................................................................................02 1.1 Primeira Forma Normal ........................................................................................02 1.2 Segunda Forma Normal ........................................................................................05 1.3 Terceira Forma Normal.........................................................................................07 Resumo Geral..............................................................................................................09 2. Derivao de Relacionamentos .................................................................................10 2.1 Relacionamento 1:1 sem atributos ........................................................................10 2.2 Relacionamento 1:1 com atributos .......................................................................10 2.3 Relacionamento 1:N sem atributos .......................................................................11 2.4 Relacionamento 1:N sem atributos .......................................................................11 2.5 Relacionamento N:N com ou sem atributos .........................................................12 2.6 Auto-relacionamento.............................................................................................12 2.6.1 Auto-relacionamento 1:1 .............................................................................12 2.6.2 Auto-relacionamento 1:N ............................................................................13 2.6.3 Auto-relacionamento N:N ..........................................................................13

Derivao do Modelo Lgico

DERIVAO DO MODELO LGICO


PASSOS: 1. Obter Modelo Conceitual 2. Definir o tipo de implementao (rede-codasyl, relacional, O-O) 3. Aplicar as regras de derivao especficas 4. Adaptar o modelo s necessidades MODELO RELACIONAL - Edgard F. Codd, 1970 Concebido a partir da associao de 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. Relaes = Tabelas Tuplas = Linhas Domnios = Colunas Ex.: Relao : Clientes Esquema : CPF, Nome e Sexo. Domnios: CPF

NOME

SEXO

82306516634 25896314785 36985214785

Roberto Masculino Antnio Feminino Adriana

Tabela: Cliente CPF 82306516634 25896314785 36985214785 NOME Roberto Antnio Adriana Domnio 1 SEXO Masculino Masculino Feminino esquema tupla

Derivao do Modelo Lgico

REGRAS DE DERIVAO
1. NORMALIZAO
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. Observao: 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.

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.

Derivao do Modelo Lgico

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

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

Derivao do Modelo Lgico

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

Tabela PEDIDO No-normalizada Num Pedido


002

Data Nome CGC Emisso Fornecedor


2/2/02 House SW 8521

Produtos Endereo
Rua c, 212 Rua D, 5

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

DOS

230,00

NORMALIZANDO: 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 Pedido 002 002 002 006 006 Data Nome CGC Emisso Fornecedor 2/2/02 2/2/02 2/2/02 3/2/04 3/2/04 House SW House SW House SW Brasoft Brasoft Produtos Endereo 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

8521 Rua c, 21 8521 Rua c, 21 8521 Rua c, 21 5556 Rua D, 5 5556 Rua D, 5

Derivao do Modelo Lgico

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 Pedido 002 002 002 006 006 Data Emisso 2/2/02 2/2/02 2/2/02 3/2/04 3/2/04 Nome CGC Rua Fornecedor House SW House SW House SW Brasoft Brasoft 8521 8521 8521 5556 5556 c c c D 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 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

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

Derivao do Modelo Lgico

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 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 Pedido 002 002 002 006 006 Data Nome CGC Rua Emisso Fornecedor 2/2/02 House SW 8521 c 2/2/02 House SW 8521 c 2/2/02 House SW 8521 c 3/2/04 Brasoft 5556 D 3/2/04 Brasoft 5556 D N 21 21 21 5 5 6

Derivao do Modelo Lgico

Tabela 3 - obtida por dependncia Parcial (chave cdigo produto) Cd Produto 01 02 03 01 04 Nome Produto SQL Windows Corew SQL DOS

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. 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 d efinido 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.

Derivao do Modelo Lgico

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 Pedido 002 002 002 006 006 Data Emisso 2/2/02 2/2/02 2/2/02 3/2/04 3/2/04 CGC 8521 8521 8521 5556 5556

Tabela 3 J na 3NF Cd Produto 01 02 03 01 04 Nome Produto SQL Windows Corew SQL 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

Derivao do Modelo Lgico

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

Derivao do Modelo Lgico

2. DERIVAO DE RELACIONAMENTOS
2.1 Relacionamentos 1:1 sem atributos 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 nic a Coluna B1 (PK) Coluna B2 Coluna B3... Coluna A1 Coluna A2 Coluna A3...

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

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 10

Derivao do Modelo Lgico

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

2.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)

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

11

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

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

2.6 Auto-relacionamento 2.6.1 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)

12

Derivao do Modelo Lgico

2.6.2 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)

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

13

Das könnte Ihnen auch gefallen