Curso de dBASE II
Criação de Tabelas
Você está em: MarMSX >> Cursos >> dBASE II
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.
Seja um professor de matemática qualquer, a tabela alunos contém dados sobre todos os alunos desse professor, e a tabela matematica contém as notas dos alunos desse professor.
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 |
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.
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.
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 strucure" 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
Obs: como medir o comprimento de um número real:
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)
);
Comandos do dBASE II
A seguir serão apresentados alguns comandos necessários por ora.
- use - ativa tabela. Ex: use alunos.
- delete file - apaga tabela. Ex: delete file alunos.
- display structure - exibe estrutura da tabela ativa.
- modify structure - modifica estrutura da tabela ativa.
- copy structure - copia a estrutura da tabela ativa para um novo arquivo.
- append from - copia dados de uma tabela para a tabela em uso.
Modificando a estrutura de uma tabela
Uma maneira de se corrigir a estrutura de uma tabela é apagá-la e criá-la de novo. Entretanto, isso não é uma boa idéia, pois nos obriga a digitar todos os campos novamente.
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, 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:
- Copiar a estrutura da tabela corrente para um novo arquivo.
- Colocar o novo arquivo em uso.
- Editar e modificar a estrutura do arquivo novo (ele está vazio mesmo).
- Copiar os dados da tabela antiga para a nova.
Por exemplo, vamos modificar a estrutura da tabela notasmat para uma nova tabela notasnov.
. use notasmat
. copy structure to notasnov
. use notasnov
. modify structure
. append from notasmat