É necessário especificar um tipo de campo para cada campo. Os tipos de campos afetam a maneira como 4D manipula e armazena os dados nos campos e como os introduz e os exibe nos formulários. Como padrão, 4D atribui um tipo Alfanumérico para cada novo campo.
Para modificar o tipo de um campo:
1. Clique no ícone do tipo de campo na imagem da tabela escolha o tipo que deseja no menu associado.
OU Clique com o botão direito no campo cujo tipo você deseja alterar e escolha o novo tipo no sub-menu Tipo do menu contextual. OU Selecione o campo cujo tipo deseja alterar e clique na área Tipo do Inspetor para mostrar o menu de tipos.
É possível alterar o tipo a qualquer momento, a menos que o campo tenha uma relação ou pertença à uma chave primária. Neste caso, o menu para escolher um tipo de campo está desativado. Você deve eliminar a relação ou a chave primária antes de alterar o tipo do campo.
Se você altera o tipo de campo antes de introduzir dados no campo, 4D altera simplesmente o tipo de campo. Se você altera o tipo de campo depois de introduzir dados no campo, 4D converte, se for possível, os dados para que correspondam ao novo tipo. Os dados de um campo Imagem convertido em outro tipo não são exibidos.
Quando se converte um tipo de campo, 4D conserva o valor original do campo até que você modifique o registro. Por exemplo, se um campo de tipo texto contém o valor “maior que 10” e você alterar o tipo de campo a Inteiro, o campo modificado exibe “10”. Se altera o campo novamente a Texto, 4D exibe novamente “maior que 10”. Por padrão, 4D suporta os seguintes tipos de campos:
* Alfa: texto alfanumérico entre 1 e 255 caracteres. * Texto: texto de até 2 GB. * Data: datas entre o ano 100 e o ano 32 767. * Hora: hora expressada em horas:minutos:segundos. * Booleano: um campo que só pode conter os valores TRUE (verdadeiro) ou FALSE(falso). * Inteiro: número inteiro entre -32 768 y 32 767. * Inteiro longo: número uma faixa de mais ou menos 2 147 483 647. * Inteiro 64 bits (1): número inteiro de 8 bytes incluídos entre +/- 2E64, * Real: número real na faixa de ±1.7E±308. * Flutuante(1): número de ponto flutuante, * BLOB: todo objeto binário, como um gráfico, outra aplicação ou qualquer documento. * Imagem: uma imagem em um dos formatos suportados por 4D (ver Formatos Nativos Compatíveis no Manual de Referência de Linguagem 4D)
(1) Atenção, estes tipos de campos só são utilizados pelo motor SQL de 4D. Se estes campos são utilizados na linguagem de 4D, seus valores se convertem internamente em números reais
Nota: O termo genérico "string" pode indicar um tipo Alfa ou Texto e "número" pode indicar um Inteiro, um Inteiro Longo, Inteiro 64 bits, Real ou Flutuante.
Um campo tipo Alfa contém caracteres alfanuméricos (letras e números), sinais de pontuação, e caracteres especiais como o asterisco (*), o sinal de porcentagem (%), o hífen (-) e outros similares. Os campos alfa são utilizados para armazenar informação que deva ser tratada como texto e não ultrapasse 255 caracteres de comprimento.
Um campo alfa pode estar associado a um índice padrão e/ou a um índice de palavras chaves. Para maiores informações sobre indexação, consulte o parágrafo Criar e modificar Índices.
Alfa é o tipo de campo mais comum. Geralmente, se utiliza este campo para nomes, endereços, números telefônicos, códigos postais e similares. Durante a entrada de dados, um campo Alfa permite qualquer caractere, número, símbolo de pontuação ou caractere especial.
Códigos Postais (CEP) devem utilizar o tipo Alfa por duas razões: os campos numéricos não exibem zeros ao início e alguns códigos postais contêm hífens. A regra geral que se aplica para escolher entre numérico e Alfa consiste em escolher o campo Alfa a menos que o campo seja utilizado em cálculos numéricos ou pesquisas ou ordenações baseadas em valores numéricos.
É possível definir o comprimento máximo de um campo Alfa entre 1 e 255 caracteres.
É possível concatenar dois ou mais campos Alfa. Por exemplo, é possível colocar o nome o sobrenome de uma pessoa em uma mesma linha de uma etiqueta. É possível fazê-lo simplesmente utilizando a linha de código a seguir:
A variável NomeCompleto pode ser exibida ou impressa. Você também pode extrair parte da informação para uso em outro lugar (extrair uma substring). A substring pode então ser exibida ou impressa.
Um campo Texto é parecido a um campo Alfa, exceto por algumas diferenças.
Um campo Texto pode conter até 2Gb de caracteres alfanuméricos. Geralmente, os campos tipo texto são utilizados para armazenar blocos de texto de tamanho grande, tais como comentários ou descrições. Por razões de otimização, o conteúdo de um campo Texto é armazenado, por padrão, fora dos registros (ver o parágrafo “Stored in the Record” Armazenado em registro, arquivo de dados ou fora do arquivo de dados). Neste caso, o campo não pode ser associado a um índice padrão. Como os campos Alfa, um campo Texto pode ser associado a um índice de palavras chaves. Para maiores informações sobre indexação, consulte o parágrafo “Management of Indexes” em Criar e modificar Índices.
Em um formulário de entrada, um campo Texto pode ter barras de rolagem. Em um relatório impresso, o campo texto pode se estender tanto quanto seja necessário para imprimir toda a informação, inclusive se for necessário estender por várias páginas.
Durante a entrada de dados, os campos Texto oferecem as características básicas de edição de texto: rolagem, ajuste de texto dentro da área definida para visualizar o campo, clique duplo para selecionar uma palavra, movimentar o cursor com a ajuda das teclas direcionais, e operações padrões como cortar, copiar e colar. Se tiver a opção multi-linha, um campo de tipo Texto aceita retornos de carro durante a entrada de dados para a criação de novos parágrafos (um campo tipo Alfa não permite isso). Se tiver a opção multi-estilo, o campo pode conter texto com variações de estilo como subscrito, negrito ou colorido.
É possível colar o texto nos campos tipo texto, incluindo texto de outros processadores de texto.
Nota: Outra forma de armazenar texto com um registro é utilizando o plug-in 4D Write. Com 4D Write, é possível utilizar diferentes atributos de fonte, alinhamentos de parágrafo, e outras características próprias dos processadores de texto que não estão disponíveis em campos Texto padrão. Como com todos os plug-ins 4D, a área 4D Write deve ser colocada em um campo de tipo BLOB – e não de tipo Texto. Para maiores informações sobre o uso de 4D Write, consulte Introdução a 4D Write no Manual de referência de Linguagem 4D.
Utilize um campo tipo Data para armazenar valores de datas como datas de início, datas de compra, aniversários, entre outros. Um campo tipo Data pode armazenar qualquer valor de data (dia, mês, ano) respeitando o formato DD/MM/AAAA entre o ano 100 e o ano 32767.
Nota: O formato de datas utilizado no Brasil, Grã-Bretanha, Espanha e América Latina é DD/MM/AAAA, nos Estados Unidos é MM/DD/AAAA e na Suécia é AA/MM/DD. 4D armazena as datas de acordo com o formato selecionado no sistema operacional de seu computador.
Utilize um campo tipo Hora para armazenar horas com a hora atual, a hora de uma reunião, a hora de faturamento, entre outros). Um campo tipo Hora pode armazenar qualquer hora no formato HH:MM:SS.
Os campos Booleanos (algumas vezes chamados campos lógicos) contêm valores TRUE ou FALSE.
É possível definir o formato de um campo Booleano como uma caixa de seleção ou um par de botões de opção. Uma caixa de seleção marcada é verdadeiro (TRUE); vazia é falso (FALSE). Selecionar o primeiro botão de opção equivale a verdadeiro (TRUE) e selecionar o segundo botão equivale a falso (FALSE).
Nomeie os campos Booleanos de modo que seja possível perguntar “O campo nome é verdadeiro?”. Esta pergunta é útil ao realizar pesquisas porque 4D revisa o valor TRUE e FALSE em um campo Booleano. Por exemplo, é possível nomear um campo “Masculino” no lugar de “Sexo”. Seu critério de pesquisa pode então ser escrito como “Masculino é verdadeiro” no lugar de “Sexo é verdadeiro”.
O tipo de campo Inteiro é utilizado para armazenar números inteiros, ou seja, números sem frações decimais. Os campos de tipo Inteiro podem armazenar números inteiros entre -32.768 e 32.767.
Utilize o campo Inteiro Longo para armazenar números inteiros muito grandes, que não podem ser armazenados no campo de tipo Inteiro. Este tipo de campo pode armazenar números inteiros entre ±2.147.483.647.
Este tipo de campo pode ser utilizado para armazenar números inteiros de 8 bytes permitindo manipular valores inteiros de tamanho grande, entre +/- 2E64.
Nota: Atenção, este tipo de campo é utilizado somente pelo motor SQL de 4D. Se este campo é utilizado é utilizado na linguagem de 4D, seu valor é convertido internamente em um número real.
Os campos de tipo Real são utilizados para armazenar números reais, ou seja, números decimais (preço, salários, gastos, etc.). Os campos reais podem armazenar qualquer número na faixa de ±1.7E±308. Os formatos de saída numéricos são baseados automaticamente nos parâmetros regionais do sistema. 4D substitui os caracteres “,” e “.” nos formatos de saída numéricos por, respectivamente, o separador de milhares definido no sistema operacional.
Nota: no motor da base de dados 4D, as comparações de números reais se realizam sempre com um valor ípsilon de 10^-6 com a finalidade de obter um nível de precisão suficiente. Para garantir a coerência dos dados e dos cálculos, este valor ípsilon não pode mudar. Particularmente, o motor de base de dados não leva em consideração o comando SET REAL COMPARISON LEVEL, que só se aplica aos tratamentos estabelecidos na linguagem de 4D. Devido a imprecisão inerente aos cálculos realizados nos números reais, não recomendamos o uso deste tipo de dados para armazenar valores precisos como identificadores.
Este tipo de campo pode ser utilizado para armazenar os números de ponto flutuante. Estes tipos de números permitem armazenar os valores reais sem perder precisão.
Nota: Atenção, este tipo de campo é utilizado unicamente pelo motor SQL de 4D. Se este campo é utilizado na linguagem 4D, seu valor se converte internamente em um número real.
Os campos de tipo Blob (Binary Large Object) armazenam documentos binários de todo tipo. Por exemplo, pode armazenar documentos criados por outras aplicações, imagens escaneadas ou outras aplicações. Um BLOB pode ser de até 2 Gb. Quando se trabalha com um registro que contém um campo BLOB, todo o BLOB é carregado na memória. É possível utilizar campos tipo BLOB para armazenar arquivos de desktop dentro do seu banco de dados. Também é possível escrever os conteúdos de um campo tipo BLOB em um arquivo de desktop. Por exemplo, é possível utilizar um campo tipo BLOB em um sistema de gestão de documentos que armazena documentos no banco de dados e os entrega aos usuários quando são solicitados.
Você utiliza os comandos BLOB na linguagem 4D para manipular os campos tipo BLOB. Utilize os comandos DOCUMENT TO BLOB e BLOB TO DOCUMENT para ler e escrever documentos a partir e em campos BLOB. Os comandos COMPRESS BLOB, EXPAND BLOB, e BLOB PROPERTIES lhe permitem trabalhar com campos BLOBs comprimidos. Para maiores informações sobre o uso de campos BLOBs, consulte a seção BLOBs no Manual de linguagem 4D. Por razões de otimização, o conteúdo de um campo BLOB é armazenado fora dos registros. Os BLOBs só são carregados quando é necessário, por exemplo, uma vez que o registro buscado é encontrado.
O conteúdo de um campo BLOB não é exibido na tela já que um BLOB pode representar qualquer tipo de dados.
Os campos tipo Imagem são utilizados para armazenar fotografias digitalizadas, diagramas, mapas, e ilustrações criadas utilizando aplicações gráficas. As imagens são conservadas em seu formato nativo.
Algumas aplicações gráficas armazenam informação adicional com as imagens, como por exemplo, instruções para dispositivos de saída como uma impressora PostScript™ ou, a partir de 4D v12, metadados. Esta informação acompanha a imagem quando se copia ou cola em um campo Imagem e é utilizada por 4D durante a impressão da imagem ou, no caso dos metadados, através dos comandos GET PICTURE METADATA e SET PICTURE METADATA.
Por razões de otimização, o conteúdo de um campo imagem é armazenado fora dos registros. As imagens só são carregadas quando for necessário, por exemplo, uma vez que o registro buscado é encontrado. A partir de 4D v13, também pode eleger guardar imagens fora do arquivo de dados (ver a seção External data storage).
4D pode memorizar um nome por padrão para cada imagem armazenada em um campo. Isso significa que você pode definir um nome de arquivo por padrão quando guarda o conteúdo de um campo imagem em um arquivo disco através de uma exportação usuário ou utilizando o comando WRITE PICTURE FILE (quando passa uma cadeia vazia no parâmetro nomArquivo). Se o conteúdo do campo é copiado em uma variável ou em outro campo, seu nome por padrão também é copiado.
Pode associar um nome por padrão a uma imagem armazenada em um campo imagem de dois maneiras:
Por programação, usando o comando SET PICTURE FILE NAME. Pode utilizar este comando para associar um nome de arquivo por padrão a imagem. Também pode utilizar o comando Get picture file name para averiguar o nome por padrão de uma imagem.
Automaticamente, quando o conteúdo de um arquivo imagem se importa em um campo imagem utilizando o menu contextual ou usando o comando READ PICTURE FILE: neste caso, 4D memoriza o nome do arquivo imagem original.
Isto se ilustra na seguinte sequencia:
usuário importa o arquivo com o nome logo64.png em um campo imagem:
A continuação, o usuário guarda o conteúdo do campo imagem: o nome logo64.png se apresenta na caixa de diálogo (tenha em conta que se trata de um nome por padrão e pode mudar)
PROPRIEDADES
Produto: 4D
Tema: Criar uma estrutura de banco de dados