WEBVTT 00:00:07.757 --> 00:00:12.200 Você já se deparou com o desafio de desenvolver um banco de dados 00:00:12.200 --> 00:00:15.115 para um sistema de informação para negócios? 00:00:15.115 --> 00:00:16.816 Esse é o nosso assunto agora. 00:00:16.816 --> 00:00:18.993 Eu sou o professor Renato Jardim Parducci, 00:00:18.993 --> 00:00:21.721 professor da FIAP há diversos anos, 00:00:21.721 --> 00:00:26.362 sou também profissional de mercado há mais de 30 anos, 00:00:26.362 --> 00:00:28.528 sou gestor de tecnologia 00:00:28.528 --> 00:00:29.966 e estou aqui para conversar com você 00:00:29.966 --> 00:00:32.725 sobre engenharia de dados, 00:00:32.725 --> 00:00:37.758 mais especificamente, sobre modelagem de bancos de dados. 00:00:37.758 --> 00:00:42.201 A modelagem de banco de dados é feita em três etapas. 00:00:42.201 --> 00:00:45.665 Temos três modelos diferentes que são complementares. 00:00:45.665 --> 00:00:49.377 O primeiro modelo é o modelo, chamado Conceitual, 00:00:49.377 --> 00:00:54.130 onde eu vou conceber as ideias sobre quais objetos, 00:00:54.130 --> 00:00:56.003 quais coisas do mundo real 00:00:56.003 --> 00:00:59.354 eu pretendo guardar alguma informação em banco de dados. 00:00:59.354 --> 00:01:01.561 O segundo modelo 00:01:01.561 --> 00:01:06.566 é o modelo de especificação e desenho de entidades 00:01:06.566 --> 00:01:10.268 e relacionamentos, também chamado modelo Lógico. 00:01:10.268 --> 00:01:13.889 Nesse modelo, eu vou transformar o modelo conceitual 00:01:13.889 --> 00:01:18.592 em um formato de tabelas com colunas de dados, 00:01:18.592 --> 00:01:21.281 explicando os conteúdos informacionais 00:01:21.281 --> 00:01:23.049 que eu quero armazenar em banco de dados 00:01:23.049 --> 00:01:26.308 sobre cada uma das entidades do mundo real que eu mapeei. 00:01:26.308 --> 00:01:29.364 Por fim, eu tenho a modelagem física, 00:01:29.364 --> 00:01:33.370 em que eu vou refinar o desenho dessas tabelas de dados, 00:01:33.370 --> 00:01:36.496 colocando informações complementares mais técnicas, 00:01:36.496 --> 00:01:39.007 como o formato desses dados, se são numéricos, 00:01:39.007 --> 00:01:42.174 se são alfanuméricos, tamanhos desses dados 00:01:42.174 --> 00:01:45.038 e outras informações importantes que explicam esses dados 00:01:45.038 --> 00:01:46.539 para que eu possa, logo em seguida, 00:01:46.539 --> 00:01:49.142 partir para a construção da aplicação. 00:01:49.142 --> 00:01:51.744 A construção do banco de dados que a gente chama físico, 00:01:51.744 --> 00:01:54.861 a implementação dele em uma linguagem de programação. 00:01:54.861 --> 00:01:56.182 Após essa modelagem, 00:01:56.182 --> 00:01:59.486 eu faço a geração das tabelas de banco de dados. 00:01:59.486 --> 00:02:00.753 Essa geração de tabelas, 00:02:00.753 --> 00:02:04.692 ela é feita através de uma linguagem de comandos chamada SQL. 00:02:04.692 --> 00:02:08.261 É uma linguagem declarativa, uma linguagem sequencial, 00:02:08.261 --> 00:02:09.746 de instruções sequenciais, 00:02:09.746 --> 00:02:11.231 para que a gente possa criar 00:02:11.231 --> 00:02:14.596 cada uma das tabelas das estruturas do nosso banco de dados. 00:02:14.596 --> 00:02:19.105 Esse processo de desenho, que parte do modelo conceitual 00:02:19.105 --> 00:02:22.067 passa pelo modelo lógico, vai para o modelo físico 00:02:22.067 --> 00:02:24.156 e daí gera-se o código, 00:02:24.156 --> 00:02:26.453 gera-se os programas de aplicação que criam os códigos. 00:02:26.453 --> 00:02:31.017 E esse processo, esse fluxo, é chamado de Engenharia Direta. 00:02:31.017 --> 00:02:34.963 Existe o processo contrário, chamado Engenharia Reversa, 00:02:34.963 --> 00:02:36.977 em que ao invés de eu seguir desenhando 00:02:36.977 --> 00:02:40.402 evolutivamente o meu banco de dados para depois gerar as tabelas, 00:02:40.402 --> 00:02:41.573 o código fonte, 00:02:41.573 --> 00:02:43.553 eu faço o contrário. 00:02:43.553 --> 00:02:47.297 Eu parto de um código fonte e faço a engenharia reversa, 00:02:47.297 --> 00:02:50.732 tentando descobrir e desenhar o modelo de dados 00:02:50.732 --> 00:02:54.424 a partir das tabelas já prontas no banco de dados. 00:02:54.424 --> 00:02:57.410 Qual a vantagem de um e de outro modelo, 00:02:57.410 --> 00:02:59.913 Engenharia Direta e Engenharia Reversa? 00:02:59.913 --> 00:03:02.855 A Engenharia Direta é o caminho natural que a gente segue 00:03:02.855 --> 00:03:06.143 quando está fazendo um projeto de banco de dados novo. 00:03:06.143 --> 00:03:10.232 Já a Engenharia Reversa é muito útil quando eu geralmente assumo 00:03:10.232 --> 00:03:14.899 o gerenciamento de um banco de dados legado, antigo, 00:03:14.899 --> 00:03:17.630 que não tinha nenhum tipo de documentação. 00:03:17.630 --> 00:03:18.965 Então, nesse caso, 00:03:18.965 --> 00:03:22.503 eu não tenho outra opção a não ser partir das tabelas que já existem 00:03:22.503 --> 00:03:25.104 na estrutura do banco de dados que está rodando lá na empresa. 00:03:26.472 --> 00:03:29.918 E a partir dessas tabelas de banco de dados já instaladas e funcionando, 00:03:29.918 --> 00:03:31.844 eu gero a documentação 00:03:31.844 --> 00:03:34.847 para que eu possa compreender de uma forma mais simples 00:03:34.847 --> 00:03:37.550 todas as relações entre os dados 00:03:37.550 --> 00:03:40.624 que a companhia tem dentro do seu sistema de informação. 00:03:40.624 --> 00:03:43.389 É hora de a gente conhecer um pouco mais sobre isso 00:03:43.389 --> 00:03:46.883 e você estudar um pouco mais sobre essa engenharia de dados, 00:03:46.883 --> 00:03:49.644 que é parte da engenharia de software 00:03:49.644 --> 00:03:52.376 e de soluções de tecnologia para negócios.