Capítulo 19: Arquitetura Split Database e Conectividade Externa (ODBC / SQL Server)

🎯 Objetivo da Aula

Nesta aula de arquitetura avançada de redes e sistemas distribuídos, você aprenderá a preparar seu banco de dados para operar em um ambiente corporativo com dezenas de computadores simultâneos. No laboratório de informática, você aprenderá por que compartilhar um único arquivo de banco na rede causa corrupção de dados e lentidão, e dominará a técnica canônica da indústria: a Divisão de Banco de Dados (Split Database) em Front-End (Telas e Relatórios no PC do usuário) e Back-End (Tabelas no Servidor Central). Você aprenderá a utilizar o Gerenciador de Tabelas Vinculadas e compreenderá como o Access conecta-se a grandes servidores corporativos (Microsoft SQL Server e PostgreSQL) via ODBC (Open Database Connectivity).

Ao final desta aula, seu sistema da FastLog S.A. estará estruturado sob a arquitetura Cliente-Servidor profissional, imune a corrupções de rede e pronto para escalar.


🏢 Cenário Prático (FastLog S.A.)

Empresa: FastLog Transportes & Logística Integrada S.A.
Problema: A diretoria de TI colocou o arquivo único FastLog_Database.accdb em uma pasta compartilhada do Windows (\\servidor\logistica) e criou um atalho na área de trabalho de 18 computadores (portaria, faturamento, SAC, expedição e diretoria). Às 14h00, no pico de movimentação de cargas, o cabo de rede de um dos computadores da guarita foi desconectado acidentalmente enquanto o operador gravava um frete. Como o arquivo era compartilhado por todos, a queda abrupta daquele único computador corrompeu o cabeçalho do arquivo inteiro, travando as estações de todos os outros 17 operadores simultaneamente e paralisando a transportadora por 3 horas!
Sua Missão: Como arquiteto de infraestrutura e dados, você dividirá o sistema utilizando a ferramenta Dividir Banco de Dados (Database Splitter). Você criará o arquivo FastLog_Dados_be.accdb (Back-End) para ficar protegido no servidor e distribuirá cópias leves do FastLog_Sistema_fe.accdb (Front-End) para cada estação de trabalho, garantindo que a queda de um terminal nunca afete os demais.


🧠 Fundamentos: A Teoria Traduzida

1. O Risco Mortal do Arquivo Único em Rede Local

Quando múltiplos computadores abrem o mesmo arquivo .accdb através de uma pasta compartilhada na rede, o Windows trafega pela rede todos os formulários, relatórios, botões e imagens a cada clique. Se a rede oscilar ou um computador desligar de repente no meio de uma gravação, o arquivo inteiro pode ser corrompido.

flowchart TD
    subgraph ARQUITETURA_SPLIT["🌐 Arquitetura Profissional Split Database (Cliente-Servidor)"]
        direction TB
        
        SERVER[("🏢 SERVIDOR DE REDE / STORAGE<br/>Arquivo Back-End: FastLog_Dados_be.accdb<br/>(Apenas Tabelas Físicas e Integridade Referencial)")]
        
        PC1["💻 PC 01 (Portaria)<br/>Front-End Local (C:\FastLog_fe.accdb)<br/>Formulários, Relatórios e Consultas"]
        PC2["💻 PC 02 (Faturamento)<br/>Front-End Local (C:\FastLog_fe.accdb)<br/>Formulários, Relatórios e Consultas"]
        PC3["💻 PC 03 (Diretoria)<br/>Front-End Local (C:\FastLog_fe.accdb)<br/>Formulários, Relatórios e Consultas"]

        PC1 <-->|"Tabelas Vinculadas (Apenas dados brutos)"| SERVER
        PC2 <-->|"Tabelas Vinculadas (Apenas dados brutos)"| SERVER
        PC3 <-->|"Tabelas Vinculadas (Apenas dados brutos)"| SERVER
    end

    style ARQUITETURA_SPLIT fill:#f8f9fa,stroke:#0056b3,stroke-width:2px
    style SERVER fill:#1a365d,stroke:#fff,stroke-width:2px,color:#fff
    style PC1 fill:#27ae60,stroke:#fff,color:#fff
    style PC2 fill:#27ae60,stroke:#fff,color:#fff
    style PC3 fill:#27ae60,stroke:#fff,color:#fff

2. A Anatomia da Divisão: Front-End vs. Back-End

  • Back-End (_be.accdb): Reside no servidor de arquivos da empresa. Contém estritamente as Tabelas e os Relacionamentos. Ninguém abre esse arquivo diretamente.
  • Front-End (_fe.accdb): Reside no disco rígido local (C:\) de cada máquina de usuário. Contém os Formulários, Consultas, Relatórios e Menus. Ele se conecta ao Back-End através de Tabelas Vinculadas (Linked Tables), identificadas pelo ícone de uma setinha azul ao lado da tabela.
  • Vantagens Brutais:
    1. Tolerância a Falhas: Se o computador da portaria travar ou for desligado da tomada, apenas o Front-End dele é fechado; o Back-End e os outros 17 computadores continuam funcionando normalmente!
    2. Velocidade de Rede: Telas e relatórios abrem na hora porque estão gravados no disco local do operador.
    3. Manutenção Sem Parada de Sistema: A equipe de TI pode alterar o design de um formulário ou criar um novo relatório no Front-End sem precisar desconectar os usuários do banco de dados!

3. Conectividade Externa via ODBC e Servidores Enterprise

Quando a empresa cresce para centenas de usuários e o Access desktop atinge seu limite de escala:

  • O que é ODBC (Open Database Connectivity): É o padrão internacional de drivers de rede que permite ao Access atuar como interface gráfica conectando-se a um banco de dados corporativo de grande porte (como Microsoft SQL Server, Oracle ou PostgreSQL).
  • Arquitetura Híbrida: O Front-End continua sendo o Microsoft Access (fácil de usar, telas amigáveis e relatórios rápidos), mas as tabelas residem com segurança máxima dentro de um servidor SQL Server em nuvem com transações ACID completas e backups automáticos a cada 15 minutos!

📖 Exemplo Guiado: Passo a Passo no Laboratório

Abra o arquivo FastLog_Database.accdb. Vamos executar a divisão oficial do banco de dados.

Passo 1: Fazendo um Backup Preventivo de Segurança

  1. Antes de qualquer alteração de arquitetura, crie uma cópia do arquivo atual:
    • Clique em Arquivo ➔ Salvar Como.
    • Escolha Fazer Backup do Banco de Dados ➔ clique em Salvar Como.
    • Guarde o arquivo de segurança com a data de hoje.

🛠️ Prática Obrigatória 1: Dividindo o Banco de Dados com o Assistente Oficial

Você executará a separação automática entre a camada de dados e a camada de interface.

Passo a Passo no Computador:

  1. Com o banco FastLog_Database.accdb aberto:
  2. Acesse a guia Ferramentas de Banco de Dados (Database Tools).
  3. No grupo Mover Dados, clique no botão Banco de Dados do Access (Access Database Splitter).
  4. O assistente Divisor de Banco de Dados se abrirá com a explicação técnica da operação:
    • Clique no botão: Dividir Banco de Dados (Split Database).
  5. O Windows abrirá uma janela para você salvar o arquivo Back-End:
    • Observe que o Access sugere automaticamente o sufixo _be: FastLog_Database_be.accdb.
    • Salve o arquivo na mesma pasta do seu laboratório.
    • Clique no botão Dividir.
  6. Aguarde alguns segundos enquanto o Access move as tabelas físicas.
  7. Uma mensagem de êxito surgirá na tela: “Banco de dados dividido com êxito.”
    • Clique em OK.
  8. Análise das Tabelas Vinculadas:
    • Olhe o Painel de Navegação à esquerda: ao lado de cada tabela (tbl_Clientes, tbl_Veiculos, tbl_OrdensFrete), surgiu um ícone de uma setinha azul apontando para a direita (➔)!
    • Isso indica que as tabelas são Vínculos Remotos: a estrutura física agora reside no arquivo FastLog_Database_be.accdb!

✅ Resultado Esperado (Prática 1):

O sistema foi separado com sucesso em dois arquivos complementares: o Front-End de operação diária e o Back-End de persistência de dados.


🛠️ Prática Obrigatória 2: Utilizando o Gerenciador de Tabelas Vinculadas

Imagine que a empresa mudou o arquivo Back-End para uma nova pasta ou servidor. Você aprenderá como reconectar os vínculos.

Passo a Passo no Computador:

  1. Feche o Access.
  2. Na pasta do seu computador, crie uma nova pasta chamada Servidor_Rede.
  3. Mova o arquivo FastLog_Database_be.accdb para dentro da pasta Servidor_Rede.
  4. Abra o arquivo Front-End FastLog_Database.accdb.
  5. Tente abrir a tabela tbl_Clientes:
    • Veja o erro: O Access avisa que não consegue encontrar o arquivo no caminho antigo!
  6. Utilizando o Gerenciador de Tabelas Vinculadas para Reparar:
    • Feche o aviso de erro.
    • Acesse a guia Dados Externos (External Data).
    • No grupo Importar e Vincular, clique no botão Gerenciador de Tabelas Vinculadas (Linked Table Manager).
    • Na janela que se abre, clique na caixinha Selecionar Tudo para marcar todas as tabelas.
    • Clique no botão Relinkar (ou Editar Fonte de Dados).
    • Navegue até a pasta Servidor_Rede, selecione o arquivo FastLog_Database_be.accdb e clique em Abrir.
    • O Access exibirá a confirmação: “Todas as tabelas vinculadas selecionadas foram atualizadas com êxito.”
  7. Abra a tabela tbl_Clientes ou o formulário frm_OrdemFreteMestre: o sistema volta a funcionar perfeitamente em 100% de sua capacidade!

✅ Resultado Esperado (Prática 2):

O Gerenciador de Tabelas Vinculadas reconecta com sucesso as tabelas movidas de local, validando a habilidade técnica de administração de redes do estudante.


📤 Instruções de Entrega (Microsoft Teams)

  1. Salve todas as alterações e feche o Access.
  2. Verifique que agora você possui dois arquivos na sua pasta:
    • O Front-End: FastLog_BD_Cap19_FrontEnd_SeuNome.accdb
    • O Back-End: FastLog_BD_Cap19_BackEnd_SeuNome.accdb
  3. Acesse o Microsoft Teams na sua turma.
  4. Abra a tarefa: “Banco de Dados - Cap 19: Split Database e Tabelas Vinculadas”.
  5. Anexe os DOIS ARQUIVOS (.accdb) na tarefa e clique em Entregar (Turn In).

💡 Checkpoint de Gestão & TI

Por que o Split Database é o padrão exigido em qualquer ambiente corporativo? Porque ele transforma um arquivo de laboratório em uma solução corporativa real de rede. Além disso, essa arquitetura abre as portas para a evolução futura da empresa: quando a FastLog crescer e migrar seus dados para a nuvem da Microsoft (Azure SQL Database), os operadores não precisarão reaprender a trabalhar, pois o mesmo Front-End do Access continuará funcionando, conectado ao servidor em nuvem via ODBC!


🔥 Desafio de Fixação: Auditoria de Propriedades de Conexão das Tabelas Vinculadas

O Access armazena a string de conexão exata de cada tabela vinculada internamente.

Inspecione e documente o caminho de rede do seu Back-End:

  1. Abra o arquivo Front-End no Access.
  2. Posicione o cursor do mouse (sem clicar) sobre o ícone com a setinha azul da tabela tbl_OrdensFrete no Painel de Navegação lateral.
  3. Observe surgir um balão informativo (Tooltip) exibindo o caminho absoluto do arquivo no disco (ex: DATABASE=D:\Projetos_FastLog\Servidor_Rede\FastLog_Database_be.accdb).
  4. Anote no seu caderno como esse caminho é formatado e explique o que acontece se o nome da pasta for alterado no Windows sem a devida atualização pelo Gerenciador de Tabelas Vinculadas.

🔑 Revelar Gabarito Oficial e Material de Apoio da Aula (Clique para expandir)
💡 Incentivo Pedagógico: Tente resolver as práticas e o desafio de fixação por conta própria antes de abrir o gabarito. Seus erros e tentativas durante o laboratório são a chave para a consolidação real do aprendizado!

Especificação Técnica da Conexão Vinculada:

1
2
3
4
5
6
Tipo de Conexão: Tabela Vinculada Microsoft Access (Jet/ACE ISAM)
String de Conexão Interna (Connect Property):
;DATABASE=C:\FastLog\Servidor_Rede\FastLog_Database_be.accdb

Diagnóstico Operacional:
Se o administrador de rede alterar o nome do compartilhamento ou mapear uma letra de unidade diferente (ex: de Z:\ para Y:\), o Front-End exibirá o erro: 'O arquivo não é um caminho válido'. O sistema permanecerá bloqueado até que o administrador abra o 'Gerenciador de Tabelas Vinculadas' e atualize a string de conexão para apontar para a nova rota de rede.

📥 Download dos Scripts desta Aula:
Baixe o arquivo de script Capitulo_19.sql ou o pacote compactado (.zip) com os comandos SQL e esquemas da aula.


📝 Atividade Extra: Questionário de Fixação (Caderno)

Instruções: Responda no caderno, de próprio punho, as 10 perguntas reflexivas abaixo com base no conteúdo deste capítulo. Ao concluir, apresente o caderno ao professor para conferência e visto.

  1. Por que compartilhar um único arquivo de banco de dados .accdb em rede para dezenas de usuários simultâneos é considerado um risco crítico de TI?
  2. No Cenário Prático da FastLog, o que aconteceu quando o cabo de rede de um único computador da portaria foi desconectado abruptamente?
  3. O que é a arquitetura Split Database e como ela divide os objetos do sistema?
  4. Quais objetos do banco de dados residem exclusivamente no arquivo Back-End?
  5. Quais objetos do banco de dados residem no arquivo Front-End instalado no computador local de cada operador?
  6. Cite duas grandes vantagens operacionais propiciadas pela divisão do banco de dados.
  7. Qual símbolo visual identifica uma Tabela Vinculada (Linked Table) no Painel de Navegação do Access?
  8. Qual é a utilidade do Gerenciador de Tabelas Vinculadas (Linked Table Manager) na manutenção de sistemas em rede?
  9. O que representa a sigla ODBC e qual é o seu papel na conexão entre o Microsoft Access e servidores enterprise como o SQL Server?
  10. No Desafio de Fixação, o que acontece se o servidor mudar de endereço IP ou nome de pasta compartilhada sem que as tabelas sejam relinkadas?