Você já se deparou com o desafio de desenvolver um banco de dados? Para um sistema de informação para negócios? Esse é o nosso assunto agora. Eu sou o professor Renato Jardim Parducci, professor da FIAP há diversos anos, sou também profissional de mercado há mais de 30 anos, sou gestor de tecnologia e estou aqui para conversar com você sobre engenharia de dados, mais especificamente, sobre modelagem de bancos de dados. A modelagem de banco de dados é feita em três etapas. Temos três modelos diferentes que são complementares. O primeiro modelo é o modelo chamado Conceitual, onde eu vou conceber as ideias sobre quais objetos, quais coisas do mundo real eu pretendo guardar alguma informação em banco de dados. O segundo modelo é o modelo de especificação e desenho de entidades e relacionamentos, também chamado modelo Lógico. Nesse modelo, eu vou transformar o modelo conceitual em um formato de tabelas com colunas de dados, explicando os conteúdos informacionais que eu quero armazenar em banco de dados sobre cada uma das entidades do mundo real que eu mapeei. Por fim, eu tenho a modelagem física, em que eu vou refinar o desenho dessas tabelas de dados, colocando informações complementares mais técnicas, como o formato desses dados, se são numéricos, se são alfanuméricos, tamanhos desses dados e outras informações importantes que explicam esses dados para que eu possa, logo em seguida, partir para a construção da aplicação. A construção do banco de dados que a gente chama físico, a implementação dele em uma linguagem de programação. Após essa modelagem, eu faço a geração das tabelas de banco de dados. Essa geração de tabelas, ela é feita através de uma linguagem de comandos chamada SQL. É uma linguagem declarativa, uma linguagem sequencial, de instruções sequenciais, para que a gente possa criar cada uma das tabelas das estruturas do nosso banco de dados. Esse processo de desenho, que parte do modelo conceitual, passa pelo modelo lógico, vai para o modelo físico e daí gera-se o código, geram-se os programas de aplicação que criam os códigos. E esse processo, esse fluxo, é chamado de Engenharia Direta. Existe o processo contrário, chamado Engenharia Reversa, em que, ao invés de eu seguir desenhando evolutivamente o meu banco de dados para depois gerar as tabelas, o código fonte, eu faço o contrário. Eu parto de um código fonte e faço a engenharia reversa, tentando descobrir e desenhar o modelo de dados a partir das tabelas já prontas no banco de dados. Qual a vantagem de um e de outro modelo, Engenharia Direta e Engenharia Reversa? A Engenharia Direta é o caminho natural que a gente segue quando está fazendo um projeto de banco de dados novo. Já a Engenharia Reversa é muito útil quando eu geralmente assumo o gerenciamento de um banco de dados legado, antigo, que não tinha nenhum tipo de documentação. Então, nesse caso, eu não tenho outra opção a não ser partir das tabelas que já existem na estrutura do banco de dados que está rodando lá na empresa. E a partir dessas tabelas de banco de dados já instaladas e funcionando, eu gero a documentação para que eu possa compreender de uma forma mais simples todas as relações entre os dados que a companhia tem dentro do seu sistema de informação. É hora de a gente conhecer um pouco mais sobre isso e você estudar um pouco mais sobre essa engenharia de dados, que é parte da engenharia de software e de soluções de tecnologia para negócios.