Você está na página 1de 40

Informtica II

Introduo aos Sistemas de Gesto de Bases de Dados


Microsoft ACCESS

(TPICOS ABORDADOS NAS AULAS DE INFORMTICA II)

Por:
Filipe Caldeira

Pg. 1

Informtica II
Gesto Comercial e da Produo

NDICE
1

O QUE UMA BASE DE DADOS? ........................................................................................ 4


1.1

O SISTEMA DE GESTO DE BASES DE DADOS ACCESS ............................................... 6


2.1

A AJUDA .............................................................................................................................. 7

DISTRIBUINDO A INFORMAO POR VRIAS TABELAS............................................ 8


3.1
3.2

PORQU APRENDER BASES DE DADOS?.................................................................................. 5

RELACIONAMENTOS .............................................................................................................. 8
INTEGRIDADE REFERENCIAL ............................................................................................... 10

ELABORAO DE MODELO DE DADOS ......................................................................... 12


4.1
MODELOS DE DADOS .......................................................................................................... 12
4.2
UMA APLICAO - REQUISIO DE LIVROS NUMA BIBLIOTECA ............................................ 12
4.3
NORMALIZAO ................................................................................................................. 14
4.3.1
Formas Normais ........................................................................................................ 14
4.3.2
Uma Soluo para o Caso da Biblioteca .................................................................... 15
4.3.3
Esquema Geral da Normalizao ............................................................................... 15
4.3.4
 Anexo A................................................................................................................. 16
4.3.5
Entidades .......................................................................................................................... 16
4.3.6
 Anexo B................................................................................................................. 16

FORMULRIOS..................................................................................................................... 18
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9

O ASSISTENTE .................................................................................................................... 19
A VISTA DE ESTRUTURA ..................................................................................................... 19
CONTROLOS ....................................................................................................................... 20
CAIXA DE TEXTO PARA NOME ............................................................................................. 23
COMBO BOX PARA ENTRADA DA TURMA ............................................................................. 23
INTRODUO DE UM GRUPO DE OPES ("OPTION GROUP") ................................................ 24
CLCULO DE TOTAIS .......................................................................................................... 25
CRIAO DE MAIN/SUBFORM.............................................................................................. 25
CONTROLO SUBFORM .......................................................................................................... 28

ANEXO A ................................................................................................................................ 30
6.1
ENTIDADES E RELACIONAMENTOS ....................................................................................... 30
6.1.1
Entidades ................................................................................................................... 30
6.1.2
Relacionamentos entre Entidades............................................................................... 30

Pg. 2

ANEXO B................................................................................................................................. 34
7.1.1
7.1.2
7.1.3
7.1.4
7.1.5

Definio de Campos ................................................................................................. 35


Definio das Propriedades dos Campos ................................................................... 36
Definio da Chave.................................................................................................... 39
Edio de Dados ........................................................................................................ 39
Alterao da Estrutura das Tabelas ........................................................................... 40

Pg. 3

1 O que uma Base de Dados?


possvel dizer de uma forma genrica que qualquer conjunto de dados uma Base de Dados (BD):
uma agenda com as moradas de pessoas conhecidas, uma lista de CDs, um livro, apontamentos tirados
nas aulas, os dados guardados nos computadores das Finanas sobre os contribuintes e a World Wide
Web. O objectivo de criarmos e mantermos uma BD a de poder obter e utilizar os dados l
guardados: procurar a morada de uma determinada pessoa, saber o que foi dito nas aulas sobre um
tema ou procurar a pgina WWW do Prmio Nobel da Economia deste ano.
Embora sendo possvel usar a definio genrica dada acima, o termo base de dados aplicado hoje
em dia principalmente para fazer referncia a bases de dados informticas, isto , conjuntos de dados
estruturados, manipulados usando um Sistema de Gesto de Bases de Dados (SGBD) ou Database
Management System (DBMS). Para permitir ao utilizador atingir os objectivos referidos acima, um
SGBD disponibiliza linguagens de:

definio de dados: para criao e alterao da estrutura da BD (DDL - Data Definition


Language)
consulta de dados: obter e processar os dados armazenados (DQL - Data Query Language)
manipulao de dados: para acrescentar dados novos e modificar dados existentes (DML Data Manipulation Language).

Hoje em dia, cada vez mais SGBD, como o Access, "escondem" essas linguagens por trs de interfaces
do utilizador grfica.
Outras caractersticas dos SGBDs so:

acesso simultneo: vrios utilizadores podem aceder e alterar a mesma BD ao mesmo tempo
sem criar inconsistncias. Por exemplo, 2 utilizadores diferentes podem consultar
simultaneamente os dados do mesmo cliente. No entanto o SGBD no permite que ambos os
utilizadores alterem esses dados ao mesmo tempo.
vistas: diferentes utilizadores podero ter o seu acesso limitado a partes da BD. Por exemplo,
embora todos os dados de uma organizao estejam na mesma BD, aqueles que so importantes
para a definio da estratgia s podem ser consultados pela administrao.
construo de aplicaes: a tendncia actual dos SGBDs para combinarem a gesto do
armazenamento/manipulao dos dados com a construo das aplicaes que implementam os
processos da organizao. Tradicionalmente, os processos eram implementados
independentemente, com recurso a linguagens de programao mais ou menos integradas com
o SGBD.

Alguns exemplos de SGBD de grande porte so ORACLE, Informix, Adabas, SQL Server e DB2. Para
PCs temos o MySQL, Dbase, FoxPro e Access. Os primeiros tm mais capacidade e so mais fiveis
do que os ltimos. Estes so adequados para uso domstico, em pequenas empresas ou como forma de
aceder a partir de PCs a BDs instaladas em sistemas de grande porte, atravs de uma aplicao
acessvel ao utilizador no especialista em informtica

Pg. 4

1.1 Porqu aprender Bases de Dados?


Porque que algum que no (nem pretende ser) profissional de sistemas de informao dever
aprender a usar BDs?
1. Pelo mesmo motivo pelo qual se devia aprender a usar um computador h 10 anos atrs: a
divulgao crescente dos computadores far com que dentro em breve os SGBDs sejam ferramentas de
uso to comum como so hoje em dia as folhas de clculo.
2. Para facilitar a comunicao com os profissionais de sistemas de informao: a criao de sistemas
de informao um processo que envolve pessoas tanto da rea de sistemas de informao como da
rea de aco da organizao, sendo a comunicao entre ambos os grupos essenciais para o sucesso
do sistema. Ora, os problemas de comunicao fazem com que o sistema criado raramente satisfaa as
expectativas do cliente e mesmo algumas vezes seja o motivo do insucesso deste tipo de projectos.
Sendo as BDs a infra-estrutura dos sistemas de informao, algum conhecimento destas poder
contribuir para melhorar a qualidade dos sistemas de informao.

Pg. 5

2 O Sistema de Gesto de Bases de Dados Access


O Access um Sistema de Gesto de Bases de Dados (SGBD) para PCs. Adequa-se ao uso domstico,
em pequenas empresas ou como forma de aceder a BDs instaladas em sistemas de grande porte.
Ao executar o Access apresentada a seguinte caixa de dilogo:

Com o assistente (wizard) possvel construir uma base de dados (BD) a partir de um conjunto de
modelos que podem ser alterados para melhor se adequarem ao problema em questo. Os modelos
incluem BDs para listas de endereos, coleces de discos e livros, despesas, entre outras.
Se escolhermos criar uma BD vazia, -nos pedido o nome do ficheiro onde ela ser guardada. Cada
base de dados do Access guardada num nico ficheiro, de extenso mdb ou (mde, no caso de ser
uma BD encriptada). Depois apresentada a janela da base de dados, como se pode ver na figura:

Atrs, definimos uma base de dados (BD) como sendo um conjunto de dados estruturados. No Access
essa definio estendida para englobar no s as estruturas, ou objectos, onde os dados so guardados
mas tambm os objectos que permitem manipular esses dados.
Em cada separador da janela de bases de dados guardado um tipo diferente de objectos:
Tables [Tabelas]: objectos onde os dados so armazenados.
Queries [Consultas]: objectos de consulta e processamento dos dados armazenados nas tabelas.
Forms [Formulrios]: estes objectos podem ser usados simplesmente como forma de dar um
aspecto mais agradvel e organizado s tabelas e consultas mas tambm como forma de ligao
entre todos os objectos da BD, permitindo que o utilizador tenha a sensao de estar a trabalhar
com uma aplicao e no com um conjunto de objectos.
Reports [Relatrios]: objectos para formatar dados de forma a poderem ser imprimidos.
Macros: objectos para automatizar aces.
Modules [Mdulos]: programas.

Pg. 6

Cada objecto vai ser identificado por um nome dado pelo utilizador. Os objectos criados so guardados
no ficheiro da BD.

2.1 A Ajuda
O Access, como a maior parte das aplicaes Windows possui uma ajuda on-line muito completa. Est
organizada como um livro mas tambm inclui um ndice e um mecanismo de procura que facilitam a
obteno de informao sobre assuntos especficos.
O assistente do Office (Office Assistant) fornece ajuda relativa ao contexto. Por exemplo, se o
utilizador estiver a fazer alguma coisa errada, ele procura "adivinhar" o que pretendido e faz
sugestes.

Pg. 7

3 Distribuindo a Informao por vrias Tabelas


Em aplicaes mais complexas, a alocao da informao numa s tabela acarreta problemas de
espao e consistncia.
Exemplo: Se um banco guardasse toda a informao sobre uma conta (nmero, data de abertura, nome
do 1 titular, morada do 1 titular, etc) junto com a informao de cada movimento feito, o tamanho de
cada registo seria enorme e a tabela atingiria uma dimenso incomportvel. Para alm disso, se, por
exemplo, o 1 titular mudasse de residncia, seria necessrio corrigir todos os registos de movimentos
na conta respectiva. Se se considerar o facto de que cada conta pode ter vrios titulares, ento o
problema agravar-se-ia, dado que seria preciso acrescentar estrutura da tabela campos para o nome e
morada, etc dos outros titulares. Isto provocaria, entre outros problemas, desperdcio de espao, dado
que nas contas com menos titulares do que o mximo previsto teriam vrios campos vazios, e tambm
dificuldade na definio da estrutura da tabela, para decidir qual o nmero mximo de titulares que
uma conta pode ter.
Exemplo: Pretende-se registar informao sobre alunos, disciplinas e notas.

Pode-se verificar aqui redundncia, com dados como a morada, localidade e data de nascimento a
serem registados para cada nota do aluno. O mesmo sucede com o regente da disciplina que
guardado com cada nota da disciplina respectiva. Para alm das dificuldades com a alterao de
informao, a introduo repetida dos mesmos dados vai multiplicar os erros. Note-se, por exemplo,
que na 4 linha, o utilizador esqueceu-se do acento na palavra Informtica. Este erro reflectir-se-ia, por
exemplo, quando se calculasse a mdia das notas lanadas a 10 de Julho de 97 a essa disciplina. Uma
soluo seria preencher estes campos apenas uma vez, o que implicaria um desperdcio de espao
considervel. Implicaria tambm que se esse registo fosse apagado seria necessrio reintroduzir esses
dados noutro registo.
Repare-se tambm que, como foi utilizado o tipo AutoNumber para o campo nmero, cada vez que
introduzida uma nota atribudo um nmero diferente ao aluno.
Finalmente, como esta tabela tem informao de notas, seria impossvel obter informao sobre um
aluno que ainda no tivesse nenhuma nota lanada.
3.1 Relacionamentos
A melhor soluo para estes problemas dividir a informao por vrias tabelas, relacionando-as para
poder ter acesso informao como um todo. O desenho da BD a fase mais importante da criao de
uma BD e resulta num modelo de dados.
Exemplo: A anlise da informao a armazenar na BD da faculdade resulta num modelo de dados que
se pode interpretar da seguinte forma:
H trs entidades sobre as quais se guarda informao: alunos, disciplinas e notas.
Cada aluno tem vrias notas ( mesma ou a vrias disciplinas).
Para cada disciplina so lanadas vrias notas (para o mesmo ou alunos diferentes).
Assim, para alm da tabela Alunos original so criadas tabelas para as outras entidades representadas,
Disciplinas e Notas:

Pg. 8

com os dados distribudos pelas 3 tabelas da seguinte forma:

Note-se que a tabela Notas tem um campo Aluno que guarda o nmero do aluno a que a nota diz
respeito. acrescentado um campo chamado Cdigo tabela Disciplinas para substituir o campo
Disciplina no papel de chave. A disciplina , assim, identificada na tabela Notas pelo campo Disciplina
que guarda um valor correspondente ao cdigo.
Apesar da diviso da informao em vrias tabelas, nada foi perdido: para saber o nome do aluno a que
corresponde a nota na 3 linha da tabela Notas, obtm-se o valor do campo Aluno desse registo, 2, e
procura-se na tabela Alunos o aluno cujo Nmero 2, que a Maria Oliveira.
Se algum aluno mudar de morada, basta alterar o registo respectivo na tabela Alunos.
Os relacionamentos representados no modelo de dados so implementados directamente em Access.
Um relacionamento envolve 2 tabelas que tm um campo comum, isto , um campo que representa o
mesmo elemento de informao. A criao de um relacionamento uma indicao ao SGBD desse
facto. O Access suporta dois tipos de relacionamentos:
um para um ou 1:1 (one to one), em que a cada valor do campo comum corresponde um e um s
registo em ambas as tabelas. Estes relacionamentos so utilizados, por exemplo, para separar
informao sobre um determinado item qual s uma parte dos utilizadores deve ter acesso.
um para muitos ou 1:N (one to many), em que a cada valor do campo comum numa das tabelas
(tabela primria ou lado 1 do relacionamento) correspondem vrios registos, isto , vrios registos
tm o mesmo valor nesse campo, na outra tabela (tabela relacionada ou lado N). Note-se que a cada
registo do lado N corresponde 1 e um s registo do lado 1.
Os relacionamentos mais comuns so do tipo 1:N.
Para criar relacionamentos executar o comando Tools, Relationships. apresentada uma caixa de
dilogo para seleccionar as tabelas a relacionar:

Pg. 9

Seleccionadas as tabelas, o relacionamento definido arrastando o campo comum na tabela primria


para cima do campo comum na tabela relacionada. Um relacionamento pode envolver vrios campos
comuns, 2 a 2, bastando para isso preencher o resto das linhas disponveis. O tipo de relacionamento
automaticamente detectado e indicado em baixo. O valor Indeterminate indica que o Access no
conseguiu detectar o tipo de relacionamento.
O campo comum tem que ser do mesmo tipo em ambas as tabelas e ter tambm o mesmo tamanho
(Field Size). A excepo regra permite relacionar campos do tipo AutoNumber e Number, desde que
o Field Size seja o mesmo.
O campo comum , normalmente, o campo chave da tabela primria. Na tabela relacionada o campo
comum chamado chave externa (foreign key). No caso raro de haver um relacionamento entre
tabelas em que o campo comum no chave em nenhuma, ento ele ter que ser indexado numa delas.
Exemplo: Para definir os relacionamentos da BD da faculdade, executar o comando Tools,
Relationships e seleccionar todas as tabelas. Depois arrastar o campo Nmero da tabela Alunos para o
campo Aluno da tabela Notas e o campo Cdigo da tabela Disciplinas para Disciplina de Notas. O
Access detecta que so relacionamentos 1:N.
Para apagar um relacionamento preciso seleccion-lo e executar Edit, Delete. Ateno que a
execuo desse comando depois de seleccionada uma tabela s provoca o desaparecimento da tabela
da janela de relacionamentos. Este mecanismo permite facilitar a anlise dos relacionamentos em BD
complexas. Para visualizar todos os relacionamentos executar Relationships, Show All e para ver todos
os relacionamentos em que a tabela seleccionada participa, executar Relationships, Show Direct.
Numa BD bem desenhada e bem construda cada tabela est relacionada com pelo menos outra tabela.
3.2

Integridade Referencial

Dividir a informao por vrias tabelas resolveu os problemas de redundncia e inconsistncia


referidos acima, mas criou outros. Por exemplo, se um registo numa tabela primria for apagado e
existirem registos relacionados noutra tabela, a BD fica inconsistente. De forma semelhante, se for
alterado o valor do campo comum de um registo da tabela primria, a informao na BD deixar de ser
consistente.
Exemplo: Se eliminar o registo da tabela Disciplinas referente a Informtica, a BD passa a estar
inconsistente porque vrios registos na tabela Notas fazem referncia disciplina 1 que j no existe.
Isto , no possvel, por exemplo, saber a qual disciplina que a aluna Carolina Santos teve 15, como
indicado pelo 1 registo de Notas.
Se, por exemplo, os nmero dos alunos Maria Oliveira e Paulo Silva forem alterados na tabela Alunos
(o que impossvel de fazer neste caso porque um campo do tipo AutoNumber) ento estes alunos
passaro a ter as notas trocadas entre eles.
Activando a opo Enforce Referential Integrity, o Access passa a validar os valores dos campos
relacionados, de forma a garantir a integridade referencial, e, portanto, a consistncia da informao
Pg. 10

distribuda pelas tabelas. Assim, todos os valores existentes no campo comum da tabela relacionada
tero que existir no campo comum da tabela primria. Na janela de relacionamentos, um
relacionamento com esta opo activada passa a ter indicao do lado 1 e do lado N, este ltimo
representado por um smbolo de infinito ( ).
Exemplo: Activando a opo Enforce Referential Integrity para os relacionamentos da BD da
faculdade, a janela de relacionamentos ser semelhante seguinte:

Se tentar apagar o 1 registo de Alunos o Access d a seguinte mensagem de erro:

Note-se que a partir deste momento no possvel introduzir a informao na BD por qualquer ordem.
Os dados das tabelas primrias tm que ser introduzidos antes dos dados das tabelas relacionadas.
Assim, para alterar o valor de um campo comum ou apagar um registo numa tabela primria,
necessrio antes alterar/apagar os registos relacionados. Para simplificar estas tarefas que so
frequentes, o Access permite que as alteraes efectuadas na tabela primria sejam automaticamente
reflectidas nas tabelas relacionadas aps confirmao pelo utilizador.
Quando a opo Enforce Referential Integrity activada so disponibilizadas mais 2 opes:
Cascade Update Related Fields: provoca a propagao de alteraes no campo comum do lado 1 a
todas as ocorrncias do valor alterado nos registos no lado N.
Cascade Delete Related Records: provoca a eliminao de todos os registos do lado N com o
mesmo valor do campo comum que o registo eliminado do lado 1.
Exemplo: Depois de activar ambas as opes de propagao em ambos os relacionamentos da BD da
faculdade, se se apagar o registo da aluna Carolina Santos em Alunos, aparece a seguinte caixa de
dilogo:

Pg. 11

4 Elaborao de Modelo de Dados


4.1 Modelos de Dados
A informao que circula numa empresa, habitualmente sob a forma de documentos, analisada por
diferentes pessoas com diferentes perspectivas e objectivos. Por vezes tem que ser duplicada, outras
vezes dividida de acordo com os interesses das pessoas que a vo analisar. Se pretendermos
automatizar sectores da empresa, a informao tem que ser analisada de forma a obter um modelo de
dados, que contemple os diferentes interesses dos utilizadores e que seja flexvel de forma a
possibilitar novas perspectivas.

Fig. 1.
A implementao do modelo de dados, pode ser realizada com em Sistemas de Gesto de Bases de
Dados (SGBD) relacionais. No modelo relacional de bases de dados, toda a informao disposta em
relaes (tabelas). Cada relao caracterizada por um conjunto de propriedades ou atributos.
Relaes representam estruturas lgicas de dados que possibilitam uma boa comunicao entre
utilizadores e o analista e facilmente implementveis em computadores que suportem Sistemas de
Gesto de Bases de Dados, de que o Access um exemplo.

4.2 Uma Aplicao - Requisio de livros numa biblioteca


O nosso objectivo consiste em obter um conjunto de bases de dados que possibilitem guardar e manter
a informao necessria para o bom funcionamento da biblioteca.
Supe-se que, na interaco com o pblico, a biblioteca utiliza o documento da Fig. 2 (carto de leitor)
para identificar os leitores. Os leitores podem consultar os livros existentes na biblioteca utilizando os
conjuntos de fichas (Fig. 3).
Existem trs conjuntos de fichas (cada ficha est triplicada) ordenados de maneira diferente: um
conjunto de fichas ordenado por ordem alfabtica do autor do livro, o segundo ordenado por ordem
alfabtica do ttulo do livro, e o terceiro por ordem alfabtica do tema principal do livro.
Sempre que um leitor requisita livros, essa informao fica registada no livro de requisies, de que
mostrada uma pgina na Fig. 4.

Figs. 2, 3, 4.
Os documentos so uma fonte importante da informao e cuja anlise um bom inicio para a
elaborao de um modelo de dados. Outra fonte de informao o dilogo com os agentes por onde
Pg. 12

circula a informao. A regra aqui a de reunir o maior conjunto de informaes sobre todo o
ambiente envolvido. Qualquer modelo de dados corresponde a uma "interpretao" do analista em
relao ao micro-mundo onde circula a informao. Uma interpretao incorrecta desse micro-mundo
pode ter implicaes inconvenientes, em termos de limitaes do sistema.
Analisando o documento da Fig. 4, numa primeira anlise, poderamos ser levados a dispor a
informao numa nica base de dados, obtendo:
ReqNr
1

Data
7/6/94

Devol
14/8/94

Nome
Costa

Morada
R.de Cima

Tel
1234

7/6/94

17/7/94

Silva

R.de Baixo

4771

Titulo
"Dbase"
"Lotus"
"Dos"
"Dbase III"

Autor
E.Jones
D.Bolocan
M.Edward
J.Hall

Coloca
I.321
I.124
I.567
I.322

Assina

Fig. 5
Assim as duas primeiras linhas referem a requisio nmero 1, feita em 7/6/94 pelo Sr. Costa que
mora na R.de Cima com o telefone 1234. Requisitou dois livros: um com o ttulo "Dbase" escrito por
E.Jones, cuja posio, na biblioteca I.321; e o livro "Lotus" escrito por D.Bolocan que corresponde
posio I.124.
Esta disposio da informao, no est de acordo com os requisitos do modelo relacional de base de
dados. Apesar de a informao estar disposta sob a forma de uma relao (tabela), existem atributos
que no tm valor atribudo, pelo que a informao no independente da ordem das linhas. Assim, se
por qualquer processo (indexao, por exemplo) trocssemos a ordem das linhas, a informao ficava
inconsistente. Uma forma de dispor a informao de acordo com o modelo relacional, ser preencher
completamente a tabela:

ReqNr
1

Data
7/6/94

Devol
14/8/94

Nome
Costa

Morada
R. de Cima

Tel
1234

Ttulo
"Dbase"

Autor
E.Jones

Coloca
I.321

7/6/94

14/8/94

Costa

R. de Cima

1234

"Lotus"

D.Bolocan

I.124

7/6/94

17/7/94

Silva

R. de Baixo

4771

"Dos"

M.Edward

I.567

7/6/94

17/7/94

Silva

R. de Baixo

4771

"Dbase III"

J.Hall

I.322

Assina

Fig. 6
Uma anlise desta BD evidencia a redundncia da informao: sistematicamente a mesma informao
aparece em diferentes linhas. Esta situao tem vrios inconvenientes: por um lado, faz crescer
desmesuradamente a BD o que implica maiores recursos em termos de capacidade de disco e
velocidade de processamento. Por outro lado dificulta os processos de manuteno da BD. Imagine
que um leitor muda de morada. Para manter a BD consistente, necessrio alterar a morada do leitor
tantas vezes quantas as requisies por ele efectuadas, quando s deveria ser necessrio alterar uma
vez essa informao.
As situaes de redundncia da informao, manuteno complicada e tambm a falta de flexibilidade
no sentido de obter outras maneiras de olhar para os dados que no aquelas previamente definidas, so
as dificuldades sentidas quando os dados so analizados de uma forma primria. Estas situaes so
evitadas, obtendo um modelo de dados.
Vamos estudar duas metodologias, com o mesmo objectivo ltimo: obter um conjunto de bases de
dados que, por um lado, assegurem a consistncia da informao, e por outro lado possibilitem guardar
os factos o menor nmero de vezes possvel.

Pg. 13

4.3 Normalizao
Este mtodo representa um processo do especfico para geral.
4.3.1 Formas Normais
Dois conceitos bsicos, subjacentes a toda a anlise baseada na normalizao, so o conceito de
dependncia funcional e o conceito de campo chave.
No caso da Fig. 6, a cada nmero de requisio corresponde uma nica data, mas o inverso j no
verdadeiro, isto pode haver vrias requisies efectuadas no mesmo dia. Dizemos que o atributo
"data" funcionalmente dependente do nmero de requisio. usual representar como: ReqNr Data.
Isto significa que ReqNr identifica a Data, ou seja, sendo conhecido o nmero da requisio podemos
saber a Data da requisio.
De uma forma geral, o atributo A funcionalmente dependente de B, se a cada valor de B
corresponder um e um s valor do atributo A.
Chave o atributo ou conjunto de atributos, cujos valores permitem identificar de forma nica todas as
linhas da relao. Eventualmente poder haver situaes em que haja vrias possibilidades para a
escolha de uma chave, e, num caso extremo, a conjuno de todos os atributos de uma relao constitui
uma chave. O critrio de escolha dever ser baseado na simplicidade: prefervel uma chave com
poucos atributos, a uma chave mais complexa. Numa anlise da Fig. 6, a conjuno dos atributos
ReqNr+Colocao constitui uma chave para a relao.
1 Forma Normal
A informao da Fig. 6, satisfaz as condicionantes do modelo relacional: dito estar na 1 Forma
Normal (1FN).
2Forma Normal
Obtida a 1 FN e identificada a chave da relao, vamos efectuar um estudo das dependncias
funcionais entre os atributos e a chave. A data da requisio, o nome, morada e assinatura da pessoa
que requisita os livros dependem apenas do nmero da requisio e so independentes dos livros
requisitados. Assim, teremos:
ReqNr, Data, Nome, Morada, Telefone, Assinatura
O ttulo e o autor dos livros requisitados s dependem da colocao e so independentes do nmero da
requisio. Teremos:
Colocao, Ttulo, Autor
Em relao data de devoluo, o considerar que esta depende do nmero da requisio, implica que
todos os livros tero que ser devolvidos simultaneamente, porque a cada requisio corresponde
apenas uma data de devoluo. Esta interpretao impe limitaes ao funcionamento da biblioteca.
Seria mais funcional, se cada livro pudesse ser devolvido individualmente, ou seja:
ReqNr + Colocao, Devoluo
A partir da relao original, na 1 FN, obtemos trs grupos de dependncias dos atributos, em relao
chave. Isto significa que a relao da Fig. 6, pode ser decomposta em trs relaes:
Relao: requisio
ReqNr
1

Data
7/6/94

Nome
Costa

Morada
R.de Cima

Tel
1234

7/6/94

Silva

R.de Baixo

4771

Assinatura

Relao: livros requisitados


ReqNr
1
1
2

Colocao
I.321
I.124
I.567

Devoluo
14/8/94
14/8/94
17/7/94

Pg. 14

I.322

17/7/94

Colocao
I.321
I.124
I.567
I.322

Titulo
"Dbase"
"Lotus"
"Dos"
"Dbase III"

Autor
E.Jones
D.Bolocan
M.Edward
J.Hall

Relao : livros

Por decomposio da relao na 1FN, obtemos trs relaes, mais simples e com menos redundncia.
Por exemplo, a informao respeitante pessoa que efectuou a requisio aparece apenas uma vez e
independente do nmero de livros requisitados. De notar que as relaes mantm atributos em comum:
so estes atributos - chaves em relaes- que vo permitir manter consistente a informao porque
possibilitam estabelecer relacionamentos entre as relaes.
ReqNr a chave da relao requisio, ReqNr+Colocao a chave da relao livros_requisitados e
Colocao a chave da relao livros.Nas trs relaes, todos os atributos dependem funcionalmente da
chave: a informao dita na 2 Forma Normal.
3 Forma Normal
Analisando a relao requisio, todos os atributos dependem da chave, mas existem dependncias
transitivas, entre os atributos:
ReqNr, Nome, Morada
isto , o atributo Nome depende funcionalmente da chave da relao, por sua vez o atributo Morada
depende funcionalmente do Nome, o que implica que Morada dependa da chave da relao. Situao
equivalente a do atributo telefone. Desdobrando a relao, de forma a eliminar as dependncias
transitivas, obtemos duas relaes ditas na 3 FN.
Uma relao est na 3 FN se cada atributo depender nica e exclusivamente da chave:
ReqNr
1

Data
7/6/94

Nome
Costa

7/6/94

Silva

Nome
Costa
Silva

Morada
R.de Cima
R.de Baixo

Assinatura

Tel
1234
4771

4.3.2 Uma Soluo para o Caso da Biblioteca


Normalizando os documentos relativos a leitores e livros (que deixamos como exerccio para o leitor),
apresentada uma soluo:
livros(colocao, ttulo, autor, editor, edio, ano)
tema(tema,colocao)
leitores(bilhete_identidade, nome, localidade, telefone, fotografia, assinatura)
requisio(nmero, bilhete_identidade, data, assinatura)
reqlivro(nmero, colocao, data_devoluo)
4.3.3 Esquema Geral da Normalizao
Dispor a informao em tabelas de forma a que todas as ocorrncias dos atributos sejam elementares
(assumam apenas um valor).

Pg. 15

1 Forma Normal
Identificar as dependncias funcionais dos atributos em relao chave. Desdobrar a relao de forma
a que cada atributa dependa da totalidade da chave.

2 Forma Normal
Identificar as dependncias transitivas. Desdobrar a relao de forma a que cada atributo dependa
nica e exclusivamente da chave.

3 Forma Normal
4.3.4  Anexo A
Entidades e Relacionamentos
Este mtodo representa um processo do geral para o especfico.
Para problemas complexos, definidos por muitos atributos, os estados iniciais das relaes, quando abordadas pelo
mtodo da normalizao, so extensos e com dependncias complexas. Torna-se fastidioso e sujeito a enganos, trabalhar
com as relaes no normalizadas.
4.3.5
Entidades
Um outro processo de obter um modelo de dados que satisfaz os objectivos inicialmente definidos, a metodologia
"Entidades e Relacionamentos". uma metodologia que parte dos conceitos abstractos em jogo e os vai especializando.
Por esse motivo, os passos intermdios so mais simples, envolvendo menos informao. O resultado final, um conjunto
de relaes normalizado. (....)

4.3.6  Anexo B

Tabelas
Todos os dados que so armazenados de forma permanente pelo Access, so guardados em tabelas. Cada tabela armazena
dados sobre um tipo de coisa, pessoa ou relao entre coisas/pessoas. Numa tabela pode-se, por exemplo, guardar
informao sobre alunos, disciplinas ou notas (que podem ser vistas como relaes entre alunos e disciplinas). As tabelas
esto organizadas em linhas e colunas. Em cada linha guarda-se dados sobre um item, isto , sobre um aluno, disciplina
ou nota, respectivamente para os exemplos dados. Cada coluna representa uma determinada caracterstica que est
associada a todos os itens do tipo que a tabela representa. Por exemplo, numa tabela de alunos dever existir uma coluna
para o nome e outra para a data de nascimento. Em linguagem de bases de dados (BD), uma linha um registo (record) e
uma coluna um campo (field). possvel ter um nmero potencialmente ilimitado de registos em cada tabela, mas o
nmero de campos fixo e limitado.
Cada campo de uma tabela tem um tipo associado que limita o tipo de dados que l podem ser guardados. O campo
"nome" da tabela de alunos ser do tipo texto e o campo "data de nascimento" ser do tipo data. Assim, no campo "nome"

Pg. 16

podero ser introduzidos caracteres alfanumricos enquanto no campo "data de nascimento" apenas podem ser guardadas
datas. Ao conjunto de campos que compe uma tabela, chama-se a estrutura da tabela. O tipo determina tambm as
operaes que podem ser efectuadas com valores do campo. Por exemplo, no possvel fazer uma soma que envolva um
campo do tipo texto.
A informao inserida numa tabela persistente. Isto , cada registo criado numa tabela imediatamente guardado no
ficheiro da BD. (...)

Pg. 17

5 Formulrios
A visualizao da informao nas folhas de dados (datasheets) das tabelas e consultas pouco
agradvel e dificulta a sua manipulao. Os formulrios servem para organizar e tornar mais
agradvel a interaco com a BD. Em conjunto com os controlos, permitem a construo de aplicaes
sobre a BD. Pode-se resumir as funcionalidades dos formulrios a:
editar (mostrar, alterar ou inserir) informao contida em tabelas (ou tabelas virtuais),
mostrar informao derivada atravs de expresses (nos campos calculados),
gerir a interaco com os utilizadores,
mostrar informao suplementar (comentrios, grficos, etc).
Para criar um formulrio, clicar no boto New no separador Forms da janela de BD. Aparece ento
uma caixa de dilogo que permite seleccionar o tipo de formulrio a criar e a tabela ou consulta que
servir de fonte de registos:

As opes disponveis so:


Design View [Vista de estrutura]: Construo manual do formulrio.
Form Wizard [Assistente de Formulrios]: Criao de formulrios pela resposta a um conjunto
de questes colocadas pelo assistente.
AutoForm: Columnar [Formulrio Automtico: Colunas]: Esta opo e as 2 seguintes permitem
a criao automtica de formulrios muito simples, baseados numa tabela apenas, em que a informao
organizada, respectivamente, um registo por pgina com os campos dispostos na vertical,
AutoForm: Tabular [Formulrio Automtico: Tabelas]: vrios registos por pgina com os
campos dispostos na horizontal,
Autoform: Datasheet [Formulrio Automtico: Folha de dados]: e em folha de dados.
Chart Wizard [Assistente de Grficos]: Criao de grficos.
Pivot Table Wizard [Assistente de Tabelas Dinmicas]: Criao de formulrios que apresentem
os dados de forma agregada organizados em dimenses (data cube) atravs de Tabelas Dinmicas
(Pivot Tables) do Excel.

A maior parte das vezes, a melhor forma de construir um formulrio comear por usar o assistente
para construir o essencial da visualizao da informao. Depois, na vista de estrutura, efectuam-se
pequenos ajustamentos e acrescentam-se controlos para associar funcionalidades ao formulrio, como
procura de registos, ligao a outros formulrios, entre outras. A excepo mais comum a esta regra a
construo de formulrios que servem como menus, em que se comea a construir um formulrio do
nada, usando a vista de estrutura.

Pg. 18

5.1 O Assistente
Para criar um formulrio com o assistente, escolher a opo Form Wizard e, opcionalmente,
seleccionar a tabela que lhe vai servir de base. Em seguida aparece uma caixa de dilogo para escolha
dos campos a incluir. Note-se que nesta altura possvel alterar a tabela que serve de base ao
formulrio e possvel usar campos de vrias tabelas. Neste ltimo caso, o assistente guia o utilizador
na criao de um formulrio com sub-formulrios, como ser explicado mais adiante. Se for
seleccionada apenas uma tabela apresentada em seguida uma caixa de dilogo para escolher a
organizao dos campos, em que, para alm das opes Columnar, Tabular e Datasheet explicadas
acima, existe a opo Justified, em que os campos so dispostos uns a seguir aos outros, da esquerda
para a direita e de cima para baixo. Na caixa de dilogo que se segue define-se o estilo a usar e na
ltima, o nome do formulrio e se se deseja abrir o formulrio para ver os dados ou em vista de
estrutura.
Exemplo: Para tornar a visualizao e edio dos dados sobre os alunos mais agradvel, cria-se um
formulrio. Clicar em New no separador Forms, seleccionar a tabela Alunos para fonte de registos e o
assistente para criao do formulrio. Em seguida incluir todos os campos de Alunos no formulrio:

Escolher a organizao dos campos em coluna e depois o estilo Standard. Finalmente, atribuir ao
formulrio o nome Lista de Alunos. O resultado o seguinte:

5.2

A Vista de Estrutura

Como foi dito a utilizao mais frequente da vista de estrutura para editar formulrios construdos
com o assistente. Um formulrio consiste em vrias seces: cabealho (Form Header), detalhe
(Detail) e rodap (Form Footer).
Exemplo: Seleccionar o formulrio Lista de Alunos e abrir a vista de estrutura:

Pg. 19

O cabealho serve para apresentar informao sobre o formulrio, como o ttulo. A zona de detalhe
normalmente usada para mostrar os campos do(s) registo(s). O rodap essencialmente usado para
informao de estado, como, por exemplo, o nmero do registo actual, e informao agregada, como
totais.
O utilizador pode ver as propriedades associadas a um formulrio executando o comando View,
Properties. As propriedades so agrupadas em 4 conjuntos:
Format: formatao e aspecto visual.
Data: qual a fonte de registos e como esto ligados.
Event: associao de procedimentos/macros para interaco do utilizador com o formulrio.
Other: outras propriedades (menu, ajuda, impresso, etc).
O separador All apresenta todas as propriedades.
Exemplo: As propriedades do formulrio Lista de Alunos so:

Note-se que o facto de o formulrio basear-se na tabela Alunos, indicado ao assistente, foi registado na
propriedade Record Source.

5.3 Controlos
As peas utilizadas para a construo de um formulrio so os controlos. Para alm de mostrar
informao, os controlos permitem organizar e decorar o formulrio, de forma a tornar a sua utilizao
mais agradvel e eficiente. Um controlo pode ser colocado em qualquer uma das seces e tem
tambm um conjunto de propriedades agrupadas da mesma forma que nos formulrios. Alguns
controlos tm assistentes que facilitam a sua criao.
A seguinte tabela apresenta os controlos existentes no Access:
Controlo

Utilizao

Assistente

Control
source
Pg. 20

Label [Rtulo]
Text Box [Caixa de
texto]

Option Group
[Grupo de opes]
Toggle Button
[Boto de alternar]

Informao ou texto descritivo.


Mostrar e/ou editar campos de tabelas e insero de
dados pelo utilizador, por exemplo, para procura de
registos. constitudo por 2 partes, uma caixa com
um ttulo e outra onde se visualizam/editam os
dados, e em que cada uma tem as suas
propriedades.
Pode conter check boxes, option buttons ou toggle
buttons. Apenas uma opo pode estar
seleccionada.
Se utilizado isoladamente, selecciona um valor de
Yes/No. Em option group selecciona um valor de
um conjunto de valores.
Idem toggle button.

Option Button
[Boto de opo]
Check Box [Caixa de Idem toggle button.
verificao]
Seleco de valor de uma lista. Se no estiver
Combo Box [Caixa
aberta, apenas o valor escolhido mostrado.
de combinao]
Permite insero de novos valores.
Seleco
de um valor de uma lista. O controlo est
List Box [Caixa de
sempre aberto. No permite insero de valores
listagem]
novos.
Permite executar comandos, macros ou chamar
Command Button
[Boto de comando] procedimentos.
Imagem guardada em ficheiro.
Image [Imagem]
Objecto OLE no ligado (unbounded).
Unbound Object
Frame [Moldura de
objecto
independente]
Objecto OLE ligado (bounded).
Bound Object
Frame [Moldura de
objecto dependente]
Page Break [Quebra Separa um formulrio em pginas.
de pgina]
Separador usado, por exemplo, para organizar de
Tab Control
forma mais legvel tabelas com muitos campos.
[Controlo
separador]
Subform/ Subreport Inserir um subformulrio ligado ao formulrio
actual, por exemplo, os movimentos de uma conta
[Subformulrio/
bancria cujos dados so apresentados no actual.
subrelatrio]
Linha decorativa.
Line [Linha]
Rectngulo decorativo.
Rectangle
[Rectngulo]
More Controls [Mais Outros controlos disponibilizados pelo Access ou
outras aplicaes.
controlos]

No
No

No
Sim

Sim

Sim

No

Sim

No

Sim

No

Sim

Sim

Sim

Sim

Sim

Sim

No

No
No

No
-

No

No

No

No

No

Sim

No

No
No

No
No

Das propriedades dos controlos, duas, comuns a vrios, so de especial importncia: Name e Control
Source. Control Source permite definir a forma como o controlo obtm a informao que mostra:

Pg. 21

Campo: Para ligar um controlo a um campo da fonte de registos introduz-se o nome deste nesta
propriedade. A lista de campos (View, Field List) permite acrescentar controlos ligados a campos a um
formulrio por drag&drop.
Expresso: possvel calcular expresses em formulrios como se faz nas consultas. O contedo
dos campos da fonte de registos so usados como nas consultas, isto , o nome do campo entre
parntesis rectos ([nome do campo]). Para fazer referncia a outros controlos, usar a seguinte notao
[Forms]![nome do formulrio]![nome do campo], em que o Nome do campo refere-se ao contedo da
propriedade Name.
Utilizador: Para obter dados ou parmetros do utilizador deixa-se esta propriedade vazia ou com o
valor Unbound.

Name indica o nome do controlo, permitindo utilizar ao seu contedo (isto , o valor mostrado) numa
expresso, macro ou num procedimento.
Exemplo: As propriedades de um dos controlos da Lista de Alunos so:

Para facilitar a edio de formulrios, o Access disponibiliza uma barra de ferramentas (View,
Toolbox):

O boto Select Objects [Seleccionar objectos] activa um apontador que permite seleccionar (por
exemplo, para ver as propriedades), mover, alterar tamanho e editar objectos num formulrio. O boto
Control Wizards [Assistentes de controlos] liga/desliga os assistentes de controlos. A utilizao de
assistentes na construo de controlos particularmente til porque facilita as tarefas de lhes associar
comportamentos, como procura de registos, abertura de formulrios, etc. De outra forma, esses
comportamentos s poderiam ser definidos usando macros e procedimentos em Visual Basic.
Para inserir um novo controlo clicar no boto respectivo e seleccionar, arrastando, a zona do
formulrio onde o controlo dever ser colocado.
O seguinte formulrio (tipo columnar) apresenta alguns destes controlos:

Pg. 22

A seguir alguns dos controlos utilizado no formulrio alunos sero analisados em pormenor.

5.4 Caixa de Texto para Nome


Consideremos a caixa de texto que contm o nome do aluno. A caixa de texto identificada por nome
( o nome deste controlo) e est ligada ao campo nome da tabela alunos (ver propriedades deste
controlo). Assim, se o utilizador tiver um registo em branco (no preenchido) e digitar um nome, esse
nome ser introduzido na tabela.
Neste caso a fonte de informao (Control Source) associada a um campo da tabela alunos. Noutras
circunstncias a caixa de texto podia ser conectada uma expresso, ou alternativamente ficar no
ligada (para permitir ao utilizador digitar informao que no armazenada).
Propriedades de controlo tipo "Text Box" para "nome":

5.5 Combo Box para entrada da Turma


Suponha que o nome de aluno j foi preenchido, mas falta escrever os restantes dados. A introduo da
turma pode ser feita atravs uma Combo Box, pois h um nmero limitado de alternativas. O seguinte
quadro mostra o que se pretende obter:

Pg. 23

Uma Combo Box pode ser construda com o auxlio de um wizard ou no. Aqui exemplificamos a sua
criao manual. Para garantir que isso acontea, deve ligar o controlo ao campo apropriado da tabela
(campo Turma) especificando o Control Source. As opes (tp1; tp2 etc,) devem ser introduzidas no
Row Source de propriedades:

5.6 Introduo de um Grupo de Opes ("Option Group")


Como para a Combo Box, tambm os Option Group podem ser construdos com um wizard. Nesta
seco consideramos vrias alternativas para mostrar o nmero limitado e pr-definido de valores no
formulrio.
Suponha que pretende armazenar informao sobre o tipo de avaliao em que os alunos foram
avaliados. Actualmente considere trs possibilidades de avaliao, mutuamente exclusivas: testes,
exame final ou exame oral.
Primeiro consideramos algumas alternativas que no envolvem o grupo de opes. Uma possibilidade,
utilizar uma Combo Box com duas colunas:

Uma outra possibilidade seria armazenar esta informao num campo tipo Text com uma regra de
validao apropriada, por exemplo: IN("Testes";"Exame";"Oral").
No entanto, a soluo com o grupo de opes mais apropriada. Assim, dever associar a cada opo
um cdigo, por exemplo 1 para "Testes", 2 para "Exame" e 3 para "Oral". Num grupo cada opo
apresentada por controlos que podero ser Check Box, Option Button ou Toggle Button. O efeito que
assim ser possvel escolher s uma das diferentes alternativas. Considere, por exemplo, a seguinte
soluo que envolve o uso de Option Buttons.

Pg. 24

Para criar um grupo de opes deste tipo, em primeiro lugar criado o enquadramento, arrastando-o
para o formulrio da ferramenta.
Posteriormente so acrescentadas as opes, arrastando o controlo desejado (ex. Option Button), para
dentro da caixa do enquadramento.
Ao acrescentar uma opo, propriedade Option Value deste controlo atribudo um nmero
sequencial. A figura seguinte mostra as propriedade de Button1. O Option Value deste boto 1.
Quando o controlo seleccionado, o grupo de opes retorna o valor de OptionValue deste controlo.

Ao escolher uma opo, ao campo da tabela ligada fica atribudo o valor de parmetro Option Value
do controlo escolhido. Assim ao campo avaliao fica atribudo o valor 1 se o utilizador escolher o
boto testes; o valor 2, se escolher o boto exame, etc.

5.7 Clculo de Totais


Suponha que se pretende calcular o total de todos os valores que aparecem no campo valor:

Para atingir este fim, deveria criar uma caixa de texto, cujo fonte de informao (Control Source)
deveria ser uma expresso, que neste caso =Sum([valor]):

Os campos que aparecem na expresso ligada ao controlo que efectua a operao sobre um conjunto de
registos, devero ser campos da fonte de registos (Tabela ou Query) (isto , no controlos calculados
no formulrio).

5.8 Criao de Main/Subform

Pg. 25

Como j foi dito atrs frequentemente necessrio obter informao que no se encontra em apenas
uma tabela. Para isso podemos criar uma query que envolva as vrias tabelas pelas quais os campos
desejados se encontram distribudos e usar um formulrio para visualizar os resultados da execuo
dessa query. Alternativamente podemos usar o mecanismo de formulrio principal/subformulrio
(main/subform).

Por exemplo, suponhamos que queremos ver as vrias notas de cada aluno usando um formulrio do
tipo formulrio principal/subformulrio. Para criar um formulrio deste tipo usamos o FormWizard:
cria-se um formulrio (comando New no separador Forms) e selecciona-se a opo FormWizard, como
se pode ver na figura. Note-se que no necessrio indicar a tabela/query de onde os dados so
obtidos.
Em seguida acrescentar os campos desejados das vrias tabelas/queries aos campos seleccionados
(Selected Fields). Neste caso, acrescentamos os campos nmero e nome da tabela Alunos e os campos
disciplina, nota e lanamento da tabela Notas, como se pode ver nas figuras que se seguem.

importante notar que tem que existir um relacionamento 1:N entre as tabelas/queries envolvidas para
que o wizard funcione correctamente. Se tal no fr verdade, o Access no ser capaz de detectar que
se pretende criar um formulrio do tipo formulrio principal/subformulrio. Para dar a volta a este
problema pode-se usar o controlo subform (ver Controlo subform).
Em seguida dado que vamos visualizar informao de mais do que uma tabela, necessrio indicar a
forma como queremos que essa informao seja organizada. Neste caso, como temos informao sobre
alunos e notas, a questo ser: queremos ver as notas de cada aluno ou os alunos de cada nota? A
resposta , obviamente, a primeira. Assim, a informao deve ser organizada por aluno (by Alunos),
como se pode ver na figura.

Pg. 26

Em caso de dvida deve-se experimentar as vrias alternativas, podendo-se antever no lado direito da
janela o aspecto do formulrio em criao.
Na mesma janela ainda possvel escolher entre ver toda a informao numa s janela (Form with
subform(s)) ou em vrias (Linked forms). Escolhendo esta ltima, criado um boto no formulrio
principal que d acesso ao subformulrio. Naturalmente, neste subformulrio sero apresentados
registos da tabela/query respectiva que estejam relacionados com o registo mostrado no principal. Isto
, no exemplo dado, se estivermos a visualizar o registo do aluno de nome Antnio, clicando no boto
sero apresentadas as suas notas. Mais uma vez, possvel antever o resultado da opo seleccionada.
Nas duas caixas de dilogo seguintes so apresentadas opes relativas ao aspecto grfico do
formulrio. Finalmente, na ltima caixa de dilogo podemos dar nome aos formulrios criados,
resultando no formulrio apresentado na figura.

Note-se que so criados 2 formulrios, um com os dados da tabela Alunos e outro com os dados da
tabela Notas. No formulrio principal o wizard insere um controlo que vai estar ligado ao
subformulrio. Podemos ver a forma como so ligados acedendo s propriedades do subformulrio,
mostradas na figura seguinte.

O campo Source Object indica o formulrio a incluir, isto , a mostrar como subformulrio. Em
seguida preciso determinar como esse formulrio ser ligado ao formulrio principal, isto , que
campos de um e outro permitem lig-los. Neste caso ligmos o campo nmero do formulrio principal
(Link Master Fields) ao campo com o mesmo nome do subformulrio (Link Child Fields).

Pg. 27

5.9 Controlo subform


Outra forma de acrescentar subformulrios a formulrios j existentes usando o wizard do controlo
subform.
Supondo a existncia de uma query que nos indique as disciplinas que faltam fazer a cada aluno,
chamada disciplinas por fazer, para juntarmos essa informao ao formulrio criado atrs devemos
primeiro entrar na design view do formulrio principal. Em seguida criar um controlo do tipo
Subform/Subreport como explicado atrs para os outros controlos. Em seguida podemos seleccionar se
queremos acrescentar um formulrio j existente (Forms) ou criar um formulrio novo a partir de uma
tabela/query (Table/Query).

Depois seleccionamos os campos que desejamos incluir no subformulrio. Note-se que necessrio
incluir o campo nmero que permitir a seguir fazer a ligao ao formulrio principal.

ento apresentada uma caixa de dilogo onde nos pedido para identificar a ligao entre a
tabela/query do formulrio principal e a escolhida para o subformulrio. No caso do Access detectar a
existncia de um relacionamento entre elas, apresenta uma sugesto (Choose from list). Caso contrrio,
ser preciso indicar (Define my own) um ou mais campos no formulrio principal (Form/report fields)
que faro a ligao com campos correspondentes indicados para o subformulrio (Subform/subreport
fields). Neste caso foi detectada a ligao correcta.

Finalmente d-se um nome ao subformulrio e o resultado apresentado. conveniente alterar a


apresentao do formulrio de forma a que o nmero do aluno no aparea repetido.

Pg. 28

Pg. 29

ANEXOS

6 ANEXO A
6.1 Entidades e Relacionamentos
Este mtodo representa um processo do geral para o especfico.
Para problemas complexos, definidos por muitos atributos, os estados iniciais das relaes, quando
abordadas pelo mtodo da normalizao, so extensos e com dependncias complexas. Torna-se
fastidioso e sujeito a enganos, trabalhar com as relaes no normalizadas.
6.1.1 Entidades
Um outro processo de obter um modelo de dados que satisfaz os objectivos inicialmente definidos, a
metodologia "Entidades e Relacionamentos". uma metodologia que parte dos conceitos abstractos
em jogo e os vai especializando. Por esse motivo, os passos intermdios so mais simples, envolvendo
menos informao. O resultado final, um conjunto de relaes normalizado.
Os conceitos essenciais, nesta metodologia, so o conceito de "Entidade" e o de "Relacionamentos"
entre as entidades. Uma entidade um objecto abstracto considerado importante para o sistema. No
caso em estudo, poderemos considerar que a situao envolve Leitores e Livros cuja interaco
registada sob a forma de uma Requisio. Estas sero as entidades importantes para o modelo de
dados. usual representa-las como:
Livros
Leitores
Requisio
Cada Entidade descrita por um conjunto de propriedades, designadas por atributos:
livros(colocao, ttulo, autor, editor, edio, ano)
leitores(bilhete_identidade, nome, localidade, telefone, assinatura)
requisio(nmero, data)
Os atributos sublinhados constituem as chaves das relaes.
6.1.2 Relacionamentos entre Entidades
As interaces entre as entidades so descritas pelos seus relacionamentos. No caso da biblioteca, uma
anlise dos relacionamentos entre as entidades, revela:
Um leitor pode efectuar vrias requisies, mas cada requisio s pode ser feita por um nico
leitor.
Numa requisio, podem ser requisitados vrios livros, e o mesmo livro pode ser requisitado vrias
vezes (em momentos diferentes).
Toda a interaco entre leitores e livros tem de ser efectuada sob a forma de uma requisio: no
existe um relacionamento directo entre Livro e Leitor. O modelo, considera trs tipos de
relacionamentos:
Relacionamentos 1:1 - Quando a cada valor da chave de uma entidade, corresponde um e um s
valor da chave da outra entidade. No caso da biblioteca, no h um relacionamento entre entidades,
deste tipo. Deixamos ao leitor, como exerccio, o encontrar em situaes do seu interesse,
relacionamentos deste tipo. Graficamente, relacionamentos 1:1 so representados por:
Relacionamentos 1:N - Quando a cada valor da chave de uma entidade correspondem vrios valores
da chave da outra. o caso do relacionamento Leitores - Requisies, que representada por:

Pg. 30

Relacionamentos N:M - Quando a cada valor da chave de uma entidade correspondem vrios
valores da chave da outra entidade, e vice-versa. o caso do relacionamento Livros - Requisio, que
representada por:

Diagrama de Entidades e Relacionamentos


Graficamente, os diversos relacionamentos entre as entidades, so representados pelo diagrama de
Entidades - Relacionamentos (diagrama E-R):

Os relacionamentos N:M so difceis de implementar na maior parte dos SGBD, porque requerem uma
relao simtrica, isto de Entidade1 Entidade2 e de Entidade2 Entidade1.
No entanto sempre possvel desdobrar um relacionamento N:M em dois relacionamentos 1:N e 1:M,
criando uma entidade de ligao.
Por exemplo, o relacionamento N:M, Livros
Requisio pode ser desdobrado em dois
relacionamentos: Livros
ReqLivros e Requisio
ReqLivros, sendo ReqLivros a entidade de
ligao.
A verso final do diagrama E-R, fica:

Ao definir os atributos de cada relao, e para garantir a consistncia da informao, necessrio


"importar" chaves. Uma requisio, por exemplo, caracterizada por um nmero e uma data. Desta
forma, no poderamos saber quem efectuou a requisio. Mas, como mantm uma relao N:1 com
Leitores, vai herdar a chave de leitores: ou seja, a chave de Leitores passa a fazer parte dos atributos de
Requisio, tornando possvel determinar quem efectuou uma dada requisio.
Uma entidade importa a chave das entidades com as quais tem uma relao N:1
Utilizando esta regra, a relao Requisio importa a chave de Leitores e a relao ReqLivros importa
as chaves de Livros e de Requisio. Os atributos de cada relao, sero:
livros(colocao, ttulo, autor, editor, edio, ano)
leitores(bilhete_identidade, nome, localidade, telefone, assinatura)
requisio(nmero, bilhete_identidade, data)
reqlivro(nmero, colocao, data_devoluo)
Esta soluo no contempla o problema da temtica de cada livro. proposto, ao leitor, efectuar as
alteraes necessrias ao diagrama E-R, assim como s relaes, de forma a englobar esta situao.
Implementao do Modelo
Geralmente o estudo do modelo de dados, tem como objectivo final, uma implementao, utilizando
um Sistema de Gesto de Bases de Dados. Esta fase envolve passar de uma definio lgica dos dados
para uma descrio fsica. Dois aspectos a considerar:
 Definio das Tabelas - a regra geral de que cada relao d origem a uma tabela.

Pg. 31

Definio dos campos da Tabela - a regra geral de que os campos de cada tabela so os
atributos da entidade respectiva, eventualmente acrescidos das chaves importadas.
De uma forma geral, pretendem-se implementaes que, preservando as propriedades do modelo,
possibilitem um bom desempenho nas operaes de manuteno da Base de Dados e nos processos de
transaco.
Uma forma de melhorar o desempenho, pode ser obtida minorando o nmero de Tabelas. Um exemplo
tpico o caso dos relacionamentos 1:1. Nesta situao, normalmente decidida a juno dos atributos
das duas entidades, assim relacionadas, numa nica Tabela.
Outra forma de melhorar o desempenho, consiste em optimizar o acesso aos registos: utilizar acesso
directo (obtido atravs da indexao) por oposio ao acesso sequencial. A chave de uma relao
usualmente utilizada como ndice para a Tabela respectiva. No caso da importao de chaves, normal
que a chave importada venha a fazer parte da chave da Tabela. o caso das entidades de ligao, cuja
chave sempre a conjuno das duas chaves importadas. No entanto, nem todas as situaes de
importao de chaves verificam esta regra. Podero existir outras conjunes de atributos, que por si
s, podero ser chave da relao, sem necessidade de incorporao da chave importada: o caso da
entidade requisio (no exemplo da biblioteca), que importa a chave da entidade leitores, no entanto,
esta no faz parte da chave de requisio.
No caso da biblioteca, e supondo que utilizamos o SGBD Access, o conjunto de Tabelas seriam:
Tabela: Livros, chave Colocao
Campo
Tipo
Tamanho
Colocao
Text
6
Ttulo
Text
30
Autor
Text
25
Editor
Text
25
Edicao
Text
10
Ano
Integer
Tabela: Leitor, chave BI
Campo
Tipo
Tamanho
BI
Integer
Nome
Text
30
Localidade Text
25
Telefone
Text
8
Tabela: Requisio, chave ReqNr
Campo
Tipo
Tamanho
ReqNr
Integer
BI
Integer
Data
Date
Tabela: ReqLivros
Campo
Tipo
Tamanho
ReqNr
Integer
Colocao Text
6
DataDevol Date
Desta forma, a informao fica distribuda por diferentes Tabelas. Para saber o nome da pessoa que fez
uma determinada requisio, necessrio consultar, pelo menos, duas Tabelas. sempre possvel
reconstituir a informao original, relacionando as tabelas. A figura ilustra o diagrama de
relacionamentos entre as diferentes tabelas:

Pg. 32

Pg. 33

7 ANEXO B
Tabelas
Todos os dados que so armazenados de forma permanente pelo Access, so guardados em tabelas.
Cada tabela armazena dados sobre um tipo de coisa, pessoa ou relao entre coisas/pessoas. Numa
tabela pode-se, por exemplo, guardar informao sobre alunos, disciplinas ou notas (que podem ser
vistas como relaes entre alunos e disciplinas). As tabelas esto organizadas em linhas e colunas. Em
cada linha guarda-se dados sobre um item, isto , sobre um aluno, disciplina ou nota, respectivamente
para os exemplos dados. Cada coluna representa uma determinada caracterstica que est associada a
todos os itens do tipo que a tabela representa. Por exemplo, numa tabela de alunos dever existir uma
coluna para o nome e outra para a data de nascimento. Em linguagem de bases de dados (BD), uma
linha um registo (record) e uma coluna um campo (field). possvel ter um nmero
potencialmente ilimitado de registos em cada tabela, mas o nmero de campos fixo e limitado.
Cada campo de uma tabela tem um tipo associado que limita o tipo de dados que l podem ser
guardados. O campo "nome" da tabela de alunos ser do tipo texto e o campo "data de nascimento"
ser do tipo data. Assim, no campo "nome" podero ser introduzidos caracteres alfanumricos
enquanto no campo "data de nascimento" apenas podem ser guardadas datas. Ao conjunto de campos
que compe uma tabela, chama-se a estrutura da tabela. O tipo determina tambm as operaes que
podem ser efectuadas com valores do campo. Por exemplo, no possvel fazer uma soma que envolva
um campo do tipo texto.
A informao inserida numa tabela persistente. Isto , cada registo criado numa tabela
imediatamente guardado no ficheiro da BD.
Criao de Tabelas

Para criar uma tabela necessrio seleccionar o separador Tables na janela de BD, clicar no boto
New. Aparece ento uma caixa de dilogo que permite seleccionar a forma como a tabela ser criada:
As opes disponveis so:
Datasheet View [Vista de folha de dados]: o utilizador introduz dados numa matriz semelhante a
uma folha de clculo e o Access procura inferir os tipos dos campos.
Design View [Vista de estrutura]: definio explcita da estrutura da tabela.
Table Wizard [Assistente de Tabelas]: o assistente disponibiliza um conjunto de campos prdefinidos e dividido em categorias com os quais o utilizador pode constituir a sua tabela.
Import Table [Importao de Tabelas]: construo de tabelas a partir de ficheiros j existentes,
por exemplo, documentos Excel ou ficheiros de texto.
Link Table [Ligao de Tabelas]: possibilita que o Access tenha acesso a uma tabela de um
aplicao/SGBD diferente sem ser preciso duplicar a tabela nem que os utilizadores da
aplicao/SGBD original percam o acesso aos mesmos dados.

Pg. 34

Embora tanto a vista de folha de dados como o assistente possam parecer mais apelativos primeira
vista, a utilizao dessas opes trazem algumas limitaes e dificuldades para alm de serem
especficas do Access. Assim, ser dado nfase vista de estrutura.
Exemplo: Para exemplificar a criao de uma tabela supe-se que as pessoas com os dados que se
seguem se inscreveram numa escola:
Carolina Santos R. Cedofeita, 14 Porto
11-12-1979
Maria Oliveira
R. Igreja, 3
Lisboa
23-3-1978
Antnio Silva
Tr. Povo, 8
Moura
12-5-1979
Paulo Castro
R. Flores, 50
Porto
23-4-1979
Ana Oliveira
P. Municpio, 1 Moura
2-2-1979
Como se pode ver, a organizao dos dados permite identificar facilmente a estrutura da tabela: os
campos necessrios so nome, morada, localidade e data de nascimento. Note-se que nem sempre to
fcil perceber a estrutura da tabela a partir dos dados.
Depois de escolher a opo Design View na caixa de dilogo anterior, apresentado a seguinte janela:

7.1.1 Definio de Campos


Como explicado atrs, um campo definido por um nome (Field Name) e um tipo de dados (Data
Type). O Access possibilita ainda a introduo de uma pequena descrio do contedo do campo
(Description).
O nome identifica o campo e possibilita aceder informao nele contida. Embora tal possa no ser
evidente partida, a escolha dos nomes dos campos muito importante para facilitar a utilizao das
tabelas. Ser mais difcil perceber a que diz respeito o contedo de um campo se o nome for DN do
que se for Data de Nascimento.
A escolha do tipo de dados feita utilizando o menu:

O tipo de dados determina quer o tipo de informao que o campo pode armazenar, quer o espao (em
bytes) que a informao ocupa. Os tipos disponveis no Access so:
Text [Texto]: texto (at 255 caracteres alfanumricos).
Memo: texto (at 64.000 caracteres alfanumricos).
Pg. 35

Number [Nmero] : valores numricos.


Date/Time [Data/Hora]: datas e horas.
Currency [Moeda]: valores monetrios.
AutoNumber [Numerao Automtica]: valores inteiros atribudos automaticamente pelo Access
(anteriormente ao Access 97 este tipo era chamado Counter )
Yes/No [Sim/No]: valores lgicos (Booleanos),
OLE object [Objecto OLE]: incluso ou ligao de desenhos, imagens e grficos (at 128 MB).
Hyperlink [Hiperligao]: apontador para outro ficheiro ou URL (Uniform Resource Locator), por
exemplo o endereo de uma pgina World Wide Web.

A opo Lookup Wizard [Assistente de Pesquisa] no representa um tipo. Na realidade


possibilita a definio de um campo e dos valores que pode tomar, ou manualmente ou a partir de
outro campo, normalmente de outra tabela.
Uma vantagem de atribuir tipos aos campos limitar os erros que os utilizadores podem fazer ao
introduzir dados. Por exemplo, se um campo estiver definido como sendo do tipo Number no
possvel introduzir letras.
A escolha do tipo de dados est relacionada com as operaes que se pretende efectuar nesse campo.
Quando fr necessrio efectuar operaes aritmticas com os valores de um campo, ento ser melhor
utilizar o tipo Number ou Currency (este ltimo no caso de se estar a lidar com valores monetrios).
Por exemplo, para que seja possvel calcular mdias, o campo que guardar notas dos alunos dever ser
do tipo Number. Por outro lado, para guardar informao sobre nomes de pessoas convm usar o tipo
Text. Nalguns casos a escolha poder no ser to imediata. Um exemplo comum so os campos onde
se guarda nmeros de telefone. Dado que no faz sentido efectuar operaes aritmticas com esse tipo
de informao podemos usar o tipo Text. Com este tipo de dados possvel efectuar a operao de
concatenao, por exemplo, para acrescentar o indicativo da rede ao incio do nmero. Por outro lado,
se fr usado o tipo Number, evita-se que o utilizador possa introduzir letras, dado que em Portugal os
nmero de telefone so constitudos por algarismos.
Exemplo: Todos os campos da tabela de alunos so do tipo Text excepto Data de Nascimento que do
tipo Date/Time, como se pode ver na figura:

Como os nomes dos campos so bvios torna-se desnecessrio introduzir qualquer descrio. Dado
que o campo corrente est definido, j possvel ver na seco de baixo da janela as suas propriedades,
que sero explicadas a seguir.
Antes de prosseguir, grava-se a tabela (File, Save). O Access pede um nome que poder ser Alunos.
7.1.2 Definio das Propriedades dos Campos
Como se pode ver na figura acima, existe um conjunto de propriedades associado a cada campo. Essas
propriedades permitem refinar as caractersticas desse campo. Para cada tipo de dados as propriedades
variam. Uma utilizao adequada destas propriedades diminui a possibilidade de introduo de dados
errados e facilita a utilizao da BD de forma significativa.

Pg. 36

Em seguida so descritas as mais importantes, todas referentes ao separador General, indicando os


tipos de dados a que dizem respeito:
FieldSize [Tamanho de Campo]
Text: Nmero de caracteres mximo. O tamanho definido pelo Access quando se cria um campo
tipo texto geralmente demasiado grande para as necessidades do utilizador.
Exemplo: O tamanho dos campos Nome e Localidade da tabela Alunos ser, respectivamente 30 e 20,
enquanto o do campo Morada pode ficar nos 50 que o Access preenche automaticamente.
Number: Byte, Integer, Long Integer e ReplicationID (ver AutoNumber) para nmeros inteiros, e
Single ou Double para nmeros reais. O tamanho de um nmero permite definir a gama de valores que
so representveis.
AutoNumber: Long Integer que equivalente ao mesmo tamanho para Number ou ReplicationID,
sendo este ltimo necessrio apenas para BDs partilhadas, assunto que est fora do mbito deste texto.
Format [Formatar] (todos os tipos excepto OLE Object) Os formatos possibilitam definir a maneira
como o valor do campo vai ser visualizado e imprimido. O utilizador pode definir os seus prprios
formatos ou usar formatos pr-definidos quando disponveis:
Number: General Number, Currency, Fixed, Standard, Percent e Scientific. O formato Fixed
permite representar valores com um nmero pr-determinado de casas decimais. O formato Scientific
permite representar nmeros reais.
Exemplo: O nmero "1200" no formato Scientific representado como 1.2E+3 (isto , o nmero 1.2 x
103).
Date/Time: Os formatos para datas so General Date, Long Date, Medium Date e Short Date. Os
formatos para tempo so: Long Time, Medium Time e Short Time.
Exemplo: A data "26 de Fevereiro 1996" no formato Medium Date aparece como 26-February-96. Se
fr utilizado Short Date, a data ter a forma 2/26/96 (repare que o ms aparece em primeiro lugar).
Exemplo: Utilizando o formato Short Time, a hora "17h30" seria apresentada como 17:30.
Exemplo: O formato do campo Data de Nascimento da tabela Alunos pode ser Medium Date dado que
no necessrio saber a hora de nascimento.
Input Mask [Mscara de Edio] (todos os tipos excepto Memo, AutoNumber, Yes/No e OLE
Object) As mscaras de edio formatam o campo no momento da introduo ou alterao de dados de
forma a tornar esse processo mais simples para o utilizador.
Exemplo: A Input Mask do campo Data de Nascimento deve corresponder ao formato definido na
propriedade Format, ou seja, Medium Date. Tal pode ser feito facilmente usando o assistente.
Default Value [Valor predefinido] (todos excepto AutoNumber e OLE Object) Definio de um
valor a ser preenchido automaticamente pelo Access quando criado um registo novo.
Exemplo: Assumindo que a maior parte dos alunos so do Porto, o Default Value do campo
Localidade ser "Porto".
Validation Rule e Validation Text [Regra de Validao e Texto de Validao] (todos os tipos
excepto AutoNumber e OLE Object) Estas propriedades permitem, respectivamente, definir uma
expresso que tem que ser verificada pelos valores introduzidos no campo e o texto a mostrar na caixa
de dilogo apresentada ao utilizador no caso da regra no se verificar.
Exemplo:
Validation Rule Validation Text
>=0
Digite um Nmero Positivo
>=0 AND =<20 Nota compreendida entre 0 e 20
0 OR >=100
Valor tem que ser zero ou maior que 100
Like "K???"
Digite 4 caracteres, comeando por K
<=#1/1/95#
Digite data anterior a 1995
>=Date()
Digite data no anterior de hoje
Alguns comentrios relativos ao exemplo anterior:
Pg. 37

Os textos so dados entre aspas.


possvel usar caracteres de substituio (wild cards) nas regras de validao de campos de texto. ?
representa "um caracter qualquer" e * representa "0, 1 ou mais caracteres quaisquer".
As datas so representadas entre sinal de cardinalidade (#).
Pode-se usar funes, como no caso do ltimo exemplo em que foi usada a funo Date que
devolve a data de hoje.

Exemplo: Dado que os alunos tm que ter pelo menos 17 anos para entrar na faculdade a regra de
validao do campo Data de Nascimento ser: Year([Data de Nascimento]) <= Year(Date()) - 16. A
funo Year extrai o ano de uma data que recebe como argumento.
No permitido fazer referncia a outros campos nas expresses usadas na Validation Rule de um
campo. Para criar regras de validao que envolvam mais do que um campo necessrio recorrer
Validation Rule nas propriedades da tabela:

Required [Necessrio] (todos menos AutoNumber) Definir obrigatoriedade de preencher o campo.


Exemplo: Na tabela Alunos necessrio que todos os campos sejam preenchidos, por isso a
propriedade Required activada em todos.
Indexed [Indexado] (todos menos Memo, OLE Object e HyperLink) Definir um ndice para aumentar
a velocidade de procura de registos por valores do campo respectivo. Este aumento de velocidade de
acesso tem custos, nomeadamente em termos de espao ocupado pelos ndices e da velocidade na
criao de registos, por causa da necessidade de actualizar todos os ndices para cada novo registo. Por
isto, a escolha dos campos a indexar tem que ser criteriosa, seleccionando apenas aqueles pelos quais
se pretende efectuar procuras.
H 3 valores possveis para a propriedade Indexed: No, no cria ndice;Yes (Duplicates OK), cria um
ndice e permite duplicados, isto , que 2 registos tenham o mesmo valor para o campo em questo;
Yes (No Duplicates), cria um ndice mas no permite valores duplicados.
Exemplo: Na tabela de alunos ser necessrio, por exemplo, procurar registos por Nome e por
Localidade. A propriedade Indexed activada nestes campos usando o valor Yes (Duplicates OK) j
que possvel que vrios alunos tenham o mesmo nome ou que vivam na mesma localidade.

Por vezes existem tabelas em que so frequentes procuras com critrios que envolvem mais do que um
campo. Para construir um ndice com vrios campos preciso abrir a janela de ndices (View,
Indexes).
Na figura pode-se ver a janela de ndices para a tabela Alunos. Podemos ver os ndices para os campos
Nome e Localidade criados atravs da propriedade Indexed desses campos. Todos os ndices tm um
nome (Index Name) que, no caso de envolver apenas um campo, o nome desse campo. tambm

Pg. 38

possvel definir ordem crescente ou decrescente na coluna Sort Order. Criar um ndice com vrios
campos semelhante a criar vrios ndices seguidos s com um campo, apenas com a diferena de que
o nome do ndice definido na primeira linha e deixado em branco nas linhas dos outros campos.
7.1.3 Definio da Chave
Em princpio, todos os registos de uma tabela sero diferentes entre si. Por esse motivo dever ser
possvel identificar um campo (ou conjunto de campos) tal que conhecido o seu valor, possvel
identificar de forma nica o registo correspondente. Esse campo (ou conjunto de campos) designado
por chave (key). Uma tabela pode ter mais do que uma chave. Nesse caso escolhe-se uma e designa-se
por chave primria (primary key).
Exemplo: Numa BD que inclua campos para o nmero de Bilhete de Identidade e o nmero de
contribuinte (NIF), qualquer um desses campos serve como chave. Dependendo da aplicao, escolhese um deles para ser a chave primria.
recomendvel a definio de chaves para todas as tabelas que se cria: vo ter um papel importante no
estabelecer de relacionamentos entre tabelas, possibilitando aceder a informao distribuda por
diferentes tabelas. Por vezes nem mesmo todos os campos permitem identificar o registo (isto , h
registos duplicados) ou no existe nenhuma chave que faa sentido na aplicao em questo. Nesse
caso, acrescenta-se um campo com esse fim que, no Access, tem normalmente o tipo de dados
AutoNumber.
Para definir a chave da tabela, dever seleccionar o(s) campo(s) chave (clicando no selector de campo
respectivo, usando a tecla CTRL no caso de mais do que um campo) e executar o comando File,
Primary Key.

Exemplo: Na tabela Alunos, dado que pode haver vrios alunos com o mesmo nome, mesma morada,
mesma localidade e mesma data de nascimento, nenhum dos campos existentes serve como chave.
Assim, acrescentmos um campo Nmero do tipo AutoNumber que definimos como chave primria. A
tabela ficar com o seguinte aspecto:
prefervel no usar como chave campos de texto com espao para muitos caracteres, como, por
exemplo, campos que guardam nomes porque frequente os utilizadores introduzirem erros de difcil
deteco neste tipo de campos (espaos a mais ou a menos, falta de acentuao ou maisculas em vez
de minsculas e vice-versa). No caso de no haver nenhuma boa alternativa, ser melhor criar um
campo cdigo do tipo AutoNumber.
7.1.4 Edio de Dados
Definida a estrutura da tabela, esta est apta a guardar informao. Pode-se editar (inserir, eliminar
registos ou alterar campos) directamente na tabela, apesar de ser mais apropriado efectuar estas
operaes via formulrios.
Para abrir a tabela executa-se o comando File, Open sendo necessrio que a tabela Alunos esteja
seleccionada na janela da BD. A tabela apresentada com o aspecto de uma folha de clculo, como se
pode ver na figura. Os campos esto dispostos em colunas e os registos em linhas. Os registos esto
Pg. 39

ordenados pelo campo chave. O ltimo registo da tabela, marcado com


utilizado para inserir novos registos.
Exemplo: Depois de criada, insere-se os dados na tabela Alunos:

no selector de registos,

Note-se que o registo actual indica o nmero do registo, o que nesta tabela por acaso o mesmo valor
do campo Nmero.
Quando edita dados num registo, toda a informao indicada na criao da tabela utilizada: os
campos so preenchidos inicialmente com os valores pr-definidos, feita a validao do tipo de dados
e aplicadas as regras de validao definidas. Para o utilizador se aperceber de quando est a alterar um
registo, o cone de registo corrente substitudo por um lpis. As situaes de erro do origem a caixas
de dilogo, como por exemplo:

Para eliminar um registo necessrio selecion-lo (clicando no selector de registo) e carregar na tecla
Delete ou colocar o cursor em qualquer campo do registo e executar o comando Edit, Delete.
7.1.5 Alterao da Estrutura das Tabelas
Depois de definir a tabela, pode em qualquer momento eliminar e alterar campos existentes, inserir
campos novos ou alterar a ordem pela qual os campos esto dispostos. Para efectuar estas operaes
so utilizados os processos usuais no ambiente grfico do Windows: o rato, o menu Edit e a barra de
ferramentas.

Pg. 40

Você também pode gostar