Escolar Documentos
Profissional Documentos
Cultura Documentos
Por:
Filipe Caldeira
Pg. 1
Informtica II
Gesto Comercial e da Produo
NDICE
1
A AJUDA .............................................................................................................................. 7
RELACIONAMENTOS .............................................................................................................. 8
INTEGRIDADE REFERENCIAL ............................................................................................... 10
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
Pg. 3
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
Pg. 5
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
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
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
Integridade Referencial
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:
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
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.
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
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
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:
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]
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.
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:
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.
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).
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
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.
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:
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:
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:
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
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
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:
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
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