Académique Documents
Professionnel Documents
Culture Documents
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
BDAccess.DOC
25/01/2001
BDAccess.DOC
25/01/2001
BDAccess.DOC
25/01/2001
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).
Figura 4
Examinemos agora alguns conceitos bastante aceitos sobre Banco de Dados e faamos sobre eles alguns comentrios, esquemas e dedues.
BDAccess.DOC
25/01/2001
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
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.
Fita
Winchester
Disquetes
CD
Papiro Anotaes
Caderno
Figura 26
BDAccess.DOC
25/01/2001
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.
25/01/2001
Meio de Armazenamento
Sistema de Processamento
Informao
Dados
Ao e deciso
Figura 5
BDAccess.DOC
25/01/2001
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:
BDAccess.DOC
25/01/2001
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.
BDAccess.DOC
25/01/2001
10
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.
BDAccess.DOC
25/01/2001
11
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.
BDAccess.DOC
25/01/2001
12
BDAccess.DOC
25/01/2001
13
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
BDAccess.DOC
25/01/2001
14
Figura 8
4o passo: informe o nome do novo Banco de Dados Access conforme Figura 9 e clique em Criar.
Figura 9
BDAccess.DOC
25/01/2001
15
Figura 10
6o passo: clique em Novo e escolha modo estrutura e clique OK (Figura 11).
Figura 11
BDAccess.DOC
25/01/2001
16
Figura 12
Informe aqui o Tamanho do campo
Figura 13
BDAccess.DOC
25/01/2001
17
Figura 14
9o passo: digite alguns dados no modo formulrio clicando em abrir (Figura 15 e Figura 16).
Figura 15
BDAccess.DOC
25/01/2001
18
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
BDAccess.DOC
25/01/2001
19
Figura 18
Figura 19
BDAccess.DOC
25/01/2001
20
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.:
BDAccess.DOC
25/01/2001
21
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
BDAccess.DOC
25/01/2001
22
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.
BDAccess.DOC
25/01/2001
23
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.
BDAccess.DOC
25/01/2001
24
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.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
BDAccess.DOC
25/01/2001
25
BDAccess.DOC
25/01/2001
26
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:
BDAccess.DOC
25/01/2001
27
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
BDAccess.DOC
25/01/2001
28
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
BDAccess.DOC
25/01/2001
29
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
BDAccess.DOC
25/01/2001
30
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
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.
BDAccess.DOC
25/01/2001
32
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
BDAccess.DOC
25/01/2001
33
Exerccio 8 Localize as chaves estrangeiras das seguintes tabelas. Pedido CdigoPedido PK TipoPagamento DataEmisso DataRemessa ValorTotal
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
BDAccess.DOC
25/01/2001
34
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
BDAccess.DOC
25/01/2001
35
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...
BDAccess.DOC
25/01/2001
36
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.:
4. No.
5. Sim.
6. No.
BDAccess.DOC
25/01/2001
37
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.
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.
BDAccess.DOC
25/01/2001
38
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.
BDAccess.DOC
25/01/2001
39
BDAccess.DOC
25/01/2001
40
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.
BDAccess.DOC
25/01/2001
41
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!.
BDAccess.DOC
25/01/2001
42
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!
BDAccess.DOC
25/01/2001
43
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
BDAccess.DOC
25/01/2001
44
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
BDAccess.DOC
25/01/2001
45
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.
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.
BDAccess.DOC
25/01/2001
46
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.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.
BDAccess.DOC
25/01/2001
47
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
BDAccess.DOC
25/01/2001
48
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
BDAccess.DOC
25/01/2001
49
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
BDAccess.DOC
25/01/2001
50
DEPARTAMENTOS
SETOR
TIPOS DE PRODUTOS
LISTA DE COMPRA
PRODUTOS
MARCAS
FORMA DE PAGAMENTO
FORNECEDORES
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.
BDAccess.DOC
25/01/2001
51
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.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.
BDAccess.DOC
25/01/2001
52
Para iniciar o access, clique no boto Iniciar. Posicione o cursor do mouse sobre Programas.
BDAccess.DOC
25/01/2001
53
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.
BDAccess.DOC
25/01/2001
54
4. Tabelas
Para cria uma nova tabela de um clique duplo em Criar tabela no modo estrutura
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.
BDAccess.DOC
25/01/2001
55
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([ ]).
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$
BDAccess.DOC
25/01/2001
56
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.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
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.
BDAccess.DOC
25/01/2001
57
8. Formato
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
58
Data completa Data mdia Data abreviada Hora completa Hora mdia Hora abreviada Sim/No: Formato Sim/No Verdadeiro/Falso Ativado/Desativado
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
BDAccess.DOC
25/01/2001
59
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.
BDAccess.DOC
25/01/2001
60
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.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.
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
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.
4) Clique no boto (
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.
BDAccess.DOC
25/01/2001
62
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.
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.
BDAccess.DOC
25/01/2001
63
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).
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.
BDAccess.DOC
25/01/2001
64
Para excluir um registro da tabela, clique no lado esquerdo da janela para poder selecion-lo.
) Excluir registro.
Clicando no boto Sim, no ser mais possvel recuperar aquele registro. Clicando no boto No, o registro permanece na tabela.
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.
BDAccess.DOC
25/01/2001
65
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.
Para criar uma nova consulta, d um clique sobre o item Consultas na janela Banco de
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.
BDAccess.DOC
25/01/2001
66
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.
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.
BDAccess.DOC
25/01/2001
67
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.
Voc poder configurar a consulta para exibir os dados de uma forma classificada. Clique na seta e escolha a ordem de classificao.
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.
BDAccess.DOC
25/01/2001
68
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.
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
BDAccess.DOC
25/01/2001
69
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.
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.
BDAccess.DOC
25/01/2001
70
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.
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.
BDAccess.DOC
25/01/2001
71
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
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
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.
BDAccess.DOC
25/01/2001
73
Na prxima tela voc dever definir o layout do formulrio. Escolhendo a opo Coluna (default) o formulrio apresentar um registro por vez.
BDAccess.DOC
25/01/2001
74
Na prxima etapa informe o ttulo para o formulrio. Clique no boto Concluir e seu formulrio estar pronto.
BDAccess.DOC
25/01/2001
75
) novo registro.
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.
Ao clicar em um controle, este ficar selecionado. Podendo ter seu tamanho, cor, formato modificado.
BDAccess.DOC
25/01/2001
76
Os controles podem ser selecionados, mantendo a tecla SHIFT pressionada, enquanto clica sobre os controles.
Para alterar a aparncia de um controle, voc deve primeiro seleciona-lo clicando nele uma vez.
A(
A(
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.
BDAccess.DOC
25/01/2001
77
Se voc no gostar das alteraes, clique no boto ( Para aceitar as mudanas clique no boto ( ) Salvar.
) Desfazer.
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
BDAccess.DOC
25/01/2001
78
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.
Para criar um relatrio, abra o banco de dados e clique sobre a opo Relatrios.
BDAccess.DOC
25/01/2001
79
) Novo.
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).
BDAccess.DOC
25/01/2001
80
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.
BDAccess.DOC
25/01/2001
81
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.
BDAccess.DOC
25/01/2001
82
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.
BDAccess.DOC
25/01/2001
83
Clique no boto (
BDAccess.DOC
25/01/2001
84
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
) Salvar.
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.
BDAccess.DOC
25/01/2001
86
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.
BDAccess.DOC
25/01/2001
87
Os argumentos da ao dependem da sua escolha na coluna Ao. Salve sua macro clicando no boto ( ) Salvar. ) Executar.
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.
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.
BDAccess.DOC
25/01/2001
88
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.
BDAccess.DOC
25/01/2001
89
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.
BDAccess.DOC
25/01/2001
90
1.1. O por qu
Analista de OS&M ou Sistemas Quem mais sabe transformar graficamente a necessidade de informao do usurio
Programador
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.
BDAccess.DOC
25/01/2001
91
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.
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.
BDAccess.DOC
25/01/2001
92
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
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.
BDAccess.DOC
25/01/2001
93
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
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
Exemplo:
CodPessoa IncluiCod SalrioAtual Acumulador VarAux (Varivel Auxiliar - exceo de abreviatura) TotalSalrio, TotalSalrio1, TotalSalrio2... EndereoPessoa
BDAccess.DOC
25/01/2001
95
25/01/2001
96
BDAccess.DOC
25/01/2001
97
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
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.
BDAccess.DOC
25/01/2001
98
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
BDAccess.DOC
25/01/2001
99
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.
BDAccess.DOC
25/01/2001
100
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
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.
BDAccess.DOC
25/01/2001
102
BDAccess.DOC
25/01/2001
103
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
BDAccess.DOC
25/01/2001
105
BDAccess.DOC
25/01/2001
106
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.
BDAccess.DOC
25/01/2001
107
Etiqueta
Sub-Formulrio ou Sub- Uma caixa que permite que se insira um formulrio Relatrio ou relatrio vinculado ao formulrio ou relatrio dito principal.
BDAccess.DOC
25/01/2001
108
SingleLineEdit
CheckBox
DropDownListBox
ListBox
Legenda
CommandButton SingleLineEdit DropDownListBox CheckBox ListBox Boto de Comando Caixa de Texto Caixa de Combinao Caixa de Verificao Caixa de Listagem
BDAccess.DOC
25/01/2001
109
BDAccess.DOC
25/01/2001
110
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
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.
--------------------------------------------------------------------------------------------------------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
BDAccess.DOC
25/01/2001
112
BDAccess.DOC
25/01/2001
113
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
BDAccess.DOC
25/01/2001
114
BDAccess.DOC
25/01/2001
115
BDAccess.DOC
25/01/2001
116
executar
novamente.
Se
BDAccess.DOC
25/01/2001
117