sexta-feira, 27 de julho de 2007

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)

quinta-feira, 26 de julho de 2007

Menu de Inicio



Hoje apresento um exemplo de um menu feito por mim, que é bastante simples de fazer.
Este menu é composto por botões que dão acesso aos outros formulários(que neste exemplo só tem um para demonstração) e também para sair da aplicação. Apresenta a data no rodapé e a hora corrente (hora do computador)no topo direito.

Podem ver o exemplo aqui para poder ver como foi feito. Se tiverem alguma dúvida, é só perguntar.

quarta-feira, 25 de julho de 2007

Soma corrente ( extracto )

Este é um pequeno exemplo que demonstra como podemos fazer uma soma corrente, ou seja, como se ve nos extractos bancários por exemplo.



Para o campo total utilizamos a função Dsoma para calcular o valor anterior mais o crédito e subtrair o débito.
Para fazer download do exemplo clique aqui

segunda-feira, 23 de julho de 2007

Relatório

Pode-se utilizar relatórios para apresentar dados impressos. Com um relatório, é possível apresentar as informações de um modo mais resumido do que em um formulário. Por exemplo, você pode incluir totais através de todo um conjunto de registos.
Um relatório se assemelha a um formulário, porém propicia um maior controle sobre a exibição dos dados quando impressos.



A diferença-chave entre formulários e relatórios é o modo como os dados são agrupados. Você agrupa dados em um formulário criando um formulário principal que contenha um subformulário. O formulário principal é baseado em uma tabela ou consulta, e o subformuláriose baseia em uma tabela ou consulta relacionada. Em contraposição, você pode agrupar dados em um relatório a partir de uma única tabela ou consulta. A tabela ou consulta, no modo Folha de dados, e o relatório exibem o mesmo conjunto de dados; mas cada um apresentando os dados de modo diferente.



Cabeçalho do Relatório-Aparece apenas uma vez por Relatório. Pode ser usado para imprimir o Logo da empresa ou alguma explicação preliminar.
Cabeçalho de Página-Aparece no topo de todas as páginas. Usados para exibir os nomes das colunas do relatório.
Cabeçalho do grupo-Será exibido no início de cada grupo (quebra). Usado para exibir, por exemplo, o nome de um novo Grupo.
Detalhe É o corpo do relatório. Será exibido para cada registo processado.

Rodapé do grupo-Aparece no final de um grupo de registos. Pode-se utiliza-lo para exibir totais do grupo.
Rodapé da página-Aparece na base de cada página do relatório. Usado para imprimir o nome do relatório e o número da página.
Rodapé do relatório-Aparece apenas uma vez por relatório, no seu final. Usado para exibir Gerais. Ele aparece após o rodapé da última página.

Formulário

Quando você cria um formulário, cria uma forma de comunicação entre você e os dados armazenados no Access. Embora possa criar formulários simples que se parecem muito com os familiares formulários de papel, você pode também melhorar a aparência deles com recursos visuais interessantes - tais como cores e sombras para definir secções diferentes, figuras ou gráficos - e uma grande variedade de controles. Os formulários do Access podem conter botões, listas de selecção, botões de opção e subformulários embutidos que fornecem maior funcionalidade que os típicos de papel.


Exemplo de um formulário

Criando um formulário com a ajuda de um Assistente
O Assistente faz perguntas sobre o formulário que você deseja criar e então cria um formulário baseado nas suas respostas.

Para criar um formulário com a ajuda de um assistente
1. Na janela Banco de Dados, clique sobre o botão Formulários e então escolha o botão Novo.

Aparecerá a caixa de diálogo Novo Formulário na qual você escolherá qual a forma de criação do formulário você deseja usar. Veja ilustração ao lado.
2. Para usar o assistente seleccione a opção Assistente de Formulário.
3. Na caixa que aparece na parte de baixo, clique na setinha para escolher a tabela ou a consulta de origem do formulário.
4. Clique em OK.

Se o Assistente não criar o formulário da maneira desejada, você poderá alterar o formulário manualmente no modo Estrutura, ou poderá utilizar o Assistente novamente e escolher opções diferentes à medida em que responde as perguntas.

Consulta

A janela Consulta
Uma consulta é uma pergunta que você faz sobre os dados no seu banco de dados, tal como “Quais os clientes que fizeram pedidos no mês passado?” ou “Quantos produtos temos em cada categoria?” Para fazer uma consulta, você define um exemplo dos registros que deseja ver na janela Consulta.


A janela Consulta.

A janela Consulta é uma ferramenta gráfica do tipo consulta-por-exemplo (QBE - em inglês, Query By Example).
Em virtude de suas características gráficas, é possível utilizar o mouse para selecionar, arrastar e manipular os objetos na janela Consulta.
Ao criar relações entre suas tabelas, você facilita o seu trabalho pois o Access associa automaticamente as tabelas em uma consulta. Se não for criada uma relação entre as tabelas no seu banco de dados, você mesmo terá que associá-las em uma consulta.

Observação: Na janela Consulta, o Access exibe o campo ou campos de chave primária de uma tabela em negrito. O Access processa uma associação mais rapidamente quando um dos campos associados é um campo de chave primária. Por esta razão, a associação será mais lenta se não houver campos de chave primária.


Criando ou abrindo uma consulta
A primeira etapa na criação de uma consulta é adicionar as tabelas sobre as quais deseja-se aplicar ou atualizar uma consulta. Você também poderá adicionar outras consultas à consulta. A caixa de diálogo Adicionar Tabela lista todas as tabelas e consultas no banco de dados em ordem alfabética
Para criar uma nova Consulta faça o seguinte:


Selecione a Guia Consulta;
Clique sobre o botão Novo.
Será aberta a janela Nova Consulta onde você deverá definir qual o modo de tabela será construída.

Para facilitar seu trabalho, sempre que você iniciar uma Nova Consulta selecione a opção Modo Estrutura, onde definiremos os campos que serão incluídos na tabela
- Clique na opção Modo Estrutura;
- Clique no botão OK.
Aparecerá a caixa de definição da Consulta. Juntamente com a Consulta será aberta a Caixa de diálogo Mostrar Tabela.

sexta-feira, 20 de julho de 2007

Tabelas

Uma base de dados contém uma ou mais Tabelas relacionais. Uma Tabela é uma colecção de informações relacionadas, geralmente organizadas em linhas horizontais e colunas verticais.
É possível comparar as Tabelas com folhas do Excel. Pode-se criar uma folha no Excel, por exemplo, para controlar alunos e inserir o nome de cada um em uma linha separada. Cada categoria de informações de cada aluno é inserida nas várias colunas: o nome, a classe, o número de chamada e assim por diante. Cada conjunto de informações sobre cada aluno aparece em uma linha separada.

Conceitos
Registos e Campos
As tabelas são formadas por registos e os registos são formados por Campos.

Os Campos e seus Tipos de dados
Um tipo de dado define qual o tipo de informações que poderá ser armazenada no campo em questão.
Por exemplo:
Texto - Podem ser escritos letras e números.
Numérico - Só podem ser escritos números, não é aceite letras.
Data - Só é aceite números no formato de data, não podem ser escritos números decimais e nem texto.


Definindo os campos de uma Tabela
Abaixo você tem a definição dos itens da parte superior da janela.
Ao escolher os Tipos de dados para cada campo é apresentado um menu onde você deverá definir o tipo de dado que o campo suportará.

Nome do Campo-Define o nome a ser dado ao campo, por exemplo Classe.
Tipo de Dados-Define o tipo de informações que poderão ser armazenadas neste campo.
Descrição-Permite que seja criada uma descrição sobre a natureza do campo em questão. O Access usa a descrição para a propriedade texto da barra de status em novos formulários, de modo que a descrição aparece na barra de status quando você visualiza dados no formulário.

Tipo de dado
Texto-Textos e os números, como por exemplo nomes e caracteres.
Memorando-Texto e números extensos, como comentários ou explicações; até 32.000 caracteres.
Número-Dados numéricos nos quais você pretende executar cálculos matemáticos, com excepção de cálculos envolvendo dinheiro. Defina a propriedade Tamanho do Campo para definir o tipo de dados “Número” específico.
Data/Hora-Datas e horas. Existe uma variedade de formatos de exibição disponíveis ou pode-se também criar um formato.
Moeda-Valores de moeda. Não utilize o tipo de dados “Número” para valores monetários, porque os números à direita do decimal poderão ser arredondados nos cálculos. O tipo de dados “Moeda” mantém uma precisão fixa.
Auto-Numeração-Um número sequencial exclusivo (incrementado em 1).Este campo será iniciado do número 1 e a cada registo colocado ele aumentará de um em um. Os campos AutoNumeração não podem ser actualizados. Para obter maiores informações sobre, consulte o tópico da propriedade
Contador-Números sequenciais automaticamente inseridos pelo Access. A numeração inicia em 1. É um óptimo campo para chave primária.
Sim/Não-Sim/Não, Verdadeiro/Falso, Ativado/Desativado ou campos que conterão somente um de dois valores.
Objeto OLE-Objectos criados noutros programas com a utilização do protocolo OLE que poderão ser vinculados ou incorporados a um banco de dados do Access através de um controle em um formulário ou relatório.
Assistente de Pesquisa-Cria um campo que permite a você escolher um valor de uma outra tabela ou de uma lista de valores usando uma caixa de combinação. A escolha dessa opção na lista Tipo de Dados inicia o Assistente de Pesquisa para definir o tipo de dados.

quarta-feira, 18 de julho de 2007

Manual

Para quem está a iniciar no Access aconselho a ler primeiro este manual:

Manual de Access

É um manual bastante completo e fácil de entender. Explica como dar os primeiros passos se você estiver a utilizar uma base de dados pela primeira vez.
Muito útil, espero que gostem.

Introdução

O Access é um Banco de Dados Relacional. Ao contrário de muitos de seus competidores, o Access foi projetado desde o começo para ser um verdadeiro aplicativo do Windows. Ele não foi simplesmente transportado do DOS ou de outro sistema operacional que não implementava o mesmo comportamento, a mesma estrutura de menus ou outros recursos que você esperava dos aplicativos Windows. Tudo isso torna o Access um aplicativo muito fácil de aprender.
Os bancos de dados geralmente gerenciam os dados mais valiosos de uma empresa: os números, palavras e imagens que compõem as suas finanças, clientes e fornecedores, inventários e informações sobre pedidos. Um sistema de gerenciamento de banco de dados pobre pode até descontrolar este conjunto valioso, a ponto de causar atrasos, perder ou trocar pedidos e, pior de tudo, danificar ou perder informações.
No mercado de software para PC, muitos sistemas de gerenciamento de banco de dados competem entre si. O Access se sobressai na multidão destes aplicativos devido às seguintes razões:
- O Access é um sistema de gerenciamento de bancos de dados para usuário final.
- O Access fornece ferramentas de projeto poderosas.
- O Access é um poderoso sistema de bancos de dados relacional.
- A Ajuda está sempre disponível.
- O Access é um produto baseado no Windows.

by TemplatesForYou-TFY
SoSuechtig, Burajiru