Vous êtes sur la page 1sur 26

Departamento de Informtica

Introduo s Bases de Dados e Normalizao

Prof. Carlos Pampulim Caldeira

vora, Setembro de 2008

Tabela de Contedos
1.
1.1 1.2 1.3 1.4 1.5
1.5.1

Introduo s Bases de Dados Relacionais _________________________________ 1


Historial ________________________________________________________________ 1 Definio de Base de Dados Relacional _______________________________________ 3 Inconvenientes dos ficheiros clssicos ________________________________________ 4 Vantagens (e Desvantagens) dos Sistemas de Base de Dados _____________________ 5 Desenvolvimento de Bases de Dados _________________________________________ 6 Conceptualizao de Modelos de Dados _____________________________________________ 6 Introduo _____________________________________________________________ 10 Domnios, Relaes e Atributos ____________________________________________ 11 Propriedades das Relaes ______________________________________________________ 12 Diagrama do Modelo de Dados Relacional e Restries de Integridade ___________ 14 Diagrama do Modelo de Dados Relacional __________________________________________ 14 Restries de Integridade nos Diagramas das Bases de Dados Relacionais _________________ 14 Dependncias Funcionais _________________________________________________ 18

2.
2.1 2.2

Modelo de Dados Relacional ___________________________________________ 10

2.2.1

2.3
2.3.1 2.3.2

2.4

3.

Descrio do Processo de Normalizao __________________________________ 19


3.1.1 3.1.2 3.1.3 Primeira Forma Normal ________________________________________________________ 19 Segunda Forma Normal ________________________________________________________ 21 Terceira Forma Normal _________________________________________________________ 22

Universidade de vora

1. Introduo s Bases de Dados Relacionais


1.1 Historial

A evoluo do processamento de dados pode ser vista da seguinte forma (Figura 1-1):

Figura 1-1: A evoluo no processamento de dados.

1. Processamento bsico (ficheiros elementares, anos 50/60). Caracterizou-se por trabalhos isolados de programao; cada programa tinha os seus ficheiros. A manipulao dos dados estava reduzida s funes mais simples: ordenao, classificao, e realizao de somatrios. software pouco mais fazia do que o input/output sobre o mecanismo de armazenamento, normalmente numa banda magntica. Qualquer alterao forma como os dados deveriam estar armazenados, implicava modificaes nos programas,

Departamento de Informtica C. Caldeira

-1-

Universidade de vora

a sua recompilao e teste. A alterao num dado (como por exemplo um novo insecticida contra o escaravelho da batateira) conduzia criao dum novo ficheiro. O antigo continuava a existir e assim sucessivamente. A grande maioria dos ficheiros era utilizada numa s aplicao. Havia, portanto, um alto nvel de redundncia, com os mesmos dados multiplicados por n ficheiros. 2. Gesto de ficheiros (anos 60/70). Os procedimentos isolados de programao foram integrados em funes. Comearam a aparecer os primeiros casos de partilha de ficheiros entre programas diferentes. Ainda no era possvel o acesso aos campos, s aos registos no seu todo. Por esta altura deram-se os primeiros passos, no sentido de isolar as aplicaes dos efeitos perversos das alteraes de hardware. Tal como no caso anterior tambm aqui os ficheiros eram, de uma forma geral, desenvolvidos com um nico propsito. Desenvolvia-se, por exemplo, um conjunto de { ficheiros + programas } para a gesto da aplicao de fertilizantes, e outro conjunto com as caractersticas desses mesmos fertilizantes. Muita da informao estava repetida e era incoerente entre os ficheiros, tendo que haver vrios programas com finalidades bastante semelhantes. 3. Gesto de base de dados (a partir dos anos 80). Nasceram os sistemas de gesto de base de dados que gerem os dados independentemente dos programas. As tabelas podem ser alteradas sem que isso obrigue recompilao de todos os programas. A noo de modelo de dados tornou-se essencial para o desenvolvimento de bases de dados. Aos dados passaram a ser aplicados dois nveis de independncia, a lgica e a fsica. A independncia lgica significa que a estrutura lgica dos dados pode ser alterada sem consequncias a nvel de todos os programas. Por exemplo: adicionar novos campos a uma tabela, ou criar uma nova tabela. A independncia fsica verifica-se quando a organizao fsica dos dados pode ser alterada sem que isso acarrete uma modificao global na estrutura lgica dos dados

Departamento de Informtica C. Caldeira

-2-

Universidade de vora

e nos programas. Por exemplo: adicionar uma nova chave a uma tabela, ou distribuir a base de dados por dois ou mais computadores. A independncia lgica a mais difcil de atingir dado que os programas so altamente dependentes de estrutura lgica.

1.2

Definio de Base de Dados Relacional

O termo base de dados est intimamente associado noo de uma coleco de informao. De um ponto de vista mais terico pode-se afirmar que uma base de dados um conjunto estruturado de informao. Uma base de dados uma coleco de dados formalmente definida, informatizada, partilhvel e sujeita a um controlo central. Uma base de dados uma coleco de dados inter-relacionados com mltiplas utilizaes. Uma base de dados relacional (daqui para diante a expresso base de dados usada como sinnimo de base de dados relacional) um sistema de gesto de informao relativamente complexo. Dado que a base de dados a componente central do sistema, uma boa tcnica de desenho crucial para a eficcia do sistema. Se a funo duma base de dados fosse simplesmente a de armazenar dados, a sua organizao seria relativamente simples. A complexidade estrutural das bases de dados resulta do facto de que ela deve tambm mostrar as relaes que existem entre os dados. Uma base de dados composta por um conjunto de tabelas e associaes entre as tabelas. A associao entre os dados o ponto forte dos sistemas relacionais. As tabelas so formadas por linhas e colunas onde figuram os dados. Numa base de dados relacional os dados esto todos representados como valores nas colunas das tabelas.

Departamento de Informtica C. Caldeira

-3-

Universidade de vora

Neste tipo de aplicao os dados e os programas esto completamente separados. J o mesmo no se passa, por exemplo, nas folhas de clculo em que os dados e procedimentos esto frequentemente misturados. Uma vantagem importante da tabela resulta do facto duma tabela poder ter mais do que uma finalidade e dos seus dados poderem ser vistos com diferentes formas e formatos, ao contrrio de um ficheiro. Os sistemas de gesto de bases de dados relacionais (SGBDR) so aplicaes informticas complexas, mas essenciais em muitas reas cientficas, nomeadamente em Agronomia, onde grandes quantidades de informao necessitam de ser combinadas ou exploradas, de diversas formas nem todas fceis de prever.

1.3

Inconvenientes dos ficheiros clssicos

Um sistema de ficheiros clssicos tem os seguintes inconvenientes: Redundncia e inconsistncia na informao. A mesma informao aparece por vezes duplicada devido forma desorganizada de criar ficheiros e programas. Veja-se, por exemplo, o caso em que a composio de um herbicida pode estar registada simultaneamente nos ficheiros HERBICIDAS e HERBICIDAS MILHO. Esta redundncia uma fonte potencial de inconsistncia nos dados. A inconsistncia pode verificar-se, por exemplo, quando a composio do herbicida A modificada, e essa alterao s feita no ficheiro HERBICIDAS MILHO. Dificuldade em aceder informao. Nos ficheiros no fcil obter-se a informao que se quer, no s porque no se sabe onde est, bem como preciso programar para a pr disposio dos utilizadores. um processo fortemente dependente de pessoal especializado e no qual os utilizadores no se revm.

Departamento de Informtica C. Caldeira

-4-

Universidade de vora

Dados isolados. Em consequncia da distribuio dos dados em mltiplos ficheiros, a mesma informao pode estar com formatos diferentes em cada um dos stios. Isto torna particularmente difcil a programao de aplicaes. Integridade da informao. Os valores que os dados podem assumir esto normalmente sujeitos a certos tipos de restries de integridade como por exemplo: uma plantao no pode ter -2; ou no se deve aplicar mais de 2.25 Kg de um dado fungicida por hectare. Num ficheiro esta regra s pode ser assegurada atravs de linhas de cdigo suplementares em cada um dos programas que aceda queles dados. Se em vez de uma, forem trs ou quatro regras, ento a dificuldade para conseguir manter a integridade dos dados aumenta exponencialmente.

1.4

Vantagens (e Desvantagens) dos Sistemas de Base de Dados

As principais vantagens dum SGBDR, face a um vulgar sistema de ficheiros, so: Resposta rpida aos pedidos de informao. Como os dados esto integrados numa nica estrutura (a base de dados) a resposta a questes complexas processa-se mais velozmente. Acesso mltiplo. O software de gesto de base de dados permite que os dados sejam acedidos de diversssimas maneiras. Nomeadamente, os dados podem ser visualizados atravs de pesquisas sobre qualquer um dos campos da tabela. Flexibilidade. Em consequncia da independncia entre dados e programas, qualquer alterao num desses elementos no implica modificaes drsticas no outro. Integridade da informao. Dada a absoluta exigncia de no permitir a redundncia, as modificaes de dados so feitas num s stio, evitando-se assim possveis conflitos entre diferentes verses da mesma informao.

Departamento de Informtica C. Caldeira

-5-

Universidade de vora

Melhor gesto da informao. Em consequncia da localizao central dos dados, sabe-se sempre como e onde est a informao. A principal, e mais significativa, desvantagem dos sistemas de gesto de base de dados o seu custo, no tanto em termos de preo do software de base, mas fundamentalmente em despesas de desenvolvimento. um tipo de software altamente sofisticado que requer, para o seu desenho e desenvolvimento, pessoal com uma formao adequada. Os custos resultantes duma m conceptualizao so enormes. A construo duma base de dados deficiente tem consequncias nefastas numa organizao. Tanto em custos directos, como em termos psicolgicos, ficando na memria da organizao uma animosidade contra as geniais inovaes tecnolgicas.

1.5

Desenvolvimento de Bases de Dados

1.5.1 Conceptualizao de Modelos de Dados Uma base de dados um modelo das necessidades em informao do utilizador final, i.e., do sistema real. Por forma a atingir esse objectivo, torna-se imprescindvel a construo de um modelo de dados onde sero explicitamente referidos todos os temas e sua estrutura, incluindo as relaes existentes entre eles. Os modelos de dados no se referem apenas a dados. So eles prprios feitos de dados. Da mesma forma que o modelo de um tractor pode ser metlico, tal como o seu original, assim tambm um modelo de dados constitudo por dados. O desenvolvimento do modelo conceptual , sem dvida, o passo mais importante na criao de uma base de dados relacional. Este passo deve ser sempre a primeira etapa do projecto.

Departamento de Informtica C. Caldeira

-6-

Universidade de vora

As duas propriedades mais importantes a que o esquema conceptual deve obedecer so as seguintes:

1. Simplicidade Simplicidade compreende a facilidade de se deixar compreender e manipular, devendo obedecer a algumas condies: O nmero de objectos bsicos deve ser pequeno. O esquema conceptual deve ser construdo com recurso a somente meia dzia de conceitos e objectos. No se devem misturar nem agrupar os conceitos. Para que um conceito seja claro no deve ser utilizado para aglutinar outros objectos ou conceitos. A redundncia deve ser sempre eficazmente controlada. No deve ser permitido que o mesmo facto seja mencionado em dois ou mais lugares. Um facto representa a associao entre uma entidade e alguma das suas propriedades. Por exemplo, a associao entre a batata-semente e o seu preo numa certa data.

2. Base Terica Dada a importncia deste nvel conceptual, essencial que ele tenha como suporte um conjunto slido de conceitos. A abordagem relacional satisfaz globalmente todos esses requisitos. Toda a informao representada por um s conceito, a relao. A relao um conceito familiar ao utilizador - h vrias centenas (talvez milhares) de anos que as pessoas utilizam tabelas. A relao um conceito slido facilmente manipulvel. A teoria da normalizao (conjunto de normas associadas ao modelo relacional) garante que um mesmo facto no aparea em mais de um stio.

Departamento de Informtica C. Caldeira

-7-

Universidade de vora

O desenvolvimento de uma base de dados uma tarefa complexa, dado que no existe um nico grupo de especificaes1, mas vrios conjuntos que se sobrepem uns aos outros. A Figura 1-2 mostra uma descrio simplificada do processo de desenho de uma base de dados. O primeiro passo centra-se na recolha e anlise das especificaes. Para isso, a equipa de desenvolvimento conduzir uma srie de entrevistas aos utilizadores, e procurar reunir toda a documentao existente sobre as actividades em estudo.

Figura 1-2: Processo de desenho duma base de dados.

Depois da anlise das especificaes, o passo seguinte na direco da criao de um esquema conceptual da futura base de dados. Este esquema ser estabelecido atravs de um modelo de dados conceptual de alto nvel. O
1

Aquilo que o utilizador final pretende que a base de dados faa.

Departamento de Informtica C. Caldeira

-8-

Universidade de vora

esquema conceptual uma descrio rigorosa das necessidades (em dados e informao) dos utilizadores. A ltima etapa consiste na construo fsica da base de dados atravs de um sistema de gesto de base de dados.

Departamento de Informtica C. Caldeira

-9-

Universidade de vora

2. Modelo de Dados Relacional


2.1 Introduo

O modelo de dados relacional uma ferramenta de modelao importante porque os seus conceitos bsicos so simples e gerais e porque o seu desenho no depende de nenhum tipo de programa informtico. O objecto fundamental do modelo relacional, como o seu prprio nome indica, a relao. O modelo relacional apresenta os dados como um conjunto de relaes e tem um slido fundamento terico, com base na Teoria Matemtica dos Conjuntos e na lgebra Relacional. Uma relao pode ser visualizada como uma tabela (Figura 2-2; pg. 14). De toda a forma, deve-se ter sempre o cuidado de tomar em considerao que a tabela , nem mais nem menos, o modelo fsico dum conceito matemtico: a relao. A tabela uma forma familiar de representao de informao. Veja-se os horrios dos transportes pblicos, ou por exemplo as estatsticas agrcolas do Instituto de Estruturas Agrrias e Desenvolvimento Rural (Quadro 2-1).
Quadro 2-1: Mquinas Agrcolas - 1994.
Tractores CONTINENTE Entre Douro e Minho Trs-os-Montes Beira Litoral Beira Interior Ribatejo e Oeste Alentejo Algarve 147 882 27 643 17 521 31 122 12 402 32 030 19 216 7 948 Ceifeiras Debulhadoras 3 996 5 314 318 139 654 2 535 31 Motoceifeiras 30 036 13 897 3 324 8 702 1 447 1 474 668 524 Moto-cultivadoras 48 455 9 528 1 203 11 330 18 397 18 397 1 198 1 383 Motoenxadas 14 894 765 140 6 477 5 842 5 842 151 830

Departamento de Informtica C. Caldeira

- 10 -

Universidade de vora

O modelo de dados relacional tem ainda as seguintes vantagens: independente das linguagens de programao; independente dos sistemas de gesto de bases de dados; e independente dos sistemas operativos2.

2.2

Domnios, Relaes e Atributos

O modelo relacional baseia-se em trs conceitos bsicos: domnio, relao e atributo. O domnio um conjunto de valores que possuem determinadas propriedades em comum; ao conjunto de todos os valores possveis para um determinado atributo d-se o nome de domnio. O domnio engloba dados atmicos ou simples, porque no podem sofrer mais nenhuma decomposio. Uma relao representa um conjunto de objectos dum tipo particular. Os objectos que pertencem relao so, no essencial, os elementos que obedecem s propriedades da relao. Assim, a relao um conjunto com propriedades prprias, em que os seus elementos se designam por tuplas ou linhas. A relao pode-se definir da seguinte forma: dados os conjuntos C1, C2, ..., Cn, R uma relao sobre esses n conjuntos se for um conjunto de n-tuplas, em que o seu primeiro elemento provm de C1, o segundo elemento de C2 e assim sucessivamente. Isto : R um subconjunto do produto cartesiano C1 X C2 X ...X Cn. Uma relao define-se sobre um certo nmero de domnios e engloba duas componentes: o cabealho e o corpo. O cabealho um conjunto de atributos em que cada atributo corresponde a um domnio. O corpo corresponde a um conjunto de tuplas (mais precisamente n-tuplas em que n o nmero total de atributos). Cada tupla um conjunto de valores: um por cada atributo constante do cabealho.

Conjunto de programas de controlo que fazem a gesto dos recursos de um computador.

Departamento de Informtica C. Caldeira

- 11 -

Universidade de vora

Uma relao engloba elementos (atributos) provenientes de um ou mais conjuntos. Os conjuntos numa relao funcionam como domnios, fornecem o intervalo de valores que cada um dos seus atributos pode assumir. Retomando a analogia entre relao e tabela, os termos atributo e coluna so vulgarmente aceites como sinnimos. Cada linha da tabela, representa uma proposio sobre determinada entidade. Enquanto que as linhas representam os valores actuais dos atributos, os domnios simbolizam todos os valores possveis. As linhas variam com as circunstncias enquanto que os domnios e os atributos so constantes. Uma relao representa-se formalmente atravs do seu esquema: O esquema da relao R, que se escreve R(A1, A2, ,An), um conjunto de atributos R = {A1, A2, ,An}, em que cada atributo Ai tem o nome do papel desempenhado por um domnio D no esquema R; D denomina-se domnio de Ai e tem a notao dom(Ai). O esquema duma relao serve para descrever a relao em que R o nome da relao e A1, A2, ,An so os nomes dos atributos. Na Figura 2-1.apresenta-se o exemplo do esquema da relao Cultivar:

CULTIVAR (nome da cultivar, cdigo da cultivar, representante legal, cdigo da cultura)


Figura 2-1: Esquema da relao CULTIVAR.

Uma relao pode conter qualquer nmero de linhas e de atributos. Se a relao tiver um nico atributo ela diz-se unria; se tiver dois ento binria, e assim sucessivamente. O nmero de atributos designa-se por grau da relao. O total de linhas a sua cardinalidade.

2.2.1 Propriedades das Relaes Uma relao caracteriza-se por: Ter um nome nico dentro do mesmo diagrama de modelo de dados relacional;

Departamento de Informtica C. Caldeira

- 12 -

Universidade de vora

Ter de zero a n linhas, cuja ordenao indiferente dado que no so identificadas pela sua posio. Uma relao sem nenhuma linha diz-se vazia. Ser composta por um ou mais atributos, onde a ordem no importante, pois identificam-se pelo nome e no pela sua posio; Cada um dos atributos contm valores retirados dum domnio particular, o que quer dizer que num mesmo atributo os dados so obrigatoriamente todos do mesmo tipo; Numa mesma relao no podem existir dois atributos com o mesmo nome; Cada relao tem que ter uma chave primria. Uma chave primria um atributo, ou combinao de atributos, cujos valores proporcionam uma identificao unvoca das tuplas duma relao, ou seja, um certo valor para a chave s pode aparecer uma nica vez em cada relao. Significa ainda que as tuplas duma relao so todas diferentes entre si, i.e., no so permitidas linhas duplicadas. Considerando a relao representada na Figura 2-2 no faz qualquer sentido que seja permitida a duplicao de uma linha dessa relao, pois os dados perderiam a sua coerncia; A interseco de uma coluna com uma linha corresponde a um dado ou valor. No permitida a existncia de grupos de atributos repetidos; Os dados, ou valores, so sempre de tipo atmico. Uma tabela que cumpra estes requisitos pode-se considerar equivalente a uma relao. Estas tabelas, de tipo especial, podero receber a designao de R-tabelas. Uma base de dados relacional composta por um conjunto de tabelas deste tipo muito particular.

Departamento de Informtica C. Caldeira

- 13 -

Universidade de vora

atributo ou coluna

TRACTOR AGRCOLA

Designao do Tractor
Tractor de Lagartas Tractor Vinhateiro Ceifeira-Debulhadora

Marca
New Holland John Deere Massey Ferguson New Holland

Modelo
55-85 SOM 5500N 8560 7610S

Potncia
55 73 190 95

uma linha ou tupla

Tractor Clssico Domnio do atributo "Designao do Tractor"

valor ou dado

Figura 2-2: Exemplo duma tabela.

2.3

Diagrama do Modelo de Dados Relacional e Restries de

Integridade

2.3.1 Diagrama do Modelo de Dados Relacional O diagrama dum modelo de dados relacional contm, normalmente, numerosas relaes que se encontram associadas entre si atravs de tuplas comuns. O diagrama dum modelo de dados relacional (DMDR) um conjunto de esquemas de relaes sujeitos a um conjunto de restries de integridade.

2.3.2 Restries de Integridade nos Diagramas das Bases de Dados Relacionais H trs tipos de restries de integridade que se especificam sobre os diagramas de modelos de dados relacionais: 1) a chave de uma relao, 2) a integridade da tabela e 3) a integridade referencial. As regras ou restries de integridade asseguram que o modelo de dados reflicta adequadamente a realidade, sem qualquer ambiguidade ou redundncia.

Departamento de Informtica C. Caldeira

- 14 -

Universidade de vora

2.3.2.1 A Chave de uma Relao A chave um atributo cujo valor identifica uma e uma s linha duma relao. Por vezes essa identificao unvoca s possvel atravs duma chave composta que consiste na menor combinao de atributos com essa propriedade. Uma relao tem sempre, pelo menos, uma chave: a chave primria que escolhida do conjunto das chaves candidatas. Para a insero na relao de uma linha de dados ter xito, obrigatrio fornecer os valores para os atributos componentes da chave primria. Os valores dos atributos que no pertencem quela chave podem no ser conhecidos na altura da insero e podem ser representados por valores nulos. A construo duma chave primria no traz qualquer tipo de limitao no acesso aos dados, pois as linhas continuam a poder ser encontradas atravs da indicao de valores para qualquer um dos seus atributos. Como no modelo relacional a associao da informao se faz atravs da comparao de valores contidos nos atributos das relaes, a chave primria a nica forma de se fazer associao de informao sem que haja lugar a qualquer tipo de ambiguidade. Uma relao definida como um conjunto de tuplas. Por definio, todos os elementos de um conjunto so distintos, pelo que as tuplas tm que ser necessariamente diferentes entre si. Isto quer dizer que numa relao no pode haver duas tuplas com a mesma combinao de valores para todos os seus atributos. No entanto, e em termos prticos existe sempre um subconjunto de atributos que no se repetem. A essa combinao de atributos d-se o nome de super-chave da relao R. Uma chave uma super-chave a que no se pode retirar nenhum atributo sob pena de j no ser assegurada a integridade dos dados.
Quadro 2-2: Relao ALUNO

ALUNO

Nome

N B.I.

Morada

Departamento de Informtica C. Caldeira

- 15 -

Universidade de vora

Qualquer combinao de atributos que inclua o nmero de aluno (por exemplo: n + nome + morada) uma super-chave. No entanto, no uma chave pois n, nome, morada no uma chave pois removendo o nome ou a morada, ou ambos, continua-se a ter uma super-chave. Um esquema relacional pode ter mais de uma chave, a que se d o nome de chave candidata. A relao ALUNO tem duas chaves candidatas: N e N B.I. a partir das quais se escolhe uma como chave primria da relao. Quando um esquema relacional tem vrias chaves candidatas a escolha deve recair sobre aquela que composta pelo menor nmero de atributos ou que melhor se insira no ambiente da relao.

2.3.2.2 A Integridade da Relao O(s) atributo(s) que compem uma chave primria no podem conter o valor nulo3, pois numa relao dum diagrama de modelo de dados relacional utilizam-se os valores constantes nesses atributos para identificar as respectivas linhas. Se, por exemplo, duas ou mais linhas tiverem o valor nulo nos atributos no seria possvel distingui-las entre si. Por definio, um valor nulo no tem capacidade de identificao, pelo que uma chave primria nunca pode ser nula. Se a chave for composta nenhum dos seus elementos pode ter o valor nulo, o cumprimento desta regra assegura que sempre possvel identificar cada um das tuplas duma relao.

2.3.2.3 A Integridade Referencial A chave primria e a integridade da relao so especificadas individualmente em cada relao. A integridade referencial uma restrio estabelecida entre duas relaes com o objectivo de manter a consistncia dos dados entre as tuplas dessas relaes. De um modo simples, pode-se dizer que a integridade referencial determina que uma linha numa relao A que est referida a uma outra relao B tem que obrigatoriamente estar ligada a uma linha existente na relao B. Veja-se, por exemplo, a Figura 2-3 em que a relao

Tome-se em considerao que nulo diferente de zero, significando que o valor no conhecido.

Departamento de Informtica C. Caldeira

- 16 -

Universidade de vora

INIMIGO DA CULTURA contm o atributo Cdigo da Cultura para cada praga e cujo valor em cada uma das tuplas de INIMIGO DA CULTURA tem que coincidir com o valor do atributo Cdigo da Cultura na relao CULTURA.

CULTURA
cdigo da cultura nome da cultura nome cientfico do gnero nome cientfico da espcie

INIMIGO DA CULTURA
cdigo da cultura nome cientfico do gnero nome cientfico da espcie sintomas

ESPCIE
nome cientfico do gnero nome cientfico da espcie nome vulgar da espcie classificador descrio

Figura 2-3: O DMDR "PRAGAS" com incluso de algumas regras de integridade.

A associao entre duas relaes faz-se atravs da chamada chave estrangeira, que um atributo, ou grupo de atributos, que desempenham o papel de chave primria noutra relao, servindo portanto de elo de ligao entre elas. Dependendo das situaes possvel que uma chave estrangeira aceite valores nulos, o que significa que essa linha no est referida chave da outra relao. A Figura 2-3 contm um DMDR com a indicao das chaves primrias (atributos sublinhados) e das restries de integridade referencial (arcos com as setas apontando para a relao de nvel superior, i.e, a chave estrangeira aponta no sentido do(s) atributo(s) de referncia). No esquema de uma relao a chave primria apresenta-se sublinhada e o nome de um atributo que seja uma chave estrangeira antecedido pelo sinal # (Figura 2-4).

Departamento de Informtica C. Caldeira

- 17 -

Universidade de vora

CULTIVAR (nome da cultivar, cdigo da cultivar, representante legal, #cdigo da cultura)


Figura 2-4: Esquema da relao CULTIVAR com a indicao da chave primria e de uma chave estrangeira.

2.4

Dependncias Funcionais

A 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.
ESPCIE
Nome Cientfico do Gnero Nome Cientfico da Espcie Nome Vulgar da Espcie Classificador Descrio

Figura 2-5: As dependncias funcionais na relao ESPCIE.

Departamento de Informtica C. Caldeira

- 18 -

Universidade de vora

3. Descrio do Processo de Normalizao


3.1.1 Primeira Forma Normal Uma relao diz-se na primeira forma normal quando todos os atributos contm unicamente valores singulares e no existem grupos de atributos repetidos.

Quadro 3.1: Tabela com dados sobre tractores agrcolas.

Marca New Holland

Designao Tractor de Lagartas Tractor Clssico Tractor Clssico

Modelo 558550M 7610S 8970 5500N 9500 8560 MF 292

Concessionrio AGROMAQ AGROMAQ RIOMAQ

Concessionrio RIOMAQ TRACTAGRI V-MAQ

Potncia 55 95 240 73 190 190 105

John Deere

Tractor Vinhateiro Tractor Clssico

Massey Ferguson

Ceifeira-Debul hadora

Tractor Clssico Chave Primria: Marca.

A tabela do Quadro 3.1 no uma relao pois viola algumas das normas do modelo de dados relacional: tem um atributo repetido (Concessionrio); algumas colunas pertencentes chave primria contm o valor nulo; as colunas e linhas s podem ser lidas na sequncia apresentada; alguns dos atributos que no so chave no dependem funcionalmente da chave primria;

Departamento de Informtica C. Caldeira

- 19 -

Universidade de vora

alguns atributos que no fazem parte da chave so funcionalmente dependentes de outros atributos que tambm no pertencem chave primria.

Quadro 3.2: Relao TRACTOR AGRCOLA na Primeira Forma Normal.

Marca New Holland New Holland New Holland New Holland New Holland New Holland John Deere John Deere John Deere John Deere Massey Ferguson Massey Ferguson Massey Ferguson

Designao Tractor de Lagartas Tractor Clssico Tractor Clssico Tractor de Lagartas Tractor Clssico Tractor Clssico Tractor Vinhateiro Tractor Clssico Tractor Vinhateiro Tractor Clssico Ceifeira-Deb ulhadora Tractor Clssico Ceifeira-Deb ulhadora

Modelo 558550M 7610S 8970 558550M 7610S 8970 5500N 9500 5500N 9500 8560 MF 292 8560

Concessionrio AGROMAQ AGROMAQ AGROMAQ RIOMAQ RIOMAQ RIOMAQ AGROMAQ AGROMAQ TRACTAGRI TRACTAGRI RIOMAQ RIOMAQ V-MAQ V-MAQ

Potncia 55 95 240 55 95 240 73 190 73 190 190 105 190 105

Massey Tractor MF 292 Ferguson Clssico Chave Primria: Marca + Modelo.

No Quadro 3.2 mostra-se uma estrutura de dados proveniente do Quadro 3.1 j na primeira forma normal: 1) cada ocorrncia foi transformada numa linha; 2) a chave primria foi modificada passando a incluir as colunas Marca e Modelo; 3) o atributo repetido foi eliminado.

Departamento de Informtica C. Caldeira

- 20 -

Universidade de vora

3.1.2 Segunda Forma Normal Uma relao na primeira forma normal poder ter ainda problemas, por exemplo, de duplicao de dados, pelo que dever ser imediatamente sujeita s regras da segunda forma normal, que se baseia no conceito de total dependncia funcional sobre a chave primria. A segunda forma normal tem a ver com as relaes entre os atributos chave, e os restantes atributos duma relao (atributos no chave). Um atributo no chave s pode fornecer informao sobre o conjunto completo dos atributos chave e s sobre eles. Uma relao R diz-se na segunda forma normal quando todos os atributos no chave so total e funcionalmente dependentes da chave primria de R. A segunda forma normal (2FN) violada quando um atributo no chave contm informao sobre um sub-conjunto da chave primria. A tabela que representa a relao do Quadro 3.2 no est na 2FN dado que o atributo Concessionrio depende funcionalmente apenas de parte da chave primria: do campo Marca. A dependncia funcional X Y total se a remoo de um qualquer atributo A de X implicar o fim da dependncia. Isto : para qualquer atributo A

X, (X - {A})

Y .

A dependncia funcional X Y parcial se existir um qualquer atributo A X que possa ser removido de X mantendo-se a dependncia. Isto : para qualquer atributo A

X, (X - {A}) Y .

A dependncia funcional referida no pargrafo anterior implica a decomposio dessa relao em duas outras (Quadro 3.3 e Quadro 3.4) cada uma das quais satisfaz as restries inerentes 2FN.

Departamento de Informtica C. Caldeira

- 21 -

Universidade de vora

Quadro 3.3: Relao CONCESSIONRIO.

Marca New Holland John Deere New Holland John Deere Massey Ferguson Massey Ferguson

Concessionrio AGROMAQ AGROMAQ RIOMAQ TRACTAGRI V-MAQ RIOMAQ

Chave Primria: Marca + Concessionrio.

Quadro 3.4: Relao TRACTOR AGRCOLA na Segunda Forma Normal.

Marca New Holland New Holland New Holland New Holland New Holland New Holland John Deere John Deere John Deere John Deere Massey Ferguson Massey Ferguson Massey Ferguson Massey Ferguson

Designao Tractor de Lagartas Tractor Clssico Tractor Clssico Tractor de Lagartas Tractor Clssico Tractor Clssico Tractor Vinhateiro Tractor Clssico Tractor Vinhateiro Tractor Clssico Ceifeira-Debulhadora Tractor Clssico Ceifeira-Debulhadora Tractor Clssico

Modelo 55-8550M 7610S 8970 55-8550M 7610S 8970 5500N 9500 5500N 9500 8560 MF 292 8560 MF 292

Potncia 55 95 240 55 95 240 73 190 73 190 190 105 190 105

Chave Primria: Marca + Modelo.

3.1.3 Terceira Forma Normal A terceira forma normal (3FN) verifica-se quando um atributo que no chave um facto sobre outro atributo que tambm no pertence chave primria da relao. A 3FN baseia-se no conceito de dependncia transitiva.

Departamento de Informtica C. Caldeira

- 22 -

Universidade de vora

A dependncia funcional X Y no esquema relacional R uma dependncia transitiva se existir um conjunto de atributos Z que no faa parte do sub-conjunto de qualquer chave de R, e ambos X Z e Z Y se mantm. No Quadro 3.5 a dependncia Adubo Custo Unitrio afigura-se como uma dependncia transitiva, pois a dependncia de Custo Unitrio na chave primria transitiva via Adubo.

Quadro 3.5: Relao ADUBAO.

Cultura Batata Milho Trigo Girassol Beterraba Chave Primria: Cultura.

Adubo N P-K N P K

Custo Unitrio 47 63 47 39 29

Para normalizar a relao ADUBAO procede-se, como anteriormente, sua diviso em novas relaes, tal como se mostra no Quadro 3.6 e Quadro 3.7.

Quadro 3.6: Relao ADUBO.

Cultura Batata Milho Trigo Girassol Beterraba

Adubo N P-K N P K

Chave Primria: Cultura.

Departamento de Informtica C. Caldeira

- 23 -

Universidade de vora

Quadro 3.7: Relao CUSTO DE ADUBO.

Adubo N P-K N P K

Custo Unitrio 47 63 47 39 29

Chave Primria: Adubo.

Departamento de Informtica C. Caldeira

- 24 -

Vous aimerez peut-être aussi