Modelo-Relacional

download Modelo-Relacional

of 12

Transcript of Modelo-Relacional

Base de Dados em Modelo Relacional

UNIVERSIDADE TECNICA DE ANGOLA CURSO DE ENGENHARIA INFORMATICA

MODELO RELACIONAL DEPENDNCIAS FUNCIONAIS NORMALIZAO

Estudante: Antonio Dieyi Kalu Prof.: Doria Hebo

Luanda Junho de 09Elaborado por Antonio Kalu, estudante de Informatica 1

Base de Dados em Modelo Relacional

UNIVERSIDADE TECNICA DE ANGOLA CURSO DE ENGENHARIA INFORMATICA

TRABALHO DE BASE DE DADOS I

TEMA:

Modelo Relacional; Dependncias Funcionail; Normalizao (0FN, 1FN, 2FN, 3FN).

Prof.: Doria Hebo Estudante: Antonio Kalu N 2916 Turma: EIN 2.2

LuandaElaborado por Antonio Kalu, estudante de Informatica 2

Base de Dados em Modelo Relacional

Junho de 2009

Indice1. Introduo.........................................................................................................................03 2. Modelo Relacional..........................................................................................................03 3. Dependncias Funcionais..........................................................................05 4. Normalizao..............................................................................................06 4.1 Forma no Normalizada..........................................................................06 4.2 Primeira Forma Normalizada.................................................................07 4.3 Segunda Forma Normalizada..................................................................08 4.4 Terceira Forma Normalizada...................................................................09 5. Concluso.....................................................................................................10 6. Referncias bibliograficas..........................................................................10

Elaborado por Antonio Kalu, estudante de Informatica 3

Base de Dados em Modelo Relacional

1. IntroduoDesde o surgimento da tecnologia de informao, comeou-se a armazenar informaes em computadores; informaes estas que as vezes servia para utilizao publica dentro de uma organizao ou qualquer fim. Estes dados eram armazenados sem serem arquitectados o que provocava dificuldades em procurar o desejado. Surgiu ento 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 RelacionalO 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 princpio em que todos os dados esto guardados em tabelas (ou, matematicamente falando, relaes). Toda sua definio terica e baseada na lgica 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 ento a ser conhecidos como (modelo hierrquico, modelo em rede ou Codasyl e modelo de listas invertidas). O modelo relacional para gerncia de bancos de dados (SGBD) um modelo de dados baseado em lgica e na teoria de conjuntos. Historicamente ele o sucessor do modelo hierrquico e do modelo em rede. Estas arquiteturas antigas so at hoje utilizadas em alguns data centers com alto volume de dados, onde a migrao inviabilizada pelo custo que ela demandaria; existem ainda os novos modelos baseados em orientao ao objeto, que na maior parte das vezes so encontrados como kits de construo de SGBD, ao invs 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 hierrquicos e em rede, passaram a ser tambm descritos em linguagem formal. A linguagem padro para os bancos de dados relacionais, SQL, apenas vagamente remanescente do modelo matemtico. Atualmente ela adotada, apesar de suas restries, porque ela antiga e muito mais popular que qualquer outra linguagem de banco de dados. A principal proposio do modelo relacional que todos os dados so representados como relaes matemticas, isto , um subconjunto do produto Cartesiano de n conjuntos. No modelo matemtico (diferentemente do SQL), a anlise dos dados feita em uma lgica de predicados de dois valores (ou seja, sem o valor nulo); isto significa que existem dois possveis valoresElaborado por Antonio Kalu, estudante de Informatica 4

Base de Dados em Modelo Relacional

para uma proposio: verdadeira ou falsa. Os dados so tratados pelo clculo relacional ou lgebra relacional. O modelo relacional permite ao projetista criar um modelo lgico consistente da informao a ser armazenada. Este modelo lgico pode ser refinado atravs de um processo de normalizao. Um banco de dados construdo puramente baseado no modelo relacional estar inteiramente normalizado. O plano de acesso, outras implementaes e detalhes de operao so tratados pelo sistema DBMS, e no devem ser refletidos no modelo lgico. Isto se contrape prtica comum para DBMSs SQL nos quais o ajuste de desempenho frequentemente requer mudanas no modelo lgico. O princpio bsico do modelo relacional o princpio da informao: toda informao representada por valores em relaes (relvars). Assim, as relvars no so relacionadas umas s outras no momento do projeto. Entretanto, os projetistas utilizam o mesmo domnio em vrios relvars, e se um atributo dependente de outro, esta dependncia garantida atravs da integridade referencial. Exemplo de uma base de dados Um exemplo, bem simples da descrio de algumas tabelas e seus atributos: Cliente(ID Cliente, ID Taxa, Nome, Endereo, Cidade, Estado, CEP, Telefone) Pedido de compra(Nmero do pedido, ID Cliente, Factura, Data do pedido, Data prometida, Status) Item do pedido(Nmero do pedido, Nmero do item, Cdigo do produto, Quantidade) Nota fiscal(Nmero da nota, ID Cliente, Nmero do pedido, Data, Status) Item da nota fiscal(Nmero da nota,Nmero do item,Cdigo do produto, Quantidade vendida) Exemplo: cliente ID Cliente ID Taxa Nome Endereo ================================================================= 1234567890 555-5512222 Joo Carlos Rua bigodone, 120 ... 2223344556 555-5523232 Dorotia 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 normalizao de banco de dados normalmente realizada quando projeta-se um banco de dados relacional, para melhorar a consistncia lgica do projeto do banco de dados e o desempenho transacional. Existem dois sistemais mais comuns de diagramao que ajudam na representao visual do modelo relacional: O diagrama de entidade-relacionamento DER, e o diagrama correlato IDEF utilizado no mtodo IDEF1X criado pela Fora area americana baseado no DER.Elaborado por Antonio Kalu, estudante de Informatica 5

Base de Dados em Modelo Relacional

3. Dependencias FuncionaisA dependncia funcional (DF) um dos conceitos fundamentais no desenho dos modelos de dados relacionais. A dependncia funcional uma associao que se estabelece entre dois ou mais atributos duma relao e define-se do seguinte modo: Se A e B so atributos, ou conjuntos de atributos, da relao 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 notao: A - B Na Figura 2-5 apresentada a notao grfica relacionada com a dependncia funcional. A dependncia 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 no fazem parte da chave primria de uma relao so funcionalmente dependentes dela.

DF Total e DF Parcial DF Total se um atributo Ax depende funcionalmente de todos os atributos que compem 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 (no todos!) que compem 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

Base de Dados em Modelo Relacional

DF Transitiva ou Indireta Se um atributo no-chave Ax possui DF total da CP de uma tabela T e tambm possui DF total de um ou mais atributos no-chave de T, ento diz-se que Ax possui DF transitiva ou indireta da CP de T.

4. NormalizaoDescrio de normalizao Normalizao o processo de organizar dados numa base de dados. Este processo envolve a criao de tabelas e o estabelecimentos de relaes entre essas tabelas, de acordo com regras concebidas para proteger os dados e para tornar a base de dados mais flexvel, atravs da eliminao da redundncia e da dependncia inconsistente. Os dados redundantes desperdiam espao em disco e criam problemas de manuteno. Se necessrio alterar dados que existem em mais do que um local, esses dados tm de ser alterados exactamente do mesmo modo em todos os locais. Uma alterao de morada de um cliente muito mais fcil 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 normalizao 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 trs primeiras regras so observadas, considera-se que a base de dados est na "terceira formula normal". Apesar de ser possvel existirem outros nveis de normalizao, considera-se que a terceira formula normal corresponde ao nvel mais alto necessrio para a maior parte das aplicaes. De um modo geral, a normalizao requer mais tabelas e alguns clientes acham este procedimento confuso. Se decidir violar uma das trs primeiras regras da normalizao, certifique-se de que a sua aplicao antecipa quaisquer problemas que possam ocorrer, tais como a existncia de dados redundantes e dependncias inconsistentes.

Elaborado por Antonio Kalu, estudante de Informatica 7

Base de Dados em Modelo Relacional

4.1 Forma no Normalizada (0FN) Obteno de uma representao padro para as fontes de dados Pode ter uma ou mais tabelas aninhadas possui atributos multivaloradosatributo que ao invs de conter valores atmicos, contm mltiplos valores ou contm uma tabela que pode, por sua vez, ser aninhada. Exemplo de tabela no 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 primria.

No utilizar mltiplos campos numa s tabela para armazenar dados semelhantes. Por exemplo, para controlar um item de inventrio que pode ser proveniente de duas origens possveis, um registo de inventrio pode conter campos para Cdigo de fornecedor 1 e Cdigo de fornecedor 2.

Elaborado por Antonio Kalu, estudante de Informatica 8

Base de Dados em Modelo Relacional

1022 Chaves 1022 Chaves 4123 Silva 4123 Silva

412 412 216 216

101-07 143-01 201-01 214-01

4.3 Segunda formula normalUma tabela est na 2FN sse ela estiver na 1FN e no possuir DFs parciais. tabelas com DFs parciais devem ser desmembradas em tabelas que possuam DFs totais Tabelas cuja CP possui apenas um atributo esto automaticamente na 2FN Criar tabelas separadas para conjuntos de valores que so aplicveis a mltiplos registos. Relacionar estas tabelas com uma chave externa. Os registos s devem depender da chave primria de uma tabela (uma chave composta, se for necessrio). Por exemplo, vamos tomar em considerao o endereo de um cliente num sistema contabilstico. O endereo requerido pela tabela Clientes, mas tambm pelas tabelas Encomendas, Expedio, Contas a receber e Conjuntos. Em vez de armazenar o endereo 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 Endereos separada.

Elaborado por Antonio Kalu, estudante de Informatica 9

Base de Dados em Modelo Relacional

4.4 Terceira formula normal

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

Os valores existentes num registo que no fazem parte da chave desse registo no devem estar na tabela. De um modo geral, sempre que o contedo 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

Base de Dados em Modelo Relacional

5. Concluso

Elaborado por Antonio Kalu, estudante de Informatica 11

Base de Dados em Modelo Relacional

A utilizao do modelo relacional com as suas principais farramentas, dependncias funcionais bem estabelecidas, Normalizao cumprindo as suas formas para sistemas de bases de dados um metodo muito eficiente para construco e gerenciamento das mesmas, pois com es modelo de SGBD consegue se construir sistemas de bases de dados consistentes e com boa performance.

6. Referncias bibliogrficas 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