1 00:00:07,807 --> 00:00:10,210 Você já se deparou com o desafio 2 00:00:10,210 --> 00:00:13,546 de desenvolver um banco de dados para um sistema de informação 3 00:00:13,713 --> 00:00:15,115 para negócios? 4 00:00:15,115 --> 00:00:16,816 Esse é o nosso assunto agora. 5 00:00:16,816 --> 00:00:20,153 Eu sou o professor Renato Jardim Bardot, professor da FIAP 6 00:00:20,153 --> 00:00:21,721 há diversos anos. 7 00:00:21,721 --> 00:00:25,525 Sou também profissional de mercado há mais de 30 anos. 8 00:00:26,393 --> 00:00:28,528 Sugestões de tecnologia 9 00:00:28,528 --> 00:00:32,098 e estou aqui para conversar com você sobre engenharia de dados, 10 00:00:32,732 --> 00:00:37,437 mais especificamente sobre modelagem de bancos de dados. 11 00:00:38,004 --> 00:00:41,341 A modelagem de banco de dados é feita em três etapas. 12 00:00:42,275 --> 00:00:45,278 Temos três modelos diferentes que são complementares. 13 00:00:45,845 --> 00:00:48,848 O primeiro modelo é o modelo, chamado conceitual, 14 00:00:49,649 --> 00:00:52,452 onde eu vou conceber as ideias 15 00:00:52,452 --> 00:00:55,889 sobre quais objetos, quais coisas do mundo real. 16 00:00:56,222 --> 00:00:59,192 Eu pretendo guardar alguma informação em banco de dados. 17 00:00:59,692 --> 00:01:01,561 O segundo modelo 18 00:01:01,561 --> 00:01:06,566 é o modelo de especificação e desenho de entidades 19 00:01:06,566 --> 00:01:09,736 e relacionamentos, também chamado modelo Lógico. 20 00:01:10,403 --> 00:01:13,573 Nesse modelo, eu vou transformar o modelo conceitual 21 00:01:14,040 --> 00:01:18,111 em um formato de tabelas com colunas de dados, 22 00:01:18,711 --> 00:01:21,281 explicando os conteúdos informacionais que eu 23 00:01:21,281 --> 00:01:23,049 quero armazenar em banco de dados 24 00:01:23,049 --> 00:01:26,052 sobre cada uma das entidades do mundo real que eu mapeei. 25 00:01:26,653 --> 00:01:29,656 Por fim, eu tenho a modelagem física, 26 00:01:29,722 --> 00:01:33,093 onde eu vou refinar o desenho dessas tabelas de dados, 27 00:01:33,526 --> 00:01:36,496 colocando informações complementares mais técnicas, 28 00:01:36,496 --> 00:01:39,032 como o formato desses dados que são numéricos 29 00:01:39,032 --> 00:01:42,035 e são alfanuméricos, tamanhos desses dados 30 00:01:42,202 --> 00:01:45,038 e outras informações importantes que explicam esses dados 31 00:01:45,038 --> 00:01:48,041 para que eu possa logo em seguida partir para a construção 32 00:01:48,341 --> 00:01:49,142 da aplicação. 33 00:01:49,142 --> 00:01:51,744 A construção do banco de dados que a gente chama físico 34 00:01:51,744 --> 00:01:54,747 e a implementação dele numa linguagem de programação. 35 00:01:55,115 --> 00:01:56,182 Após essa modelagem, 36 00:01:56,182 --> 00:01:59,185 eu faço a geração das tabelas de banco de dados. 37 00:01:59,486 --> 00:02:00,753 Essa geração de tabelas, 38 00:02:00,753 --> 00:02:04,491 ela é feita através de uma linguagem de comandos chamada SQL. 39 00:02:04,824 --> 00:02:08,261 É uma linguagem declarativa, uma linguagem sequencial de 40 00:02:08,261 --> 00:02:11,231 instruções sequenciais para que a gente possa criar 41 00:02:11,231 --> 00:02:14,400 cada uma das tabelas das estruturas do nosso banco de dados. 42 00:02:15,168 --> 00:02:19,105 Esse processo de desenho, que parte do modelo conceitual 43 00:02:19,105 --> 00:02:23,009 passa pelo modelo lógico, vai para o modelo físico e daí gera 44 00:02:23,009 --> 00:02:26,246 se o código, gera se os programas de aplicação que criam os códigos. 45 00:02:26,546 --> 00:02:29,649 E esse processo, esse fluxo é chamado de engenharia de direta. 46 00:02:31,017 --> 00:02:31,818 Existe o processo 47 00:02:31,818 --> 00:02:35,421 contrário, chamado engenharia reversa, onde 48 00:02:35,421 --> 00:02:38,992 ao invés de eu seguir desenhando evolutivamente o meu banco de dados 49 00:02:38,992 --> 00:02:42,662 para depois gerar as tabelas, o código fonte, eu faço o contrário. 50 00:02:43,630 --> 00:02:47,066 Eu parto de um código fonte e faço a engenharia reversa 51 00:02:47,400 --> 00:02:50,670 tentando descobrir e desenhar o modelo de dados 52 00:02:50,837 --> 00:02:54,174 a partir das tabelas já prontas no banco de dados. 53 00:02:54,774 --> 00:02:57,410 Qual a vantagem de um e de outro modelo? 54 00:02:57,410 --> 00:02:59,913 Engenharia Direta Engenharia Reversa. 55 00:02:59,913 --> 00:03:02,348 A engenharia direta é o caminho natural que a gente 56 00:03:02,348 --> 00:03:05,351 segue quando está fazendo um projeto de banco de dados novo. 57 00:03:06,152 --> 00:03:08,521 Já a engenharia reversa, ela é muito útil quando eu 58 00:03:08,521 --> 00:03:12,759 geralmente assumo o gerenciamento de um banco de dados. 59 00:03:12,759 --> 00:03:16,863 Legado antigo que não tinha nenhum tipo de documentação. 60 00:03:17,697 --> 00:03:18,965 Então, nesse caso, 61 00:03:18,965 --> 00:03:22,068 eu não tenho outra opção a não ser partir das tabelas que já existem 62 00:03:22,569 --> 00:03:25,104 na estrutura do banco de dados que está rodando lá na empresa. 63 00:03:26,472 --> 00:03:29,042 E a partir dessas tabelas de banco de dados já instaladas 64 00:03:29,042 --> 00:03:31,844 e funcionando, eu gero a documentação 65 00:03:31,844 --> 00:03:34,847 para que eu possa compreender de uma forma mais simples 66 00:03:34,847 --> 00:03:37,550 todas as relações entre os dados 67 00:03:37,550 --> 00:03:40,553 que a companhia tem dentro do seu sistema de informação. 68 00:03:40,920 --> 00:03:43,389 É hora de a gente conhecer um pouco mais sobre isso 69 00:03:43,389 --> 00:03:46,526 e você estudar um pouquinho mais sobre essa engenharia de dados, 70 00:03:46,893 --> 00:03:50,563 que é parte da engenharia de software e de soluções 71 00:03:50,563 --> 00:03:51,931 de tecnologia para negócios.