Com o objetivo de servir de apoio ao aprendizado do dBASE II, serão utilizadas duas tabelas contendo dados fictícios: a tabela alunos e a tabela notasmat.
A tabela alunos contém dados sobre alunos da 5a. e 6a. séries de uma escola (atuais 6o. e 7o. anos), e a tabela notasmat contém as notas de matemática desses alunos.
Tabela alunos
matricula | nome | idade | sexo | serie |
---|---|---|---|---|
8361 | Pablo Goncalves | 11 | M | 5 |
4321 | Ana Maria Silva | 11 | F | 5 |
5543 | Waldir Moraes | 12 | M | 6 |
8437 | Alvaro Schwarz | 12 | M | 5 |
7193 | Beatriz Saraiva | 13 | F | 6 |
3398 | Mauro Pontes | 11 | M | 5 |
9001 | Pedro Tavares | 13 | M | 6 |
6567 | Suely Albuquerque | 12 | F | 6 |
6201 | Pedro Borges | 11 | M | 5 |
7766 | Paula Tavares | 13 | F | 6 |
Tabela notasmat
matricula | bim1 | bim2 | bim3 | bim4 |
---|---|---|---|---|
8361 | 8.0 | 7.5 | 8.0 | 7.5 |
4321 | 6.0 | 5.5 | 8.0 | 7.0 |
5543 | 7.0 | 7.7 | 6.0 | 7.0 |
8437 | 8.5 | 9.0 | 9.5 | 9.0 |
7193 | 10.0 | 10.0 | 9.7 | 9.9 |
3398 | 8.0 | 7.0 | 7.5 | 9.0 |
9001 | 5.5 | 4.0 | 7.0 | 7.0 |
6567 | 7.5 | 9.0 | 8.0 | 7.0 |
6201 | 7.0 | 8.0 | 7.0 | 7.0 |
7766 | 8.0 | 8.5 | 7.0 | 7.0 |
As convenções utilizadas neste curso para as sintaxes são:
O comando do dBASE II para a criação de novas tabelas é o CREATE.
Sintaxe:
CREATE <nome_tabela>
Após o comando CREATE, um arquivo com extensão ".DBF" será criado, com o mesmo nome da tabela. Deve-se lembrar que o MSX trabalha com nomes de arquivo no formato 8.3, ou seja, no máximo oito caracteres para o nome e mais três para a extensão.
Após o comando de criação da tabela, o programa pede para que seja definida a estrutura da tabela, que são os nomes e tipos de dados de cada coluna da tabela.
Uma tabela possui linhas e colunas. As linhas representam uma "entidade", que é uma pessoa ou coisa. No caso da tabela alunos, cada linha representa um aluno. As colunas representam os atributos (as características) dessa pessoa ou coisa. Na tabela alunos, temos: matrícula, nome, idade, sexo e série.
A primeira linha da tabela apresenta os dados da "entidade" ou aluno "Pablo Gonçalves". As características desse aluno são:
Conferindo na tabela:
matricula | nome | idade | sexo | serie |
---|---|---|---|---|
8361 | Pablo Goncalves | 11 | M | 5 |
Quando criamos uma tabela com o comando CREATE, a tabela está vazia e sem uma estrutura definida. A estrutura define o número de colunas da tabela, bem como o tipo de dado aceito por cada coluna e o número máximo de caracteres.
O dBASE II permite os seguintes tipos de dados:
O nome dos campos podem ter até 10 caracteres, devem começar por uma letra e os demais caracteres podem ser letras, números ou dois pontos ":".
Exemplos:
Criando a tabela aluno
No prompt do dBASE II, digite:
. create alunos
A seguinte mensagem surge na tela:
. create alunos Entre com a estrutura do registro : Nome do campo, tipo, tamanho, casas decimais
Digite a seguinte estrutura:
. create alunos Entre com a estrutura do registro : Nome do campo, tipo, tamanho, casas decimais 001 MATRICULA,N,4 002 NOME,C,30 003 IDADE,N,2 004 SEXO,C,1 005 SERIE,N,1 006
Ao final de cada linha, tecle enter para validar. Ao teclar enter em uma linha vazia (vide linha 006), é terminada a criação da estrutura da tabela.
Para colunas dos tipos caractere e lógico, informamos somente a quantidade de caracteres. No caso do lógico é sempre igual a 1. Já o tipo numérico, quando for número inteiro, informamos somente a quantidade de dígitos. No caso de números reais, informamos o número de casas decimais e também o tamanho total, considerando as casas decimais, o ponto e a quantidade de dígitos da parte inteira. Por exemplo, o número "123.45" possui 2 casas decimais e comprimento igual a 6.
A partir desse momento, a tabela está pronta para receber os dados. Então, surge a seguinte pergunta na tela:
. Incluir dados agora ?
Responda "Y" se sim ou "N" se não. Vamos optar por "N" agora. O capítulo a seguir fala sobre a inclusão de dados na tabela.
O comando DIPLAY STRUCTURE exibe a estrutura de uma tabela em uso. Após a criação, devemos informar ao sistema qual a tabela em uso (somente uma vez).
. use alunos . display structure Estrutura para o arquivo :A:ALUNOS .DBF Número de registros :00000 Data da última atualização :10/02/17 Uso primário do banco de dados. Cpo Nome Tipo Tam. Dec. 001 MATRICULA N 004 002 NOME C 030 003 IDADE N 002 004 SEXO C 001 005 SERIE N 001 ** TOTAL ** 00039
A seguir, será apresentado o comando SQL equivalente a esse processo de criação da tabela aluno. Lembrando que SQL é um comando de banco de dados do PC, como, por exemplo, MySQL, PostgreSQL, Oracle, Microsoft SQL, DB2 etc.
CREATE TABLE alunos ( matricula number(4), nome varchar2(30), idade number(2), sexo varchar2(1), serie number(1); );
Criando a tabela notasmat
No prompt do dBASE II, digite:
. create notasmat Entre com a estrutura do registro : Nome do campo, tipo, tamanho, casas decimais 001 MATRICULA,N,4 002 BIM1,N,4,1 003 BIM2,N,4,1 004 BIM3,N,4,1 005 BIM4,N,4,1 006
Maior valor da nota: 10.0 tamanho | 4 | 3 | 2 | 1 | --------+---+---+---+---+--------------- valor | 1 | 0 | . | 0 | valor --------+---+---+---+---+--------------- | | | | 1 | Casas decimais
A seguir, será apresentado o comando SQL equivalente a esse processo de criação da tabela aluno.
CREATE TABLE notasmat ( matricula number(4), bim1 number(4,1), bim2 number(4,1), bim3 number(4,1), bim4 number(4,1) );
A seguir serão apresentados alguns comandos do dBASE II.
O dBASE II nos permite modificar a estrutura de uma tabela, através do comando MODIFY STRUCTURE. Porém, nem tudo são flores, pois essa função irá apagar todos os dados da tabela. Caso a tabela esteja vazia, não há problemas. Senão, uma solução mais adiante será dada.
O primeiro passo é colocar a tabela a ser modificada em uso e em seguida modificar a estrutura. Ex:
. use notasmat . modify structure MODIFY apaga todos os registros de dados. Prossegue (Y/N) ?
Em caso afirmativo (Y), um editor é aberto para a modificação da estrutura da tabela.
Nome Campo 01 :MATRICULA N 004 000 : Campo 02 :BIM1 N 004 001 : Campo 03 :BIM2 N 004 001 : Campo 04 :BIM3 N 004 001 : Campo 05 :BIM4 N 004 001 : Campo 06 : : Campo 07 : :
Os comandos de movimentação do cursor encontram-se aqui.
Se a tabela não estiver vazia, devemos fazer um pequeno truque para não perder os dados:
Por exemplo, vamos modificar a estrutura da tabela notasmat (tabela com dados) para uma nova tabela notasnov (sem dados).
. use notasmat . copy structure to notasnov . use notasnov . modify structure . append from notasmat
<< Anterior | dBASE II | Próxima >> |