Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Índice
Índice ................................................................................................................................ 1
1 – Introdução .................................................................................................................. 2
1.1 – Noção de base de dados ...................................................................................... 2
1.2 – Modelos de bases de dados ................................................................................ 3
1.2.1 – Modelo Relacional ........................................................................................ 4
1.2.2 – Modelo Entidade-Relacionamento ............................................................... 6
1.2.3 – Cardinalidade ................................................................................................ 6
1.2.4 – Regras de integridade ................................................................................... 7
1.2.5 – Normalização ................................................................................................ 8
1.3 – Regras para a criação de bases de dados ............................................................ 9
1.4 – Estruturação de bases de dados .......................................................................... 9
2 – Objectos de uma base de dados ............................................................................... 12
3 – Tipos de dados .......................................................................................................... 13
4 – Propriedades dos campos......................................................................................... 16
5 – Chave primária .......................................................................................................... 22
5.1 – Atribuir chave primária a um campo ................................................................. 23
5.2 – Tipos de chaves primárias ................................................................................. 23
Manual Módulo n.º 2 - Base de Dados
1
1 – Introdução
Uma base de dados é um conjunto de dados relacionados de acordo com uma ou
várias regras e um objectivo específico. De uma forma simplista:
Uma base de dados consiste numa colecção de dados estruturados, organizados e
armazenados de forma persistente.
1.1 – Noção de base de dados
O Microsoft Access é um Sistema Gestor de Bases de Dados (SGBD)1.
Um Sistema Gestor de Base de Dados (SGBD) é uma aplicação ou um conjunto de aplicações
informáticas utilizadas para definir, aceder e gerir os dados existentes numa base de dados.
O objectivo dum SGBD é registar e manter a informação que for considerada
necessária à organização/pessoa que gere o sistema, disponibilizando-a
automaticamente para os mais diversos fins. Através de um SGBD pode realizar-se um
vasto conjunto de operações de gestão de bases de dados, das quais é possível
destacar:
Inserção, edição e apagamento de registos;
Critérios de visualização da informação;
Indexação e ordenação da informação contida nos registos;
Operações estatísticas sobre os dados;
Criação de ecrãs de apresentação;
Acesso à informação através das tecnologias Internet;
Impressão de relatórios;
Automatização de funções;
1 Um ponto importante a referir é a habitual confusão na forma como nos referimos a bases de dados.
Por vezes referimo-nos a base de dados Access. Neste caso, não nos estamos a referir aos dados, mas ao sistema (software) que gere a base de dados.
Manual Módulo n.º 2 - Base de Dados
2
Programação.
Como se vê, o principal objectivo do Access é a gestão da informação da forma que nos
interessa ou é útil. Igualmente importante é a estruturação dessa mesma informação
para que o Access não esteja a ocupar espaço com informação desnecessária ou com
informação duplicada.
Algumas vantagens na utilização duma base de dados:
Diminuição de espaço físico ocupado;
Maior integridade dos dados;
Menos redundância;
Mais facilidade na partilha de dados;
Maior facilidade de manutenção;
Isolamento entre objectos de dados, o que protege a integridade da origem
dos dados;
Facilidade de mudança na criação de diferentes mapas com diferentes
objectivos.
1.2 – Modelos de bases de dados
A criação do modelo conceptual de dados é um passo intermédio e fundamental na
implementação de qualquer sistema de base de dados. O modelo conceptual é apenas
um modelo lógico, pois trata-se da uma abstracção da realidade.
A utilização de modelos para a representação de dados permite-nos observar o
problema de um nível mais elevado (nível conceptual). A utilização de um modelo
serve ainda como passo intermédio entre as necessidades do mundo real e a
implementação técnica do sistema, evitando passar directamente do enunciado para a
implementação física.
Um modelo de base de dados é um modelo lógico de representação dos dados.
Manual Módulo n.º 2 - Base de Dados
3
Num modelo, não temos que nos preocupar com questões de implementação física,
formato dos dados, etc. A utilização de modelos é particularmente útil, pois:
Permite o estudo ou gestão de apenas parte do problema;
Permite um nível maior de abstracção;
Os custos envolvidos são consideravelmente menores do que os utilizados
na implementação da solução.
No mundo real, existe todo o tipo de modelos e são-nos apresentados quase
diariamente, como por exemplo: Modelos económicos, estatísticos, simulador de voo,
planta de uma casa, mapa de estradas, etc.
Também existem modelos específicos para a representação de dados ou da estrutura
de dados numa base de dados. O mais famoso e utilizado é o modelo relacional. A
generalidade dos SGBD baseia-se no modelo relacional.
1.2.1 – Modelo Relacional
Uma base de dados relacional permite, para além da “simples” organização da
informação, a criação de relações entre grupos de informação distintos.
Um Modelo Relacional modela os dados num conjunto de relações (tabelas ou ficheiros)
que são constituídas por um conjunto de atributos (colunas ou campos) que definem as
propriedades ou características relevantes da entidade (conceito, objecto) que
representam. Cada tuplo (linha ou registo) da relação caracteriza um elemento único.
Entidade é um objecto que existe e é distinguível de outros objectos, tem algum
significado, e sobre o qual é necessário guardar informação. Conjunto de entidades é
um grupo de entidades do mesmo tipo.
Manual Módulo n.º 2 - Base de Dados
4
Relacionamento é uma associação entre várias entidades e representa a maneira
como essas entidades podem estar logicamente relacionadas.
Atributo é uma função que mapeia um conjunto de entidades num domínio, e,
identifica, qualifica e descreve esse conjunto de entidades. Uma entidade é
representada por um conjunto de atributos.
Domínio é o conjunto de valores possíveis de um atributo.
Chave é um atributo (simples ou composto) que identifica univocamente uma
entidade num conjunto. No limite, a associação de todos os atributos de uma entidade
constituem a chave. Tem a propriedade de, em qualquer instante, não existirem
instâncias que contenham o mesmo valor para esse atributo.
Chave Primária é a chave seleccionada (simples ou composta) para identificar cada
tuplo (linha).
Chave Estrangeira é um atributo ou conjunto de atributos de uma relação, que é chave
primária noutra relação.
Existem, então, várias tabelas com dados, armazenadas num mesmo ficheiro. Embora,
individualmente, esses grupos de informação tenham um objectivo específico, a
construção de uma relação entre eles irá proporcionar ao utilizador uma maior
compreensão dos dados.
ATRIBUTOS (CAMPOS)
Id Nome Telefone
TUPLOS
(LINHAS)
1 Bruno 234567891
2 Nuno 453127648
Dados sobre
clientesFacturas
Dados sobre
produtos
Manual Módulo n.º 2 - Base de Dados
5
As bases de dados relacionais possuem inúmeras vantagens sobre as não-relacionais:
Eliminação de duplicados de informação – cada informação é armazenada
num só “local” (por exemplo, a morada do cliente está contida apenas na
tabela de dados do cliente e não nas suas facturas);
Economia de espaço de armazenamento;
Maior rapidez de actualização;
Acesso mais rápido às informações.
O Microsoft Access é, então, um SGBD Relacional em ambiente gráfico, o que significa
que a organização/gestão dos dados é maximizada através de características do
Windows, pelo que o utilizador consegue visualizar, aceder e trabalhar os dados, de
uma forma mais simples e directa.
1.2.2 – Modelo Entidade-Relacionamento
Este modelo foi desenvolvido a fim de facilitar o projecto de bases de dados
permitindo a especificação de um esquema. Tal esquema representa a estrutura lógica
global da base de dados.
O modelo de dados Entidade-Relacionamento (E-R) baseia-se na percepção de um universo
constituído por um grupo de objectos Entidades e por Relacionamentos entre esses
objectos.
1.2.3 – Cardinalidade
Um diagrama E-R pode definir certas restrições às quais o conteúdo da base de dados
tem que obedecer. Uma restrição importante é a cardinalidade do mapeamento, que
expressa o número de entidades ao qual a outra entidade pode estar associada via um
relacionamento.
Manual Módulo n.º 2 - Base de Dados
6
Um para um
A B
Um para muitos
A B
A B
Muitos para muitos
A B
Este tipo de relacionamento tem de ser resolvido. Dá sempre origem a uma nova
entidade, que representa a relação entre as outras duas.
A C B
1.2.4 – Regras de integridade
Existem algumas regras para preservar a integridade da base de dados:
Integridade das entidades
Nenhum atributo participante na chave primária poderá ter um valor nulo. Impede-se
a contradição entre a noção de chave primária e a noção de valor nulo.
Integridade referencial
Manual Módulo n.º 2 - Base de Dados
7
Se uma entidade A tem um atributo X (simples ou composto) que é uma chave
primária numa outra entidade B, diz-se que X é chave estrangeira em A, e então,
qualquer valor de X em A deverá ser:
i. Igual a um valor de X em alguma instância de B
ii. Nulo
Integridade de domínio
O valor de um atributo de uma tabela está contido no domínio desse atributo, nessa
tabela.
1.2.5 – Normalização
Os atributos de uma entidade não podem ser colocados ao acaso, pois, dessa forma, o
mais certo é perder-se informação ou então iremos deparar-nos com cenários em que
se tem duplicação de informação. Para evitar estes problemas, existem mecanismos
bem definidos que nos ajudam a “afinar” o nosso esquema, passo a passo. Este
processo chama-se normalização.
Normalização é o processo que permite a simplificação da estrutura de uma base de dados
de modo que esta se apresente num estado óptimo sem duplicação de informação.
O processo de normalização permite obter um esquema de base de dados relacional
capaz de suportar, de forma adequada, os dados relevantes de um determinado
universo, evitando a redundância da informação e a existência de valores NULL
propagados ao longo das tabelas e não permitindo más decomposições ou
decomposições com perda de informação.
Manual Módulo n.º 2 - Base de Dados
8
1.3 – Regras para a criação de bases de dados
O primeiro passo, antes de passarmos para o Access, é a esquematização da nossa
base de dados, isto é, quais são as informações que pretendemos que ela armazene, a
forma como os dados vão ser agrupados, etc.
Dado que uma base de dados consiste numa colecção de objectos – tabelas,
formulários, consultas, relatórios, etc. – usados para gerir e apresentar os dados, o
processo de criação duma base de dados envolve os seguintes passos:
1. Criar uma base de dados estruturando e criando tabelas que contém os
dados, isto é, o seu “armazém geral” com toda a informação em bruto;
2. Inserir os dados nas tabelas ou nos formulários/fichas;
3. Criar outros objectos – consultas e relatórios – para ver, editar e imprimir a
informação trabalhada e resumida de acordo com as nossas necessidades.
1.4 – Estruturação de bases de dados
Um dos aspectos menos compreendidos relativamente ao processo de criação de uma
base de dados – e o que distingue de outras aplicações quanto à forma utilização – diz
respeito ao facto de termos de realizar uma grande parte do trabalho fora do
computador, isto é, uma base de dados bem estruturada no papel ficará funcional no
computador. Devemos, pois, planear prévia e totalmente a base de dados no papel em
esquemas e relações antes de passarmos para o Access.
No caso do processador de texto é possível sentarmo-nos e começar o rascunho de um
memorando, que será editado mais tarde. Em relação às folhas de cálculo é possível
começar a escrever os números e deixar a criação de fórmulas para uma fase
posterior. No entanto, com as bases de dados revela-se menos eficiente estruturá-las
directamente no computador, sendo melhor fazê-lo fora dele.
Manual Módulo n.º 2 - Base de Dados
9
O processo de estruturação de uma base de dados é composto por várias fases
distintas. Pode optar por sentar-se com um bloco de papel, lápis e borracha e:
Definir o conteúdo dos campos
Identificar os campos de informação que pretende incluir na base de dados. Tal deve
ser feito em relação a todos os elementos susceptíveis de serem armazenados e
consultados. Por exemplo, se estiver a criar uma base de dados sobre livros, será
natural incluir como campos o título, o autor, a editora e o assunto do livro.
Definir o tipo de informação a incluir nos campos
Identificar o tipo de informação que irá incluir em cada um dos campos. As escolhas
principais são texto, números e datas apesar de o Access fornecer outras opções.
Definir o enquadramento da base de dados
Decidir a forma como irá organizar os nomes dos campos e os tipos de dados na base
de dados. Este processo implica decidir que campos irão aparecer numa determinada
tabela e a respectiva ordem. Uma vez convenientemente configurada e organizada a
base de dados, será possível dispor os campos, tanto nos relatórios como no ecrã,
praticamente de todas as maneiras imagináveis.
Relacionar as tabelas entre si
Uma outra consideração a levar em conta no processo de concepção consiste em
decidir se precisará de relacionar as tabelas entre si por um campo comum. Por
exemplo, suponha que existe uma tabela com o nome ‘Livros’ contendo as
informações sobre cada um dos livros de uma colecção, sendo provável que muitos
destes livros pertençam à mesma editora. É de considerar a hipótese de colocar as
informações relativas a cada editora – nome, endereço, entre outras – numa tabela à
parte, com o nome ‘Editoras’, atribuindo a cada editora um código de identificação e
estabelecendo uma relação entre as duas tabelas. Em seguida, na tabela ‘Livros’,
bastaria escrever o código de cada editora em vez de escrever o nome da editora e
restantes informações sempre que necessário.
Manual Módulo n.º 2 - Base de Dados
10
Designar os campos como índices ou chaves primárias
Uma chave primária é composta por um ou mais campos que identificam, de forma
unívoca, cada um dos registos de uma tabela. Ao designar um campo por Índice – isto
é, indexando-o – aceleramos as procuras ou ordenações efectuadas com esse campo.
Manual Módulo n.º 2 - Base de Dados
11
2 – Objectos de uma base de dados
Uma base de dados consiste numa colecção de objectos.
Tabelas
É a base geral de informação do Access ou o “armazém geral da informação”. Tudo o
que criarmos daqui para a frente – consultas, formulários e relatórios – terá como
origem primária a informação contida nas tabelas e como tal, todos os seus objectos
herdam ou reflectem as propriedades e o tipo de dados definidos nas tabelas.
Consultas
As consultas permitem filtrar a informação contida nas tabelas para apresentar o que
desejamos, incluindo campos calculados a partir de campos numéricos.
Formulários
É uma outra forma de inserir informação mais agradável. São uma espécie de máscaras
para as tabelas e consultas onde vão beber e descarregar a informação e, por outro
lado, constituem a ficha do produto com todas as informações relativas do mesmo.
Têm, ainda, outras funções e funcionalidades importantes e práticas como a inserção
duma foto por produto, dum campo calculado a partir duma fórmula interna, etc.
Relatórios
Permitem formatar os nossos dados para a impressão com origem em tabelas e
consultas. Os relatórios são os objectos mais indicados para visualizarmos e
imprimirmos os nossos dados depois de trabalhados, sumarizados e filtrados.
Macros
Destinam-se a automatizar tarefas informativas em face dum determinado facto ou a
executar procedimentos e funcionalidades com um clique do rato que, doutro modo,
obrigar-nos-ia a executar diferentes passos com a probabilidade de cometer erros ou
inconsistências.
Manual Módulo n.º 2 - Base de Dados
12
3 – Tipos de dados
O Access aceita a definição de vários tipos de dados, que devemos escolher de acordo
com a informação que será colocada dentro desse campo. Destes tipos de dados
devemos escolher aqueles que melhor se adaptem à informação que queremos
armazenar na base de dados. Devemos ter cuidado na escolha dos tipos de dados, pois
se nos enganarmos poderemos ter problemas na introdução dos dados. De seguida, é
apresentado os tipos de dados existentes no Access, bem como a sua descrição:
Texto
É um tipo de dados com um conteúdo até 255 caracteres de letras ou números.
Memo
Armazena até 64.000 caracteres do tipo texto e parágrafos alfanuméricos.
Número
É usado para dados numéricos em cálculos matemáticos ou comparações e contém os
seguintes formatos:
Formato Descrição
Byte Valores inteiros de 0 a 255
Inteiro -32.768 a 32.767 sem decimais
Inteiro Longo -2.147.483.648 a 2.147.483.648 sem decimais
Simples -3,4x10
38 a 3,4x10
38 até 7 dígitos de precisão
decimal
Duplo -1,797x10
308 a 1,797x10
308 até 15 dígitos de precisão
decimal
Decimal Inteiro de 12 bits com uma precisão de definição
decimal que pode ir de -7,9228x1028
a 7,9228x1028
Data/Hora
Datas e horas em diferentes formatos que lhe permitem ordenar e calcular datas
cronologicamente. Tendo dois campos com datas, pode subtrair a data mais baixa à
Manual Módulo n.º 2 - Base de Dados
13
mais alta e obter o número de dias que decorreu entre as duas. As fracções do dia são
medidas em decimais do mesmo.
Moeda
Formato “monetário” até 15 dígitos à esquerda e 4 dígitos à direita da casa decimal
para cálculos financeiros.
Numeração automática
Numeração automática feita pelo Access por cada registo novo inserido. Para as
situações em que é necessário um número automático sequencial como, por exemplo,
a sequenciação do número de vendas. O valor atribuído a cada novo registo pode ser
sequencial com o incremento 1 ou aleatório. Em cada tabela só pode haver um campo
com este tipo de formatação.
Sim/Não
Valor booleano – verdadeiro/falso, sim/não, activado/desactivado. Necessário para
campos em que só pode existir uma de duas opções como, por exemplo, o campo de
“item enviado”. O Access guarda ou armazena o valor numérico zero [0] para falso e
menos um [-1] para verdadeiro.
Objecto OLE
Objecto OLE (Object Linking and Embedding) serve para campos do tipo gráfico criado
por outra aplicação, como por exemplo, a fotografia de um produto, uma música, um
vídeo, uma folha de cálculo Excel, um documento Word, etc. Tudo com o tamanho de
até 2 GB.
Hiperligação
Contém uma hiperligação por endereço electrónico – URL ou HTML – isto é, uma
ligação automática do conteúdo da célula ao respectivo endereço duma Intranet, dum
ficheiro no computador, ou duma página Web, com um clique do rato. Escrevendo, por
Manual Módulo n.º 2 - Base de Dados
14
exemplo, www.google.com na célula, poderá abrir a página Web de destino fazendo
clique sobre este nome do campo.
Anexo
Com este tipo de dados é possível anexar imagens, ficheiros de folha de cálculo,
documentos, gráficos e outros tipos de ficheiros tal como se anexa ficheiros a
mensagens de correio electrónico. É também possível, em geral, ver e editar ficheiros
anexados com o tamanho de até 2 GB. Ao contrário do tipo OLE podemos armazenar
múltiplos anexos num único registo. No entanto, só funciona com a versão do Access
2007, não podendo ser convertido para versões anteriores.
Assistente de pesquisa
Campo que permite a criação de uma lista de valores digitada ou obtida através de
uma tabela ou consulta ou, ainda, através de uma caixa de combinação para usar em
bases de dados lineares e relacionais.
Manual Módulo n.º 2 - Base de Dados
15
4 – Propriedades dos campos
As propriedades dos campos são definidas nos separadores Geral e Pesquisa quando
estamos na vista de estrutura duma tabela, como demonstra a figura seguinte:
Cada campo tem as suas próprias propriedades relacionadas com a opção da coluna do
Tipo de Dados. Sempre que escolher uma propriedade do tipo de dado seleccionado, é
apresentado – do lado direito – um conjunto de informações detalhadas sobre a
propriedade em curso.
As descrições que se seguem salientam as propriedades mais importantes do
separador Geral.
Tamanho do campo
A propriedade Tamanho do campo permite determinar a quantidade de espaço
disponível apenas nos campos com dados do tipo texto ou número.
Num campo de texto, esta propriedade específica o número máximo de caracteres que
é permitido armazenar no campo. O valor predefinido é 50, mas este pode variar entre
0 e 255.
Manual Módulo n.º 2 - Base de Dados
16
Num campo numérico o valor é escolhido a partir de uma lista pendente que
determina o tamanho e o tipo de número que pode armazenar-se de acordo com a
descrição já apresentada (ver capítulo 3.3).
Formatar
A propriedade Formatar determina a forma de apresentação dos dados no ecrã e na
impressão.
Para números temos as propriedades Geral, Moeda, Euro, Fixo com duas casas
decimais. A opção Padrão possibilita duas casas decimais e separador dos milhares. Há
ainda as opções Percentagem e Científica.
Nos campos com dados do tipo Data/Hora, pode optar por apresentar, por exemplo, a
data como 30-Jun-2009 ou 30/6/99 entre outros. Para a Hora temos 5:30PM ou 17:30.
Casas decimais
Esta propriedade permite escolher o número de casas decimais apresentadas pelo
Access num campo com dados do tipo Número ou Moeda. Escolha um número
específico de casas decimais na lista pendente ou escolha Automático que é o valor
predefinido.
Máscara de introdução para texto ou datas
Alguns tipos de dados permitem que seja definida uma máscara de introdução que
ajuda a introduzir dados válidos num campo. Estas apresentam caracteres marcadores
de posição que mostram o número de caracteres que é necessário introduzir –
geralmente caracteres que são substituídos pelos caracteres que digita.
Incluem caracteres de separação para que não necessite de os escrever, por exemplo,
o traço num código postal, e impedem a digitação de caracteres incorrectos como, por
exemplo, uma letra quando está a introduzir um número de telefone ou do código
postal.
Manual Módulo n.º 2 - Base de Dados
17
Para o efeito, o Access fornece um Assistente de máscaras de introdução para o ajudar
a configurar uma máscara sem que seja necessário introduzir os códigos
manualmente.
Legenda
Se introduzir texto numa caixa de propriedade Legenda, o Access utilizará esse texto
para rotular o campo. Se deixar esta propriedade vazia, o Access rotulará o campo
utilizando o nome do campo.
Esta propriedade permite-lhe alguma flexibilidade em termos de espaços entre
palavras ou símbolos proibidos no nome do campo.
Valor predefinido
Se estiver a criar uma base de dados na qual existe um campo que contém,
habitualmente, o mesmo valor, poderá atribuir esse valor a esta propriedade. Desta
forma, sempre que criar um novo registo na sua base de dados, o Access incluirá
automaticamente o valor no campo.
Regra de validação
Expressão que determina os conteúdos admitidos por esse campo, isto é, permitem
limitar o que é aceite.
Manual Módulo n.º 2 - Base de Dados
18
Por exemplo, pode definir a expressão “> 9” para um campo quantidade, de forma a
impedir que um utilizador efectue um pedido de encomenda inferior a dez unidades.
Os seguintes símbolos de comparação são usados na validação:
Operador Significado
= Igual a
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
<> Diferente de
Por princípio os caracteres ou equivalentes devem ser colocados entre aspas enquanto
as datas devem ser colocadas entre cardinais.
Outros exemplos de regras com operadores:
“Lisboa” ou “Porto”
Se queremos só registos para estas duas cidades;
>=1000 e <=5000 ou Entre 1000 e 5000
Se queremos valores só entre estes dois limites;
Entre #12-12-05# e #12-10-05#
Se queremos datas entre estes dois limites;
Não é nulo
Requer a entrada dum valor no campo;
Não 5 ou Não “Setúbal”
Exclusão deste número ou cidade no campo dum registo;
Manual Módulo n.º 2 - Base de Dados
19
Como João*
Só aceita nomes começados por João;
Como *Santos*
Só aceita nomes que contenham a palavra Santos;
Como 20##
Só aceita valores entre 2000 e 2099;
=”2000” Ou “2005” Ou “2008”
Só aceita qualquer dos valores mencionados;
Regras com caracteres:
? qualquer carácter;
* qualquer conjunto de caracteres incluindo zero ou nada;
# qualquer dígito;
Texto de validação
Mensagem escrita que queremos que apareça no ecrã se a regra de validação não for
cumprida.
Devemos sempre emitir esta mensagem quando temos uma regra de validação. Caso
contrário o Access emite uma mensagem pouco clara do que se pretende.
Necessário
Se seleccionar Sim na caixa da propriedade Necessário, o Access exigirá a introdução
de um valor no campo quando o registo for criado ou modificado. Se escolher Não, o
campo poderá ser deixado em branco.
Manual Módulo n.º 2 - Base de Dados
20
Indexado
A indexação dos campos – ou criação de índices automáticos – acelera
significativamente as operações de procura/pesquisa ou ordenação da informação,
assim como as consultas levadas a cabo num campo. Um índice definido para um
determinado campo duma tabela contém as referências desse campo e, assim, uma
pesquisa por esse campo é mais rápida do que por um campo não indexado.
A chave primária de uma tabela (ver capítulo 5) é automaticamente indexada. Seguem-
se as opções disponíveis na lista pendente da caixa da propriedade Indexado:
Sim (duplicação autorizada)
O campo será indexado, sendo possível introduzir o mesmo valor, isto é, um
valor duplicado em mais de um registo e acelerando a pesquisa de informação.
Sim (duplicação não autorizada)
O campo será indexado sendo necessário introduzir no campo de um valor
único para cada registo de forma a permitir que o índice consiga obter sempre
um registo único com base nas informações contidas neste campo – esta é a
predefinição para um campo que esteja designado como sendo chave primária.
Não
O campo não será indexado. Esta é a predefinição para todos os campos com a
excepção do designado como sendo a chave primária.
Os campos Memo, OLE e Anexo não podem ser indexados. Para ver uma lista de todos
os campos indexados de uma tabela, ou para modificar as características da indexação
clicar no comando Índices do friso Estrutura.
Manual Módulo n.º 2 - Base de Dados
21
5 – Chave primária
Uma chave primária corresponde a um campo ou conjunto de campos que distingue
cada registo de todos os outros registos, dado que cria um índice automático em que
as referências de cada registo têm de ser sempre diferentes.
Com o fim de identificar e organizar registos, as tabelas do Access devem ter pelo
menos um campo ao qual é atribuído uma propriedade especial: Chave primária. Esta
propriedade deve ser usada internamente pelo Access, principalmente quando se
relacionam tabelas e, também, prevenir a repetição de inserções com o mesmo
número ou conteúdo igual.
A chave primária também lhe permite relacionar duas tabelas, para que consiga evitar
a duplicação de dados. Por ambos os motivos, é um item de informação muito
importante. As propriedades de uma chave primária são as seguintes:
Não pode ter duplicações.
O campo que for definido como chave primária não pode ser igual em dois
registos diferentes;
Não pode ser nula.
O campo que é chave primária tem que ter um valor inserido. Não pode ser
nulo, num assumir o valor zero;
A primeira tabela.
A primeira tabela – conjunto de dados – dum ficheiro tem de ter pelo menos
uma chave primária atribuída a um campo para identificar inequivocamente os
registos da tabela. A segunda e seguintes tabelas dum ficheiro podem ter, ou
não, chaves primárias atribuídas.
Como exemplos de campos possíveis de ter o atributo de chave primária temos os
números de bilhetes de identidade, números de contribuinte, códigos de produtos,
Manual Módulo n.º 2 - Base de Dados
22
quotas de livros, matrículas de carros, etc. Todos estes campos são únicos para cada
caso, não havendo duas situações com o mesmo valor.
5.1 – Atribuir chave primária a um campo
Para inserirmos a chave primária num campo temos de posicionar – na vista de
estrutura de uma tabela – o cursor do rato no campo desejado e clicar no comando
Chave primária existente no friso Estrutura, o qual irá aparecer na coluna de selecção
antes do nome do campo na forma de desenho duma chave.
Se precisar de atribuir mais do que uma chave primária na mesma tabela em
diferentes campos, seleccionar os campos pretendidos, mantendo a tecla Ctrl premida
e clicar no comando Chave primária.
5.2 – Tipos de chaves primárias
Existem três tipos de chaves primárias que podem ser definidas no Access:
Chaves primárias de numeração automática
Um campo de numeração automática pode ser definido para introduzir
automaticamente um número sequencial sempre que um registo é adicionado à
tabela. A designação desse campo como chave primária de uma tabela é a forma mais
Manual Módulo n.º 2 - Base de Dados
23
simples de criar uma chave primária. Se não definir uma chave primária antes de
guardar uma tabela recém-criada, o Access pergunta-lhe se quer que crie uma chave
primária.
Chaves primárias de campos simples
Se tiver um campo que contenha valores exclusivos, como número de código ou
números de referência, pode designar esse campo como chave primária. Assim,
podemos especificar uma chave primária para um campo que já contenha dados,
desde que esse campo não contenha valores duplicados ou nulos.
Chaves primárias de múltiplos campos
Em situações em que não possa garantir a exclusividade de nenhum campo simples,
pode designar dois ou mais campos como chave primária. A situação mais comum em
que isto acontece é na tabela utilizada para relacionar duas outras tabelas numa
relação muitos-para-muitos.
Manual Módulo n.º 2 - Base de Dados
24