Noções Básicas de Aprendizagem da 4ª Dimensão
Por que os campos de dados são a base de uma aplicação 4D
No 4D, a Estrutura é o modelo de toda a sua aplicação. Antes de criar um único formulário ou escrever uma linha de código 4D, você define as tabelas que contêm seus dados e os campos que residem dentro dessas tabelas. Tudo a jusante — formulários, listas de valores, consultas, relacionamentos, relatórios — é construído sobre essa estrutura. Acerte os campos e o resto da aplicação se encaixa. Erre-os e você passará anos trabalhando em torno de decisões que não pode desfazer facilmente.
Esse último ponto é a coisa mais importante a entender sobre o modelo de campo de dados do 4D: uma vez que um campo de dados é criado, ele não pode ser excluído. Isso não é um bug ou um descuido. Reflete uma filosofia de design deliberada no 4D (originalmente desenvolvido por Laurent Ribardière e comercializado por décadas pela 4D Inc., anteriormente ACI) que prioriza a estabilidade estrutural e a integridade dos dados em relação à rotatividade casual de esquemas. O campo ocupa um slot permanente na estrutura interna da tabela, e o 4D reserva esse slot por toda a vida útil do banco de dados.
Isso tem consequências reais para a forma como você trabalha e molda os conselhos práticos deste artigo.
Principais conclusões
- Um campo de dados 4D, uma vez criado, não pode ser excluído — apenas renomeado, reaproveitado ou ocultado.
- Clicar na área do campo de dados (os quadrados abaixo do nome de uma tabela) abre as Propriedades do Campo; clicar no nome da tabela abre as Propriedades da Tabela.
- Campos de Texto comportam até 32.000 caracteres; campos Alpha têm comprimento limitado (padrão 20, máximo 80) e são o único tipo utilizável como chaves de relacionamento.
- Campos que você cria além das linhas visíveis ainda existem — basta esticar a tabela ou usar as setas para cima/para baixo para vê-los.
- Campos calculados, como Idade, não são definidos na Estrutura; o cálculo é anexado quando você constrói ou edita um formulário.
- Deixar a janela Estrutura aberta (em vez de fechá-la) evita que você seja empurrado para o modo Usuário antes de estar pronto.
Criando seu primeiro campo de dados
Chegamos agora à parte interessante: criar campos de dados. Interessante, mas com aquela característica irritante mencionada acima — um campo, uma vez criado, não pode ser excluído. Então, o que fazer se você cometer um erro? Você tem três opções práticas:
- Renomeá-lo. Se você criou “Frist Name” por acidente, renomeie para “First Name” e siga em frente.
- Reaproveitá-lo mais tarde. Um campo que você não precisa hoje pode servir a um propósito amanhã. Muitos desenvolvedores 4D experientes mantêm uma pequena reserva de campos sobressalentes exatamente por esse motivo.
- Ocultá-lo. Sem dados no campo, ele não afetará significativamente o tamanho ou a operação do programa. Um campo vazio não custa quase nada em tempo de execução.
Para criar o primeiro campo de dados, clique duas vezes na tabela Customers na área do campo de dados, conforme indicado pela seta na Figura 8. Onde você clica é importante. Se você clicar na área do nome da tabela, obterá a janela Propriedades da Tabela novamente. Clicar nos quadrados (a área do campo de dados) sob o nome da tabela abre a janela Propriedades do Campo.
Essa distinção de alvo de clique atrapalha quase todos os recém-chegados. O nome da tabela é um controle para configurações no nível da tabela; a grade de quadrados abaixo dele é a lista de campos. Aprenda a mirar nos quadrados.
Relacionado: — A plataforma de banco de dados relacional de longa duração para equipes que precisam de aplicativos personalizados em desktop, web e dispositivos móveis a partir de um único arquivo..
Escolhendo o tipo de dados certo
Com a janela Propriedades do Campo aberta (Figura 9), digite “First Name” para o Nome do Campo e selecione Texto para o Tipo de dados. Campos de texto podem conter até 32.000 caracteres — generosos o suficiente para nomes, notas, descrições e a maioria dos conteúdos de forma livre.
Quando terminar, clique em Aplicar, e a tabela mostrará o primeiro campo de dados (Figura 10).
Agora selecione a próxima área de campo de dados na janela Estrutura para Banco de Dados de Amostra e repita:
Nossa escolha: — Uma interface simples de planilha baseada em um banco de dados relacional real, com automações, visualizações e interfaces compartilháveis..
- Crie um campo de Texto chamado “Last Name”.
- Crie um campo chamado “Address”, mas defina Address como um campo do tipo Alpha.
A distinção entre Texto e Alpha importa mais do que parece à primeira vista.
Campos Alpha podem conter o número máximo de caracteres especificado como o comprimento do campo. O padrão é 20 e o máximo é 80 caracteres. Se você definir 20 como o comprimento máximo, o programa simplesmente não permitirá que você digite mais — o campo impõe seu próprio limite no momento da entrada. Isso torna o Alpha ideal para valores curtos e de propósito fixo: códigos, abreviações, sinalizadores de status e — criticamente — chaves de relacionamento.
Campos Alpha são os únicos campos que podem ser usados para chaves de relacionamento. Se você planeja vincular duas tabelas (por exemplo, Customers a Orders), o campo de ligação em pelo menos um dos lados deve ser Alpha. Esta é uma restrição estrutural, não uma preferência, e é uma das razões para pensar cuidadosamente antes de atribuir os tipos.
Uma maneira rápida de decidir:
| Caso de uso | Tipo recomendado | Por quê |
|---|---|---|
| Nomes, notas, descrições | Texto | Até 32.000 caracteres, sem limite fixo |
| Códigos curtos, sinalizadores de status, IDs usados como chaves | Alpha | Comprimento imposto, utilizável como chave de relacionamento |
| Datas, valores, quantidades | Tipos Numéricos/Data | Permitem cálculos e ordenação |
| Valores computados de outros campos (ex: Idade) | Definido no formulário, não na Estrutura | Mantém a Estrutura limpa |
Ver todos os seus campos na janela Estrutura
Observe na Figura 11 à esquerda que apenas três campos de dados são mostrados na tabela Customers. Você está prestes a criar um quarto chamado “City”, mas para vê-lo você deve arrastar a tabela para torná-la mais longa ou usar as setas para cima e para baixo no topo da tabela para revelar campos adicionais.
Duas notas práticas aqui:
- Se você apenas continuar criando campos, eles serão adicionados à tabela — mas não serão vistos. Os dados estão lá; a exibição simplesmente não é alta o suficiente.
- Se você parar e depois voltar a criar campos de dados, deverá esticar a tabela até o ponto onde haja uma linha de campo de dados vazia e clicar nela para continuar. Você não pode anexar a uma lista que não consegue ver.
- As setas só aparecem quando há mais campos do que os mostrados, portanto, a presença delas é, por si só, um sinal útil de que você tem linhas ocultas.
Ao esticar a tabela para torná-la mais longa, às vezes é difícil — você deve agarrar a borda exatamente do jeito certo. Com um pouco de prática, torna-se fácil (Figura 12).
Uma Nota sobre Campos Calculados como Idade
O campo de dados “Age” será posteriormente calculado com base nos campos de dados Date e Date of Birth. Por enquanto, é apenas um campo de entrada de dados. Transformá-lo em um cálculo deve ser feito ao criar ou editar um formulário.
Este é um ponto arquitetônico sutil, mas importante. No 4D, a Estrutura define quais dados existem; o formulário define como eles são apresentados e computados. Um campo como Age é um valor derivado — ele muda todos os dias, portanto, armazená-lo como dados estáticos seria errado. Ao anexar o cálculo no nível do formulário, você garante que a Age esteja sempre atualizada sempre que o registro for exibido.
Se você vem de uma experiência com ferramentas como Microsoft Access ou FileMaker, essa separação pode parecer incomum. No 4D, a disciplina de manter valores derivados fora da Estrutura compensa com dados mais limpos e menos campos obsoletos. Para um contexto mais amplo sobre como os esquemas de banco de dados separam dados armazenados e derivados, consulte o artigo da Wikipédia sobre normalização de banco de dados, que explica por que o armazenamento de valores computados redundantes é geralmente desencorajado.
Finalizando e Evitando a Armadilha dos Formulários Padrão
Ao terminar de criar os campos de dados, feche a janela Propriedades do Campo clicando no botão Done.
Agora, um aviso: sem nenhum formulário criado, se você fechar a janela Structure for Sample Database, será perguntado se deseja criar formulários padrão (Figura 14). Se você selecionar “No”, a janela será fechada e você será levado ao modo User. Como ainda não estamos prontos para estar no modo User, apenas deixe a janela Structure for Sample Database aberta por enquanto.
Este é um obstáculo comum no início. Novos desenvolvedores fecham a janela Structure, recusam os formulários padrão e, de repente, encontram-se em um ambiente de execução sem nada para executar. A solução é simples — reabrir a Structure — mas a lição vale a pena ser internalizada: no 4D, os modos Structure (tempo de design) e User (tempo de execução) são ambientes distintos, e você se move entre eles deliberadamente.
Se você tem curiosidade sobre como o 4D se encaixa no cenário mais amplo de plataformas de desenvolvimento rápido de aplicativos, a visão geral da Wikipédia sobre plataformas de desenvolvimento de baixo código é uma referência útil para entender a categoria que o 4D ajudou a pioneirar.
Melhores Práticas para Estruturar Campos Antecipadamente
Como os campos são permanentes, um pouco de planejamento antecipado evita muita dor posteriormente. Considere estes hábitos:
- Nomeie os campos de forma consistente. Decida por uma convenção (ex: “First Name”, “Last Name”, “Date of Birth”) e aplique-a em todos os lugares. A consistência torna a construção de formulários e códigos muito mais fácil.
- Reserve campos Alpha para chaves. Se um campo for participar de um relacionamento, torne-o Alpha desde o início. A conversão posterior não é possível.
- Mantenha valores derivados fora da Estrutura. Age, totais e valores computados semelhantes pertencem a formulários ou métodos, não a campos armazenados.
- Deixe alguns campos sobressalentes. Como você não pode excluir, ter slots não utilizados disponíveis dá espaço para se adaptar sem poluir seu esquema visível.
- Documente à medida que avança. Uma nota curta sobre o propósito de cada campo poupará a você mesmo no futuro — e a qualquer colega de equipe — consideráveis suposições.
Para orientações autoritativas sobre princípios de design de banco de dados relacionais que sustentam essas decisões, a documentação do PostgreSQL oferece uma referência excelente e neutra em relação ao fornecedor sobre tipos de dados e design de esquema, embora a implementação do 4D difira em suas especificidades.
Perguntas Frequentes
Posso excluir um campo de dados no 4D após criá-lo?
Não. Uma vez que um campo de dados é criado na Estrutura do 4D, ele não pode ser excluído. Suas opções são renomeá-lo, reaproveitá-lo para um uso diferente posteriormente ou simplesmente ocultá-lo. Um campo vazio sem dados não afeta significativamente o tamanho ou a operação do programa, portanto, deixar um campo não utilizado no lugar geralmente é inofensivo.
Qual é a diferença entre um campo Text e um campo Alpha?
Campos Text podem conter até 32.000 caracteres e não têm limite de comprimento fixo. Campos Alpha têm comprimento limitado — o padrão é 20 caracteres e o máximo é 80 — e o programa impõe esse limite na entrada de dados. Fundamentalmente, campos Alpha são o único tipo de campo que pode ser usado como chaves de relacionamento.
Por que não consigo ver o novo campo de dados que acabei de criar?
Se você continuar criando campos além das linhas visíveis da tabela, eles serão adicionados, mas não exibidos. Para vê-los, arraste a tabela para torná-la maior ou use as setas para cima e para baixo na parte superior da tabela. As setas só aparecem quando há mais campos do que a tabela pode mostrar.
Como faço para que um campo como Idade seja calculado automaticamente?
Campos calculados como Idade não são definidos na Estrutura. Em vez disso, o cálculo é anexado quando você cria ou edita um formulário. O campo Idade é criado primeiro como um campo de entrada de dados comum, e o cálculo baseado em Data e Data de Nascimento é adicionado posteriormente no nível do formulário.
O que acontece se eu fechar a janela Estrutura antes de criar formulários?
Se você fechar a janela Estrutura para Banco de Dados de Exemplo sem nenhum formulário criado, o 4D perguntará se você deseja criar formulários padrão. Se você responder “Não”, a janela será fechada e você será levado ao modo Usuário. Como você ainda não está pronto para executar o aplicativo, é melhor deixar a janela Estrutura aberta até que seus formulários sejam construídos.
Por que clicar na tabela às vezes abre a janela errada?
Onde você clica determina qual janela aparece. Clicar na área do nome da tabela abre a janela Propriedades da Tabela, enquanto clicar nos quadrados na área do campo de dados abaixo do nome da tabela abre a janela Propriedades do Campo. Mire na grade de quadrados quando quiser adicionar ou editar campos.
Crie um aplicativo personalizado gratuitamente por 15 dias
Um construtor de aplicativos de baixo código que se conecta ao conjunto Zoho mais amplo e tem preços por usuário, e não por aplicativo.