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