Esquemas e Instâncias
Imagine que você vai construir uma casa. Antes de começar a assentar os tijolos, você precisa de uma planta baixa, não é? Essa planta define quantos cômodos terá, onde ficarão as portas, as janelas, a fiação elétrica e a tubulação. Agora, pense na casa depois de pronta e mobiliada: onde o sofá está, qual foto decora a parede da sala, que livros estão na estante. Esses dois conceitos – a planta e a casa mobiliada – são a melhor forma de entendermos os dois pilares de qualquer banco de dados: o Esquema e a Instância.
O Esquema é exatamente essa planta baixa, o projeto definitivo do seu banco de dados. Ele é criado uma única vez, com muito cuidado, e define a estrutura, as regras e a organização. Ele estabelece quais "cômodos" (as tabelas) teremos, que "portas" (as colunas) existirão em cada um, e que tipo de móvel (dado) pode entrar em cada espaço. Por exemplo, o esquema de um banco de dados de uma escola diria: "Vamos ter uma tabela chamada ALUNOS. Dentro dela, teremos as colunas: ID (número), NOME (texto), EMAIL (texto) e DATA_NASCIMENTO (data)." O esquema é estável, dificilmente muda. Se ele for alterado, é como fazer uma reforma na casa: muda a estrutura, e isso exige planejamento.
Já a Instância (também chamada de estado ou ocorrência) são os dados reais que preenchem essa estrutura em um determinado momento. É a casa mobiliada, vivendo o seu dia a dia. Ela é dinâmica e muda constantemente. Usando o mesmo exemplo da escola, uma instância do banco de dados seria os dados reais dos alunos cadastrados hoje:
| ID | NOME | DATA_NASCIMENTO | |
|---|---|---|---|
| 1 | Ana Silva | ana.silva@email.com | 2005-03-15 |
| 2 | Pedro Santos | pedro.santos@email.com | 2004-08-22 |
Amanhã, se um novo aluno for matriculado ou se a Ana mudar seu e-mail, a instância será diferente. Os dados mudam, mas a estrutura (o esquema) continua a mesma.
Uma analogia muito usada é a de um formulário de papel. O formulário em branco, com seus campos pré-definidos (Nome:, Endereço:, Cidade:), é o esquema. Já o formulário preenchido por você, com suas informações específicas, é uma instância daquele esquema.
Por fim, você pode ouvir os termos Base Intencional (que se refere ao esquema, à "intenção" do que o banco deve ser) e Base Extensional (que se refere à instância, à "extensão" ou ao conteúdo real naquele instante). São apenas nomes mais técnicos para a mesma ideia fundamental: o projeto e a execução. Dominar a diferença entre esses dois conceitos é o primeiro passo para pensar como um verdadeiro arquiteto de dados!
Comentários
Postar um comentário