Fundamentos de Banco de Dados Relacional
Tabelas, chaves, relacionamentos e SQL: o modelo mental que sustenta qualquer sistema de gestão.
Por que modelar antes de codificar
Todo sistema de gestão começa com uma pergunta simples: quais entidades existem e como elas se relacionam? Um usuário tem nome, e-mail e data de nascimento. Uma turma tem nome e série. Um usuário pertence a uma turma. Desenhar essa estrutura antes de escrever a primeira linha de código evita a maior parte dos retrabalhos.
O modelo relacional organiza os dados em tabelas — coleções de linhas com colunas tipadas. Cada linha representa uma ocorrência e cada coluna um atributo. A chave primária identifica a linha de forma única; a chave estrangeira conecta uma tabela à outra.
Escolher o tipo correto de cada coluna é mais importante do que parece. Datas devem ser armazenadas como DATE ou DATETIME, nunca como texto livre. Valores monetários pedem DECIMAL, nunca FLOAT. Senhas nunca são armazenadas em texto puro: usam hash com função dedicada.
A linguagem SQL se divide em quatro famílias de comandos. DDL cria e altera estruturas. DML manipula dados. DQL consulta. DCL controla permissões. Um desenvolvedor back-end usa DML e DQL diariamente; DDL quando o modelo evolui.
Sobre segurança, há uma regra que não admite exceção: nenhum valor vindo do usuário deve ser concatenado diretamente em uma consulta. Prepared statements separam a instrução SQL dos dados, e o banco trata o valor como valor — nunca como código.
Por último, índice. Toda coluna usada com frequência em filtros ou ordenações ganha desempenho com um índice adequado. O custo aparece na escrita, porque cada INSERT precisa atualizar também o índice. Indexe o que se consulta, não o que se insere.