Category Archives: tabelas

Formatar folhas de dados

No Access o aspecto padrão das folhas de dados é o fundo branco e linhas cinzentas, mas para quem não gosta do aspecto normal, podemos alterar o aspecto da seguinte forma:

  1. Depois de abrir a folha de dados que quer alterar vamos ao menu Formatar e escolhemos Folhas de dados.
  2. Irá aparecer o quadro formatação de folhas de dados. Na primeira opção temos o efeito das células, que pode ser plano, alto relevo e baixo relevo. As duas últimas opções só nos permitem obter um aspecto de alto ou baixo relevo e não podemos escolher mais nada, é na opção plano que poder escolher mais efeitos.
  3. A segunda opção é Linhas de grelha o que nos permite escolher se queremos as linhas verticais ou horizontais activas ou não.
  4. Cor de fundo: tal como o nome diz serve para escolher a cor das células é só escolher uma da lista.
  5. Cor das linhas de grelha: é a mesma função que no número anterior mas para as linhas de grelha.
  6. Estilos de limite e de linha: permite alterar o aspecto das linhas de grelha, do sublinhado do cabeçalho da coluna e o estilo do limite da folha de dados. Na lista da esquerda escolhemos a linha que queremos alterar e na lista da direita o estilo de linha.
  7. Direcção: aqui podemos alterar a forma como os campos se apresentam em termos de ordem, podemos ter a direcção normal que é da esquerda para a direita ou podemos escolher da direita para a esquerda o que vai trocar a ordem dos campos e encostar à parte direita da folha de dados. O que podemos verificar na imagem 2. Nota: esta alteração só pode ser feita em tabelas e não em folhas de dados nos formulários.

Imagem1:

Imagem 2:

imagem2

Fichas para um abrigo de animais

Este é um exemplo a pedido da leitora Sónia Campos que pretende uma base de dados para registar dados de animais. É uma base de dados simples com apenas um formulário para entrada de dados com fotografia do animal.

Download:  Abrigo Animais

Qualquer modificação é só comentar aqui.

Introduzir um registo através de campos independentes

Existem várias formas de introduzir um registo, sendo que a mais comum é fazer através de um formulário vinculado a uma tabela. Outra forma de o fazer é através de campos desvinculados, ou seja através de um formulário com campos independentes sem ligação à tabela. Para
introduzir os dados vamos utilizar o ‘recordset’, ou seja através de um código, que no caso deste exemplo é o seguinte:

Dim db As Database
Dim rs As Recordset

If MsgBox(”Deseja gravar?”, vbYesNoCancel, “Opções”) = vbYes Then
‘ Ao carregar no botão é perguntado se deseja gravar o registo ou não, no caso afirmativo continua o código senão termina
Set db = CurrentDb()
Set rs = db.OpenRecordset(”Dados”, dbOpenTable)
‘ Abre a tabela dados para inserir o registo

rs.AddNew
rs(”nome”) = Me!INome
rs(”morada”) = Me!Imorada
rs(”idade”) = Me!Iidade
rs.Update ‘ envia os dados para a tabela
rs.Close ‘ Limpa os dados e fecha o recordset
Set rs = Nothing
Set db = Nothing

Me.INome = Null ‘ limpa os campos no formulário
Me.Imorada = Null
Me.Iidade = Null
MsgBox “Registo gravado”, vbInformation, “Concluído” ‘ Exibe mensagem de confirmação
Me.INome.SetFocus ‘ Move o cursor para o primeiro campo
Else: Exit Sub
End If

Download: Introduzir Independente

Relacionamentos numa base de dados

Depois de ter estabelecido diferentes tabelas para cada assunto na sua base de dados, você precisa de uma maneira de informar ao Microsoft Access como reunir novamente essas informações. O primeiro passo nesse processo é definir os relacionamentos entre as suas tabelas. Depois de ter feito isso, você pode criar consultas, formulários e relatórios para exibir informações provenientes de várias tabelas de uma vez.

Como funcionam os relacionamentos?

Um relacionamento um-para-muitos
O relacionamento um-para-muitos é o tipo mais comum de relacionamento. Num relacionamento um-para-muitos, um registo na Tabela A pode ter muitos registos coincidentes na Tabela B, mas um registo na Tabela B tem um só registo coincidente na Tabela A.

Um relacionamento muitos-para-muitos
Num relacionamento muitos para-muitos, um registo na Tabela A pode ter muitos registos coincidentes na Tabela B, e um registo na Tabela B pode ter muitos registos coincidentes na Tabela A. Esse tipo de relacionamento só é possível definindo-se uma terceira tabela (denominada tabela de associação) cuja chave primária consista em dois campos as chaves estrangeiras provenientes tanto da Tabelas A como da B. Na verdade, um relacionamento muitos-para-muitos são dois relacionamentos um-para-muitos com uma terceira tabela. Por exemplo, a tabela Pedidos e a tabela Produtos têm um relacionamento muitos-para-muitos que é definido criando-se dois relacionamentos um-para-muitos para a tabela Detalhes do Pedido.

Um relacionamento um-para-um
Em um relacionamento um-para-um, cada registo na Tabela A pode ter somente um registo coincidente na Tabela B, e cada registo na Tabela B pode ter somente um registo coincidente na Tabela A. Esse tipo de relacionamento não é comum, pois a maioria das informações assim relacionadas estaria em uma só tabela. A utilização de um relacionamento um-para-um é recomendada quando você deseja dividir uma tabela com muitos campos, isolar parte de uma tabela por segurança ou armazenar informações que se apliquem somente a um subconjunto da tabela principal. Pode ser que você queira, por exemplo, criar uma tabela para registar os funcionários que participam de um jogo de futebol para levantamento de fundos.

Definindo relacionamentos
Você define um relacionamento adicionando as tabelas que deseja relacionar com a janela Relacionamentos e, em seguida, arrastando o campo chave de uma tabela e soltando-o no campo chave da outra tabela.
A espécie de relacionamento que o Microsoft Access cria depende de como os campos relacionados são definidos:
• Um relacionamento um-para-muitos é criado quando somente um dos campos relacionados é uma chave primária ou tem um índice exclusivo.
• Um relacionamento um-para-um é criado quando ambos os campos relacionados são chaves primárias ou têm índices exclusivos.
• Na verdade, um relacionamento muitos-para-muitos são dois relacionamentos um-para-muitos com uma terceira tabela cuja chave primária consiste em dois campos  as chaves estrangeiras das outras duas tabelas.
Observação Se você arrastar um campo que não seja uma chave primária e que não tenha um índice exclusivo para um outro campo que não seja uma chave primária e não tenha um índice exclusivo, será criado um relacionamento indeterminado. Em consultas que contenham tabelas com um relacionamento indeterminado, o Microsoft Access exibe uma linha de associação padrão entre as tabelas, mas a integridade referencial não é imposta e não há garantia de que os registos sejam exclusivos em cada tabela.

Normalização ( Escolha de chaves primárias )

É o processo formal passo a passo que examina os atributos de uma entidade, com o objectivo de evitar anomalias observadas na inclusão, exclusão e alteração de sequências exclusivas.

Objectivos

1º) Minimização de redundâncias e inconsistências;
2º) Facilidade de manipulações do Banco de Dados;
3º) Facilidade de manutenção do Sistema de Informações.

1ª Forma Normal (1FN)

Uma relação está na 1FN se somente todos os domínios básicos contiverem somente valores exclusivos (não contiver grupos repetitivos).

Procedimentos:

a) Identificar a chave primária da entidade;
b) Identificar o grupo repetitivo e remove-lo da entidade;
c) Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo.

A chave primária da nova entidade será obtida pela concatenação da chave primária da entidade inicial e a do grupo repetitivo.

Ex.: Pedido

(numero_pedido; data_pedido; cod_cliente; nome_cliente; endereco_cliente; (codigo_produto; numero_produto; quantidade_produto; preco_produto; total_produto) total_pedido)

Pedido => (numero_pedido; data_pedido; cod_cliente; nome_cliente; endereco_cliente)

Item_Pedido => (numero_pedido; cod_produto; nome_produto; quantidade; preco_produto; total_produto)

Dependência Funcional

Dada uma relação R, o atributo X de R é funcionalmente dependente do atributo X de R se somente se sempre que duas sequências de R combinarem em seus valores de X elas também combinarem no valor de X.

2ª Forma Normal (2FN)

Uma relação R está na 2FN se e somente se ela estiver na primeira e todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela).

Procedimentos:

a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária.
b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles.
A chave primária da nova entidade será o atributo do qual os atributos do qual os atributos removidos são funcionalmente dependentes.

Produto => ( cod_produto, nome_produto, preco_produto)

Dependência Transitiva

Sejam A, B e C três atributos de uma entidade X. Se C depender de B e B depender de A então dizemos que C é transitivamente dependente de A.

3ª Forma Normal (3FN)

Uma relação R está na 3FN se somente estiver na 2FN e todos os atributos não chave forem dependentes não transitivos da chave primária (cada atributo for funcionalmente dependente apenas dos atributos componentes da chave primária ou se todos os seus atributos não chave forem independentes entre si).

Procedimentos:

a) Identificar todos os atributos que são funcionalmente dependentes de outros atributos não chave;
b) Remove-los e criar uma nova entidade com os mesmos.
A chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentes.

Cliente (cod_cliente; nome_cliente; endereco_cliente)
Produto (cod_produto; nome_produto; preco_produto)
Pedido (numero_pedido; data_pedido; ; total_pedido)