Você está na página 1de 117

N D I C E

1. BANCO DE DADOS...................................................................................................................................................5 1.1. CONCEITO DE BANCO DE DADOS ...........................................................................................................................5 1.2. SISTEMA DE COMPUTAO .....................................................................................................................................6 Memria de longa durao.......................................................................................................................................6 Gerncia de Banco de Dados....................................................................................................................................7 1.3. SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD) ..........................................................................................7 Gerncia e gerenciadores .........................................................................................................................................7 Necessidade dos dados..............................................................................................................................................7 Abordagem de Sistmica ...........................................................................................................................................9 Abordagem Fsica .....................................................................................................................................................9 Tamanho .................................................................................................................................................................10 Entidade ..................................................................................................................................................................10 Tamanho .................................................................................................................................................................10 Registro ...................................................................................................................................................................10 Elaborao de modelo de dados.............................................................................................................................11 Integridade de dados...............................................................................................................................................11 Privacidade e segurana.........................................................................................................................................11 Agilidade e flexibilidade na obteno de informaes ...........................................................................................11 Padronizao ..........................................................................................................................................................12 1.4. OBJETOS ...............................................................................................................................................................12 O que objeto .........................................................................................................................................................12 Exemplo de objeto e suas instncias.......................................................................................................................12 Algumas regras sobre objetos.................................................................................................................................13 Sobre a natureza dos objetos ..................................................................................................................................13 1.4. ATIVIDADES ..........................................................................................................................................................14 2. MODELAGEM DE DADOS....................................................................................................................................21 2.1. TABELA.................................................................................................................................................................21 2.1.1. Definio.......................................................................................................................................................21 2.1.2. Propriedades.................................................................................................................................................22 2.2. DOMNIO ...............................................................................................................................................................23 2.2.1. Definio.......................................................................................................................................................23 2.2.2. Regra.............................................................................................................................................................23 2.2.3. Exposio......................................................................................................................................................24 2.2.4. Diretriz ..........................................................................................................................................................24 2.3. CONVENES E NOMENCLATURA .........................................................................................................................25 2.3.1. Regras ...........................................................................................................................................................25 2.3.2. Diretrizes.......................................................................................................................................................25 2.3.3. Definies .....................................................................................................................................................25 2.4. REGRAS ADICIONAIS .............................................................................................................................................27 2.4.1. Regra 1..........................................................................................................................................................27 2.4.2. Regra 2..........................................................................................................................................................27 2.4.3. Regra 3..........................................................................................................................................................28 2.4.4. Regra 4..........................................................................................................................................................28 2.5. VALORES DUPLICADOS .........................................................................................................................................29 2.5.1. Regra.............................................................................................................................................................29 2.6. VALORES NULOS ..................................................................................................................................................30 2.6.1. Regra.............................................................................................................................................................30 2.7. CHAVE PRIMRIA .................................................................................................................................................31 2.7.1. Regra 1..........................................................................................................................................................31 2.7.2. Regra 2..........................................................................................................................................................31

Banco de Dados e Access


2.7.3. Regra 3..........................................................................................................................................................31 2.7.4. Regra 4..........................................................................................................................................................31 2.7.5. Diretrizes.......................................................................................................................................................31 2.7.6. Regra 5..........................................................................................................................................................32 2.8. CHAVE ESTRANGEIRA ...........................................................................................................................................33 2.8.1. Regra 1..........................................................................................................................................................33 2.8.2. Regra 2..........................................................................................................................................................35 2.9. LER TABELAS .......................................................................................................................................................36 2.9.1. Exposio 1...................................................................................................................................................36 2.9.2. Exposio 2...................................................................................................................................................38 2.9.3. Exposio 3...................................................................................................................................................38 2.9.4. Exposio 4...................................................................................................................................................38 2.10. REVISO .............................................................................................................................................................39 2.10.1 Definio de Tabela .....................................................................................................................................39 2.10.2. Definio de Domnio .................................................................................................................................39 2.10.3. Definies para Colunas.............................................................................................................................39 2.10.4. Definio de Valor Duplicado ....................................................................................................................39 2.10.5. Definio de Valor Nulo .............................................................................................................................39 2.10.6. Definio de Chave Primria .....................................................................................................................39 2.10.7. Definio de Chave Estrangeira .................................................................................................................40 2.10.8. Comentrio Geral .......................................................................................................................................40 2.11. MODELO DE DADOS ............................................................................................................................................41 2.11.1. Definio de Modelo de Dados...................................................................................................................41 2.11.2. Construes.................................................................................................................................................41 2.11.3. Operadores .................................................................................................................................................41 2.11.4. Regras de Integridade.................................................................................................................................41 2.11.5. Reflexo sobre Tabelas e Entidades ...........................................................................................................41 2.12. ENTIDADES .........................................................................................................................................................42 2.12.1. Definio.....................................................................................................................................................42 2.12.2. Exposio....................................................................................................................................................42 2.13. ASSOCIAES .....................................................................................................................................................43 2.13.1. Definio.....................................................................................................................................................43 2.13.2. Exposio....................................................................................................................................................43 2.13.3. Associaes um-para-um........................................................................................................................44 2.13.4. Associaes um-para-muitos ..................................................................................................................45 2.13.5. Associaes muitos-para-muitos ............................................................................................................46 2.14. TABELAS ASSOCIATIVAS .....................................................................................................................................47 2.14.1. Definio.....................................................................................................................................................47 2.14.2. Regra...........................................................................................................................................................47 2.14.3. Exposio....................................................................................................................................................47 2.15. ATIVIDADES ........................................................................................................................................................49 ACCESS 2 E 2000 .........................................................................................................................................................52 1. INTRODUO ...........................................................................................................................................................52 1.1. Banco de dados ................................................................................................................................................52 1.2. Campo ..............................................................................................................................................................52 1.3. Registro ............................................................................................................................................................52 1.4. ndices ..............................................................................................................................................................52 1.5. Chave ...............................................................................................................................................................52 2. INICIANDO O ACCESS 2000 ......................................................................................................................................53 3. CRIANDO UM BANCO DE DADOS ..............................................................................................................................54 4. TABELAS ..................................................................................................................................................................55 5. NOME DO CAMPO.....................................................................................................................................................56 6. TIPO DE DADOS ........................................................................................................................................................56 6.1. Texto.................................................................................................................................................................56 6.2. Memorando ......................................................................................................................................................56 6.3. Nmero.............................................................................................................................................................56 6.4. Data/Hora ........................................................................................................................................................56 6.5. Moeda ..............................................................................................................................................................56 6.6. AutoNumerao ...............................................................................................................................................57 6.7. Sim/No............................................................................................................................................................57 Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

Banco de Dados e Access


6.8. Objeto OLE ......................................................................................................................................................57 6.9. Hyperlink..........................................................................................................................................................57 6.10. Assistente de pesquisa ....................................................................................................................................57 7. PROPRIEDADES DO CAMPO ......................................................................................................................................57 7.1. Tamanho do campo..........................................................................................................................................57 8. FORMATO.................................................................................................................................................................58 8.1. Texto e Memorando .........................................................................................................................................58 9. MSCARA DE ENTRADA ...........................................................................................................................................59 9.1. Casas decimais.................................................................................................................................................60 9.2. Legenda............................................................................................................................................................60 9.3. Valor padro....................................................................................................................................................60 9.4. Texto de validao ...........................................................................................................................................61 9.5. Requerido.........................................................................................................................................................61 9.6. Permitir comprimento zero ..............................................................................................................................61 9.7. Indexado...........................................................................................................................................................61 9.8. Compactao Unicode.....................................................................................................................................61 10. CHAVE PRIMRIA ..................................................................................................................................................61 11. DEFININDO UMA CHAVE PRIMRIA ........................................................................................................................62 12. INSERINDO DADOS NA TABELA ..............................................................................................................................62 13. EDITANDO A TABELA DE DADOS ............................................................................................................................63 14. CLASSIFICAO CRESCENTE DECRESCENTE ..........................................................................................................64 15. LOCALIZAR REGISTROS ..........................................................................................................................................64 16. EXCLUIR REGISTROS ..............................................................................................................................................65 17. EXCLUIR CAMPOS ..................................................................................................................................................65 18. INSERIR CAMPOS....................................................................................................................................................66 19. CONSULTAS ...........................................................................................................................................................66 20. CRIAR UMA CONSULTA..........................................................................................................................................66 21. SELEO DOS CAMPOS ..........................................................................................................................................67 22. CLASSIFICANDO A CONSULTA ................................................................................................................................68 23. EXIBIO DE CAMPOS............................................................................................................................................68 24. SALVAR A CONSULTA ............................................................................................................................................69 25. CRITRIOS DE PESQUISA ........................................................................................................................................69 26. CONSULTANDO VRIAS TABELAS ..........................................................................................................................70 27. SQL .......................................................................................................................................................................71 28. DECLARAES SQL...............................................................................................................................................71 Instruo SQL .........................................................................................................................................................71 29. RELACIONAMENTOS ...............................................................................................................................................72 30. FORMULRIOS .......................................................................................................................................................72 31. CRIANDO UM FORMULRIO ...................................................................................................................................73 32. ESTRUTURA DO FORMULRIO ................................................................................................................................76 33. ALTERAR APARNCIA DO TEXTO ...........................................................................................................................77 34. RTULO DO FORMULRIO ......................................................................................................................................78 35. EXIBIR FORMULRIO .............................................................................................................................................79 36. RELATRIOS ..........................................................................................................................................................79 37. CRIANDO UM RELATRIO ......................................................................................................................................79 38. ESTRUTURA DO RELATRIO ...................................................................................................................................84 39. IMPRIMINDO O RELATRIO.....................................................................................................................................86 40. MACROS ................................................................................................................................................................86 41. CRIAR UMA MACRO ..............................................................................................................................................87 42. CDIGO VISUAL BASIC NO MICROSOFT ACCESS....................................................................................................88 43. CRIAR CDIGO VISUAL BASIC................................................................................................................................88 1. NORMAS E PADRES ...........................................................................................................................................91 1.1. O POR QU ............................................................................................................................................................91 1.2. CONCEITO .............................................................................................................................................................91 1.3. OBJETIVOS ............................................................................................................................................................92 1.4. PREMISSAS FINAIS.................................................................................................................................................92 2. SIGLAS, ABREVIATURAS E REGRAS DEFINIDAS.........................................................................................93 2.1. CDIGOS DOS SISTEMAS .......................................................................................................................................93 2.2. NOMES DE TABELAS .............................................................................................................................................93 Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

Banco de Dados e Access


2.3. NOMES DE COLUNAS.............................................................................................................................................94 2.4. NOMES DE OBJETOS ..............................................................................................................................................95 3. NORMAS PARA PRODUTOS................................................................................................................................98 3.1. ANLISE................................................................................................................................................................98 3.2. PROGRAMAO ....................................................................................................................................................98 3.3. TELAS .................................................................................................................................................................101 3.4. MODELOS DE TELAS E PROGRAMAO ...............................................................................................................105 3.5. RELATRIOS .......................................................................................................................................................112 ANEXO 1 - TABELA DE MNEMNICOS .............................................................................................................113 ANEXO 2 CDIGOS FONTES..............................................................................................................................114 Macro Autoexec do Sistema CAU primeira a ser executada .............................................................................114 Script (mdulo) Anexa_Tabelas() do Sistema CAU ..............................................................................................115

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

Banco de Dados e Access

1 s os do ad Da eD de od co nc an Ba 1.. B
1.1. Conceito De Banco De Dados
O completo entendimento e aceitao de uma terminologia, passa por um processo muito maior do que possam pensar alguns. Vamos tomar como exemplo o Sistema Mtrico Decimal. Uma srie de estudos desenvolvidos por diversos cientistas teve de ser empreendido, para que a terminologia ganhasse uma definio, que por sua vez, seria estabelecida como padro internacionalmente reconhecido e aceito, ainda que, sujeito a revises peridicas que pudessem forar sua modificao. Um Banco de Dados constitudo de um conjunto de tabelas relacionadas entre si. Estes relacionamentos so regras implementadas atravs de funes especficas de cada SGBD, e que disponibilizam os dados a partir destas regras conforme eles so solicitados e as regras so aplicadas (Figura 4).

Representa a relao entre as tabelas

Figura 4
Examinemos agora alguns conceitos bastante aceitos sobre Banco de Dados e faamos sobre eles alguns comentrios, esquemas e dedues.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

Banco de Dados e Access

1.2. Sistema de Computao

Na Figura 25, temos uma representao grfica clssica de um Sistema de Computao, que assinalada por cinco elementos bsicos: (1) Entrada Padro - Standard Input - por onde os dados so inseridos no (2) Processador Central - CPU - para que sejam processados. (3) Memria Voltil utilizada pela CPU para armazenamento temporrio dos dados que sero processados e dos seus resultados antes de sua gravao na (4) Memria de Massa, que far o armazenamento permanente do dados processados. (5) Sada Padro - Standard Output - por onde os dados processados sero exibidos.
Entrada Padro (STD. IN) Sada Padro (STD. OUT)

Memria de Massa

Processador Central (CPU)

Memria Voltil

Figura 25
Para cada um destes 5 elementos temos uma referncia real com equipamentos de informtica do nosso dia-a-dia. (1) Entrada Padro - Standard Input - Teclado (2) CPU - Processador Central (3) Memria Voltil - a memria de trabalho do computador (4) Memria de Massa - Fitas, Hard Disk (winchester), Disquetes, CD-ROM. (5) Sada Padro - Standard Output - Monitor de Vdeo ou Impressora.

Memria de longa durao


So os elementos fsicos representantes da Memria de Massa do Sistema de Computao, ilustrados na Figura 26 em algumas de suas formas mais comuns.

Fita

Winchester

Disquetes

CD

Papiro Anotaes

Caderno

Figura 26

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

Banco de Dados e Access Gerncia de Banco de Dados


O significado da palavra gerncia, claramente definido no dicionrio em toda a sua abrangncia, est inserido como termo tcnico da Cincia da Informao Vamos fazer uma extrapolao deste termo e dar a ele uma evidncia clara e inequvoca de como causador de reflexos fortes e decisivos na tecnologia de Banco de Dados

1.3. Sistema gerenciador de banco de dados (SGBD)


Corresponde a um conjunto de programas para administrar o Banco de Dados. Estes programas preocupam-se em manter o acesso aos dados do banco de dados o mais simples possvel. Geralmente um SGBD baseado em um computador servidor de alta performance e alto grau de segurana.
Um sistema de Banco de Dados corresponde ao conjunto composto de pelo menos Banco de Dados e SGBD. O ambiente de Banco de Dados pode ser considerado como composto pelos seguintes elementos: 1 Dados de fonte 2 SGBD 3 Banco de Dados (armazenado) 4 Administrador do Banco de Dados (e instrumentos) 5 Modelo de dados 6 Submodelos de dados 7 Comunidade de usurios 8 Normas e procedimentos de operao

Gerncia e gerenciadores
Quando um software desenvolvido com o propsito de desempenhar a funo de Gerenciador de Banco de Dados, o mnimo que se espera dele que ele faa bem o seu papel, oferecendo ao desenvolvedor e usurios em geral ferramentas poderosas, eficientes, amigveis e ergonmicas. Poder de um SGBD O poder de uma ferramenta determinado pela capacidade que ela oferece de executar tarefas das mais simples as mais complexas com segurana e simplicidade. Eficincia de um SGBD A eficincia de uma ferramenta determinada pela sua capacidade de desempenhar, e bem, o papel ao qual se prope. Amigabilidade de um SGBD A amigabilidade de uma ferramenta determinada pela simplicidade e eficcia oferecidas em para sua operao. Ergonomia de um SGBD A ergonomia de uma ferramenta determinada pela facilidade que ela oferece em ser adaptada s necessidades, trejeitos e excentricidades de seu usurio.

Necessidade dos dados


Ns vivemos a era da informao. A Terra pode at girar em torno do Sol, mas antes de mais nada o nosso mundo gira em torno da informao. No podemos colocar em dvida que a coisa mais importante na era atual a informao. O homem sabendo disto, criou ao longo dos anos mecanismos para torn-la mais acessvel, mais pblica, mais notria. Assistimos diariamente instituies financeiras levando literalmente o acesso dos seus Bancos de Dados para dentro das empresas e dos lares de todo o mundo. Seja atravs de linhas telefnicas, telex, fax, terminais de computadores, Internet, o que importa a criao de uma linha direta de acesso a informao. Edisoft - Edies Informatizadas Ltda.
BDAccess.DOC

25/01/2001

Banco de Dados e Access


Esta linha direta atende a necessidade primria do usurio/cliente. O acesso informao. importante destacar que os termos informao e dado no devem ser confundidos. Para tanto vamos conceitu-los para que possamos utiliz-los e entend-los da forma correta. Dado Elemento conhecido e certo que se presta soluo de um problema qualquer como elemento componente da equao, ou em resposta de uma dvida elementar. Por exemplo para a pergunta: Qual sua idade? O dado que a responde nico e inequvoco, o nmero 30. Informao Ato ou efeito de informar atravs de um conjunto de dados dispostos de maneira adequada cada problema, dando ento resposta ao problema, porm susceptvel de interpretao e anlise. Por exemplo para o problema: Quantos e quais so, em ordem alfabtica, os funcionrios que fazem aniversrio no ms de outubro? A informao que responder a este problema mais complexa do que um simples nmero. Os dados que respondem este problema formam uma lista com diversos nomes ou mesmo nenhum (se no houver ningum que faa aniversrio no ms de outubro), e isto uma informao.

Revisando - Dados e informao


Dados e informao possuem diversas definies e interpretaes, conforme cada autor. As consideraes seguintes so colocadas segundo o interesse do Sistema de Informao, onde os Bancos de Dados assumem um papel de relevncia. Informao dado que foi processado por um determinado sistema e obtida numa forma tal que tenha utilidade para o usurio receptor, seja para a execuo de tarefas ou para a tomada de decises (Figura 5).

Meio de Armazenamento

Sistema de Processamento

Informao

Dados

Ao e deciso

Figura 5

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

Banco de Dados e Access Abordagem de Sistmica


Um conjunto de informaes para um determinado usurio A pode no constituir informao para o usurio B, inclusive pode constituir um conjunto de dados para este ltimo.
Entrada Notas dos alunos Processamento Sada Viso do usurio pai do aluno Viso do usurio professor

Sistema de clculo Boletim Dar aquela moto de Aprovao, reprovao de mdias presente ou no direta ou recuperao.

Se o sistema de processamento de dados envolve um sistema de computao eletrnica, normalmente os dados e informaes obedecem a um conjunto bem definido de regras de tamanho e formato.

Neste caso, temos como entrada um conjunto de itens de dados e na sada um conjunto de itens de informao.

Abordagem Fsica
As consideraes de dados e informaes aqui expostas so feitas com relao a um sistema de processamento de informao. No entanto, quando consideramos as informaes como abstraes mentais de uma realidade qualquer, e desejamos efetuar um modelo representativo no meio de armazenamento do sistema computador, ento usamos uma estrutura ou modelo de dados. Neste sentido, os dados so utilizados mais como meio de representao do que destinados a regras de transformao por sistemas de processamento. Com o aumento da utilizao de sistemas de banco de dados, muitas reas correlatas em processamento de dados esto sofrendo revises, com a finalidade de melhor aproveitar as vantagens desta nova tecnologia de software. Uma das reas que se vem transformando, refere-se rea de anlise e projeto de sistemas com vistas utilizao de banco de dados. Em contraste aos mtodos tradicionais de implantao de sistemas estanques, onde predomina a produo de determinados relatrios atravs de um conjunto de programas, a anlise e projeto de sistemas de informao com base em banco de dados tem demandado uma outra linha de anlise. de suma importncia que seja bem analisado e projetado o seu ncleo de informaes na forma de estrutura de dados, utilizvel por diversas aplicaes. O projeto de uma estrutura tima de dados impe uma nova metodologia na anlise das informaes envolvidas. Assim, ao se projetar um Banco de Dados, o qual dever conter as informaes sobre uma determinada organizao ou empreendimento, deve-se examinar as seguintes etapas:
1. Identificar as entidades mais relevantes ou representativas da organizao. As entidades podem ser pessoa, lugar, coisa ou evento. 2. Identificar as propriedades mais notveis ou de interesse das entidades escolhidas. 3. Estabelecer os atributos correspondentes s propriedades. Tais atributos consistem nas diversas classes de informao que caracterizam as propriedades das entidades. Neste plano de informao a anlise estritamente conceitual, formada na mente do analista.

A escolha de entidades e atributos no tarefa fcil; a relevncia das mesmas depende da pessoa que est analisando; diversos analistas podem denominar uma mesma entidade ou atributo por nomes diferentes, ou ento diversas entidades ou diversos atributos com o mesmo nome. Determinar para cada entidade os atributos correspondentes e assinalar determinados atributos como sendo os identificadores da entidade, e os atributos que no so identificadores mas que qualificam a entidade. Por exemplo:

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

Banco de Dados e Access


Atributo Nmero de Matrcula Nome Sexo Data de Nascimento Estado Civil Endereo Telefone Residencial Nome da Escola Srie Sala Turma Turno

Tamanho
8 35 1 8 1 45 12 45 1 2 1 1

Formato Numrico Alfabtico Alfabtico Numrico Alfabtico Alfanumrico Numrico Alfanumrico Numrico Numrico Alfabtico Alfabtico

Domnio M ou F S, C, V, D ou A 1 at 8 M, T ou N

Tipo Identificador Qualificador Qualificador Qualificador Qualificador Qualificador Qualificador Qualificador Qualificador Qualificador Qualificador Qualificador

Entidade
Tambm chamada de tabela ou arquivo lgico, corresponde a um conjunto de itens de dado e constitui por si s a descrio de um objeto (geralmente do mundo real) que pode ser representada de forma abstrata.

Por exemplo, para descrever um aluno que estuda em uma escola precisamos dos seguintes itens de dado para compor a entidade ALUNO:
Atributo Nmero de Matrcula Nome Sexo Data de Nascimento Estado Civil Endereo Telefone Residencial Nome da Escola Srie Sala Turma Turno

Tamanho
8 35 1 8 1 45 12 45 1 2 1 1

Formato Numrico Alfabtico Alfabtico Numrico Alfabtico Alfanumrico Numrico Alfanumrico Numrico Numrico Alfabtico Alfabtico

Domnio M ou F S, C, V, D ou A 1 at 8 M, T ou N

Registro
Tambm chamado de record ou linha, um registro consiste num conjunto de itens de dados que reunidos caracterizam uma ocorrncia de informaes de uma entidade. Veja na Figura 2 um exemplo.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

10

Banco de Dados e Access


Considerando o conjunto temos um Registro

Figura 2 Elaborao de modelo de dados


A complexidade de um Banco de Dados reside mais na sua elaborao do que em sua criao e manuteno. O processo que antecede a criao efetiva de um Banco de Dados, denomina-se modelagem de dados. no processo da modelagem que o Analista de Sistemas, de posse de todos os levantamentos e entrevistas feitas com os usurios do sistema, define quais sero os dados necessrios e como eles sero organizados em tabelas e ainda como estas tabelas sero relacionadas para atender as necessidades do negcio. As necessidades do negcio so chamadas de Regras de Negcio. So estas regras que definem a forma pela qual os dados devem ser organizados dentro do Banco de Dados para que atendam o dia-a-dia do usurio.

Integridade de dados
A integridade dos dados est ligada a sua confiabilidade total. Por exemplo: um Banco de Dados, cujas tabelas faam o registro de lanamentos de uma conta corrente dos clientes de um banco. Se o cliente fizer uma consulta de saldo ou solicitar um extrato de sua conta corrente, jamais poder acontecer uma falha. A preciso deve ser de 100%. Para garantir esta integridade de dados, o SGBD deve possuir mecanismos de controle infalveis. Imagine um depsito feito por um cliente sendo creditado para outro ou um cheque sendo devolvido por insuficincia de fundos quando na verdade tinha fundos.

Privacidade e segurana
To importante quanto a integridade dos dados a segurana que preciso ter quanto ao acesso aos dados. A natureza das informaes normalmente so sigilosas: saldo de conta corrente, investimentos, senhas de acesso, relao de clientes devedores e diversos outras. O acesso informao s deve ser permitido queles que possuam sua autenticao atravs do nome de usurio de sua senha pessoal.

Agilidade e flexibilidade na obteno de informaes


No existe nada mais irritante para um usurio do que o tempo de espera para obter uma informao, no importa se no seu computador em casa, no caixa eletrnico ao consultar seu saldo ou pedir extrato, na Internet quando esta acessando aquele site interessante, os SGBDs de vem oferecer flexibilidade (permitir obter a informao de diversas formas) e agilidade permitir que as informaes cheguem com rapidez).

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

11

Banco de Dados e Access Padronizao


Um SGBD deve oferecer uma forma padronizada de acesso aos dados, para que se ganhe independncia de plataforma e desta forma agilidade para obteno da informao. Esta padronizao vai alm das fronteiras do acesso e passa pela coerncia que devem ter analistas, DBAs e programadores em geral ao projetar um Banco de Dados, para que ele no se transforme em uma amontoado de cdigo que ningum consiga entender ou consultar de maneira interativa. Veja o captulo Normas e Padres para entender mais sobre esta necessidade.

1.4. Objetos

No universo das atividades empresariais e quaisquer outras atividades que venhamos a desempenhar ou empreender, tudo gira em torno de objetos que so utilizados corriqueiramente e dos quais, na maioria das vezes, no nos damos conta. Por isso, e tambm para facilitar o entendimento de alguns elementos que sero utilizados mais adiante no estudo de Banco de Dados, veremos um conjunto de conceitos (novos para alguns, mas velhos na verdade), que devem ser do inteiro conhecimento de todos que querem entender objetos. O que faremos na verdade simplesmente dar nomes e enunciar algumas regras que cercam o conceito de objetos. A tecnologia da informao evoluiu muito e no podemos negligenciar a utilizao destas novas tcnicas, sejam para aprimorar o tratamento dos dados, sua organizao ou forma de recuperao, independente do meio que seja utilizado para tal. Para tanto o entendimento dos seus fundamentos e sua aplicabilidade sero agora discutidas, procurando inici-lo nesta forma de pensar a organizao dos dados no dia-a-dia do seu trabalho seja ele qual for.

O que objeto
Objeto um conjunto de coisas tangveis ou abstratas, que possuam as mesmas caractersticas e que estejam sujeitas s mesmas normas. As coisas tangveis ou abstratas que podem compor um conjunto so chamadas de instncias do objeto.

Exemplo de objeto e suas instncias


Objeto FERRAMENTAS DE ESCRITA MANUAL= {Lpis preto HB, Lpis de cor vermelho, Lpis de carpinteiro} formam um conjunto de coisas do mundo real. O Lpis preto HB uma das instncias do objeto FERRAMENTAS DE ESCRITA MANUAL. Se montarmos uma tabela que represente o objeto FERRAMENTAS DE ESCRITA MANUAL e completarmos com as instncias citadas teremos explcito na definio ...que possuam as mesmas caractersticas... e teremos implcito que nenhum elemento da tabela pode estar em branco e que no podemos ter dados estranhos ao conjunto. Com isto em mente a Tabela 1.1 vlida: Tipo HB de cor de carpinteiro Tabela 1.1 Cor preto vermelho preto Utilizao mais comum escrever pintar marcar madeira para corte

Dados explcitos vlidos para o objeto.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

12

Banco de Dados e Access


J a Tabela 1.2 invlida pois possui dados estranhos ao conjunto e tambm dados em branco: Tipo HB Teclado de carpinteiro Tabela 1.2 Instncia o dado em si. Instncia do objeto EMPREGADO a pessoa em si. o Joo das Dores. Instncia do objeto CLIENTE o cliente em si, digamos, o Banco do Brasil. Instncia do objeto PEA a pea em si, digamos o Parafuso. Cor preto ? preto Utilizao mais comum escrever digitao marcar madeira para corte

Dados explcitos invlidos para o objeto.

Algumas regras sobre objetos


Um objeto pode armazenar dados Um objeto pode armazenar operaes Estas operaes podem manipular os dados nele armazenados ou dados externos Um objeto pode ser composto de outros objetos Um objeto deve possuir um ciclo de vida definido Um objeto pode ser tangvel (existir de fato), ou abstrato (ser fruto da imaginao) Um objeto deve possuir um nome que o identifique e diferencie perante os demais Uma mesma instncia pode estar presente em n objetos Um objeto pode dar origem a outros objetos (gerar descendentes) Um objeto descendente de outro deve ter pelo menos o nome diferente Um objeto deve ter um objetivo definido antes de iniciar o seu ciclo de vida Um objeto deve ter pelo menos uma instncia

Sobre a natureza dos objetos


Objetos so tangveis ou abstratos, e esto ligados s coisas que eles se referem ao nvel de suas instncias existirem de fato ou imaginrias (existem somente na imaginao do seu criador). Quando pensarmos desta forma, estaremos orientando o nosso raciocnio ao que acreditamos existir, os objetos e suas instncias, e a isto vamos chamar de Pensamento Orientado Objetos (POO).

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

13

Banco de Dados e Access

1.4. Atividades

Vamos praticar os conceitos vistos at agora, desenvolvendo um pequeno conjunto de tabelas com o Access 2000. Siga os passos e as imagens bsicas de cada tabela e reproduza no Access. 1o passo: abra o Access 2000 clicando no cone da Figura 6.

Figura 6
2o passo: escolha a opo banco de dados vazio e clique OK (Figura 7).

Figura 7

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

14

Banco de Dados e Access


3o passo: clique OK novamente ao aparecer a janela da Figura 8.

Figura 8
4o passo: informe o nome do novo Banco de Dados Access conforme Figura 9 e clique em Criar.

Figura 9

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

15

Banco de Dados e Access


5o passo: a janela vazia da Figura 10 ser exibida

Figura 10
6o passo: clique em Novo e escolha modo estrutura e clique OK (Figura 11).

Figura 11

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

16

Banco de Dados e Access


7o passo: digite os dados para a tabela de alunos conforme Figura 12. Name = Nome do campo Type = Tipo de dados Size = Tamanho do campo (detalhe na Figura 13)

Figura 12
Informe aqui o Tamanho do campo

Figura 13

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

17

Banco de Dados e Access


8o passo: salve a tabela com o nome Estudantes clicando em salvar (Figura 14). Depois de salvar a tabela est pronta para ser utilizada para digitao dos dados.
Clique aqui para salvar

Digite aqui o nome da tabela e clique OK

Figura 14
9o passo: digite alguns dados no modo formulrio clicando em abrir (Figura 15 e Figura 16).

Clique sobre o nomes da tabela para selecionar

Clique em abrir para iniciar a digitao

Figura 15

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

18

Banco de Dados e Access


Digite os dados

Figura 16

Repita agora os passos 6 a 9 para criar as tabelas ilustradas nas Figuras 17, 18 e 19, fazendo em seguida a entrada de dados.

Figura 17

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

19

Banco de Dados e Access

Figura 18

Figura 19

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

20

Banco de Dados e Access

2 s os do ad Da eD de md em ge ag ella de od Mo 2.. M
2.1. Tabela
2.1.1. Definio
Uma tabela uma representao grfica bi-dimensional de dados, composta de colunas e linhas. Exemplo Tabela de Departamentos Departamento CdigoDepartamento Vendas Compras Pessoal NomeDepartamento Vendas Compras Pessoal

Esta tabela tem duas colunas e trs linhas. O nome da tabela departamento. As colunas da tabela so chamadas de CdigoDepartamento e NomeDepartamento. A primeira linha dessa tabela apresenta o departamento de vendas, a segunda, o departamento de compras e assim por diante. Exerccio 1 Empregado CdigoEmpregado 1 2 3 4 NomeEmpregado Joo Jos Maria Roberto CdigoDepartamento Vendas Compras Vendas Vendas

1. Qual o nome da tabela? R.: 2. Quantas colunas? R.: 3. Qual o cdigo do empregado Roberto? R.: 4. Usando tambm a tabela de departamentos do exemplo anterior. Qual o nome do departamento em que Joo trabalha? R.: 5. Quantos empregados trabalham no departamento de vendas? R.:

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

21

Banco de Dados e Access


6. Qual o departamento que tem mais empregados? R.: 7. Qual departamento que tem menos? R.: Respostas 1. Empregado, 2. 3,

3. 4,

4. Vendas,

5. 3,

6. Departamento de vendas,

7. Pessoal.

2.1.2. Propriedades
Existem trs importantes propriedades de tabelas: 1. Simplicidade Tabelas so familiares e auto-explicativas. A maioria das pessoas j usou, 0u pelo menos, j teve contato com tabulaes de dados em tabelas. No foi necessrio um treinamento especializado para que voc respondesse, corretamente, as questes do exerccio anterior. 2. Preciso Tabelas no possuem ambiguidades. Havia uma, somente uma, resposta correta para cada uma das questes do exerccio anterior. 3. Flexibilidade Tabelas no mostram somente a estrutura dos dados, mas tambm os exemplos. Exemplo Tabela mostrando somente a estrutura de dados: Categoria CdigoCategoria NomeCategoria

Tabela mostrando a estrutura de dados e seus exemplos: Categoria CdigoCategoria 1 2 3 4 5 NomeCategoria timo Bom Regular Mau Pssimo

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

22

Banco de Dados e Access

2.2. Domnio
2.2.1. Definio
Um domnio um tipo fundamental de informao de um sistema. Colunas so baseadas em domnios ou geradas por eles. Mais de uma coluna pode ser baseada no mesmo domnio.

2.2.2. Regra
Duas colunas so baseadas no mesmo domnio se os valores correspondentes de cada se referem a mesma pessoa, coisa ou lugar do mundo real. Exemplo Cinco colunas, quatro domnios: Departamento CdigoDpto Vendas Compras Pessoal NomeDpto Vendas Compras Pessoal

Empregado CdigoEmpreg NomeEmpreg 1 2 3 Joo Jos Maria CdigoDpto Vendas Compras Vendas

Domnios CdigoDpto, NomeDpto, CdigoEmpreg, NomeEmpreg A coluna CdigoDpto na tabela Departamento e a coluna CdigoDpto da tabela Empregado esto ambos baseadas no mesmo domnio CdigoDpto, desde que os valores de ambas as colunas correspondam ao mesmo departamento. Quatro colunas, trs domnios: Cliente CdigoCliente 1 2 NomeCliente Maria Maria Pedido CdigoPedido 1 2 CdigoCliente 1 1

CdigoCliente, NomeCliente, CdigoPedido. A coluna CdigoCliente na tabela Cliente e CdigoCliente da tabela Pedido so ambas baseadas no mesmo domnio CdigoCliente, desde que os valores de ambas as colunas correspondam ao mesmo cliente.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

23

Banco de Dados e Access

Exerccio 2 Liste os domnios da seguinte tabela: Empregado CdigoEmpreg 1 2 3 4 NomeEmpreg Joo Jos Maria Roberto DataAdmisso 15/01/82 15/07/83 22/02/80 12/01/82 DataNascimento 15/07/53 11/09/48 06/07/61 06/07/61 SalrioEmpreg 5.000,00 4.762,90 3.910,90 7.890,00

Exerccio 3 Liste os domnios das seguintes tabelas: Pedido CdigoPedido 1 2 3 4 Pea CdigoPedido 1 2 3 4 5 PedidoPorPea CdigoPedido 1 1 2 3 4 CdigoPea 2 3 5 1 1 QuantidadePedida QuantidadeRemetida 100 80 340 1.500 3.000 100 78 340 1.500 3.000 NomePea Porca Parafuso Arruela Chave Caixa CustoPea 15,00 37,70 12,00 87,00 114,90 PreoPea 18,00 56,00 21,00 134,00 237,00 TipoPagamento vista 30 dias 30 dias vista DataEmisso 15/01/89 15/01/89 16/01/89 16/01/89 DataRemessa 25/01/89 25/01/89 26/01/89 27/01/89 ValorTotal 5.000,00 4.762,90 3.910,90 7.890,00

2.2.3. Exposio
Domnios so fundamentais para o modelo relacional, porque definem comparaes vlidas entre tabelas. Os domnios mostram homnimos e sinnimos, fazendo com que o escopo do sistema esteja sempre sob controle.

2.2.4. Diretriz
A quantidade de domnios deve ser minimizada.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

24

Banco de Dados e Access

2.3. Convenes e Nomenclatura


2.3.1. Regras
Nomes de tabelas devem ser nicos dentro de um sistema. Nomes de colunas devem ser nicos dentro de uma tabela.

2.3.2. Diretrizes
1. Selecione nomes de tabelas e colunas com muito cuidado.
Nomes de tabelas e colunas no s identificam, mas tambm descrevem cada tabela e cada coluna. Nomes de tabelas e colunas so referenciados por toda a documentao do sistema. Nome de tabelas e colunas aparecem em terminais e listagens do sistema

2. Selecione nomes de tabelas e colunas com o usurio.


Os usurios do sistema esto, geralmente, mais familiarizados com a terminologia de suas informaes do que o analista de sistemas. Os usurios do sistema vo usar estes nomes para se comunicar com sistema enquanto o sistema existir.

3. Use nomes de tabelas e colunas o mais curto possvel.


Nomes de tabelas e colunas so freqentemente referenciados nas conversaes, como tambm em toda a documentao escrita.

4. Use nomes no singular.


A experincia mostra que o modo singular mais apropriado para dar nomes a tabelas e colunas.

5. Se possvel, use nomes de domnios sem qualificao.


A qualificao deveria ser colocada aps o nome do domnio, quando presente.

2.3.3. Definies
Um nome qualificado de coluna : NomeDoDomnio.qualificador Um nome totalmente qualificado de coluna : NomeDaTabela.NomeDoDomnio.qualificador Exemplo Os nomes de domnios que normalmente precisam de qualificao so: Data, Hora/Minuto, Quantidade, Valor. Nomes de colunas tipicamente qualificadas: DataNascimento, DataAdmisso, DataPedido HoraEfetivao, HoraEntrada, HoraIncio QuantidadeMxima, QuantidadeRemetida ValorMdio, ValorSalrio, ValorPreo Nomes de colunas totalmente qualificados: Empregado.DataNascimento, Pedido.DataEmisso Empregado.HoraExtra, Empregado.HoraAlmoo Pedido.QuantidadePedida, Pedido.QuantidadeRemetida Pedido.ValorPreo, Pedido.ValorCotado

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

25

Banco de Dados e Access


Exerccio 4 Complete a tabela abaixo determinando os domnios e definindo nomes qualificados para os dados informados: Exerccio 4 Item Dados Nome do empregado Cdigo do empregado Data do nascimento Data da admisso Salrio bruto Imposto federal Imposto estadual salrio liquido Cdigo do gerente Data da demisso Valor da deduo Nome Domnio Nome Coluna

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

26

Banco de Dados e Access

2.4. Regras Adicionais


2.4.1. Regra 1
Domnios (conseqentemente colunas), devem ser itens que no podem ser decompostos. Exemplo O nmero da conta: 22 - 04 - 6792 Cdigo do cliente Cdigo da subconta Cdigo da conta

Deveria ser representado pela tabela abaixo: Departamento CdigoConta 22 CdigoSubConta 04 CdigoCliente 6792

Nota Por convenincia, os domnios de Data e Hora so reconhecidamente excees a esta regra. entendido que o Domnio data dividido em trs domnios distintos (Dia, Ms, Ano) e o domnio Hora tambm dividido em trs domnios diferentes (Hora, Minuto, Segundo).

2.4.2. Regra 2
A ordem das colunas de uma tabela deve ser arbitrria. Exemplo As tabelas abaixo no so vlidas porque as colunas no podem ser rearranjadas sem que os dados nelas contidos percam seu significado.

VendaPorEmpregado CdigoConta Venda Pedido CdigoPedido Pedido Pea Detalhe do Pedido 9 Ocorrncias Quantidade Pea Quantidade Pea ... Quantidade dos ltimos 6 meses Venda Venda Venda Venda Venda

Exposio Note que se a ordem das colunas de uma tabela no for arbitrria, devero aparecer uma ou mais das propriedades indesejveis, descritas a seguir:

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

27

Banco de Dados e Access


Dados implcitos; Nmero limitado de ocorrncias; Manuteno anormal obrigando a remanejamento de dados quando o total das ocorrncias for atingido; Anomalia de recuperao (leitura), porque a posio atual (ou a ltima posio) imprevisvel.

2.4.3. Regra 3
A ordem das linhas na tabela deve ser arbitrria. Exemplos A tabela abaixo no vlida pois suas linhas no podem ser rearranjadas sem alterar o significado dos dados. Histrico.Salrio CdigoEmpreg 1 1 1 2 2 2 ValorSalrio 5.000,00 4.000,00 3.000,00 3.000,00 2.000,00 1.000,00

2.4.4. Regra 4
Cada linha na tabela deve ser nica. Exemplo Tabela abaixo no vlida pois suas linhas no so sempre nicas (ver empregado 3). Histrico.Salrio CdigoEmpreg 1 1 1 2 2 2 3 3 3 ValorSalrio 5.000,00 3.750,00 2.100,00 3.450,00 2.310,00 1.500,00 7.800,00 4,600,00 4,600,00

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

28

Banco de Dados e Access

2.5. Valores Duplicados


Definio Um valor duplicado um valor, ou um grupo de valores que exatamente igual a um valor ou grupo de valores, em linhas da mesma coluna (colunas).

2.5.1. Regra
Colunas ou grupo de colunas, assinaladas com a sigla ND (no duplicates), no podem tem valores iguais. Exerccio 5 Assinale as violaes acima na seguinte tabela: Empregado CdigoEmpreg ND 1 2 2 4 NomeEmpreg ND Joo Joo Jos Roberto 2 2 1 53/07/15 48/09/11 61/07/06 53/12/22 7.890,00 5.000,00 10.000,00 CdigoCategoria DataNascimento SalrioEmpreg

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

29

Banco de Dados e Access

2.6. Valores Nulos


Definio Um valor nulo uma lacuna de uma tabela, isto , uma entrada que no existe. Valores nulos significam desconhecimento e no devem ser confundidos com zeros ou espaos. A equivalncia de dois valores nulos indeterminada, isto , dois valores nulos no so necessariamente iguais.

2.6.1. Regra
Colunas ou grupo de colunas assinaladas com a sigla NN (not null) no podem ter valores nulos. Exerccio 6 Indique valores nulos, na tabela abaixo, com o sinal - e mostre as violaes das regras ND e NN. Empregado CdigoEmpreg ND, NN 1 1 2 4 Roberto Joo 2 2 NomeEmpreg ND 1 53/07/15 48/09/11 61/07/06 53/12/22 7.890,00 CdigoCategoria DataNascimento SalrioEmpreg NN 5.000,00 0.000,00

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

30

Banco de Dados e Access

2.7. Chave Primria


Definio Uma chave primria uma coluna ou um grupo de colunas que assegura a unicidade das linhas dentro de uma tabela. Uma chave primria que tenha mais de uma coluna chamada de chave primria composta. Chaves primrias no implicam em sequncia de acesso.

2.7.1. Regra 1
Chaves primrias so indicadas pela sigla PK (primary key), imediatamente abaixo do cabealho da coluna apropriada. Exemplo Assumindo que CdigoEmpreg seja sempre nico: Empregado CdigoEmpreg PK Obs: Nem toda chave nica PK, mas toda PK chave nica. Exemplo Assumindo que a combinao de Cdigo.Pedido e Cdigo.Pea seja sempre nica: PeaPorPedido CdigoPedido PK Mudana (alterao) de dado que PK, significa excluso. CdigoPea QuantidadePedida QuantidadeRemetida ValorUnitrio NomeEmpreg CdigoCategoria DataNascimento SalrioEmpreg

2.7.2. Regra 2
Valores de chaves primrias no podem ser nulos (PK implica em NN). Valores de chaves primrias no podem ser nulos porque uma linha sem chave primria no pode ser distinguida de outra linha na mesma tabela.

2.7.3. Regra 3
Colunas com chaves primrias no podem conter valores duplicados, PK implica em ND, por definio.

2.7.4. Regra 4
Chaves primrias no podem ser alteradas, (NC = no change) PK implica em NC. Esta regra freqentemente objeto de debates entre os tericos dos banco de dados relacionais. Em certos casos parecem ser viveis modificaes em algumas chaves primrias compostas. Em termos gerais porm, recomendvel manter-se fiel a esta regra.

2.7.5. Diretrizes
1. Selecione chaves primrias absolutamente disciplinadas e que permaneam nicas. Chaves primrias devem ser designadas de uma nica maneira muito disciplinada e de uma nica fonte. Chaves primrias atribudas pelo sistema so ideais. Edisoft - Edies Informatizadas Ltda.
BDAccess.DOC

25/01/2001

31

Banco de Dados e Access


2. Selecione chaves gerais que no tenham qualquer tendncia de alteraes. No uma boa idia incluir atributos descritivos em uma chave primria, pois ela tem tendncia de mudar cada vez que o atributo mudar. Uma exposio mais detalhada a respeito desta diretriz ser feita no tpico Chaves Inteligentes. 3. Se possvel, selecione chaves primrias compactas. Chaves primrias so frequentemente usadas e referenciadas no sistema. Usurio e sistemas podem ser afetados negativamente por chaves muito grandes. 4. Selecione chaves primrias numricas. Chaves primrias numricas so mais fceis de acessar e gerenciar. Um nmero mais facilmente disponvel somando-se um a mais ao nmero j existente. Alm disso, nmeros so mais fceis de serem guardados em comunicaes verbais. Para uma possvel exceo a esta diretriz, veja o tpico Entidade Menores. 5. Selecione chaves primrias que so familiares ao usurio do sistema. Sempre que possvel use os cdigos j existentes, os identificadores etc. Esta diretriz, no entanto, no deve ser praticada em detrimento das outras diretrizes.

2.7.6. Regra 5
Chaves primrias que so atribudas pelo sistema so identificadas pela sigla SA (system assigned), logo abaixo do cabealho da coluna correspondente.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

32

Banco de Dados e Access

2.8. Chave Estrangeira


Definio Uma chave estrangeira uma coluna ou um grupo de colunas que pode ou no fazer parte da chave primria de uma tabela, mas certamente chave primria de uma outra tabela. Uma chave estrangeira composta de mais de uma coluna chamada de chave estrangeira composta.

2.8.1. Regra 1
Chaves estrangeiras so indicadas pela sigla FK (foreign key) abaixo do cabealho da coluna apropriada. Exemplo Empregado.CdigoDpto uma chave estrangeira j que no chave primria na tabela Empregado, mas baseada no mesmo domnio da chave primria da tabela Departamento. Departamento CdigoDpto PK Empregado CdigoEmpreg PK NomeEmpreg CdigoDpto FK NomeDpto

Exemplo Pedido.CdigoCliente uma chave estrangeira j que no chave primria na tabela Pedido, mas baseada no mesmo domnio da chave primria da tabela Cliente. Cliente CdigoCliente PK Pedido CdigoPedido PK CdigoCliente FK NomeCliente

Exerccio 7 Localize as chaves estrangeiras das seguintes tabelas. Edifcio NmeroEdifcio PK Departamento CdigoDpto PK NomeDpto NmeroEdifcio NomeEdifcio

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

33

Banco de Dados e Access

Gerente NmeroGerente PK NomeGerente

Projeto CdigoProjeto PK NomeProjeto NmeroGerente

Exerccio 8 Localize as chaves estrangeiras das seguintes tabelas. Pedido CdigoPedido PK TipoPagamento DataEmisso DataRemessa ValorTotal

Pea CdigoPea PK NomePea CustoPea PreoPea

PeaPorPedido CdigoPedido PK CdigoPea QuantidadePedida QuantidadeRemetida

Exerccio 9 Localize as chaves estrangeiras das seguintes tabelas. Empregado CdigoEmpreg PK 1 2 3 4 Joo Jos Maria Roberto 2 2 2 NomeEmpreg CdigoGerente

Pea CdigoPea PK NomePea CdigoPeaAnterior PreoPea CustoPea

PeaPorComprador Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

34

Banco de Dados e Access


CdigoPea PK CdigoComprador QuantidadePea

Edifcio NmeroEdifcio PK 1 2 3 Central Anexo 1 Administrao NomeEdifcio

Departamento CdigoDpto PK Vendas Compras Pessoal Vendas Compras Pessoal 3 NomeDpto NmeroEdifcio FK 1

2.8.2. Regra 2
Chaves estrangeiras podem ter valores nulos, mas se houver valor, este deve existir na tabela onde o domnio da chave estrangeira chave primria.

Exerccio 10 Mostre as violaes da regra acima nas seguintes tabelas: Gerente NmeroGerente NomeGerente PK 2 3 4 5 6 Jos Alan Lais Carlos Lcia Projeto NmeroProjeto PK 101 102 103 104 109 Reator Motor Bomba Freio Cambio 8 NomeProjeto NmeroGerente FK 2 1 6

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

35

Banco de Dados e Access

2.9. Ler Tabelas


2.9.1. Exposio 1
J demonstramos que tabelas so simples, precisas e flexveis. Outra propriedade desejvel o fato delas serem concisas. Cada tabela de um sistema conta-nos uma srie de coisas a respeito dos itens de dados, seus inter-relacionamentos e, at mesmo (como veremos) todos os processos que podem ser realizados com os dados.

Exemplo Dadas duas tabelas: Empregado CdigoEmpreg NomeEmpreg PK NN CdigoDpto FK

Departamento CdigoDpto PK NomeDpto ND, NN

Ns sabemos que:
. . . . . . . . . . . O sistema refere-se a departamento e empregado (dos nomes das tabelas). Cada departamento tem que ter um cdigo de departamento, porque PK implica em NN. Cada departamento tem um cdigo nico, porque PK implica em ND. Os cdigos de departamentos no podem mudar, porque PK implica em NC. Cada departamento tem um nome (NN). Cada departamento tem um nome (cada cdigo de departamento aparece somente em uma linha). Dois departamentos no podem ter mesmo nome (ND). Cada departamento pode ter zero, um ou mais empregados (FK). Todos os empregados tm seu prprio cdigo, porque PK implica em ND. Cdigo de empregados no podem ser alterados, porque PK implica em NC. E assim por diante...

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

36

Banco de Dados e Access

Exerccio 11 Dadas duas tabelas: Departamento CdigoDpto PK NomeDpto ND, NN

Empregado CdigoEmpreg PK NomeEmpreg NN CdigoDpto FK

Responda as seguintes perguntas: 1. Dois empregados podem ter o mesmo nome? R.: 2. Um empregado pode no ter um nome? R.: 3. Em quantos departamentos um empregado pode trabalhar? R.: 4. Um empregado tem que ser alocado a um departamento? R.: 5. Dois empregados com o mesmo nome podem trabalhar no mesmo departamento? R.: 6. Um cdigo de departamento pode aparecer na tabela de empregado sem estar na tabela de departamento? R.:

Respostas 1. Pode. 2. No. 3. 1.

4. No.

5. Sim.

6. No.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

37

Banco de Dados e Access 2.9.2. Exposio 2


Assim, podemos perceber que as tabelas nos contam uma poro de coisas a respeito dos dados do sistema de uma maneira bastante concisa. Mas, tabelas tambm podem nos contar uma poro de coisas a respeito do processamento do sistema. Processos podem ser divididos em duas categorias: - Manuteno de dados - incluso, alterao e excluso. - Recuperao de dados - seleo, projeo, juno e agrupamento. Juntar (mostrar informaes de duas ou mais tabelas). - Mostrar todos os cdigos e nomes de empregados e cdigo e nome de departamento de um dado departamento. - Mostrar todos os cdigos e nomes de departamentos atualmente se empregados. - E assim por diante... Agrupar (sumarizar informaes de uma ou mais tabelas). Contar o nmero de departamentos. Contar o nmero total de departamentos. Determinar nmero empregados por departamento. Determinar nmero mnimo de empregados em qualquer departamento. Determinar nmero mximo de empregados em qualquer departamento. Determinar nmero mdio de empregados em todos departamento. E, assim por diante...

2.9.3. Exposio 3
Assim, podemos ver o grande nmero de informaes que podem ser documentadas, em um par de tabelas realmente muito pequenas, sem sacrifcio da simplicidade e sua completude. Mas, existem outras implicaes...

2.9.4. Exposio 4
Deve ter ficado claro que a lista de processos no exemplo dado anteriormente, no est, de maneira alguma, completa. E tambm deve ficar entendido que uma lista completa de processos de, por exemplo um sistema mdio (de 35 a 80 tabelas) alguma coisa bastante extensa. Estas duas observaes, leva-nos a consideraes bastante importantes: 1. Analistas de sistemas devem-se concentrar mais em informaes (dados) do sistema e no em seus processos, porque:
1. A lista dos processos perto de interminvel. 2. Os dados, em conjunto com Standards de operaes sobre telas (incluir, selecionar etc), definem o processo. 3. Linguagens esto cada vez mais orientadas a objetos.

2. Sistemas devem ser interativos programados pelos usurios, porque:


1. A lista dos processos perto de interminvel. 2. Os dados, em conjuntos com Standards de operaes sobre tabelas (incluir, selecionar etc), permitem ao usurio fazer todos os processos de que ele necessita.

3. Sistemas devem ser muito bem otimizados de maneira tal que no venham a ter desvios funcionais, porque:
1. A lista dos processos perto de interminvel. 2. Os dados, em conjunto com Standards de operaes sobre tabelas (incluir, selecionar etc), e acessos genricos, suportam os acessos necessrios ao usurio, com uma boa performance.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

38

Banco de Dados e Access

2.10. Reviso
2.10.1 Definio de Tabela
Uma tabela uma representao grfica bi-dimencional de dados, composta de colunas e linhas. Regras Nomes de tabelas tem que ser nicos no sistema. Nomes de colunas tem que ser nicas na tabela. Colunas, exceto Data e Hora, no devem se compostas. A ordem das colunas devem ser arbitrria. A ordem das linhas de uma tabela deve ser arbitrria.

2.10.2. Definio de Domnio


Um domnio um tipo fundamentos de informao dentro de um sistema. Regra Duas colunas so baseadas no mesmo domnio se os valores correspondentes de cada coluna se regerem mesma pessoa, coisa ou lugar do mundo real.

2.10.3. Definies para Colunas


Um nome de coluna qualificada uma coluna representada da seguinte maneira: nome_do_domnio.qualificador Um nome de coluna totalmente qualificada uma coluna representada da seguinte maneira: nome_da_tabela.nome_do_domnio.qualificador

2.10.4. Definio de Valor Duplicado


Um valor duplicado um valor ou grupo de valores de uma tabela que exatamente igual a valor ou grupo de valores na mesma coluna. Regra Colunas ou grupo de colunas assinaladas com a sigla ND no podem conter valores duplicados.

2.10.5. Definio de Valor Nulo


Um valor nulo uma lacuna em uma coluna de tabela. Regra Colunas assinaladas com a sigla NN no podem conter valores nulos.

2.10.6. Definio de Chave Primria


Chave primria uma coluna ou grupo de colunas que assegura a unicidade de linha dentro de tabelas. Uma chave primria que tem mais de uma coluna chamada de chave primria composta.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

39

Banco de Dados e Access


Regras Chaves primrias so identificadas pela sigla PK sob o cabealho da coluna apropriada. Valores de chave primria no podem ser nulos, porque PK implica em NN. Colunas de chaves primrias no podem conter valores duplicados, porque PK implica em ND. Chaves primrias no podem ser alterados, porque PK implica em NC. Chave primria atribuda pelo sistema indicada pela sigla SA (System Assigned) sob o cabealho da coluna apropriada.

2.10.7. Definio de Chave Estrangeira


Uma chave estrangeira uma coluna ou um grupo de colunas que podem ou no ser chave primria de uma tabela, mas certamente chave primria de uma outra tabela. Uma chave estrangeira composta de mais de uma coluna chamada de chave estrangeira composta. Regras Chaves estrangeiras so identificadas pela sigla FK sob o cabealho da coluna apropriada. Valores de chave estrangeira podem ser nulos ou existir na tabela onde a chave estrangeira chave primria.

2.10.8. Comentrio Geral


Ns escolhemos tabelas como ferramenta de modelagem de dados porque elas so: Simples; Precisas; Flexveis; Concisas. Analistas de sistemas devem concentrar-se em dados do sistema e no em seus processos. Sistemas devem ser interativos e programveis pelo usurio. Sistemas devem ser muito bem otimizados de maneira a no ter desvios.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

40

Banco de Dados e Access

2.11. Modelo de Dados


2.11.1. Definio de Modelo de Dados
Modelo de dados uma coleo de construes, operadores e regras de integridade que juntos, suportam uma representao dinmica dos objetos e eventos do mundo real.

2.11.2. Construes
Construes so os blocos bsicos de um modelo de dados. Modelos de dados relacionais usam um tipo nico de construo - tabelas.

2.11.3. Operadores
Operadores so os modos com os quais os dados, no modelo de dados, so mantidos e pesquisados. Operadores tipicamente relacionais so incluir, alterar, excluir, selecionar, projetar, juntar, agrupar, e assim por diante.

2.11.4. Regras de Integridade


Regras de integridade tm por finalidade manter ordem e consistncia em um modelo de dados. no-nulls, no-duplicates, chaves primrias e chaves estrangeiras so exemplos das regras de integridade.

2.11.5. Reflexo sobre Tabelas e Entidades


importante que comecemos a pensar em tabelas, no como arquivos, ou inputs, ou maneiras de obter relatrios, mas como uma rplica em miniatura de pessoas, lugares ou coisas que so do interesse da comunidade dos usurios. A primeira linha da tabela de empregados, por exemplo, no esto os dados a respeito de Joao, est o Joo, ele mesmo! Da mesma maneira ns devemos parar de pensar sobre operaes em tabelas como listas de programas ou alteraes em arquivos, e comear pensar como o usurio v este modelo e como ele o mantm sincronizado com seu mundo real. A rotina que conta as linhas da tabela de pedidos, por exemplo, no um programa que emitir o relatrio, equivalente (no mundo modelo) a algum contando os pedidos fisicamente (no mundo real). E devemos pensar a respeito de regras de integridade como coisas bsicas do que edies. Regras de integridade so, no mundo modelo, reflexes de leis fsicas que so operadas no mundo real. Por exemplo, clientes tem que existir antes de haverem pedidos para eles, assim no mundo modelo, clientes no podem aparecer na tabela de pedidos, antes de existir na tabela de clientes. Nada no mundo real, jamais acontecer no dia 32 de setembro, portanto a informao 32/09 ser sempre uma entrada invlida.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

41

Banco de Dados e Access

2.12. Entidades
2.12.1. Definio
Uma entidade uma pessoa, um lugar ou uma coisa de interesse da comunidade dos usurios, sobre o qual o sistema deve manter, correlacionar e dar informaes.

2.12.2. Exposio
Entidades so substantivos (nomes). Entidades esto dentro do escopo do sistema. Entidades tm existncia prpria e no so dependentes ou subordinados a qualquer outra coisa. Entidades podem ser tangveis (tais como edifcios ou empregados), intangveis (tais como departamentos ou contas) e semi-tangveis (tais como pedidos, faturas). As caractersticas das entidades (tais como nome do empregado) e outras informaes sobre as entidades (o total de clientes ou mdia de pedidos do ms de maio) no so considerados entidades.

Exerccio 12 Ache as entidades na seguinte descrio de um usurio: Voc sabe, faz cinco anos desde que mame e eu comeamos este pequeno negcio de loja de produtos naturais, e agora veja, temos cinco delas! Em trs estados! Bem, voc pode imaginar que controlar estas coisas est se tornando um grande problema. Parece que alguns itens sempre esto faltando em uma loja, enquanto esto saindo pela janela em outra! E os empregados! Antes ramos somente mame e eu. Agora temos seis outros e eu nem mesmo me lembro quem trabalha onde!.

Exerccio 13 Localize as entidades deste extrato de entrevista com um usurio: Voc v, ns temos vendedores no campo, tentando vender nossos produtos a pessoas de sua regio. O problema que algumas de nossas novas contas so realmente empresas especializadas e alguns dos vendedores no esto qualificados para atend-los. Assim, ns precisamos de algum modo classificar os clientes e saber quais empregados esto treinados nestas especialidades, assim ns podemos mandar ao cliente algum que no se faa de bobo, e no nos faa de bobo tambm!.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

42

Banco de Dados e Access

2.13. Associaes
2.13.1. Definio
Uma associao um relacionamento entre duas ou mais entidades (ou outras associaes), do interesse da comunidade de usurios, sobre o que o sistema deve manter, correlacionar e dar informaes.

2.13.2. Exposio
Associaes ocorrem tipicamente entre uma e outra entidade (clientes e pedidos, por exemplo, ou peas e pedidos), mas podem envolver qualquer nmero de entidades e interrelacionamentos (veja o tpico Associaes complexas para mais exposies deste assunto. Associaes esto no escopo do sistema. Associaes ocorrem em trs diferentes maneiras (explicada no tpico a seguir).

Exerccio 15 Ache as associaes na seguinte descrio de um usurio: Voc sabe, faz cinco anos desce que mame e eu comeamos este pequeno negcio de loja de produtos naturais, e agora veja, temos cinco delas! Em trs estados! Bem, voc pode imaginar que controlar estas coisas est se tornando um grande problema. Parece que alguns itens sempre esto faltando em uma loja, enquanto esto saindo pela janela em outra! E os empregados! Antes ramos somente mame e eu. Agora temos seis outros e eu nem mesmo me lembro quem trabalha onde!.

Exerccio 16 Localize as associaes de um resumo de uma entrevista com um usurio (assuma que produtos est fora do escopo do sistema). Voc v, ns temos vendedores no campo, tentando vender nossos produtos a pessoas de sua regio. O problema que algumas de nossas novas contas so realmente empresas especializadas e alguns dos vendedores no esto qualificados para atend-los. Assim, ns precisamos de algum modo classificar os clientes e saber quais empregados esto treinados nestas especialidades, assim ns podemos mandar ao cliente algum que no se faa de bobo, e no nos faa de bobo tambm!

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

43

Banco de Dados e Access

2.13.3. Associaes um-para-um


Uma associao um-para-um ocorre quando duas entidades (digamos A e B), esto relacionadas da seguinte maneira: Cada ocorrncia da entidade A est relacionada a, no mximo, uma ocorrncia da entidade B e cada ocorrncia da entidade B est relacionada a, no mximo, uma ocorrncia da entidade A.

Entidade A

Entidade B

Associaes um-para-um so modeladas colocando a chave primria da tabela da entidade A como coluna de chave estrangeira, ND, na tabela da entidade B. Associaes do tipo um-para-um so relativamente raras. Exemplo O usurio do sistema um gerente de uma oficina muito pequena. A oficina tem oito bancadas, numeradas de 1 a 8. Cinco tcnicos esto empregados atualmente, cada um tendo um nmero de empregado, e cada um est designado para sua prpria bancada.

Bancada

Empregado

1 --------------------------------------1 2---------------------------------------2 3---------------------------------------3 4---------------------------------------4 5---------------------------------------5 6 7 8

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

44

Banco de Dados e Access

2.13.4. Associaes um-para-muitos


Uma associao um-para-muitos ocorre quando duas entidades (digamos A e B), esto relacionadas da seguinte maneira: cada ocorrncia da entidade A est relacionada a zero, uma ou mais ocorrncias da entidade B, mas cada ocorrncia da entidade B est relacionada com, no mximo, uma ocorrncia da entidade A.

Entidade A

Entidade B

Associaes um-para-muitos so modeladas, colocando a chave primria da tabela da entidade A como coluna de chave estrangeira na tabela da entidade B. Associaes do tipo um-para-muitos so bastante comuns.

Exemplo J vimos, em exemplos anteriores, um bom nmero de associaes um-para-muitos (1:m): Departamento e Empregado por exemplo:

Departamento

Empregado

Desenhando as tabelas das entidades Departamento e Empregado: Departamento CdigoDpto PK Vendas Compras Pessoal Empregado NmeroEmpreg PK 1 2 3 4

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

45

Banco de Dados e Access


E a chave primria de Departamento como chave estrangeira na tabela de Empregado: Departamento CdigoDpto PK Vendas Compras Pessoal Empregado NmeroEmpreg PK 1 2 3 4 CdigoDpto FK Vendas Compras Vendas Vendas

Note que associaes um-para-muitos (1:m), so muito parecidas com associaes umpara-um (1:1), na forma das tabelas. A diferena fundamental que no h aplicao da regra que obriga ND na chave estrangeira.

2.13.5. Associaes muitos-para-muitos


Uma associao muitos-para-muitos ocorre quando duas entidades (digamos A e B), esto relacionadas da seguinte maneira: cada ocorrncia da entidade A est relacionada a zero, uma ou mais ocorrncias da entidade B, e cada ocorrncia da entidade B est relacionada com zero, uma ou mais ocorrncias da entidade A.

Entidade A

Entidade B

Associaes muitos-para-muitos so modeladas, definindo-se uma nova tabela com uma chave primria composta. Os componentes da nova chave primria so as chaves primrias das tabelas das entidades A e B. Ambos os componentes da nova chave primria so tambm chaves estrangeiras individuais. Associaes do tipo muitos-para-muitos so bastante comuns.

Exemplo O modelo de dados para a associao muitos-para-muitos anterior: A ChaveA PK A1 A2 B ChaveB PK B1 B2

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

46

Banco de Dados e Access


APorB ChaveA PK FK A1 A1 A2 ChaveB PK FK B1 B2 B1

J que as associaes muitos-para-muitos so simtricas e, desde que a ordem das colunas em tabelas devem ser arbitrria, a tabela acima poderia ter sido desenhada ao contrrio, ou seja, B/A, com a Chave_B em primeiro lugar.

2.14. Tabelas Associativas


2.14.1. Definio
Uma tabela associativa uma tabela no primria porque sua chave primria composta de chaves estrangeiras das tabelas que definem esta associao.

2.14.2. Regra
Tabelas associativas sempre representam associaes muitos-para-muitos (m:m), ou seja, associaes m:m so representadas por tabelas associativas.

2.14.3. Exposio
As linhas de uma tabela associativa no representam pessoas, lugares ou coisas. Por isso deve ficar assegurado que as tabelas primrias devem ser apresentadas em primeiro lugar, antes que sejam definidas as associaes entre elas.

Exemplo A tabela A/B definida anteriormente uma tabela associativa: APorB Chave A PK FK A1 A1 A2 FK B1 B2 B1 Chave B

Ela uma tabela no-primria porque existe mais de uma coluna como sua chave primria e uma tabela associativa porque cada componente da chave primria chave estrangeira. As linhas desta tabela no representam os As nem os Bs, mas o relacionamento entre As e Bs.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

47

Banco de Dados e Access


Note que associaes 1:1 e 1:m so modeladas dentro das prprias tabelas das entidades, enquanto associaes m:m requerem uma tabela adicional (associativa). No deixe que esta aparente assimetria do modelo relacional perturbe voc!

Exemplo Ns j vimos, em exemplos anteriores, um bom nmero de associaes muitos-para-muitos (m:m). O exemplo mais conhecido provavelmente a associao entre pedidos e peas:

Pedido

Pea

Desenhando as duas tabelas das entidades Pedido e Pea: Pedido NmeroPedido PK 1 2 Pea NmeroPea PK 1 2 4

E as duas chaves primrias compondo a chave primria composta da tabela associativa: PeaPorPedido Nmero Pedido PK FK 1 1 2 Nmero Pea PK FK 1 2 1

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

48

Banco de Dados e Access

2.15. Atividades

Aps o processo de entrevista com os usurios do departamento de compras da empresa Fabrica & Vende Roupas Ltda., o DA (Administrador de Dados) identificou os seguintes requisitos de dados para atender aos trabalhos daquele departamento: O processo de compra pode ser iniciado por uma solicitao vinda do departamento de produto (matria prima), departamento de servios gerais (material de escritrio, limpeza, segurana e afins), departamento de processamento de dados (suprimentos, acessrios e equipamentos de informtica). Esta solicitao indica o produto desejado, quantidade, marca e modelo. A qualquer momento o gerente quer acesso imediato s seguintes informaes: compras de um perodo qualquer separado por departamento solicitante, tipo de produto, valor mnimo mximo e solicitante, utilizando qualquer combinao dos argumentos citados. Cada comprador precisa ter acesso a um catlogo de produtos com seus respectivos fornecedores. A partir disto o comprador ir montar um lista de pedido que ter os produtos solicitados, sua cotao anterior e atual com os fornecedores habituais e as condies negociadas para valor, quantidade e forma de pagamento. O pedido deve ser mantido como histrico, ficando pendente at que o fornecedor faa a entrega. Cada produto feito para o departamento de compras pode indicar s o produto, sendo marca e modelo opcionais. Quando estas ltimas no forem especificadas o comprador ir comprar o de menor preo. A partir destas informaes o DA identificou e desenhou as seguintes tabelas: 1 - DEPARTAMENTOS PK FK 2 - SETORES PK Cdigo do Setor Nome do Setor 3 - PRODUTOS PK FK FK Cdigo do Produto Nome do Produto Tipo do Produto Marca do Produto Modelo do Produto 4 - TIPOS DE PRODUTOS PK Cdigo do Tipo Nome do Tipo 5 - MARCAS PK Cdigo da Marca Nome da Marca Cdigo do Departamento Nome do Departamento Setor do Departamento

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

49

Banco de Dados e Access

6 - PEDIDOS DOS DEPARTAMENTOS PK FK Cdigo do Pedido Cdigo do Departamento Data da Solicitao Hora da Solicitao 7 - ITEM DOS PEDIDOS DOS DEPARTAMENTOS PK (FK) PK FK Cdigo do Pedido Nmero do Item Cdigo do Produto Marca do Produto Modelo do Produto Quantidade do Produto 8 - FORNECEDORES PK Cdigo do Fornecedor Nome do Fornecedor Telefone de Contato 9 - PRODUTO POR FORNECEDOR PK (FK) PK (FK) 10 - LISTA DE COMPRA PK (FK) PK (FK) PK (FK) Cdigo do Pedido Cdigo do Produto Cdigo do Fornecedor Quantidade Comprada Valor Total FK 11 - FORMA DE PAGAMENTO PK Cdigo da Forma Descrio da Forma Forma de Pagamento Cdigo do Produto Cdigo do Fornecedor

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

50

Banco de Dados e Access


Em seguida o DA desenhou o diagrama da Figura 42 para visualizar melhor como fica o modelo de dados.

DEPARTAMENTOS

SETOR

PEDIDOS DOS DEPARTAMENTOS

ITEM DOS PEDIDOS DOS DEPARTAMENTOS

TIPOS DE PRODUTOS

LISTA DE COMPRA

PRODUTOS

MARCAS

FORMA DE PAGAMENTO

FORNECEDORES

PRODUTO POR FORNECEDOR

Figura 42
Cada trao no desenho define uma relao entre entidades. Faa: - Determine o tipo de cada uma destas relaes. - Escreva a condio determinante do relacionamento para cada relao apresentada. - Crie Estas tabelas no Access, complementando com tipo de dado e tamanho de cada atributo das tabelas. - Justifique sua escolha para os tipos e tamanhos utilizados. - Implemente os relacionamentos no Access. - Entre com dados diretamente nas tabelas criadas no Access.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

51

Banco de Dados e Access

A 0 00 00 20 e2 2e s2 ss es ce cc Ac
1. Introduo
O Access um poderoso sistema de gerenciamento de banco de dados para o sistema operacional Windows. O Access utiliza tabelas para armazenar os dados dos usurios. Portanto o primeiro passo a ser tomado a criao de tabelas em seu banco de dados. Em seguida criar relacionamentos entre as tabelas e as planilhas de consultas de dados. Para interagir com o seu banco de dados utilizando uma interface grfica mais aprimorada criamos os formulrios. Para imprimir os dados do Banco de dados utilizamos os relatrios. Para funes que se repetem constantemente criamos Macros e cdigo Visual Basic. O Access permite que se construa um banco de dados para uma grande gama de atividades de controle de dados. Podemos utilizar o Access para criar desde um simples cadastro de clientes a um complexo controle de estoque, passando por aplicaes de folha de pagamento, contas a pagar/receber, sistema de vendas, e no menos importante manipular dados na Internet com total interao com sua audincia (visitantes).

1.1. Banco de dados


Banco de dados um elemento cuja finalidade armazenagem de dados. Um banco de dados possui uma srie de informaes relacionadas a um determinado assunto. Um exemplo, cadastro de clientes, onde est agrupado todos os dados dos clientes, nome, endereo, telefone, tudo isso num nico lugar e de fcil consulta.

1.2. Campo
O campo a menor unidade de informao existente em um arquivo de banco de dados. Isso significa que toda informao entrada em um arquivo de banco de dados quebrada em pores menores, que recairo em campos especficos.

1.3. Registro
Um registro um conjunto de campos. a entidade que identifica uma entrada nica em um banco de dados.

1.4. ndices
Os ndices de um banco de dados permitem que as instrues sejam encontradas com uma maior rapidez. De certa forma, eles se assemelham aos ndices encontrados nos livros, ou seja, direcionam at a posio onde se encontra a informao desejada.

1.5. Chave
Uma chave uma entidade que permite a distino dos registros de uma tabela. Uma chave pode ser formada por um campo ou um conjunto de campos. No ltimo caso, elas so chamadas de chaves compostas. Uma chave primria determina necessariamente a ordem dos registros dentro da tabela.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

52

Banco de Dados e Access

2. Iniciando o Access 2000


Clique em Microsoft Access

Para iniciar o access, clique no boto Iniciar. Posicione o cursor do mouse sobre Programas.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

53

Banco de Dados e Access

3. Criando um Banco de Dados

Para criar um banco de dados, utilize a opo Banco de dados vazio do Access.

Clique em OK. Na prxima tela fornea um nome para o banco de dados e escolha a pasta onde seu banco de dados ser armazenado.

Clique em Criar, e seu banco de dados ser criado. O prximo passo criar uma tabela.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

54

Banco de Dados e Access

4. Tabelas

Para cria uma nova tabela de um clique duplo em Criar tabela no modo estrutura

A tabela possui trs colunas

So elas:

Nome do campo: Identifica a natureza da informao. Ex: Nome, Endereo, Telefone, etc. Tipo de dados: Identifica a caracterstica do dado armazenado no campo. Ex: Texto, Data/Hora, Moeda, Nmero, etc. Descrio: O preenchimento nesta coluna opcional, porm sempre bom digitar um texto explicativo nesta coluna, que ser mostrado na "Barra de status" do formulrio na hora do preenchimento dos dados.
Na tabela, o primeiro passo definir a estrutura, informando quais sero os nomes dos campos, o tipo de dado que ser digitado, e outras informaes adicionais.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

55

Banco de Dados e Access

5. Nome do Campo

Para definir o nome do campo, utilize at 64 caracteres (letras e nmeros), incluindo espaos. No so permitidos sinais como ponto(.), exclamao(!) e colchetes([ ]).

Exemplos de nomes de campo:

Nome do cliente: NomeCliente Telefone comercial: FoneComercial Data de nascimento: DtNascimento

6. Tipo de Dados

Aps definir o Nome do campo, voc deve informar o tipo de dados do mesmo. O tipo escolhido depender da natureza da informao que voc deseja. Veja a seguir, os tipos de dados permitidos.

6.1. Texto
Armazena caracteres alfanumricos (texto e nmero). o tipo indicado para armazenar informaes que no requerem clculo. Ex: nome de pessoas ou endereos.

6.2. Memorando
Armazena caracteres, no entanto, ele utilizado para aguardar grandes blocos de texto que so divididos em pargrafos.

6.3. Nmero
Armazena valores numricos inteiros ou fracionrios. Este tipo dever ser escolhido como padro quando desejarmos efetuar clculos com valores de campos.

6.4. Data/Hora
Faz com que o banco de dados trate os caracteres como datas ou horas, dependendo da forma como sero digitados.

6.5. Moeda
O tipo de dados Moeda tem todas caractersticas de um dado do tipo numrico, porm com acrscimo do smbolo monetrio. Exemplo: R$

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

56

Banco de Dados e Access 6.6. AutoNumerao


Utilizado para contagem de registros. A cada registro inserido na tabela ele automaticamente incrementado em um valor.

6.7. Sim/No
Permite a entrada de valores do tipo Sim, No, Verdadeiro ou Falso. Qualquer outro tipo de valor que voc digite no campo do tipo Sim/No causar um erro, e o Access soar um beep alertando sobre o erro. Valores como Verdadeiro e Falso, o Access os converte para Sim ou No automaticamente. Quando digitar um valor No certifique que digitou com o acento (til), caso contrrio o Access tratar o valor como incorreto.

6.8. Objeto OLE


Esse tipo de dado uma grande vantagem do ambiente grfico Windows, pois voc pode definir que o dado seja uma imagem grfica. Umas das utilizaes seria ter associada ficha dos funcionrios uma foto do mesmo.

6.9. Hyperlink
um tipo de campo que ir armazenar um texto que permite saltar para um arquivo, um local em um arquivo, uma pgina HTML na Web. Exemplo: http://fp13vs23.digiweb.com

6.10. Assistente de pesquisa


Cria um campo que permite que voc escolha um valor a partir de uma tabela ou de uma lista de valores, utilizando uma caixa de combinao. A escolha dessa opo na lista de tipos de dados inicia um assistente para definir isso para voc.

7. Propriedades do Campo

Ao definir o Tipo de dados, aparecero na parte inferior da janela as propriedades do campo. Voc dever definir as propriedades especficas para cada tipo de dados.

7.1. Tamanho do campo


Define o tamanho mximo de caracteres que ser permitido em um campo.

Texto: Pode ser entre 1 a 255 caracteres. Nmero:


Definio Byte Inteiro Inteiro Longo Simples Duplo Descrio Nmeros de 1 a 255 (no fracionrios) Nmeros de 32.768 a 32.767 (no fracionrios) Nmeros de 2.147.483.648 a 2.147.483.647 (no fracionrios) Nmeros com 3,402823x1038 seis dgitos de preciso podendo valer at

Nmeros com 10 dgitos de preciso, de-1,79769313486232x10308 at 1,79769313486232x10308

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

57

Banco de Dados e Access

8. Formato

Especifica o formato para exibio de nmeros, datas, horas e texto.

8.1. Texto e Memorando


Voc pode utilizar smbolos para especificar se caractere de texto permitido e se todos os caracteres so exibidos em maisculas ou minsculas. Smbolo @ & < > Exemplos: Smbolo @@@-@@-@@@@ @@@@@@@@@ > > > < < < Nmero e moeda: Formato Nmero geral Moeda Fixo Standard Por cento Cientfico Exemplos: Formato Nmero geral Nmero digitado 1234567 -1234,567 $123,45 Moeda 1234,789 -1234,789 3,56645 Standard Por cento Cientfico 1234,789 2 0,35 3456,789
BDAccess.DOC

Descrio Um caractere de texto requerido Um caractere de texto no requerido Transforma todos os caracteres em letras minsculas Transforma todos os caracteres em letras maisculas

Dados 123456789 123-45-6789 123456789 Leonardo LEONARDO Leonardo Leonardo LEONARDO Leonardo

Exibio 123-45-6789 123-45-6789 123456789 LEONARDO LEONARDO LEONARDO leonardo leonardo leonardo

Descrio (Padro) Exibe o nmero exatamente como foi inserido Utiliza p separador de milhares; exibe nmeros negativos entre parnteses. Exibe pelo menos um dgito Utiliza o separador de milhares Multiplica o valor por 100; anexa um sinal de porcentagem. Utiliza a notao cientfica padro

Nmero formatado 1234,567 -1234,567 $123,45 $1.234,79 -1234,79 3,57 1.234,79 200% 35% 3,46E+03
25/01/2001

Edisoft - Edies Informatizadas Ltda.

58

Banco de Dados e Access


-3456,789 Data/Hora: Formato Data geral Descrio (Padro) Se o valor for somente data, a hora no ser exibida; se o valor for somente hora, a data no ser exibida. Exemplos: 3/3/99 07:45:00, 4/4/99 e 06:55:00 Exibe a data por extenso. Exemplo: Domingo, 2 de abril de 2000 Exemplo: 6-abr-99 Exemplo: 4/4/99 Exemplo: 8:22:21 Exemplo: 09:15 Exemplo: 21:30 -3,46E+03

Data completa Data mdia Data abreviada Hora completa Hora mdia Hora abreviada Sim/No: Formato Sim/No Verdadeiro/Falso Ativado/Desativado

Descrio (Padro) Sim=-1, No=0 Verdadeiro=-1, Falso=0 Ativado=-1, Desativado=0

um formato que voc especifica para controlar a entrada de dados no campo. Uma mscara de entrada consiste em caracteres exibidos (tais como parnteses, pontos ou traos) e caracteres de mscara que especificam onde os dados devem entrar, que tipo de dados e quantos caracteres so permitidos. Para criar uma mscara de entrada, selecione a tabela desejada e clique no boto Estrutura.

9. Mscara de Entrada

Em seguida clique no boto para construir na caixa de propriedade Mscara de entrada.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

59

Banco de Dados e Access

9.1. Casas decimais


Determina o nmero de casas decimais que o Access utilizar para exibir os nmeros.

9.2. Legenda
o ttulo do campo quando usado em um formulrio. As legendas so tipicamente utilizadas para fornecer informaes ao usurio. Se voc no definir uma legenda, o nome do campo usado como ttulo.

9.3. Valor padro


uma maneira para se garantir que os dados inseridos no banco de dados esto corretos.Voc especifica regras com uma expresso. Por exemplo, para um campo numrico aceitar apenas valores acima ou igual a 50, utiliza a seguinte regra de validao: >=50. Ao utilizar regra de validao, voc dever: Usar aspas em expresses que contenham texto. Usar o sinal # em expresses que contenham data. Utiliza os seguintes operadores: > < = >= <= <> Exemplos: Regra de validao <>0 Em(SP, MG) >=Data() Entre 1 e 5 Como L?? <#3/3/99# Texto de validao Insira um valor diferente de zero Estado deve ser SP ou MG Nenhuma da ta antes de hoje Valores entre 1 e 5 3 caracteres comeando com L Apenas datas antes 3/3/1999 Maior Menor Igual Maior ou igual Menor ou igual Diferente

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

60

Banco de Dados e Access


Voc tambm pode criar uma regra de validao que compare os valores em dois campos. Por exemplo, voc pode querer ter certeza de que a data de entrega para envio de um pedido ser dentro de 15 dias a partir da data do pedido, exemplo: [Data de entrega]<=[Data do pedido]+15

9.4. Texto de validao


a mensagem de erro que aparece quando o valor proibido pela regra de validao.

9.5. Requerido
Especifica se um valor ou no requerido em um campo. Se esta propriedade definida como Sim, voc obrigado a digitar um valor no campo. Definio Sim No Descrio O campo requer um valor (Padro) O campo no requer um valor

9.6. Permitir comprimento zero


Permite definir se ser aceita uma entrada de dados em branco (nenhum caractere). Para entrar com uma seqncia vazia em um campo, digite duas aspas ( ).

9.7. Indexado
O ndice um recurso do Access que aumenta a velocidade da busca e classificao em uma tabela. Pode-se criar tantos ndices quantos forem desejados. Os ndices so criados quando voc salva a estrutura da tabela so automaticamente atualizados quando voc adiciona ou altera registros. Definio No Sim (Duplicao autorizada) Sim (Duplicao no autorizada) Descrio (Padro) Sem ndice O ndice permite valores duplicados O ndice no permite duplicao, ou seja, os valores sero nicos.

9.8. Compactao Unicode


Um esquema de codificao que armazene cada caractere em um byte limita voc a uma nica pgina de cdigo um conjunto numerado contendo no mximo 256 caracteres. Entretanto, o Unicode pode oferecer suporte no mximo 65.536 caracteres, porque representa cada caractere como dois bytes. Como resultado, os dados em um campo Texto, Memorando ou Hyperlink exigem mais espao de armazenamento do que nas verses anteriores do Access.

10. Chave Primria

Aps definir os nomes e propriedades dos campos, voc deve definir a chave primria, que uma marca nica que tem o objetivo de identificar cada registro em uma tabela. Toda tabela deve possuir uma chave primria. Definindo uma chave primria em um campo, o Access atribuir as seguintes caractersticas sua tabela: Um ndice ser criado automaticamente com base na chave primria, acelerando assim as operaes de consultas, pesquisas, etc. Edisoft - Edies Informatizadas Ltda.
BDAccess.DOC

25/01/2001

61

Banco de Dados e Access


Os dados sero mostrados na folha de dados na ordem da chave primria. No ser permitidos a entrada de registros com dados duplicados nos campos que definem a chave primria.

11. Definindo uma Chave Primria

Para definir uma chave primria, tome o seguinte procedimento: 1) Selecione a tabela desejada e clique no boto ( 2) Clique no campo que deseja como chave primria. ) Estrutura.

3) Clique no boto ( campo chave primria.

) Chave primria. Um smbolo aparece no lado esquerdo do

4) Clique no boto (

) Salvar para salvar as alteraes.

12. Inserindo Dados na Tabela


Selecione a tabela que deseja inserir dados. Clique no boto ( ) Abrir.

O modo Folha de dados semelhante a uma planilha eletrnica. Os nomes dos campos aparecem em um cabealho.

Digite o dado correspondente no seu campo de origem. Para mudar de campo, clique com o mouse no campo desejado, ou pressione a tecla [TAB]. Inicialmente, as larguras das colunas obedecem a um tamanho padro. Para alterar a largura de uma coluna, posicione o ponteiro do mouse no cabealho das colunas, na linha que separa o nome dos campos. O Ponteiro se transforma em uma seta de duas pontas; arraste-o em seguida.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

62

Banco de Dados e Access


Ao pressionar a tecla [TAB] para passar ao prximo campo, aparece o smbolo de um lpis indicando que este registro ainda no foi salvo.

O registro ser salvo aps digitar os dados do ltimo campo. O pressionar a tecla [TAB], aparece um tringulo indicando que aquele registro foi salvo.

Se voc no quiser salvar o registro atual, clique no boto ( ) Desfazer. Um clique neste boto desfaz a ltima ao, se clicar mais de uma vez, outras aes sero desfeitas. Para sair do banco de dados, clique no menu Arquivo/Fechar. Para finalizar o trabalho no Access clique no menu Arquivo/Sair.

13. Editando a Tabela de Dados

Para abrir o banco de dados, clique em Arquivo/Abrir.

Abrindo uma tabela de dados Para abrir uma tabela de dados, selecione a tabela desejada, clique no boto ( Para movimentar-se entre os dados da tabela, utilize os botes de rolagem. ) Abrir.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

63

Banco de Dados e Access

14. Classificao Crescente Decrescente

Para classificar a sua tabela, clique no campo que dever comandar a ordem de classificao. Depois, clique em um dos botes de classificao. Voc poder escolher entre Crescente (A, B, C, D,...) ou Decrescente (..., D, C, B, A).

15. Localizar Registros


Para localizar um determinado registro em sua tabela clique no boto ( Um caixa de dilogo aparecer. ) Localizar.

Em Localizar, digite a palavra que deseja localizar na tabela. Em Examinar, selecione o campo. Em Coincidir, selecione a opo Campo inteiro. Aps digitar a palavra que deseja localizar, clique no boto para Localizar. Para ter mais opes de procura clique no boto Mais.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

64

Banco de Dados e Access

16. Excluir Registros

Para excluir um registro da tabela, clique no lado esquerdo da janela para poder selecion-lo.

Em seguida clique no boto (

) Excluir registro.

Esta ao (Excluir registro) pede a confirmao da excluso.

Clicando no boto Sim, no ser mais possvel recuperar aquele registro. Clicando no boto No, o registro permanece na tabela.

17. Excluir Campos


boto ( ) Estrutura.

Para excluir um campo da tabela, voc deve selecionar a tabela desejada, clicar no

Ao excluir um campo de uma tabela todos os dados referentes a este campo sero perdidos. Aps selecionar a tabela desejada e entrar no modo estrutura, clique no lado esquerdo do campo que deseja excluir. Clique no boto ( ) Excluir linhas.

Uma mensagem de alerta ir aparecer. Clicando no boto Sim, voc estar dando um fim no campo selecionado. Clicando no boto No, o campo permanece na tabela.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

65

Banco de Dados e Access

18. Inserir Campos


Selecione a tabela desejada e clique no boto ( Em seguida, clique no boto ( ) Inserir linhas. ) Estrutura. Clique no lado esquerdo do nome do campo, na posio onde deseja inseri-lo.

Aps clicar no boto (inserir linhas), aparecer uma linha em branco onde voc dever preencher com os dados sobre o novo campo. Para salvar as alteraes da tabela, clique no boto ( ) Salvar.

19. Consultas

A consulta uma maneira predefinida e personalizada de se pesquisar os dados da usa tabela. Por exemplo, em um banco de dados Clientes, voc pode querer consultar todas as pessoas da cidade So Paulo. Ou quem sabe consultar quantos clientes voc conseguiu nos ltimos trinta dias. Ao invs de se estabelecer os critrios toda vez que voc desejar localizar esses registros, voc pode montar uma consulta, e ento bastar abri-la.

20. Criar Uma Consulta


Dados.

Para criar uma nova consulta, d um clique sobre o item Consultas na janela Banco de

D um clique duplo em Criar consulta no modo estrutura.

Aparecer a caixa de dilogo Mostrar tabela com todas tabelas do seu banco de dados. Selecione a tabela deseja e clique no boto Adicionar. Em seguida clique no boto Fechar.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

66

Banco de Dados e Access

A janela de consultas contm duas partes. A parte superior contm as tabelas que voc seleciona para fazerem parte da consulta, e a parte inferior define os critrios de busca das informaes desejadas, bem como os campos que faro parte da consulta.

21. Seleo dos Campos

O primeiro passo na criao de uma consulta a seleo dos campos que faro parte da pesquisa. Para selecionar um campo, clique na grade Campo (parte inferior). Selecione o campo desejado clicando na seta que aparece ao lado da grade.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

67

Banco de Dados e Access

Voc tambm pode selecionar um Campo arrastando o campo da tabela (parte superior) at a grade Campo (parte inferior).

Para excluir uma coluna da grade inferior, clique sobre a linha da coluna desejada e em seguida, clique em Editar/Excluir colunas.

22. Classificando a Consulta

Voc poder configurar a consulta para exibir os dados de uma forma classificada. Clique na seta e escolha a ordem de classificao.

23. Exibio de Campos

Na linha Mostrar da grade inferior, voc nota a presena de um quadrado com uma marcao, indicando que este campo ser mostrado no resultado da pesquisa. Se voc retirar a marcao do quadrado, o campo no ser exibido na consulta.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

68

Banco de Dados e Access

24. Salvar a Consulta

Para salvar a consulta, utilize o comando Arquivo/Salvar. Em seguida, digite o nome para a consulta e clique em OK para salvar a consulta. Voc pode salvar a pesquisa como Formulrio, Consulta ou Relatrio, basta clicar na seta para baixo e escolher a opo desejada.

Para fechar a consulta, clique no menu Arquivo/Fechar. Para abrir uma pesquisa existente, selecione a consulta desejada no item Consultas, em seguida clique no boto ( ) Abrir. Para fazer alteraes em uma consulta, selecione a consulta desejada no item Consultas, em seguida clique no boto ( ) Estrutura.

25. Critrios de Pesquisa

Para especificar um critrio de pesquisa, clique sobre a linha Critrio (Grade inferior). Digite uma expresso na coluna do campo desejado para o critrio. Utilize os seguintes operadores para construir um critrio: > < = >= <= <> Regras: Use aspas em expresses que contenham texto. Use o sinal # em expresses que contenham data. Exemplos: Critrio <>0 Em(MG,TO) >=Data Entre 2 e 5 Como L?? <#1/1/99# Resultado Diferente de zero Estado deve ser MG ou TO Nenhuma data antes de hoje Valores entre 2 e 5 2 caracteres comeando com L Apenas datas antes de 1999 Maior Menor Igual Maior ou igual Menor ou igual Diferente

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

69

Banco de Dados e Access


L* >#17/04/99 Avenida 30 Comeando com a letra L Data aps 17/04/99 Palavras iguais Avenida. Nmeros iguais a 30

Voc pode utilizar mais de uma tabela para criar uma consulta.Para adicionar uma nova tabela a sua consulta, clique em Consulta/Mostrar tabela ou clique no boto ( ) Mostrar tabela.

26. Consultando Vrias Tabelas

D um clique na tabela desejada para poder seleciona-la, e clique no boto Adicionar. Aps adicionar todas tabelas que gostaria que fizesse parte da consulta clique no boto Fechar. O Access estabelece uma conexo entre ambas tabelas atravs de uma linha ligando os campos em comum. Voc pode adicionar campos na grande inferior (QBE) provenientes das duas tabelas.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

70

Banco de Dados e Access

27. SQL

A SQL (Linguagem de Consulta Estruturada) surgiu com a terceira gerao de banco de dados, os RDBs-Relational Databases (Banco de dados relacionais). SQL na verdade uma linguagem para definir e manipular bancos de dados relacionais. Praticamente todos os produtos de banco de dados relacionais que esto no mercado suportam SQL, e com o Microsoft Access voc poder criar critrios com base na linguagem SQL.

28. Declaraes SQL


Exemplo:

A declarao SQL pode ser feita de duas formas: 1) No campo Critrio digitando a declarao em portugus. Entre #01/01/00# E #01/05/00# 2) No Modo SQL. Quando estiver criando uma consulta no modo Estrutura, clique no menu Exibir/Modo SQL. Exemplo: SELECT Clientes.Nome, Clientes.[E-mail], Clientes.Data FROM Clientes WHERE (((Clientes.Data) Between #4/15/2000# And #5/1/2000#)) ORDER BY Clientes.Nome, Clientes.[E-mail] DESC;

Instruo SQL

OPERADORES

Figura 29
O objetivo do sistema relacional oferecer um banco de dados de fcil compreenso e de definio clara, o que facilita sua manipulao. Seu princpio terico identificar precisamente o que pode ou no ser feito. O sistema relacional previsvel e disciplinado, sempre se sabe o que vai fazer. Os operadores (comandos para manipulao do banco e seu contedo) so de alto nvel e de fcil aprendizado e entendimento. Querendo efetuar mudanas nas definies dos bancos de dados, pode-se inserir novas colunas s tabelas, sem ter que alterar qualquer coisa nos programas de aplicao. As operaes relacionais defendem uma mudana radical. como sair de um Fusca e ir entrar numa Mercedes.

A manipulao dessas tabelas feita atravs de operadores, por meio dos quais se pode fazer qualquer tipo de acesso a uma tabela ou conjunto delas (projeo, seleo, juno etc.). Veja na Figura 31 um exemplo de juno.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

71

Banco de Dados e Access


SELECT Forne ce dor.[Nome de Forne ce dor], Forne ce dor.[Situa o do Forne ce dor], Pe dido.[Cdig o da Me rca doria ], Pe dido.[Qua ntida de Pe dida ] FROM Forne ce dor INNER JOIN Pe dido ON Forne ce dor.[Cdig o do Forne ce dor] = Pe dido.[Cdig o do Forne ce dor];

Figura 31
Esta uma sentena SQL que seleciona registros especficos das tabelas Fornecedor e Pedido, juntando todos os registros onde Cdigo do Fornecedor na tabela Fornecedor seja igual ao Cdigo do Fornecedor da tabela Pedido. Este um processo denominado JOIN (juno ou unio).

29. 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 espcie de relacionamento que o Microsoft Access cria depende de como os campos relacionados so definidos: Um relacionamento um-para-muitos criado quando somente um dos campos relacionados uma chave primria ou tem um ndice exclusivo. Um relacionamento um-para-um criado quando ambos os campos relacionados so chaves primrias ou tm ndices exclusivos. Na verdade, um relacionamento muitos-para-muitos so dois relacionamentos umpara-muitos com uma terceira tabela cuja chave primria consiste em dois campos as chaves externas das outras duas tabelas.

30. Formulrios

O formulrio uma excelente interface para manipular as informaes do banco de dados. O formulrio contm recursos grficos que permite filtrar e modificar os dados. atravs dos formulrios que podemos incluir cdigos ou chamadas que executem macros funes especificas. Edisoft - Edies Informatizadas Ltda.
25/01/2001

BDAccess.DOC

72

Banco de Dados e Access

31. Criando Um Formulrio

Para criar um formulrio, clique na guia Formulrio. Selecione Criar formulrio ).

usando o assistente, em seguida clique no boto (

Aparecer a tela do Assistente de formulrio. Onde voc deve escolher a tabela ou consulta de origem de dados e os campos que faro parte de seu formulrio.

Na janela Assistente de Formulrio, existem duas caixas de opo: a da esquerda exibe os campos disponveis, e a da direita os campos escolhidos. Repare que existem botes no centro da janela Assistente de formulrio que servem para movimentao dos campos.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

73

Banco de Dados e Access


Selecione os campos disponveis e clicar no boto avanar.

Na prxima tela voc dever definir o layout do formulrio. Escolhendo a opo Coluna (default) o formulrio apresentar um registro por vez.

Clique no boto avanar para aceitar a opo default.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

74

Banco de Dados e Access


No prximo passo, defina o estilo que seu formulrio adotar. Aps decidir a opo que ir utilizar, clique no boto avanar.

Na prxima etapa informe o ttulo para o formulrio. Clique no boto Concluir e seu formulrio estar pronto.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

75

Banco de Dados e Access


Agora voc pode visualizar os registros de uma forma grfica, e poder incluir novos dados em seu formulrio.

Movimente-se em seu formulrio utilizando as os botes para movimentar-se entre os registros.

Para incluir um novo registro na tabela de dados, clique sobre o boto (

) novo registro.

32. Estrutura do Formulrio


Alterar o texto do formulrio.

Voc pode alterar a estrutura do formulrio afim de: Alterar a largura das caixas dos campos do formulrio. Modificar o posicionamento do texto. Cor do fundo da tela.

Selecione o formulrio desejado na guia Formulrio. Clique no boto ( Estrutura.

Ao clicar em um controle, este ficar selecionado. Podendo ter seu tamanho, cor, formato modificado.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

76

Banco de Dados e Access


Voc pode selecionar vrios controles, arrastando o ponteiro do mouse ao redor deles. Aps soltar o boto do mouse todos os controles estaro selecionados.

Os controles podem ser selecionados, mantendo a tecla SHIFT pressionada, enquanto clica sobre os controles.

33. Alterar Aparncia do Texto

Para alterar a aparncia de um controle, voc deve primeiro seleciona-lo clicando nele uma vez.

Agora selecione uma ( O( O( ) Tamanho da fonte.

) Fonte para o texto.

) Alinhamento do texto (esquerdo, centro, direito). A( ) Cor de fundo/Preenchimento.

A(

) Cor do primeiro plano/fonte. A( ) Cor da linha/borda.

A(

) Largura da linha/borda. O( ) Plano.

Os resultados so aplicados imediatamente quando se tem um controle selecionado e se clica no boto correspondente ao efeito desejado. O resultado final pode ser visto mesmo antes de aceitar as alteraes feitas na aparncia.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

77

Banco de Dados e Access

Se voc no gostar das alteraes, clique no boto ( Para aceitar as mudanas clique no boto ( ) Salvar.

) Desfazer.

34. Rtulo do Formulrio

Voc pode definir um rtulo para seu formulrio separando o Cabealho do formulrio, e o Detalhe dos campos e controles.

Aps separar o Cabealho do formulrio do Detalhe clique no boto ( ferramentas. Na pequena Caixa de ferramenta selecione ( ) Rtulo.

) Caixa de

Clique com o mouse no espao vazio entre o Cabealho do formulrio e Detalhe.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

78

Banco de Dados e Access


Digite o rtulo para seu formulrio e pressione a tecla Enter quando terminar. Voc pode usar as mesmas formataes (fonte, cor, tamanho, etc.) que usou para o texto com o rtulo. Para salvar as alteraes em seu formulrio clique em Arquivo/Salvar.

35. Exibir Formulrio


Para exibir o resultado do formulrio, clique no boto ( ) Exibir.

36. Relatrios

Voc pode imprimir as informaes de seu banco de dados utilizando tabelas ou as consultas e at mesmo os formulrios. Mas a maneira mais fcil e profissional de impresso dos dados utilizando o Relatrio. O mdulo Relatrio permite uma grande quantidade de controle e o utilizando assistentes para a criao de um relatrio eficaz da maneira desejada.

37. Criando Um Relatrio

Para criar um relatrio, abra o banco de dados e clique sobre a opo Relatrios.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

79

Banco de Dados e Access

Em seguida, clique no boto (

) Novo.

Uma janela denominada Novo relatrio ir aparecer.

Clique na seta para baixo e escolha a Tabela ou Consulta para criar o relatrio.

Selecione a opo Assistente de relatrio e clique no boto OK. Na prxima tela, selecione os campos que deseja colocar no relatrio e movimente os para a caixa do lado direito da janela (Campos selecionados).

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

80

Banco de Dados e Access

Repare que existem botes para movimentao dos campos disponveis e selecionados.

Ao terminar a seleo clique no boto Avanar. Agora voc deve definir a ordem de classificao do relatrio escolhendo at quatro chaves de classificao. Clique na seta da caixa de listagem e escolha o campo. Clique no boto Avanar.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

81

Banco de Dados e Access

Para definir a ordem de classificao, clique no boto ao lado direito da caixa de listagem. Clique no boto Avanar.

Na tela seguinte, defina o layout para o seu relatrio. Escolha o formato que mais lhe agrada ou condiz com as suas exigncias. Clique no boto Avanar.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

82

Banco de Dados e Access

Agora voc deve definir um estilo para seu relatrio. Aps decidir a opo que ir utilizar clique no boto Avanar.

Na prxima tela informe o titulo do seu relatrio. Escolha a opo Visualizar o relatrio, para poder visualizar sua aparncia. Clique no boto Concluir.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

83

Banco de Dados e Access

Tela do relatrio j pronto.

Clique no boto (

) Zoom para visualizar o relatrio por inteiro na tela.

38. Estrutura do Relatrio


Para entrar no modo estrutura do relatrio, selecione o relatrio e clique no boto ( Estrutura. )

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

84

Banco de Dados e Access

No modo Estrutura, voc poder fazer vrias alteraes, dentre as quais: Alterar a largura das caixas dos campos do relatrio. Alterar o texto do relatrio. Modificar o posicionamento do texto.

Para alterar os objetos que compem o relatrio voc precisa seleciona-los. Aps selecionar os objetos aplique as mudanas, que so: Agora selecione uma ( O( O( ) Tamanho da fonte. A( ) Formatao (negrito, itlico ou sublinhado). A( A( ) Cor do primeiro plano/fonte. A( A( ) Largura da linha/borda. O( Edisoft - Edies Informatizadas Ltda. ) Plano. ) Cor da linha/borda. ) Cor de fundo/Preenchimento. ) Alinhamento do texto (esquerdo, centro, direito). ) Fonte para o texto.

BDAccess.DOC

25/01/2001

85

Banco de Dados e Access

Aps fazer as alteraes clique no boto (

) Salvar.

39. Imprimindo o Relatrio

Para imprimir o relatrio, voc deve seleciona-lo e clicar no menu Arquivo/Imprimir ou clicar no boto ( ). Antes de imprimir o relatrio, voc deve configurar a pgina a ser impressa. Selecione o relatrio para impresso. Clique no menu Arquivo/Configurar pgina.

Voc deve fazer as alteraes de acordo com as dimenses da folha a ser utilizada para impresso. Exemplo: A4 Para aceitar as alteraes clique no boto OK.

40. Macros

Uma macro um conjunto de uma ou mais aes onde cada uma efetua uma determinada operao, como abrir um formulrio, localizar um registro, imprimir um relatrio, etc. As macros podem ajud-lo a automatizar tarefas comuns. Por exemplo, voc pode executar uma macro quer imprima um relatrio quando um usurio clicar em um boto de comando. Uma macro pode ser uma macro composta de uma seqncia de aes ou pode ser um grupo de macros. Voc tambm pode utilizar uma expresso condicional para determinar se, em alguns casos, uma ao ser realizada quando uma macro for executada.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

86

Banco de Dados e Access

41. Criar Uma Macro


Para criar uma macro abra seu banco de dados, selecione a guia Macros, clique no boto ( Novo. )

Uma nova tela ir aparecer. Na coluna Ao escolha a ao desejada para se executada pela macro. Selecione a ao clicando na seta para baixo.

Aps selecionar a Ao que a macro executar, defina os argumentos da ao na parte inferior da tela.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

87

Banco de Dados e Access

Os argumentos da ao dependem da sua escolha na coluna Ao. Salve sua macro clicando no boto ( ) Salvar. ) Executar.

Execute a macro criada clicando no boto (

42. Cdigo Visual Basic No Microsoft Access

A melhor maneira de trabalhar com banco de dados no modo Formulrios. Utilizando formulrios voc ter uma interface grfica que lhe permitir visualizar dados de uma maneira mais rpido e eficiente. Utilizando formulrio voc pode construir cdigos Visual Basic para executarem macros ou fazer chamada de outros formulrios para Editar, visualizar ou adicionar dados.

43. Criar Cdigo Visual Basic

Para criar cdigo Visual Basic selecione a guia Formulrios, selecione o formulrio ) Estrutura. desejado e clique no boto (

Suponhamos que voc tenha um formulrio folha de pagamento e quer obter todos os dados a respeito de um funcionrio. Dados esse que esto armazenados no formulrio funcionrio. Portanto voc deve criar uma Macro que abra o formulrio funcionrio, no campo desejado e na forma desejada (Editar, adicionar ou Visualizar). O mecanismo ideal para executar uma macro o Boto de comando, que voc adiciona em seu formulrio clicando no boto de ( ferramentas. ) Caixa de

Ao adicionar um boto de comando uma janela Assistente de boto de comando aparecer. Para poder personalizar este boto e incluir cdigo Visual Basic clique no boto Cancelar.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

88

Banco de Dados e Access

O Boto de comando ser includo no formulrio bem na rea onde voc clicou no formulrio.

Voc personalizar este boto alterando seu rtulo e acrescentando a ele uma tecla especial de atalho. Para personalizar este boto selecione-o e clique no boto ( ) Propriedades.

Na guia Formato selecione legenda e digite: Fu&ncionrio Isso faz com que se possa acessar este boto pressionado as teclas [Alt] + [n]. tambm na guia Formato que alteramos a aparncia do(s) objeto(s). etc. Voc pode mudar a altura, largura, figura, visvel (sim ou no), cor e tamanho da fonte Aps modificar as propriedades do boto clique no boto ( ) Cdigo.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

89

Banco de Dados e Access


Uma tela do editor de cdigo se abrir. Escolha o boto que criou clicando na seta para baixo.

O evento que ir aparecer o OnClick (Ato de clicar no boto).

Digite o seguinte cdigo para abrir o formulrio atravs de uma macro de nome "Funcionrios.
Dim Abrir As String Abrir = "Abrir Formulrio Funcionrios no modo somente leitura If MsgBox(Abrir, vbOKCancel, "Visualizar dados sobre os Funcionrios") = vbOK Then DoCmd.RunMacro "Funcionrios" Else Exit Sub End If

Quando este formulrio for acessado e o boto que foi adicionado for clicado, um prompt aparecer, com dois botes como opes de abertura do formulrio. O boto Ok (VbOk) abre o formulrio e o boto Cancelar (VbCancel) cancela a ao.

O formato de abertura do formulrio foi determinado pela Macro "Funcionrios", que permite que este formulrio seja aberto somente no modo leitura. Para salvar as alteraes em seu formulrio clique no boto ( ) Salvar.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

90

Banco de Dados e Access

Normas e Padres de Produtos Access


1 s es e r dr ad Pa eP se as ma rm or No 1.. N
Existe dificuldade em se passar especificaes do usurio para que o programador possa criar o cdigo (programa).

1.1. O por qu

Usurio Quem mais sabe de seu negcio

Analista de OS&M ou Sistemas Quem mais sabe transformar graficamente a necessidade de informao do usurio

Programador

Quem mais sabe tornar programa as atividades do usurio

ideal a passagem de informaes ser por este caminho direto, mas normalmente impossvel
. O usurio no conhece e nem deve conhecer de mquinas e programao. . O Analista deve conhecer razoavelmente bem a programao e as reas de negcio do usurio. Todavia no necessita ser um especialista. . J o programador deve conhecer bem sua rea: fazer programas.

Trs pessoas falando termos, regras e processos, de 3 formas diferentes. Da surge a necessidade de padronizao. A padronizao torna possvel que todos os envolvidos falem a mesma lngua, ou pelo menos entendam o que os outros dizem. Alm disto, o que no est escrito muita gente confunde com no existe padro, gerando muita confuso e desorganizao, principalmente quando se fala em Informtica, paraso dos auto-normativos. Portanto Normas SIM!

1.2. Conceito

Normas ou padres ou premissas ou metas ou regras ou semelhantes, so descries de normas e procedimentos, premissas gerenciais, objetivos e metas a alcanar, regras de operao e todas as demais especificaes referentes a padres a serem seguidos na organizao. Constituem, em geral, de textos ou dados tabelados, formando um conjunto de determinaes que servem como guia para as operaes da organizao, em complemento aos programas e planos.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

91

Banco de Dados e Access

1.3. Objetivos

a) Organizar os documentos e produtos da Prefeitura. b) Zelar pela uniformidade dos servios. c) Proporcionar um entendimento rpido e duradouro da metodologia e aspectos operacionais adotados. d) Proporcionar quer o usurio ache facilmente arquivos gerados no disco rgido. e) Assegurar que todos os sistemas tenham a mesma aparncia, permitindo assim, um treinamento e uma manuteno rpida e segura. f) Estabelecer uma harmonia total dentro da equipe de trabalho de desenvolvimento de sistemas e usurios.

1.4. Premissas Finais

O incio de uma construo, de uma empresa, de um experimento e principalmente de um projeto de fundamental importncia. neste momento que se formam as bases para um empreendimento slido. E quanto maior a envergadura do empreendimento, maior ser o tempo nesta base. A base de um projeto de informatizao, alm da Anlise e Conhecimento do Negcio e das Metodologias, a criao das Normas e Padres a serem adotados no decorrer deste projeto. Portanto, para uma eficaz construo necessrio um eficaz documento de Normas e Padres, to abrangente quanto possvel neste incio de atividade. As instrues e informaes aqui descritas so resultado da busca do melhor desempenho e da diminuio dos processos de manuteno. Esta busca resultado de experincia no ramo de consultoria e desenvolvimento de sistemas, e fazem parte do padro de qualidade que se deseja para servios e produtos DEMIN-PMP.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

92

Banco de Dados e Access

2 s as da niid fiin ef De sD as ra gr eg Re eR se as ra ur tu at viia ev re br Ab s,, A as glla Siig 2.. S


Em trabalhos de enfoque integrado objetivando uma soluo corporativa, a equipe de criao da soluo deve estar to integrada e afinada quanto se espera que o sistema esteja. Para tanto a normatizao de nomes um ponto importante para que as diversas pessoas envolvidas possam criar as definies dentro do mesmo padro e encontrar rapidamente o que procuram.

2.1. Cdigos dos Sistemas

No h nomenclatura especfica para sistemas. Eis alguns sistemas da DEMIN-PMP e seus cdigos respectivos:

Sistemas

Abreviatura
1

0. Normas 1. CAU

NOR CAU
1 1

2. Genrico

GEN UNI ALM AMB ATE COM COM EDU FIN FOL FRO GER INT LEG ORC PAT SAL SOC TRI URB

3. Cadastro nico 4. Almoxarifado 5. Ambiental 6. Atendimento 7. Contabilidade 8. Compras 9. Educao 10. Financeiro

11. Folha Pgto - RH 12. Frota 13. Gerncia 14. Intranet 15. Legislao 16. Oramento 17. Patrimnio 18. Sade 19. Servio Social 20. Tributao 21. Urbanismo

2.2. Nomes de Tabelas

1. O nome da tabela deve ser escrito no singular, seguindo a gramtica da lngua portuguesa. 2. A primeira letra do nome de uma tabela deve ser maiscula e as demais minsculas, salvo se o nome da entidade for composto. Neste caso o segundo ou terceiro nome devem iniciar por maiscula novamente.

No um sistema, mas uma rea que deve ter manuteno a parte. Normas - so as Normas e Padres para a criao e manuteno de sistemas. Genrico - so as telas pais, as telas padres e as rotinas de segurana. Cadastro nico o cadastro de pessoas e suas tabelas nicas para todos os sistemas.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

93

Banco de Dados e Access


3. No caso do uso de siglas na composio do nome da tabela, todas as letras devem ser maisculas. 4. Ao usar abreviaturas ou siglas certifique-se de sua clareza. O que trivial para o analista, pode no ser para o usurio. Ex.: NF, EBD, CEPs, UF so algumas abreviaturas previstas. 5. O tamanho mximo do nome deve ser 64 caracteres.

EXEMPLO DE NOMES DE TABELAS Descrio Controle de Cheques Pr Datados Empresa Atual utilizando o sistema Pessoa Forma de Pagamento Tipos de Pessoas (Fornecedor,Usurio...) Nome da Entidade ChequePrDatado EmpresaAtual Pessoa FormaPagamento TipoPessoa

6. Se uma tabela tem cabealho e itens, o nome da tabela item pode ter o nome item no final. Ex.: NF e NFItem. 7. Exceo para o sub-tpico acima, so as Associativas que devem ter como segundo nome, o dado que dever ser fixo, e o segundo sim que deve ser variado. Ex.: HabilitacaoTecnico => Tcnico que deve ser fixo. Isto , cadastrarei as n habilitaes do tcnico no cadastro de tcnicos. CargoPessoa => Cadastro os n cargos para determinada pessoa.

EXEMPLO DE NOMES DE TABELAS ASSOCIATIVAS Descrio Contrato com clientes Itens da nota fiscal Tipo de Servio Nota Fiscal Nome da Entidade ContratoCliente NFItem TipoServio

NF
Agenda do Atendimento Aluno Por Classe Por Matria Aptido Por Pessoa Pessoa Por Secretaria Evento Por Grupo AgendaAtendimento AlunoPorMateriaPorClasse AptidaoPorPessoa PessoaPorSecretaria EventoPorGrupo

2.3. Nomes de Colunas

1. Valem as mesmas regras para criao dos nomes de entidades (tabelas). 2. Os mnemnicos, quando necessrios, devem ser escritos, sempre que possvel obedecendo as abreviaturas dispostas no Anexo 1. 3. Os mnemnicos padronizados esto descritos na tabela a seguir. 4. Havendo necessidade de criar novos mnemnicos informar ao DA imediatamente.

TABELA DE MNEMNICOS

Veja ANEXO 1. Quando da criao das tabelas, acrescentar a descrio de cada campo, pois estas descries sero utilizadas quando da criao das telas (formulrios), devendo aparecer no Micro Help (pequeno retngulo informativo na parte inferior da tela). Edisoft - Edies Informatizadas Ltda.
BDAccess.DOC

25/01/2001

94

Banco de Dados e Access

2.4. Nomes de Objetos


2.4.1. Nomes de Identificadores (variveis, tabelas, colunas e outros)
. Podem ter at 64 caracteres (utilize de preferncia at 30). . Salvo raras excees (abreviaturas), crie nomes no singular. . Podem incluir qualquer combinao de letras, nmeros e os seguintes caracteres: -_$#%. Todavia espera-se que no se utilize, devendo os nomes apresentarem o seguinte: - Letras Maisculas no incio de cada palavra ou significado - No serem abreviados - Sem espao ou underline (_) separando-os - Nomes curtos mas que realmente identifiquem suas funes - Utilizar acentos sempre que possvel - Se houver necessidade de repeties, utilizar a numerao sequencial (1, 2, 3 ...) - Nomes indiferentes para variveis Globais, Locais, de String, Numricas... Uma vez que este controle no Access ou Visual Basic subjetivo (diferentemente de Power Builder, C, C++).

Exemplo:

CodPessoa IncluiCod SalrioAtual Acumulador VarAux (Varivel Auxiliar - exceo de abreviatura) TotalSalrio, TotalSalrio1, TotalSalrio2... EndereoPessoa

2.4.2. Nomes de Recursos


Tabela J descrito no item 2.2. e 2.4.1.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

95

Banco de Dados e Access


Consulta Se a consulta for de uma tabela existente, deve ser de nome igual, acrescentando c_ (devido o Access identificar como mesmo objeto os nomes de consultas e tabelas). Exemplo: c_Pessoa, c_Membro, c_Forma_Pagamento Se a consulta for repetida, deve-se acrescentar aps o nome, um nome que identifica o porque da consulta. Exemplo: c_Pessoa, c_Pessoa_Item Se a consulta no tiver tabela imediatamente relacionada (normalmente est relacionada a mais de uma tabela), crie nomes com letras Maisculas no incio, sem separadores, com c_ no incio (veja nomes de identificadores). Exemplo: c_Valores_De_Gasto, c_Etiquetas_de_Membros_Inativos Formulrio Utiliza a mesma nomenclatura de Identificadores j descrita, somente que, quando houver nome repetido, utilizar um acrscimo que identifique melhor o formulrio. Exemplo: TelaInicial, Pessoa, Membro, Cerimnia, Pronturio, Profisso. Alm disto, quando o formulrio for um sub-formulrio realmente identificado como tal (no ser utilizado como formulrio principal), acrescente um X no incio do nome. Isto far com que ele v para o final da listagem e rapidamente voc o identificar como um sub-formulrio atravs do nome. Exemplo: XPessoaItem, XHoraTrabalhadaItem, XParcela, XNFItem. Relatrio Obedece a mesma norma de Formulrio. Somente que pode ser utilizado separadores (espaos) entre nomes. Macro Obedece a mesma nomenclatura de identificadores, somente que as palavras devem vir separadas com underline (_). Mdulo Obedece a mesma nomenclatura de macros.

2.4.3. Nomes de Controles


Para que voc ou outra pessoa que ir manter os programas, e para os documentadores de objetos, os nomes de controles devem obedecer uma identificao nica, de tal sorte que voc, ao ver o nome do controle, saiba distinguir o que ele identifica. O Access cria nomes default de controles, como campo1, campo58... Altere o nome para o mesmo nome do campo da tabela. Se for repetido acrescente 1, 2, 3... ao final do nome. Se no estiver ligado a campo, deve obedecer a mesma nomenclatura para identificadores descrita acima. Exemplo: CodPessoa DescrPessoa A exceo deve ser feita para botes. Uma vez que eles so extremamente comuns, seria interessante que fossem identificados na lista de controles quando necessrio escrever cdigos para eles. Edisoft - Edies Informatizadas Ltda.
BDAccess.DOC

25/01/2001

96

Banco de Dados e Access


Para botes acrescente Bt_ antes do nome, que obedece a nomenclatura de Identificadores. Exemplo: Bt_Descrio Bt_RelatrioDeMembros E a exceo se aplica para caixas de combinao: Neste caso, acrescente _CxC depois do nome, que tambm obedece a nomenclatura de Identificadores. Exemplo: CodPessoa_CxC Descrio_CxC CodGrupo_CxC

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

97

Banco de Dados e Access

3 s os to ut du od ro Pr aP ra ar pa sp as ma rm or No 3.. N
3.1. Anlise
A metodologia de Anlise e de sua documentao a j em uso pela DEMIN-PMP, e, portanto, no deve sofrer modificaes. O resumo da metodologia mostrado abaixo.
Fases do Projeto
Treinamento Prottipo Beta Teste Entrada em Produo

Concepo

Desenvolvimento Sistema Verso 0.9

* Sistema Verso 1.0

Concepo

Fase em que se delineia as bases do projeto. Faz-se o levantamento das informaes na Contratante e o desenho da aplicao, criando-se o Modelo de Dados. Passa-se para a tela todos os dados da fase anterior, desenhando-se a navegao da aplicao. Cria-se um esqueleto do sistema, e aprova-se com a Contratante se o sistema desenhado at ento, atende plenamente suas necessidades. nesta fase que efetivamente cria-se o sistema, isto , cria-se os programas para o sistema. Se houve uma fase de prottipo, esta fase tende a ser encurtada. Aps quase a totalidade do cdigo (programa) estar criado, passa-se para a Contratante utilizar o sistema, entrando dados reais do seu dia a dia. A Contratante dever aprovar ou no, um a um dos programas, gerando uma lista de alteraes a serem feitas, se necessrio. Note que esta fase significa testes em conjunto, uma vez que alguns programas sero liberados com antecedncia, e testados com antecedncia tambm. feita nesta etapa, as ltimas alteraes para esta verso do sistema, gerando-se, ao final, a verso 1.0 do sistema, pronta para entrar em produo. Treinamento do Administrador e do(s) Operador(es) do sistema assim como noes de Windows, backup, fax, internet, suporte remoto e inmeras outras dicas.

Prottipo

Desenvolvimento

Beta-Teste

* Alteraes Finais

Treinamento

3.2. Programao

O padro descrito abaixo deve ser adotado no desenvolvimento de aplicaes. Este padro no visa bloquear a criatividade dos tcnicos no processo de desenvolvimento, mas sim assegurar que todos os sistemas tenham a mesma aparncia, permitindo assim, uma manuteno rpida e segura. extremamente importante que as diretrizes sejam seguidas para facilitar o prprio trabalho de quem est em desenvolvimento e futuramente para quem fizer a manuteno dos sistemas.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

98

Banco de Dados e Access


Se ao longo do projeto for detectado que determinado padro possa ser melhorado em funo de um desenvolvimento mais preciso, pede-se que as sugestes sejam apresentadas para discusso.

3.2.1. Procedimentos
Um programa/objeto estar concludo quando estes requisitos estiverem cumpridos:
- estiver testado operacionalmente; - documentado dentro dos padres estabelecidos; - conferido e aceito pelo analista ou usurio responsvel.

3.2.2. Programas/Mdulos
Modelo de construo de Mdulo:
' ******************************************************************************** ' Function....: Atualiza_Vlr_Total () ' Propsito...: Atualiza no formulrio de TRANSAOPRINCIPAL, o Valor Total ' da compra do cliente ' Parmetros..: Nenhum ' Retorno.....: Nenhum ' Observaes.: Utilizado no evento AFTERUPDATE do formulrio ' XTRANSAOITEM e no evento BEFOREINSERT do formulrio ' XPARCELAS. ' Alteraes..: Data Quem O que ' 07/08/1994 Jos Baixa na agenda ' 08/08/1994 Edson Commit das tabelas ativas ' Nr Histrico: ' 1 A baixa do horrio na agenda do tcnico era efetuada somente aps a ' emisso da agenda, isto gerava duplicidades no momento de programa' es simultneas para o mesmo tcnico. Por este motivo a baixa ser ' feita imediatamente aps a programao. ' ' 2 Na ltima alterao o Commit foi acidentalmente removido do cdigo ' '********************************************************************************* Function Atualiza_Vlr_Total () On Error Goto Err_Atualiza_Vlr_Total ' NumLinhas neste script no est sendo usado Dim NomeQuery As String, QueryMesmo As String, MeuBD As Database Dim Acumulado As Double ' Cria Query para as n Parcelas dita em Forma de Pagamento Set MeuBD = CurrentDB() NomeQuery = "c_Valor_Total" QueryMesmo = "SELECT VlrUnitrioMater,QtdeMater FROM TransaoItem WHERE"&; "TransaoItem.CodTrans = " & Forms!TransaoPrincipal![Transao.CodTrans]&; ";" Acumulado = 0 If Cria_SnapShot(NomeQuery, QueryMesmo) >= 1 Then Do Until rSnapShot.Eof Acumulado = Acumulado + rSnapShot!VlrUnitrioMater * rSnapShot!QtdeMater ' Localiza prxima ocorrncia. rSnapShot.MoveNext Loop End If ' Calcula o Valor Total em Dinheiro Forms!TransaoPrincipal![VlrTransTotal] = Acumulado

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

99

Banco de Dados e Access


Exit_Atualiza_Vlr_Total: Exit Function Err_Atualiza_Vlr_Total MsgBox Error$ Resume Goto Exit_Atualiza_Vlr_Total End Function

A confeco de cabealho para scripts de mdulos e sua atualizao criteriosa, permite uma avaliao mais precisa para que se possa determinar a necessidade de novas verses, facilitando esta criao e posteriores manutenes. No utilizar este cabealho nos scripts de eventos, e outros que possam haver. Utilizar somente em mdulos. Entretanto nos scripts de eventos dever haver comentrios quanto aos nomes dos objetos envolvidos e funes chamadas, salvo se houver trivialidade exagerada (no esquea que o que trivial para voc, pode no ser para outra pessoa). Se os programas passados rea de desenvolvimento so excessivamente complexos, torna-se necessrio, alm da documentao at ento conhecida, efetuar a elaborao de uma especificao de programa descrevendo aquele processo. A especificao de programa dever ser a ferramenta de descrio de processos mais perto da linguagem utilizada. Alguns detalhes da especificao de programa (que o programador julgar necessrio) devero vir no programa (function) como comentrio de cabealho, e dever ser escrito pelo programador antes de comear o desenvolvimento em si. Sua finalidade o encontro pelo programador, no incio do desenvolvimento do programa, de algo no necessariamente detalhado, ou ainda, falhas de descrio tcnica, ou at no entendimento da concordncia gramatical e sintaxe do portugus utilizado para descrio do processo. Isto far com que a perda de tempo proporcionado por erro encontrado somente quando j se escreveu boa parte do programa no seja sentida. O contedo mnimo da especificao de programa, quando necessrio esta especificao,
1. Dados que sero informados, inclusive quais bancos e como se far acesso a estes bancos; 2. Os testes que houver em dados informados (consistncia); 3. Passos de programas; 4. Consulta a tabelas (quais arquivos); 5. Testes de condies especiais; 6. Definio de estrutura de arquivo que este programa venha a gerar, 7. Frmulas com: Nome; Representao matemtica; Constantes e variveis; Condio para uso; Exemplos com valores simples...

ser:

3.2.3. Observaes
1. O tamanho da linha nos cdigos no deve exceder as 80 colunas, salvo SQLs excessivamente longos. Mesmo assim, nos SQLs utilize a quebra em variveis concatenadas sempre que possvel.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

100

Banco de Dados e Access


2. A endentao de condies e outros recursos de programao deve ser feita com no mnimo 3 espaos. Todavia utilize muito o alinhamento com a segunda palavra da frase da linha de cima, salvo se for muito distante (superior a 5 espaos).
If Cria_SnapShot(NomeQuery, QueryMesmo) >= 1 Then Do Until rSnapShot.Eof Acumulado = Acumulado + rSnapShot!VlrUnitarioMater ' Localiza prxima ocorrncia. rSnapShot.MoveNext Loop End If

3. Utilizar inicial maisculas nos comandos principais, como: If ... EndIf While ... EndWhile Entre outros. 4. Comentrios internos ao cdigo fonte deve respeitar a premissa de cabealho j citado anteriormente e ainda durante o cdigo deve conter quando necessrio para deixar sem dvidas:
- variveis - chamada a arquivo de banco de dados/tabelas - chamadas a outros objetos - chamadas a bibliotecas - frmulas

5. Se houve dificuldade na confeco de determinado trecho de cdigo, provavelmente ele ir ser de difcil interpretao para quem for fazer manuteno. Portanto este trecho deve ser muito bem documentado. 6. Estes comentrios devem aparecer sempre que determinados trechos apresentarem complexidade, e se julgados necessrios nos demais casos. de cdigo

3.3. Telas
3.3.1. Mensagens
Tanto o Visual Basic como o ACCESS permite que voc utilize cabealho nas mensagens, alm da mensagem no meio da janela de mensagem. Esta ltima representada pela primeira mensagem do MsgBox. E o cabealho da mensagem representado pelo terceiro parmetro. sobre eles que padronizaremos agora: Falta de Informaes MsgBox "Preencha o campo de Transao.", 48, "Falta de Informaes" Como por exemplo em uma consistncia de Tela que o usurio no entrou com valor nenhum. Erro de Informaes MsgBox "Cdigo de Cliente = 0 ou Tipo da Transao = Compra. S Poder Ser Emitido Carn de Venda!!", 48, "Erro de Informaes" Como por exemplo em uma consistncia de Tela que o usurio entrou com valor errado. Informaes Erradas MsgBox "Nmero de Parcelas no Sub-Formulrio PARCELAS Diferente Previsto pela Forma de Pagamento.", 48, "Informaes Erradas"

do

Nmero

Quando est ocorrendo um processamento e ocorreu erro de consistncia que no deveria ocorrer. Edisoft - Edies Informatizadas Ltda.
25/01/2001

BDAccess.DOC

101

Banco de Dados e Access

Estoque Insuficiente MsgBox("Deseja fazer a transao assim mesmo?", 1, "Estoque Insuficiente") Quando houver necessidade de Mensagens Especficas. A criao destas mensagens deve ser evitada mas ser inevitvel que ocorra.

3.3.2. Menus
As telas no padro GUI devem ser projetadas para serem de operao simples, fcil e intuitiva. O mouse pode ser exigido em determinadas funes. A escolha da opo deve ocorrer num click ao cone indicador da ao ou ALT + caractere sublinhado ou via Hot Key. Os menus Pull Down e Drop Down, devem seguir o padro do windows.

Na criao da barra de menu, a seqncia de exibio dos itens deve ser intuitiva ao usurio, evitando que ele fique procurando pelo que tem a fazer. A criao das hot keys deve ser feita para as opes que tem uma utilizao muito freqente, pois de outra forma o usurio no ir utilizar e ser gasto tempo desnecessrio na criao da aplicao. Quando uma opo exigir sub-menus, cuide para que estes sejam orientados por Micro Helps explicativos em linguagem simples e direta, pois o usurio quer resultados e no ser um expert em operao de sistemas.

Tela Inicial do Sistema, onde so colocados os botes de opo e as opes de menu.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

102

Banco de Dados e Access

3.3.3. Nomes de Programas


No existe a filosofia de utilizao de nomes de programas em Access. Assim como no Visual Basic, praticamente tudo baseado em eventos e em controles. Todavia, como ser necessria a utilizao de vrios bancos de dados, tudo isto em rede, praticamente certo que ser necessrio colocar os programas em um MDB em algum local da rede de comum acesso. Os demais MDBs ou o outro MDB, ser(o) colocado(s) em um endereo nico, identificado por letras de drives de rede. Isto deve ser definido antes pois pode mudar cdigo.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

103

Banco de Dados e Access

3.3.4. Tela de Manuteno


As telas de manuteno de tabelas devem apresentar os campos a serem imputados e/ou alterados, de forma clara, destacada e similar seqncia do negcio do usurio. Sempre que um campo puder ser exibido automaticamente invista no cdigo para que o usurio ganhe confiana no sistema e invista ainda mais no uso de suas potencialidades. O auxlio ao usurio deve ser rpido para aquelas operaes que forem crticas e sujeitas a erros de digitao e/ou operao. O sistema deve, em resumo, ser previsvel. As telas de manuteno devem apresentar o seguinte:

Utilize, sempre que possvel, a caixa de combinao (o controle que apresenta a seta para baixo sublinhada) para abrir pesquisa na lista de escolhas. Se voc quer que o usurio visualize o cdigo neste controle, deixe o controle mostrando o cdigo. Todavia, na maioria das vezes mostre a descrio e no o cdigo (Nome da Igreja em vez de Cdigo da Igreja - por exemplo). Isto far tambm com que o usurio digite letras iniciais de procura de descrio, e o controle ir mostrar o dado que o sistema encontrou. Exemplo: Na Caixa de Combinao Logradouro, se voc digitar R, o sistema ir se posicionar no primeiro R que ele encontrar. Se digitar A, ele ir se posicionar provavelmente em Av (de Avenida). As cores no devem variar muito de uma tela para outra (de preferncia nada). O fundo do cabealho da Tela deve ser azul claro e a letras Pessoa devem ser azul escuro e cinza respectivamente. Edisoft - Edies Informatizadas Ltda.
BDAccess.DOC

25/01/2001

104

Banco de Dados e Access


O fundo da tela de trabalho deve ser Cinza claro. Os textos devem estar alinhados direita, e as caixas de texto devem ficar alinhadas pela esquerda. Os valores devem ser alinhados esquerda. O tamanho da tela deve ser 800 por 600, padro 256 cores.

3.4. Modelos de Telas e Programao


No importa se estamos pintando um quadro, escrevendo um poema ou esculpindo uma esttua, a simplicidade a marca da mo do mestre. Elsie de Wolfe

3.4.1. A Interface Grfica


A maioria dos programas para DOS apresentam interfaces construdas segundo a finalidade do sistema e segundo o "jeito" de cada programador. Mas sabemos que os dias da interface arbritria esto contados. Depois que os usurios colocam as mos no Windows ou no MAC, raramente esto dispostos a desistir deles. como andar de Landau; voc no ir se acostumar se trocar por um fusca. As interfaces grficas, a propsito, no foram criadas ao acaso. Envolveram uma quantidade de pesquisas de muitos anos com usurios de todo tipo e realmente funcionam. A padronizao nas telas e o comportamento previsvel dos programas s facilmente possvel com linguagem orientada a objetos, como a que o Windows foi escrita (C++ e outras). Emular comportamentos conhecidos e familiares encontrados no mundo real o que torna esse tipo de interface visual e baseada em objetos to mais acessvel aos usurios. O fato de que a interface visual outra razo para as pessoas gostarem dela. Sutilezas de cor, textura visual, movimento e nuances na aparncia geral dos objetos podem comunicar uma grande quantidade de informaes com muita rapidez. isto que o Windows proporciona sem fazer segredos, e como conseqncia, o Access, que baseado em Windows.

3.4.2. A Interface Humana


Uma equipe de desenvolvimento de projeto fortemente heterognea. Ali existem analistas e programadores oriundos de diferentes empresas e ambientes. Utilizavam at aqui, as mais variadas linguagens e ferramentas, como por exemplo: Cobol, Mumps, Clipper, Zim, C, Visual Basic, Fox Pro e at geradores automticos de sistemas. Torna-se necessria, portanto, a criao de padres de menu, telas, programas e documentao, sob pena de inviabilizar a integrao atual dos sistemas e a manuteno futura. Com a padronizao pretende-se que todos os programas tenham aspecto semelhante, no sendo possvel que haja uma uniformidade ampla, j que estaremos criando objetos para atenderem processos muitas vezes completamente distintos. Mas o que for semelhante ou idntico, dever ter a mesma funcionalidade (Ex.: Boto de Atualizar deve realmente atualizar os dados da tela, e no, por exemplo, fazer o fechamento do ms, atualizando uma base de dados. Partir-se- de linhas mestres e sero modificadas somente para satisfazer necessidades especficas.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

105

Banco de Dados e Access


No se pretende ainda escrever um padro final, livre de falhas, consistente e duradouro. At porque, quando isto acontecer (se ocorrer), teremos j morrido.

3.4.3. A Interface GUI


Os projetistas corporativos de interfaces grficas com o usurio (GUI) frequentemente se deparam com uma faca de 2 gumes: uma interface com o usurio bem projetada - aumenta a produtividade do projetista, - reduz a necessidade de treinamento e suporte ao usurio final, - alm de reduzir a necessidade de manuteno (se houver manuteno, o seu tempo ser reduzido pelo uso de uma boa interface. Enquanto que uma interface parcamente projetada, coloca os usurios diante de uma superabundncia de caixas de dilogo e controles casuais. Devido grande variedade de tipos de janelas e controles, o desenvolvedor de GUI bem sucedido precisa ter uma noo exata do momento adequado para a utilizao de um controle em detrimento de outro. Da mesma forma que a fartura de fontes de letras baratas acarretou uma tipografia carnavalesca, o nmero e a qualidade dos controles definidos pelo desenvolvedor atual, freqentemente conduzem a uma utilizao carnavalesca desses controles (penteadeira de madame). Pelo exposto anteriormente, a necessidade de linhas mestres fica evidente. Como neste projeto dever haver a criao de muitos controles e objetos novos completamente diferentes e alm do que est definido aqui como linha mestre, descrevemos abaixo o que deve e no deve ser feito quando da criao de programas e objetos. Note que isto ainda no libera que o desenvolvedor possa utilizar seu estilo livre de criao de GUI, uma vez que os programas devem passar pela aprovao do analista, do analista de O&M e do usurio. Mas um norteador para voc no precisar refazer objetos.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

106

Banco de Dados e Access

NO

SIM

1. No crie aplicativos inconsistentes, 1. Opes de menu e botes de mesma aparncia, ou at imprevisveis. iguais, em uma e outra tela, devem se comportar de maneira semelhante e at idntica. Botes de aparncia diversa, devem se comportar de maneira diferente. 2. No seja paternalista com o 2. Crie mensagens na parte inferior da tela (micro help) que corresponda posio do cursor (inclusive para adiantado, nem carrasco com o campos). principiante.

3. No crie um help (ajuda on-line) sem 3. A ajuda ao usurio deve realmente ajudar, e no menor espao de tempo possvel. Erros extremos como colocar significado. E nem procure dar todo o manual de usurio como help on-line, ou o significado escrevendo muitas linhas contrrio, resumindo de tal maneira os textos que se sobre o mesmo assunto. tornam incompreensveis, no podero ocorrer. Apndices, Anexos, Referncias Rpidas do manual do usurio, so partes caractersticas de um help. 4. No crie muitas telas para executar 4. Associe a uma tela, teclas de atalho ou teclas rpidas que acessem as opes de cadastro e consulta uma determinada ao. Por exemplo: necessrias ao uso otimizado da tela. Ou ainda, torne se o atendente ao efetuar o processo sua aplicao inteligente, de tal modo que, ao colocar de fechar uma chamada, precisar sair um novo cdigo em um campo, e este no existe, a da tela de fechamento de chamada aplicao dever perguntar se deseja incluir, e far a para consultar cliente, item por incluso para voc. Evidente que todas as consistncias contrato e mais alguma tabela, voc devero acontecer, como se estivesse na tela original de projetou mal a aplicao! incluso (ou traga a prpria tela de manuteno, j que estamos em linguagem orientada a objetos). 5. No exagere no nmero de 5. As opes de uma tela devem ser o reflexo do dia a dia de trabalho do usurio. Coloque na tela somente o que o informaes disponveis na tela, nem usurio realmente precisa para efetivar seu trabalho da crie mais opes que o nmero melhor maneira possvel. normal de opes que o trabalho do usurio requer. No use jargo tcnico nas 6. Crie objetos de mensagens padro, personalizadas, nicas e em portugus. mensagens. Para o usurio, mensagens como: Erro 4143 no DMA ou Erro da I/O no handle de arquivo, s trazem confuso.

6.

7. No crie opes e processos sem 7. Errar humano, ainda mais na Informtica. Portanto, o retorno do erro cometido. mais possvel, deixe disponvel opes que desfaam processos executados, que efetuem rollback nas linhas de cdigo e nas aes executadas. 8. No atender as opinies do usurio 8. O usurio do sistema que voc est construindo uma das pessoas que mais conhece a rea de negcios criar um sistema com seu ciclo de abrangida pelo sistema. Por isso, fundamental a sua vida extremamente curto. A falta de opinio quanto s telas, tipo e formato de dados que participao do usurio faz com que sero inseridos, e sua aprovao nas mudanas, ele assuma uma posterior postura de excluso e criao de processos. Permita esta crtica e no de auxlio no processo. aprovao, inclusive de modo formal, com sua assinatura. 9. Nunca deixe o usurio pensar que 9. Crie mensagens de processamento ou mude o tipo de cursor para alertar o usurio que o processamento de sua mquina ou sua aplicao travou uma funo ou um relatrio est sendo executado. enquanto estava processando alguma Mesmo que agora esta demora de algumas fraes de funo. A no ser que ela realmente segundo, coloque assim mesmo, pois com o crescimento travou. dos dados, o que agora uma frao de segundos, no futuro poder ser uma frao que necessita deste aviso.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

107

Banco de Dados e Access

3.4.4. Objetos de Controle


Este um resumo dos objetos de controle utilizados pelo Access. Servir para o auxiliar na escolha adequada do melhor controle para suas aplicaes. Controle Nome Boto Alternar Boto de Comando Boto de Opo Caixa de Combinao Caixa de Listagem Descrio Dois botes mutuamente exclusiva, que permite uma escolha de opo quando clicado. Um boto com texto que ativa uma ao (ativa um script) quando clicado. Um pequeno crculo que associado a uma opo de escolha pelo usurio. uma caixa de texto, com uma seta que abre uma lista de opes para seleo. uma caixa de texto, com uma seta que permite modificar o contedo do visor (informao que se apresenta ao usurio). Um retngulo de texto que pode conter uma ou mais linhas de textos. Uma caixa quadrada associada a uma opo, que normalmente no mutuamente exclusiva (pode ser selecionado mais de uma opo associada). Mostra somente textos (por exemplo: cabealhos, avisos, mensagens...) que no podem ser alterados pelo usurio Uma caixa contendo um grfico de representao de dados. Um retngulo com um ttulo que contm 2 ou mais controles de seleo, normalmente Boto de Opo. Uma linha slida traada. Uma caixa que abrigar um grfico bitmap, ou qualquer outro objeto windows. Uma caixa que abrigar um grfico bitmap, ou qualquer outro objeto windows mas vinculado ao formulrio ou relatrio dito principal. Fora que seja efetivado um salto de pgina na impressora. Um retngulo que pode associar um grupo de botes ou figuras de similar finalidade e escolha. No esquea de colocar o nome do grupo quando estiver associando vrios controles como um grupo. Alis, coloque nomes em todos os controles, utilizando o controle Etiqueta.

Caixa de Texto Caixa de Verificao

Etiqueta

Grfico Grupo de Opo Linha Moldura de Objeto Moldura Vinculado de Objeto

Quebra de Pgina Retngulo

Sub-Formulrio ou Sub- Uma caixa que permite que se insira um formulrio Relatrio ou relatrio vinculado ao formulrio ou relatrio dito principal.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

108

Banco de Dados e Access

3.4.5. No seja viciado em Controles


Os controles so elementos de interface com o usurio. Na maioria dos casos, servem para obter informaes do usurio e apresentar dados sobre o status corrente do aplicativo. Por exemplo, as barras de paginao em um processador de textos no apenas permitem a movimentao dentro de um arquivo como tambm apresentam a posio corrente do usurio. Os botes de escolha nica (Botes de Opo) apresentam a seleo corrente e permitem sua alterao. Quase a totalidade das necessidades de controles em sistemas comerciais e cientficos pode ser satisfeita pelo uso dos controles nativos do Access. Se houver ainda a requisio de outros controles, o Access trabalha com os numerosos controles do Visual Basic (.VBX). Entretanto no aconselhamos o uso de tais controles, para no cair no que chamamos de uso carnavalesco de objetos Windows. Uso de poucos controles e cores de forma discreta tambm o que apresenta o Windows 95, 98, 2000, de onde tiramos algumas caractersticas para as linhas mestres deste trabalho.

SingleLineEdit

CommandButton Ttulos de Grupo ou de Caixas de Grupo

CheckBox

DropDownListBox

ListBox

Legenda
CommandButton SingleLineEdit DropDownListBox CheckBox ListBox Boto de Comando Caixa de Texto Caixa de Combinao Caixa de Verificao Caixa de Listagem

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

109

Banco de Dados e Access

3.4.6. Querida, Escondi o Controle


Imagine uma situao na qual seja necessrio desabilitar controles e itens de menu no disponveis (mantendo-os visveis porm acinzentados), ou at mesmo ocult-los. Em geral, manter um controle acinzentado muito mais prudente. Os usurios ficam normalmente confusos quando itens de menu ou controles aparecem e desaparecem. Os componentes de uma GUI s devem ser ocultados se o usurio no puder ter acesso a determinados controles e itens de menu. Por exemplo, certos controles podem ser ocultados em uma janela ou caixa de dilogo baseada no nvel de segurana do usurio durante a abertura de uma sesso. Uma outra razo para no ocultar os controles desabilitados quando a facilidade de ajuda sensvel ao contexto est disponvel. Neste caso, possvel que os usurios utilizem a tecla Tab para saltar para o controle desabilitado e pressionar F1 para obter informaes e descobrir por que no podem ter acesso a esse controle. O menu personalizado do Windows e dos produtos Office 2000, que desaparecem controles e opes de menu, e deixam disponveis somente as opes mais utilizadas, o que a Microsoft criou de pior nos ltimos tempos. S quem ministra aulas de informtica consegue perceber o que estes tipos de menus impem aos usurios iniciantes e aos usurios avanados. Os usurios iniciantes ficam procurando opes que no aparecem na tela. Os usurios avanados vo at as opes robtica e rapidamente, mas no as encontram. Em ambos os casos o que gera a improdutividade. Acho que somente ganharam com os menus personalizados, alguns usurios de nvel mdio, que podem se acostumar mais rapidamente com estes tipos de menu.

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

110

Banco de Dados e Access

3.4.7. Concluso
Se Voc deseja
Executar uma ao Escolher entre exclusivas algumas opes

Utilize
Boto de Comando mutuamente Boto de Opo

Mas no mximo
Seis por caixa de Dilogo Seis por grupo Dez por Grupo

Escolher uma ou mais entre algumas opes no Caixa de exclusivas Verificao Obter do usurio dados arbitrrios em forma de texto Caixa de Texto

Escolher entre opes mutuamente exclusivas ou no Caixa de Listagem 50 itens, exclusivas apresentando 8 a 10 de cada vez Escolher entre opes mutuamente exclusivas Caixa de utilizando um mnimo de espao, ou inserir um novo Combinao valor Agrupar controles relacionados, especialmente botes Grupo de Opo de Opo e caixas de verificao Nomear controles que no possuem seus prprios Etiqueta ttulos (Boto de Opo, por exemplo) A tabela acima resume os pontos que devem ser considerados ao utilizar controles em caixas de dilogo. Embora os controles do Windows possam freqentemente acomodar um grande nmero de opes, no uma boa idia atingir este limite, sacrificando seus usurios. Observe, por exemplo, o nmero mximo de opes sugerido para uma lista de alternativas. Os usurios ficam frustrados aps pressionar PgDn ou utilizar a barra de paginao para navegar em uma lista de mais de 50 itens. Todavia o Access utiliza uma pesquisa automtica de valores dentro de uma Caixa de Combinao. Isto possibilita que voc possa utilizar este controle em listas de mais de 50 opes que possam ser pesquisas digitando-se as primeiras letras do nome ou primeiros nmeros a serem pesquisados. A escolha adequada da janela e dos elementos de controle para um aplicativo Windows define uma base slida para o restante do aplicativo. Se voc fizer as escolhas corretas e no tentar exigir demais da tecnologia da interface, ser recompensado com mais produtividade e menos problemas de suporte, como j citamos. Por outro lado, as escolhas mal feitas so responsveis pelos pesadelos das interfaces grficas. Acorde... 20 itens, apresentando um de cada vez2

Devido alta velocidade das mquinas e dos programas gerenciadores de banco de dados existentes, estas caixas de combinao tm sido amplamente utilizadas inclusive em listagem com centenas e milhares de nomes. Edisoft - Edies Informatizadas Ltda.
BDAccess.DOC

25/01/2001

111

Banco de Dados e Access

3.5. Relatrios
3.5.1. Emisso na Tela
Salvo raras excees, todos os relatrios devem ter sua visualizao tambm na tela. Todavia, a criao de relatrios com visualizao na tela deve ser feita com alguns cuidados especiais, principalmente no que tange navegao e facilidade de interpretao e anlise dos dados apresentados. A limitao imposta pelo tamanho da tela deve ser contornada com alguns artifcios como por exemplo:
- parmetros/filtro dos dados para o usurio determinar o contexto de dados desejado, - rolagem da tela nos sentidos horizontal e vertical, - entre outros.

3.5.2. Emisso em Papel


Tradicional na sua forma, as emisses em papel ganham uma nova dimenso com as impressoras de tecnologia jato de tinta colorida e laser. A qualidade visual da maioria dos relatrios dever ser melhor pensada pelo analista, pois o usurio no aceitar to facilmente a idia de obter um relatrio com qualidade inferior ao que ele v na sua tela grfica e colorida. O Access permite que cada formulrio criado para a tela possa ser impresso em papel. Todavia, existiro casos que seja necessrio a criao de relatrios especficos. Nestes casos, exageros parte, a idia no oferecer relatrios assim: --------------------------------------------------------------------------------------------------------Empresa XYZ de Ferros Ltda. Curitiba, 10 de maro de 2002 Fornecedores Com Entregas em Atraso Cdigo 20011 89321 45398 Nome Fornecedor de Pregos Fornecedor de CPU XT Turbo Fornecedor de Monitor Verde Prometido Para 02/10/1994 05/10/1994 06/10/1994 Pg. 01 Dias de Atraso 8 5 4 ---------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------Total de Fornecedores em Atraso: ................ 3 Mas oferecer algo pelo menos assim: EMPRESA XYZ DE FERROS Ltda. Fornecedores Com Entregas em Atraso Cdigo 20011 89321 45398 Nome Fornecedor de Pregos Fornecedor de CPU XT Turbo Fornecedor de Monitor Verde Prometido Para 02/10/1994 05/10/1994 06/10/1994 Curitiba, 10 de Maro de 2002 Pg. 01 Dias de Atraso 8 5 4

Total de Fornecedores em Atraso: ...................................... 3

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

112

Banco de Dados e Access

A s os co niic n m em ne Mn eM de ad ella be ab Ta -T 1O1 XO EX NE AN


Mnemnico Abrev Armaz Auto BC BD Bon Canc CFO Class Cod Compl Cond Cons DDD Descr Desloc Dimen Doc Dpto Dt Dup DV Ent Fat Flag Fone Forn Func Hr ICMS Ind Inscr Inst IPI Km Lab Mant Merc Mnm MTBF MTTR Mvto NAF NF Num Obs Perc Pgto Qtd Recebi Descrio Abreviatura Armazenamento Automtico Base de Clculo Banco de Dados Bonificao Cancelamento Cdigo Fiscal de Operao Classificao Cdigo Complemento Condio Consumidor Discagem Direta Distncia Descrio Deslocamento Dimensiona(do)/(mento) Documento Departamento Data (DDMMAAAA) Duplicata Dgito Verificador Entrada Faturamento Flag, Status, Switch Telefone Fornecedor Funcionrio Hora (HHMMSS) Imposto sobre Circ. de Mercad. Indicador Inscrio Instala(o)/(das) Imposto sobre Prod. Industr. Kilmetro Laboratrio Mantenedor Mercadoria Mnemnico Tempo Mdio Entre Falhas Tempo Mdio de Reparos Movimento No Afeto Nota Fiscal Nmero Observao Percentual Pagamento Quantidade Recebimento Mnemnico Ref Resp Seq Sol Tp Transp Vcto Vlr Descrio Referncia Responsvel Seqncia Solicitao Tipo Transporte Vencimento Valor

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

113

Banco de Dados e Access

A s es te nt on Fo sF os go diig d C C 2 o2 xo ex ne An
Macro Autoexec do Sistema CAU primeira a ser executada

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

114

Banco de Dados e Access

Script (mdulo) Anexa_Tabelas() do Sistema CAU


Function Anexa_Tabelas () On Error GoTo Err_Parmetro_CEP Dim qQuery As QueryDef, rSnap As Recordset, MeuBD As Database Dim MeuBD1 As Database, ConectarA As String Dim MinhareaDeTrabalho As WorkSpace Dim MinhaDefConsulta As QueryDef Dim MeuBancoDeDados As Database Dim MinhaDefTabela As TableDef Dim Critrio As String, VarAux As String Dim I As Integer, J As Integer Dim Farei As String, Tabela As String, DescrParametro_Aux As String ' Obtm rea de trabalho padro. Set MinhareaDeTrabalho = DBEngine.Workspaces(0) ' Obtm banco de dados atual. Set MeuBancoDeDados = MinhareaDeTrabalho.Databases(0) ' Acha tabela de dados corrente Set MeuBD = CurrentDB() ' Habilita Cursor como Ampulheta DoCmd Hourglass True ' Desabilita mensagens de aviso do sistema DoCmd SetWarnings False ' Deleta Consulta de Parametro Nada = Apaga("c_ParametroAuxiliar") ' O nmero do Parametro de para o local dos dados Set qQuery = MeuBD.CreateQueryDef("c_ParametroAuxiliar") qQuery.SQL = "SELECT CodParametro, DescrParametro FROM Parametro WHERE CodParametro = 1;" Set rSnap = MeuBD.OpenRecordset("c_ParametroAuxiliar", DB_OPEN_SNAPSHOT) ' Se no existe este Parametro If rSnap.RecordCount = 0 Then MsgBox "No ser possvel continuar. No existe informao em Parmetro (CodParametro = 1) sobre a localizao do Arquivo DADO.MDB. Chame a Consultoria.", 48, "Aviso de Sada do Sistema" Close DoCmd RunMacro "Sair" End If If IsNull(Trim(rSnap!DescrParametro)) Then MsgBox "No ser possvel continuar. No existe informao em Parmetro (DescrParametro) sobre a localizao do Arquivo DADO.MDB. Chame a Consultoria.", 48, "Aviso de Sada do Sistema" Close DoCmd RunMacro "Sair" End If DescrParametro_Aux = Trim(rSnap!DescrParametro) ' Verifica se o arquivo especificado em Parametro vlido (se encontra no diretrio especificado) If Se_Existe(DescrParametro_Aux) = 0 Then If MsgBox("O drive, diretrio ou nome de arquivo no so vlidos. Deseja alterar agora a letra desta informao?", 36, "Aviso para Entrada de Informaes") = 6 Then Do While 0 = 0 DescrParametro_Aux = DescrParametro_Aux + Space(100) DescrParametro_Aux = InputBox("Entre com o drive, o Diretrio e o arquivo DADO.MDB", "Entrada de Informaes", DescrParametro_Aux) If Se_Existe(Trim(DescrParametro_Aux)) = 1 Then

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

115

Banco de Dados e Access


' Atualiza a descrio de Parmetro com o novo dado DoCmd RunSQL "UPDATE Parametro SET DescrParametro = '" & Trim(DescrParametro_Aux) & "' WHERE CodParametro = 1;" Exit Do Else MsgBox "O drive, diretrio ou nome de arquivo no so vlidos. Saindo do Sistema!", 48, "Aviso de Sada do Sistema" Close DoCmd RunMacro "Sair com Problemas" End If Loop Else ' Desabilita Cursor como Ampulheta DoCmd Hourglass False ' Desabilita mensagens de aviso do sistema DoCmd SetWarnings True MsgBox "No ser possvel continuar. O programa ser abortado. Entre no programa segurando a tecla SHIFT e mude a localizao do Arquivo DADO.MDB na tabela Parametro.", 48, "Aviso de Sada do Sistema" Close DoCmd RunMacro "Sair com Problemas" End If End If ' ******************************************************************************************** ' Atualiza data e hora desta mquina com a data e hora do servidor de dados ' Se for mudado o nome do arquivo de dados (caudado.mdb=12 bytes), necessrio rever a rotina VarAux = Left(Trim(DescrParametro_Aux), Len(Trim(DescrParametro_Aux)) - 12) Nada = Shell(VarAux + "\SYNCDAT.EXE", 4) ' Volta para o Access AppActivate "Microsoft Access" ' Local de onde viro as tabelas de dados ConectarA = ";DATABASE=" + Trim(DescrParametro_Aux) ' Deleta Consulta de Parametro Nada = Apaga("c_ParametroAuxiliar") ' Deleta Query Auxiliar de TabelaDados Nada = Apaga("c_Tabela_Dados") ' Cria Query para Tabela Dados Set qQuery = MeuBD.CreateQueryDef("c_Tabela_Dados") qQuery.SQL = "SELECT NomeTabela FROM TabelaDados ORDER BY NomeTabela;" Set rSnap = MeuBD.OpenRecordset("c_Tabela_Dados", DB_OPEN_SNAPSHOT) If rSnap.RecordCount = 0 Then MsgBox "No ser possvel continuar. No h Tabelas na entidade TabelaDados.", 48, "Aviso de Sada do Sistema" DoCmd RunMacro "Sair" End If ' ************************************************************************** ' Anexa as Tabelas da entidade TabelaDados ' Faz a partir daqui, quantas vezes forem as Tabelas gravadas em TabelaDados ' ************************************************************************** Do Until rSnap.Eof Tabela = Trim(rSnap!NomeTabela) Farei = "Anexar"

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

116

Banco de Dados e Access


' Procura por Tabela de Dados For I = 0 To MeuBancoDeDados.TableDefs.Count - 1 If Tabela = MeuBancoDeDados.TableDefs(I).Name Then Farei = "Deletar" Exit For End If Next I ' Deleta a tabela, pois ela existe If Farei = "Deletar" Then MeuBancoDeDados.TableDefs.Delete Tabela End If Set MinhaDefTabela = MeuBancoDeDados.CreateTableDef(Tabela) ' Anexa tabela Parmetro ao banco de dados MinhaDefTabela.Connect = ConectarA MinhaDefTabela.SourceTableName = Tabela ' Anexar a tabela MeuBancoDeDados.TableDefs.Append MinhaDefTabela ConectaFonte = True ' Localiza prxima ocorrncia. rSnap.MoveNext Loop ' Deleta Query Auxiliar de TabelaDados Nada = Apaga("c_Tabela_Dados") Exit_Parmetro_CEP: ' Desabilita Cursor como Ampulheta DoCmd Hourglass False ' Desabilita mensagens de aviso do sistema DoCmd SetWarnings True Exit Function Err_Parmetro_CEP: ' Desabilita Cursor como Ampulheta DoCmd Hourglass False ' Desabilita mensagens de aviso do sistema DoCmd SetWarnings True MsgBox Error$ MsgBox "No ser possvel continuar a funo Anexa_Tabelas. Tente persistir o erro, chame a Consultoria.", 48, "Aviso de Sada do Sistema" DoCmd RunMacro "Sair" End Function

executar

novamente.

Se

Edisoft - Edies Informatizadas Ltda.

BDAccess.DOC

25/01/2001

117