Pode escolher onde guardar os dados de cada campo de tipo BLOB, Imagem e Texto. Além das opções de armazenamento internas (no registro ou no arquivo de dados), pode optar por armazenar estes campos fora do arquivo de dados. Neste caso, seus dados são guardados como arquivos externos que são gerenciados por 4D e podem ser gerenciados pelas aplicações de terceiros, sempre e quando você tenha a precaução de conservar a integridade dos dados.
Este princípio é transparente para o usuário: o acesso aos dados é o mesmo, independentemente de sua localização.
O armazenamento externo dos dados permite otimizar o funcionamento da aplicação, permitindo por exemplo transportar grandes volumes de dados ou acessar desde o sistema operativo aos textos ou as imagens contidas na base, inclusive quando não está aberta.
O suporte para o armazenamento externo de dados pode ser realizado de duas maneira:
Modo automático: neste modo, 4D cria e gerencia uma pasta por padrão, estruturada em uma forma específica e que contém todos os dados de armazenamento externo. Neste caso, estes dados se administram de maneira transparente e têm as mesmas funções e o funcionamento automático que para os campos armazenados internamente. Para ativar este modo automático, você pode:
Configurar o armazenamento externo no editor de estrutura (parâmetros guardados com a estrutura da base). Esta opção se descreve no .
Utilizar o comando SET EXTERNAL DATA PATH com uma cadeia vazia no parâmetro rota (configuração válida para a sessão).
Modo personalizado: neste modo, você decide livremente o lugar onde se armazenam os arquivos externos para cada campo e cada registro. Neste caso, 4D conserva unicamente a relação entre o campo e seus dados e alguns dos mecanismos de base de dados já não estão disponíveis. O modo personalizado se ativa utilizando o comando SET EXTERNAL DATA PATH e indicando uma pasta (diferente a pasta por padrão) no parâmetro rota.
A seguinte tabela compara as funções e automatizações disponíveis nos modos automático e personalizado:
Modo automático
Modo personalizado
Configuração da pasta de armazenamento
Nome e lugar definidos por 4D, só uma pasta por padrão para toda a base
Nome e localização livres, pode ser diferente para cada campo
Criação, carga e registro dos arquivos externos
Automático
Automático
Supressão do arquivo externo se o registro é eliminado
Sim
Não
Supressão do arquivo externo se o valor nulo for atribuído ao campo
Sim
Não
Integração automática quando é guardada a base
Sim
Sim (rota externa)
Suporte automático durante a integração do arquivo de histórico
Sim
Sim (rota externa)
Suporte dos índices padrões (campos texto)
Não
Não
Suporte dos índices de palavras chave (campos texto e imagem)
Os dados armazenados fora do arquivo de dados são organizados de acordo com os seguintes princípios:
Para cada registro, os dados são armazenados em um arquivo externo chamado xxx.txt (campo de texto), xxx.blob (campos BLOB e objeto) ou xxx.jpg, xxx.tiff ... (campo de imagem, a extensão depende do tipo Imagem), onde xxx for um identificador exclusivo (UUID) gerido por 4D.
No modo automático, todos os dados externo são colocados em uma pasta chamada <NomDoBanco>. ExternalData onde <NomDoBanco> for substituído pelo nome da estrutura de banco de dados de arquivo. Esta pasta está localizada ao lado do arquivo de dados do banco (arquivo .4 DD).
Dentro dessa pasta, 4D cria uma pasta para cada tabela que possui dados externos (chamado "Tabela + número da tabela"), então uma subpasta para cada campo externo (chamado "Campo + número do campo"). Os primeiros 100 elementos de campo são armazenados no primeiro nível desta pasta, os seguintes são armazenadas em subpastas numeradas a partir de "2", com cada subpasta contendo 100 itens. Por exemplo, se o campo No. 5 da tabela No.3 do banco de dados "Contabilidade" for armazenadado fora do arquivo de dados, a seguinte estrutura árvore for criada por 4D:
Em modo personalizado, o nome e a localidade da pasta puder ter sido configurada livremente e se puder ter sido especificada separadamente para cada campo que for armazenado de forma externa vía o comando SET EXTERNAL DATA PATH. Esta configuração não for guardada na estrutura do banco de dados.
No modo automático,a escrita decampoem um arquivo externoé feita no momento do registro no disco (após a validaçãoda transaçãose necessário):
Se o arquivo externonão existir:no modo automático,ele é criado; em modo personalizado,é devolvido um erro;
Seum arquivo externojá existir, 4Dvai substitui-lopor um novo. Se vocêdeseja manter o arquivo ,você pode especificarum caminho diferente(usando oSET EXTERNAL DATA PATH),ou utilizando o comandoRELOAD EXTERNAL DATApara carregar na memóriao conteúdo docampode seu arquivoexterno antes desalvá-lo emdisco novamente.Essa opção é útilquando oarquivo tenha sido modificadopor outro aplicativodepois de carregar oregistro.
Oarmazenamentodedadoséum parâmetro local, em cada banco de dados.Durante a sincronizaçãoou replicação(verReplicação via SQL, estes parâmetrospodem variarentre obanco de dados locale o banco de dadosremotoNeste caso, o armazenamentoestá em conformidade comos parâmetrosde cada banco de dados;. a sincronização oureplicação não as modifica.
Por exemplo,seum campo imagem do banco de dados remotoé salvo normalmente fora do arquivo de dadoseestemesmo campono banco de dadoslocal é armazenadono arquivo de dados,quandoocorrea replicação,quaisquerdadosadicionados a estecampono banco de dadoslocal (no arquivo de dados) são armazenadosfora doarquivo de dadosno banco de dadosremoto.
Arquivos de armazenamento externos são acessíveis em modo de leitura / escrita em outros aplicativos diferentes de 4D (sistemas operacionais, editores de texto ou gráficos, etc.). No entanto, isto deve ser feito com cuidado, já que eles podem alterar o funcionamento da aplicação:
Se um armazenamento externo arquivo é excluído, renomeado ou movido pelo sistema operacional ou uma aplicação de terceiros, 4D considera que o campo tem o valor nulo e no modo automático, o arquivo será criado de novo (se não for nulo) quando o registro for salvo. Em modo personalizado, um erro é gerado quando o comando SET EXTERNAL DATA PATH for executado.
Se você usar índices e se os arquivos de armazenamento forem modificados por um aplicativo de terceiros, sem que os registros pai sejam reescritos no disco, os índices não são atualizados.
Nota: Os arquivos de texto externos são salvos no formato UTF-8 sem BOM. Se eles são abertos por um aplicativo de terceiros e, em seguida, salvos com BOM, ainda podem ser reaberto por 4D, mas serão salvos sem BOM.
Note-se que o carregamento de um registro em modo "read-only" não bloqueia os arquivos externos dos campos deste registro. Esses arquivos ainda podem ser modificados no disco por 4D ou aplicativos de terceiros, embora o seu conteúdo tenha sido carregado na memória para 4D.
PROPRIEDADES
Produto: 4D
Tema: Criar uma estrutura de banco de dados