Você está na página 1de 12

B ase de

Dados em Modelo Relacional

UNIVERSIDADE TECNICA DE ANGOLA

CURSO DE ENGENHARIA INFORMATICA

MODELO RELACIONAL
DEPENDÊNCIAS FUNCIONAIS
NORMALIZAÇÃO

Estudante: Antonio Dieyi Kalu

Prof.: Doria Hebo

Luanda

Junho de 09
Elaborado por Antonio Kalu, estudante de Informatica
1
B ase de
Dados em Modelo Relacional

UNIVERSIDADE TECNICA DE ANGOLA

CURSO DE ENGENHARIA INFORMATICA

TRABALHO DE BASE DE DADOS I

TEMA:

• Modelo Relacional;
• Dependências Funcionail;

• Normalização (0FN, 1FN, 2FN, 3FN).

Prof.: Doria Hebo

Estudante: Antonio Kalu

Nº 2916

Turma: EIN 2.2

Luanda

Elaborado por Antonio Kalu, estudante de Informatica


2
B ase de
Dados em Modelo Relacional

Junho de 2009

Indice
1. Introduão.........................................................................................................................03

2. Modelo Relacional..........................................................................................................03

3. Dependências Funcionais..........................................................................05

4. Normalização..............................................................................................06

4.1 Forma não Normalizada..........................................................................06

4.2 Primeira Forma Normalizada.................................................................07

4.3 Segunda Forma Normalizada..................................................................08

4.4 Terceira Forma Normalizada...................................................................09

5. Conclusão.....................................................................................................10

6. Referências bibliograficas..........................................................................10

Elaborado por Antonio Kalu, estudante de Informatica


3
B ase de
Dados em Modelo Relacional

1. Introdução
Desde o surgimento da tecnologia de informação, começou-se a armazenar informações em
computadores; informações estas que as vezes servia para utilização publica dentro de uma
organização ou qualquer fim. Estes dados eram armazenados sem serem arquitectados o que
provocava dificuldades em procurar o desejado. Surgiu então a necessidade de criar algo que
organizasse e gerenciasse dados, foram criados por varios engenheiros sistemas de
gerenciamento de bases de dados em varios Modelos (madelo Hierarquico, modelo em Rede,
modelo Recional,...). Neste artigo vou falar do Modelo Relacional

2. Modelo Relacional
O modelo relacional é um modelo de dados, adequado a ser o modelo subjacente de um
Sistema Gerenciador de Banco de Dados (SGBD), que se baseia no princípio em que todos os
dados estão guardados em tabelas (ou, matematicamente falando, relações). Toda sua
definição é teórica e baseada na lógica de predicados e na teoria dos conjuntos.

O conceito foi criado por Edgar Frank Codd em 1970, sendo descrito no artigo "Relational
Model of Data for Large Shared Data Banks". Na verdade o modelo relacional foi o primeiro
modelo de dados descrito teoricamente, os bancos de dados já existentes passaram então a ser
conhecidos como (modelo hierárquico, modelo em rede ou Codasyl e modelo de listas
invertidas).

O modelo relacional para gerência de bancos de dados (SGBD) é um modelo de dados


baseado em lógica e na teoria de conjuntos.

Historicamente ele é o sucessor do modelo hierárquico e do modelo em rede. Estas


arquiteturas antigas são até hoje utilizadas em alguns data centers com alto volume de dados,
onde a migração é inviabilizada pelo custo que ela demandaria; existem ainda os novos
modelos baseados em orientação ao objeto, que na maior parte das vezes são encontrados
como kits de construção de SGBD, ao invés de um SGBD propriamente dito.

O modelo relacional foi o primeiro modelo de banco de dados formal. Somente depois seus
antecessores, os bancos de dados hierárquicos e em rede, passaram a ser também descritos em
linguagem formal.

A linguagem padrão para os bancos de dados relacionais, SQL, é apenas vagamente


remanescente do modelo matemático. Atualmente ela é adotada, apesar de suas restrições,
porque ela é antiga e muito mais popular que qualquer outra linguagem de banco de dados.

A principal proposição do modelo relacional é que todos os dados são representados como
relações matemáticas, isto é, um subconjunto do produto Cartesiano de n conjuntos. No
modelo matemático (diferentemente do SQL), a análise dos dados é feita em uma lógica de
predicados de dois valores (ou seja, sem o valor nulo); isto significa que existem dois

Elaborado por Antonio Kalu, estudante de Informatica


4
B ase de
Dados em Modelo Relacional

possíveis valores para uma proposição: verdadeira ou falsa. Os dados são tratados pelo
cálculo relacional ou álgebra relacional.

O modelo relacional permite ao projetista criar um modelo lógico consistente da informação


a ser armazenada. Este modelo lógico pode ser refinado através de um processo de
normalização. Um banco de dados construído puramente baseado no modelo relacional estará
inteiramente normalizado. O plano de acesso, outras implementações e detalhes de operação
são tratados pelo sistema DBMS, e não devem ser refletidos no modelo lógico. Isto se
contrapõe à prática comum para DBMSs SQL nos quais o ajuste de desempenho
frequentemente requer mudanças no modelo lógico.

O princípio básico do modelo relacional é o princípio da informação: toda informação é


representada por valores em relações (relvars). Assim, as relvars não são relacionadas umas
às outras no momento do projeto. Entretanto, os projetistas utilizam o mesmo domínio em
vários relvars, e se um atributo é dependente de outro, esta dependência é garantida através
da integridade referencial.

Exemplo de uma base de dados

Um exemplo, bem simples da descrição de algumas tabelas e seus atributos:

Cliente(ID Cliente, ID Taxa, Nome, Endereço, Cidade, Estado, CEP, Telefone)

Pedido de compra(Número do pedido, ID Cliente, Factura, Data do pedido, Data prometida,


Status)

Item do pedido(Número do pedido, Número do item, Código do produto, Quantidade)

Nota fiscal(Número da nota, ID Cliente, Número do pedido, Data, Status)

Item da nota fiscal(Número da nota,Número do item,Código do produto, Quantidade


vendida)

Exemplo: cliente

ID Cliente ID Taxa Nome Endereço


=================================================================
1234567890 555-5512222 João Carlos Rua bigodone, 120 ...
2223344556 555-5523232 Dorotéia Santos Avenida barbeiro,12 ...
3334445563 555-5533322 Lisbela da Cruz Rua dos bigodes,123 ...
4232342432 555-5325523 E. F. Codd Rua do gilete,51 ...

A normalização de banco de dados é normalmente realizada quando projeta-se um banco de


dados relacional, para melhorar a consistência lógica do projeto do banco de dados e o
desempenho transacional.

Existem dois sistemais mais comuns de diagramação que ajudam na representação visual do
modelo relacional: O diagrama de entidade-relacionamento DER, e o diagrama correlato
IDEF utilizado no método IDEF1X criado pela Força aérea americana baseado no DER.

Elaborado por Antonio Kalu, estudante de Informatica


5
B ase de
Dados em Modelo Relacional

3. Dependencias Funcionais
A dependência funcional (DF) é um dos conceitos fundamentais no desenho dos modelos de
dados relacionais. A dependência funcional é uma associação que se estabelece entre dois ou
mais atributos duma relação e define-se do seguinte modo: Se A e B são atributos, ou
conjuntos de atributos, da relação R, diz-se que B é funcionalmente dependente de A se cada
um dos valores de A em R tem associado a si um e um só valor de B em R; a DF tem a
notação: A - B

Na Figura 2-5 é apresentada a notação gráfica relacionada com a dependência funcional. A


dependência funcional é representada por uma linha horizontal que parte do(s) atributo(s)
mais à esquerda, terminando com setas nos atributos dependentes, localizados à direita. Todos
os atributos que não fazem parte da chave primária de uma relação são funcionalmente
dependentes dela.

DF Total e DF Parcial
• DF Total – se um atributo Ax depende funcionalmente de todos os atributos que compõem a
CP de uma tabela T, diz-se que Ax possui DF total da CP de T
• DF Parcial – se um atributo Ax depende funcionalmente apenas de alguns atributos (não
todos!) que compõem a CP de uma tabela T, diz-se que Ax possui DF parcial da CP de T

Elaborado por Antonio Kalu, estudante de Informatica


6
B ase de
Dados em Modelo Relacional

DF Transitiva ou Indireta
• Se um atributo não-chave Ax possui DF total da CP de uma tabela T e também possui DF
total de um ou mais atributos não-chave de T, então diz-se que Ax possui DF transitiva ou
indireta da CP de T.

4. Normalização
Descrição de normalização

Normalização é o processo de organizar dados numa base de dados. Este processo envolve a
criação de tabelas e o estabelecimentos de relações entre essas tabelas, de acordo com regras
concebidas para proteger os dados e para tornar a base de dados mais flexível, através da
eliminação da redundância e da dependência inconsistente.

Os dados redundantes desperdiçam espaço em disco e criam problemas de manutenção. Se é


necessário alterar dados que existem em mais do que um local, esses dados têm de ser
alterados exactamente do mesmo modo em todos os locais. Uma alteração de morada de um
cliente é muito mais fácil de implementar se esses dados estiverem apenas armazenados na
tabela Clientes e em mais nenhum local da base de dados.

Existem algumas regras para a normalização de bases de dados. Cada regra é chamada
"formula normal". Se a primeira regra é respeitada, diz-se que a base de dados está na
"primeira formula normal". Se as três primeiras regras são observadas, considera-se que a
base de dados está na "terceira formula normal". Apesar de ser possível existirem outros
níveis de normalização, considera-se que a terceira formula normal corresponde ao nível mais
alto necessário para a maior parte das aplicações.

De um modo geral, a normalização requer mais tabelas e alguns clientes acham este
procedimento confuso. Se decidir violar uma das três primeiras regras da normalização,
certifique-se de que a sua aplicação antecipa quaisquer problemas que possam ocorrer, tais
como a existência de dados redundantes e dependências inconsistentes.

Elaborado por Antonio Kalu, estudante de Informatica


7
B ase de
Dados em Modelo Relacional

4.1 Forma não Normalizada (0FN)

– Obtenção de uma representação padrão para as fontes de dados


– Pode ter uma ou mais tabelas aninhadas possui atributos multivalorados–atributo que ao
invés de conter valores atômicos, contém múltiplos valores ou contém uma tabela que pode,
por sua vez, ser aninhada.

Exemplo de tabela não Normalizada

4.2 Primeira formula normal


• Eliminar grupos repetitivos em tabelas individuais.

• Criar uma tabela separada para cada conjunto de dados relacionados.

• Identificar cada conjunto de dados relacionados com uma chave primária.

Não utilizar múltiplos campos numa só tabela para armazenar dados semelhantes. Por
exemplo, para controlar um item de inventário que pode ser proveniente de duas origens
possíveis, um registo de inventário pode conter campos para Código de fornecedor 1 e
Código de fornecedor 2.

Elaborado por Antonio Kalu, estudante de Informatica


8
B ase de
Dados em Modelo Relacional

1022 Chaves 412 101-07

1022 Chaves 412 143-01

4123 Silva 216 201-01

4123 Silva 216 214-01

4.3 Segunda formula normal


Uma tabela está na 2FN sse ela estiver na 1FN e não possuir DFs parciais.
• tabelas com DFs parciais devem ser desmembradas em tabelas que possuam DFs
totais
• Tabelas cuja CP possui apenas um atributo estão automaticamente na 2FN
• Criar tabelas separadas para conjuntos de valores que são aplicáveis a múltiplos
registos.

• Relacionar estas tabelas com uma chave externa.

Os registos só devem depender da chave primária de uma tabela (uma chave composta, se for
necessário). Por exemplo, vamos tomar em consideração o endereço de um cliente num
sistema contabilístico. O endereço é requerido pela tabela Clientes, mas também pelas
tabelas Encomendas, Expedição, Contas a receber e Conjuntos. Em vez de armazenar o
endereço do cliente sob a forma de uma entrada separada em cada uma destas tabelas,
armazene-o num só local, quer seja na tabela Clientes quer numa tabela Endereços separada.

Elaborado por Antonio Kalu, estudante de Informatica


9
B ase de
Dados em Modelo Relacional

4.4 Terceira formula normal


• Uma tabela está na 3FN sse ela estiver na 2FN e não possuir DFs transitivas – tabelas
com DFs transitivas devem ser desmembradas em tabelas que não possuam tais DFs
• Tabelas que possuem zero ou apenas um atributo que não faz parte da CP estão
automaticamente na 3FN
• Eliminar campos que não dependam da chave.

Os valores existentes num registo que não fazem parte da chave desse registo não devem
estar na tabela. De um modo geral, sempre que o conteúdo de um grupo de campos pode ser
aplicado a mais do que um registo da tabela, deve pensar em colocar esses campos numa
tabela separada.

Elaborado por Antonio Kalu, estudante de Informatica


10
B ase de
Dados em Modelo Relacional

5. Conclusão

Elaborado por Antonio Kalu, estudante de Informatica


11
B ase de
Dados em Modelo Relacional

A utilização do modelo relacional com as suas principais farramentas, dependências


funcionais bem estabelecidas, Normalização cumprindo as suas formas para sistemas de
bases de dados é um metodo muito eficiente para construcção e gerenciamento das mesmas,
pois com es modelo de SGBD consegue se construir sistemas de bases de dados consistentes
e com boa performance.

6. Referências bibliográficas
• Pesquisa pelo Wikipedia.com;

• Apostila do Modelo relacional para base de dados pelo Apostilando.com;

• www.supot.mycrosof/bd.

Elaborado por Antonio Kalu, estudante de Informatica


12

Você também pode gostar