Curso de dBASE II
Criação de Tabelas


Você está em: MarMSX >> Cursos >> dBASE II

2. Criação de Tabelas

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

2.1. Convenções de sintaxes de comandos

As convenções utilizadas neste curso para as sintaxes são:

2.2. O comando CREATE

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.

2.3. A estrutura 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

  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)
);

2.4. Comandos do dBASE II

A seguir serão apresentados alguns comandos do dBASE II.

2.5. Modificando a estrutura de uma tabela

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:

  1. Copiar a estrutura da tabela corrente para um novo arquivo.
  2. Colocar o novo arquivo em uso.
  3. Editar e modificar a estrutura do arquivo novo (ele está vazio mesmo).
  4. Copiar os dados da tabela antiga para a nova.

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 >>