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 Bardot, professor da FIAP há diversos anos. Sou também profissional de mercado há mais de 30 anos. Sugestões 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, onde eu vou refinar o desenho dessas tabelas de dados, colocando informações complementares mais técnicas, como o formato desses dados que são numéricos e 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 e a implementação dele numa 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, gera se os programas de aplicação que criam os códigos. E esse processo, esse fluxo é chamado de engenharia de direta. Existe o processo contrário, chamado engenharia reversa, onde 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 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, ela é 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 pouquinho mais sobre essa engenharia de dados, que é parte da engenharia de software e de soluções de tecnologia para negócios.