Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ciência de Dados Material Teórico Responsável pelo Conteúdo: Prof.ª Lucia Contente Mós Revisão Textual: Prof.ª Dr.ª Selma Aparecida Cesarin Produção e Armazenamento de Dados • Estamos Produzindo de Dados; • Pré-Processamento dos Dados; • Armazenamento de Dados. • Entender como os grandes volumes de dados são produzidos, como os dados transfor- mam-se em informações e, por consequência, como se chega ao conhecimento; • Conhecer as etapas de descobrimento do conhecimento; • Conhecer e determinar diretrizes, objetivos e requisitos dos processos ETL; • Conhecer e Identifi car a infraestrutura para o armazenamento de dados. OBJETIVOS DE APRENDIZADO Produção e Armazenamento de Dados Orientações de estudo Para que o conteúdo desta Disciplina seja bem aproveitado e haja maior aplicabilidade na sua formação acadêmica e atuação profissional, siga algumas recomendações básicas: Assim: Organize seus estudos de maneira que passem a fazer parte da sua rotina. Por exemplo, você poderá determinar um dia e horário fixos como seu “momento do estudo”; Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma alimentação saudável pode proporcionar melhor aproveitamento do estudo; No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam- bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua interpretação e auxiliarão no pleno entendimento dos temas abordados; Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus- são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de aprendizagem. Organize seus estudos de maneira que passem a fazer parte Mantenha o foco! Evite se distrair com as redes sociais. Mantenha o foco! Evite se distrair com as redes sociais. Determine um horário fixo para estudar. Aproveite as indicações de Material Complementar. Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma Não se esqueça de se alimentar e de se manter hidratado. Aproveite as Conserve seu material e local de estudos sempre organizados. Procure manter contato com seus colegas e tutores para trocar ideias! Isso amplia a aprendizagem. Seja original! Nunca plagie trabalhos. UNIDADE Produção e Armazenamento de Dados Estamos Produzindo de Dados Vivemos na Era da Informação e isso significa que a Humanidade gera milhões e milhões de dados todos os dias e esse volume permanece em constante crescimento. Para termos uma ideia desse crescimento, a quantidade de usuários da Internet, no mundo todo, nos últimos 20 anos, passou de 16 milhões de pessoas para apro- ximadamente 2,8 bilhões. A quantidade de buscas diárias no Google ultrapassa 5 bilhões, são escritas 500 milhões de mensagens no twitter por dia e vistas 200 milhões de horas de vídeos no YouTube por dia, conforme se vê na Figura 1. Figura 1 – Crescimento dos Usuários da Internet Fonte: CASTRO, 2016 Desafio do crescimento Observando-se a Figura e analisando os dados, chega-se à conclusão de que vivemos em tempos de crescimento de volume de dados exponenciais. Encontrar e acessar fontes de informação, pessoas, produtos e serviços não é mais problema; na verdade, o desafio atual é gerenciar, armazenar, processar e extrair conhecimen- to a partir dessa quantidade quase que ilimitada de dados. Se perguntássemos: onde os dados são armazenados? uma primeira resposta seria: na nuvem, onde os recursos de hardware e software são compartilhados por meio de uma rede, via de regra, a Internet, e os usuários podem acessar as aplica- ções hospedadas em servidores remotos utilizando browsers, desktops, aplicativos móveis, etc. Os dados também podem ser armazenados “no chão”, ou seja, em servidores locais dentro das Empresas, mas é importante saber que essa solução é muito cara e dispendiosa. As, empresas, vem ampliando de forma significativa, seus Bancos de Dados, in- vestindo em armazenamento, disponibilidade, qualidade e monitoramento dos dados. 8 9 E é diante desse cenário, de verdadeira inundação de dados, que surge a neces- sidade de se fazer a mineração de dados, como um processo sistemático, interativo e iterativo, de preparação e extração de conhecimentos a partir de grandes Bases de Dados. Dados x Informação x Conhecimento Dado É o menor elemento a ser armazenado. É algo que sozinho não tem sentido. Observe: Tabela 1 – Exemplo de Dados 21/08/1976 É somente uma data, não traz nenhum significado e nem entendimento. 30 graus Temperatura do que? Poucas Poucas o que? Perceba que somente o dado, quando analisado sozinho, não traz nenhum significado. Informação É o que obtemos do resultado da operação com o dado. Observe: Tabela 2 – Exemplo de Informação Data de Nascimento: 21/08/1976 – Data Atual Idade Temperatura do ar: 30 graus Se a temperatura do ar for maior que 22 graus, então, o dia está quente. Quantidade de nuvens: poucas Se há poucas nuvens no céu, significa que a probabilidade de chover é baixa. Note que todas as informações obtidas são resultados de operações com os da- dos armazenados. Conhecimento Ocorre quando utilizamos a informação para chegar a alguma conclusão ou, até mesmo, reconhecer algum tipo de comportamento/padrão. Por exemplo: como o dia está quente e a probabilidade de chover é baixa, irei à praia. Diante desse conhecimento, é possível tomar uma série de ações, por exemplo, uma Empresa de roupas de praia pode reforçar seu estoque ou enviar comunica- ções de promoções ou, ainda, criar ações de marketing etc. É importante ressaltar que só se conseguiu chegar ao conhecimento porque os dados foram armazenados. Seguir essa sequência dados → informação → co- nhecimento é fundamental para que a Ciência de Dados tenha sucesso, ou seja, assertividade nas decisões. 9 UNIDADE Produção e Armazenamento de Dados Banco de Dados Seleção Transformação Mineração Análise do Resultado Pré-processamento Limpeza Mineração: Etapa Central do Processo de Descoberta de Conhecimento Conhecimento Figura 2 – Etapas da Descoberta do Conhecimento Pré-Processamento dos Dados A produção dos dados começa com o processo de ETL (Extração, Transforma- ção e Carga). Processo de Extração Trata-se de extrair as informações de sistemas legados. Muitas podem ser as fon- tes de dados como, por exemplo: Banco de Dados relacionais, Sistemas Erp, Redes Sociais, vídeos, áudios, planilhas, documentos etc. Essa extração leva os dados para uma área de trabalho chamada de área de staging, que é dedicada para que se possa trabalhar e aplicar técnicas aos dados coletados. Aplicativos Operacionais Data Mark Dados Externos Equipamentos de Automação Software de Automação de Escritórios E T L FONTES DE DADOS EXTRAÇÃO, TRANSFORMAÇÃO E CARREGAMENTO DATA WAREHOUSE EXPLORAÇÃO Data Mining Figura 3 – Processo ETL 10 11 Acesso aos Dados – Fonte Banco de Dados Esse tipo de acesso ocorre para dados estruturados. São os dados que contém uma organização para serem recuperados. Armazenados em tabelas com linhas e colunas que identificam diversos pontos sobre aquela informação e tornam o traba- lho da Tecnologia mais fácil e simples. Os dados nos sistemas fontes podem ser disponibilizados como: Banco de Dados ou arquivos (geralmente, do tipo texto). No caso de Banco de Dados, são criadas views e tabelas. Existem ferramentas que automatizam esse processo, chamadas ferramentas ETL. As vantagens de ser fazer a extração quando a fonte é o Banco de Dados são: • Flexibilidade e facilidade para extrair os dados; • Uso da linguagem SQL; • Possibilidade de usar vários tipos de filtros; • A formatação dos dados já ocorre na própria consulta. As desvantagens na utilizaçãono Banco de Dados é que quando comparado à extra- ção de um arquivo .txt, a performance é menor além de ser necessária a utilização de vá- rios tipos de conexões, caso haja vários tipos de Bancos de Dados como fonte de dados. Acesso aos Dados – Outras Fontes Esse tipo de acesso ocorre para dados não-estruturados que são documentos de texto, áudios, vídeos, textos das Redes Sociais, “curtidas”, quantidade de “likes”, mensagens do twitter, por exemplo, que não pertencem a uma estrutura de dados. Extração Transformação e Carga Data Warehouse Staging Area Figura 4 – Vários tipos de Fontes de Dados Os arquivos podem ser do tipo texto, .xml, .csv ou, ainda, delimitados por algum tipo de caracter como por exemplo “-“. Os arquivos são uma boa forma de extrair e manipular dados, as ferramentas de ETL aceitam e trabalham muito bem com arquivos. Eles têm performance superior aos Bancos de Dados. No entanto, é necessário prestar muita atenção ao formato dos dados e das máscaras, além das variações que podemos encontrar para o mesmo tipo de registro. 11 UNIDADE Produção e Armazenamento de Dados Exemplo do uso de Ferramentas ETL, para extração de dados Neste exemplo, iremos usar a ferramenta ETL Power BI. Tabela 3 – Amostra de Fonte de Dados – Planilha – Arquivo no formato .xls Segment Country Product Discount Units Sold Manufactoring Price Sale Price Gross Sales Government Canada Carretera None 1618,5 $ 3,00 $ 20,00 $ 32.370,00 Government Germany Carretera None 1321 $ 3,00 $ 20,00 $ 26.420,00 Midmarket France Carretera None 2178 $ 3,00 $ 20,00 $ 32.670,00 Midmarket Germany Carretera None 888 $ 3,00 $ 20,00 $ 13.320,00 Midmarket Mexico Carretera None 2470 $ 3,00 $ 20,00 $ 37.050,00 Discounts Sales COGS Profit Date Month Number Month Name Year $ - $ 32.370,00 $ 16.185,00 $ 16.185,00 01/01/2014 1 January 2014 $ - $ 26.420,00 $ 13.210,00 $ 13.210,00 01/01/2014 1 January 2014 $ - $ 32.670,00 $ 21.780,00 $ 10.890,00 01/06/2014 6 June 2014 $ - $ 13.320,00 $ 8.880,00 $ 4.440,00 01/06/2014 6 June 2014 $ - $ 37.050,00 $ 24.700,00 $ 12.350,00 01/06/2014 6 June 2014 1. Abra o Power Bi; 2. Clique em obter Dados; 3. Selecione Arquivos. Figura 6Figura 5 12 13 4. Navegue até o arquivo no seu computador e escolha Abrir. Figura 7 5. Clique em carregar. Figura 8 13 UNIDADE Produção e Armazenamento de Dados Staging Area Esta área serve como local intermediário entre as fontes de dados e o armazena- mento. Nesse local, serão realizadas todas as limpezas e transformações de dados necessárias. Também é aqui que os dados ficaram armazenados para ser mantido um histórico, para possíveis reprocessamentos, conferências e auditorias. Além disso, a staging area é utilizada em processos de recuperação, backup, auditoria e rastreabilidade: • Processo de recuperação: caso haja um erro nas últimas 100 linhas de uma carga de 10 milhões que foi realizada no DW, não é necessário desfazer toda a carga, pois as 100 linhas corretas estão na Staging Area; • Processo de Backup: com a Staging Area, é gerado um backup de todas as fontes de dados; • Processo de Auditoria: por ter um armazenamento histórico dos dados, é pos- sível verificar qual foi a carga de dados realizada no último mês, por exemplo; • Processo de Rastreabilidade: como a Staging Area vai receber todos os da- dos, é possível investigar que tipo de processo ETL está apresentando algum tipo de problema. Como é possível notar, a Staging Area exerce função fundamental no processo de ETL, daí é de suma importância criar essa área; geralmente, é um Banco de Dados, ou um tablespace. Processos de Transformação/Limpeza As principais atividades de transformação são: limpeza dos dados, garantir a quali- dade dos dados (Data Quality), descarte dos dados inválidos e padronização dos dados. • Processo de limpeza dos dados: garantir as propriedades das colunas, ga- rantir as estruturas de dados, garantir dados preenchidos e regras dos dados, garantir regras de negócio e armazenar o dado limpo. Alguns exemplos de problemas com os dados fontes que precisam de limpeza: » Colunas em que faltam valores; » Zeros substituem os valores que faltam; » Faltam dados que você sabe que deveriam estar ali; » Linhas ou valores estão duplicados; » Formatos de datas estão inconsistentes; » Unidades não estão especificadas; » Nomes de campos estão ambíguos; » Números foram guardados como texto. • Processo de qualidade dos dados: dados corretos com nomes e descrições, os dados não podem ser ambíguos, todos os dados devem ser únicos, os dados 14 15 devem ser consistentes de acordo com as regras definidas e, por fim, os dados devem ser completos como, por exemplo, endereço. Exemplos de dados com qualidade: inexistência de dados duplicados, conhecimento do número exato de clientes, obtenção de uma visão única de cliente ou a segmentação de clientes; • Processo de padronização dos dados: padronizar os dados da coluna das dimensões, padronizar e garantir regras de indicadores, garantir as regras de negócio para as colunas, padronizar métricas e tipos de dados. Um exemplo de dado padronizado, no item regra de negócio, seria: suponha que na Empre- sa nenhum funcionário pode ganhar menos de 1 salário mínimo. Se os dados de salário estiverem padronizados, não se deve encontrar nenhum salário nulo ou inferior ao salário mínimo estabelecido. É importante ressaltar que embora a regra de negócio se refira ao salário, não é possível fazer a padronização na coluna salário sem verificar e padronizar a coluna data de pagamento. Exemplo do uso Ferramenta ETL para Transformação de Dados Clique em Editar Consultas para visualizar os dados carregados. Figura 9 Nesta seção, é possível, fazer todas as alterações nos dados, como, por exemplo: • Formatar os dados: clique em formato, clique em maiúsculas: Figura 10 15 UNIDADE Produção e Armazenamento de Dados Figura 11 Figura 12 • Alterar os nomes das colunas: clique em mudar o nome; por exemplo, de units sold para unidades vendidas: Figura 13 16 17 Figura 14 • Fazer as transformações dos dados; Por exemplo, vamos trocar na coluna discount band o valor None por Nenhum: Figura 15 Figura 16 17 UNIDADE Produção e Armazenamento de Dados • Fazer agrupamentos de dados: selecione a coluna e clique em agrupar por: Figura 17 • Fazer operações aritméticas: clique em padrão; clique em porcentagem: Figura 18 Figura 19 18 19 Figura 20 • Gerar análises estatísticas, entre outras: clique em estatísticas; clique em soma: Figura 21 Figura 22 19 UNIDADE Produção e Armazenamento de Dados Figura 23 Staging Area II Embora não seja obrigatória, recomenda-se, fortemente, que esta área seja cria- da, pois é o local em que todos os dados já estão limpos, tratados e padronizados. Nesse momento, todos os dados estão prontos para fazer o armazenamento. Armazenamento de Dados Processo de Load/Carga – Forma de Armazenamento de dados estruturados A carga dos dados consiste em fisicamente estruturar e carregar os dados para dentro da camada de apresentação seguindo o modelo dimensional. Dependendo das necessidades da Organização, esse processo varia amplamente. Alguns data warehouses podem substituir as informações existentes semanalmente, com dados cumulativos e atualizados, ao passo que outro DW (ou até mesmo outras partes do mesmo DW) podem adicionar dados a cada hora. A latência e o alcance de reposição ou acréscimo constituem opções de projetos estratégicos que dependem do tempo disponível e das necessidades de negócios. A etapa de carga ocorre em sequência com a de transformação. Assim que são efetuados os tratamentos necessários nos dados, a carga no DW é iniciada. Essa fase se resume na persistência dos dados na base consolidada. Nesse momento, ocorre a carga das tabelas dimensões, das tabelas fato e suas variações, sendo que a carga deve ocorrer nessa ordem, ou seja, primeiro se faz a carga de todos osdados das dimensões e depois os dados das fato. 20 21 Constitui-se do armazenamento físico dos dados oriundos dos Sistemas Opera- cionais da Empresa e externos, permitindo um acesso mais rápido e seguro aos dados do Data warehouse, além de prover maior flexibilidade de tratamento e facilidade de manipulação. Com a realização da carga, é proporcionada a interação com os usuários finais por meio de ferramentas visuais tradicionais, tais como sistemas de planilhas de cálculo e browsers, entre outras. Também devem ser criados e mantidos os metadados que descrevem os dados e a organização do Sistema, podem ser, ainda, fórmulas utilizadas para cálculo, des- crições das tabelas disponíveis aos usuários, descrições dos campos das tabelas, per- missões de acesso e informações sobre os administradores do sistema, entre outras. Infraestrutura para armazenamento de dados A computação em nuvem é a grande ferramenta para armazenamento de dados, pois as nuvens públicas têm alto poder de suportar volumes de dados enormes e as características de elasticidade que as nuvens permitem, quando necessário, é possí- vel acionar servidores extras para atender à demanda de crescimento do momento. Na realidade, outra solução de armazenamento de dados fora da nuvem, nos dias de hoje, é praticamente inviável, devido ao alto custo de criação e manutenção. O modelo de computação em nuvem é uma solução que se adéqua às necessida- des de armazenamento de dados, pois acompanha a imprevisibilidade do montante de dados que poderá ser tratado. A nuvem ajusta-se automaticamente à capacidade de armazenamento e pro- cessamento que varia imensamente de acordo com o negócio, tempo, condições estabelecidas etc. Os grandes provedores de nuvens como Amazon, Azure e Google possuem serviços como: • Data-warehouse-as-a-service; • BigData-as-a-service. Com o oferecimento desse tipo de serviço, o custo do armazenamento de dados torna-se mais barato, proporcionando que qualquer porte de Empresa possa mon- tar um DW e um Big Data. Um exemplo disso é o da Etsy, site de e-commerce especializado em produtos de artesanato e artigos de época, que já tem mais de onze milhões de usuários, resul- tando em 25 milhões de visitantes únicos e 1,1 bilhões de visualizações de páginas. Hoje, o Etsy captura mais de 5GB de dados por dia. Este imenso volume de dados é analisado em uma nuvem pública para entender melhor o comportamento dos seus clientes e realizar análises preditivas. 21 UNIDADE Produção e Armazenamento de Dados Assim, o Etsy consegue determinar quais os produtos que melhor se adequam ao gosto de um determinado cliente. E não precisa instalar grandes servidores para fazer essa análise. A Etsy utiliza a nuvem e paga apenas pelo tempo necessário para realizar a tarefa. Outro motivo para o uso da nuvem, no armazenamento de dados é a velocidade de processamento. Existem situações em que o processamento de dados e o resultado da análise deve ser praticamente em tempo real. Por exemplo, a análise das condições de trânsito, com o objetivo de impedir ou pelo menos minimizar a ocorrência de congestionamentos. Se a infraestrutura não estiver disponível ou, ainda, não fizer o processamento de dados rápido o suficiente, o impacto da falta de informações e, por consequ- ência, a geração do conhecimento, refletirão em engarrafamentos enormes que afetam – e muito – a qualidade de vida de várias pessoas. Armazenamento de dados não estruturados Como verificamos no item anterior, a nuvem é o melhor e talvez o único recurso que temos atualmente para o armazenamento de dados estruturados ou não estruturados. Mas agora, surge a seguinte questão: como esses dados ficam armazenados na nuvem? E como achar o dado que estamos procurando de forma rápida? Para responder a essas questões, são utilizadas estruturas como o Haddop e MapReduce. Haddop A tecnologia Haddop é uma combinação de dois projetos separados, que são o Haddop e o MapReduce, que se trata de um processamento paralelo Haddop Distributed File System (HDFS) e do MapReduce, que é um algoritmo que a Google criou para acelerar as pesquisas endereçadas em seu buscador, ou seja, o Haddop armazena os dados e o MapReduce encontra esses dados de forma muito rápida. Os dados no HDFS (Haddop) são divididos em pequenos pedaços, chamados Blocos, geralmente com tamanho de 64MB cada Bloco, e distribuídos por vários servidores clusterizados. Desse jeito, o processamento dos dados é muito mais veloz, pois, ao invés de fazer uma busca sequencial, faz-se uma busca em paralelo, acessando vários blocos espalhados pelos servidores, ao mesmo tempo. Paralelizar um algoritmo é executar partes diferentes dele em unidades de pro- cessamento diferentes e obter um menor tempo de execução. 22 23 D A D O S in1 in2 in3 in4 in5 in6 in7 out1 out2 out3 out4 out5 out6 out7 D A D O S P R O C E S S A D O S Figura 24 – Conceito de Paralelização MapReduce O modelo MapReduce possui a abstração que permite que o usuário seja isolado da camada de paralelização. A paralelização depende da implementação do modelo MapReduce. É na im- plementação que devem estar garantidas as propriedades do Sistema (integridade, disponibilidade, controle de acesso, não-repúdio, confidencialidade, autenticação e privacidade). A base de aplicação do MapReduce consiste em dividir e processar conjuntos de dados com o uso das funções Map e Reduce. O Algoritmo MapReduce tem duas funções: Map e Reduce: • Função Map: a função map (chave, valor) recebe como parâmetro de entra- da um par (chave, valor) e emite na saída um par (chave intermediária, valor intermediário); • Função Reduce: a função Reduce (chaveInt, valoresint) recebe o conjunto de valores intermediários valoresInt (saídas da função map) que estão associados à mesma chave intermediária chaveInt e emite como saída os valores finais na saída para a mesma chave. O processamento realizado por essas funções é dividido em três etapas: 1. Etapa inicial: consiste em realizar as tarefas de mapeamento; 2. Etapa intermediária: os dados são recolhidos das tarefas de mapeamen- to, agrupados e disponibilizados para as tarefas de redução; 3. Etapa de redução: na qual são executadas várias tarefas de redução, como agrupamento de valores comuns e geração à saída da aplicação. 23 UNIDADE Produção e Armazenamento de Dados Map 1 Map M Reduce 1 Reduce R Input data Piece 1 k1 v1 k2 v2 k2 v3 Piece M Partition 1 Partition R Partition 1 Partition R Intermediate data Output data Figura 25 – Aplicação do MapReduce Exemplo de Aplicação do MapReduce • Problema: contar o número de vezes em que uma palavra aparece em uma grande coleção de documentos: Figura 26 – Pseudocódigo da função Map Fonte: CASTRO, 2016 Figura 27 – Pseudocódigo da função Reduce Fonte: CASTRO, 2016 Como podemos ver no pseudocódigo das Figuras 26 e 27, cada chamada da função Map recebe como entrada o conteúdo de um dos documentos da coleção. Para cada palavra do documento de entrada, a função Map emite o valor “1” associado à chave que representa a palavra em questão. Cada chamada da função Reduce recebe como entrada uma palavra e um ite- rador para todos os valores emitidos pela função Map, associados com a palavra em questão. Todos os valores são, então, somados em uma linha contendo a palavra e seu total de ocorrências. 24 25 Material Complementar Indicações para saber mais sobre os assuntos abordados nesta Unidade: Livros Banco de dados: projeto e implementação MACHADO, F. N. R. Banco de dados: projeto e implementação. São Paulo: Érica, 2004. 398p.; Projeto de banco de dados: uma visão prática MACHADO, F. N. R.; ABREU, M. P. de. Projeto de banco de dados: uma visão prática. 15.ed. São Paulo: Érica, 2007. 300p.; OCA ORACLE DATABASE 11G – ADMINISTRAÇAO I WATSON, J. OCA ORACLE DATABASE 11G – ADMINISTRAÇAO I. São Paulo: Bookman Companhia, 2009; OCP ORACLE DATABASE 11G – ADMINISTRAÇAO II BRYLA, B. OCP ORACLE DATABASE11G – ADMINISTRAÇAO II. São Paulo: Bookman Companhia, 2009; OCP ORACLE DATABASE 11G – ADMINISTRAÇAO II RAMKLASS, R.; WATSON, J. OCA ORACLE DATABASE 11G - FUNDAMENTOS I AO SQL. São Paulo: Alta Books, 2009; Projetando e Administrando Banco de Dados SQL Server 2000 .net: Como Servidor Enterprise PATTON, R.; OGLE, J. Projetando e Administrando Banco de Dados SQL Server 2000 .net: Como Servidor Enterprise. Tradução de Andréa Barbosa Bento; Cláudia Reali; Lineu Carneiro de Castro. Rio de Janeiro: Alta Books, 2002. 792p. 25 UNIDADE Produção e Armazenamento de Dados Referências BECKER, J. L. Estatística básica: transformando dados em informação. Porto Alegre: Bookman, 2015. CASTRO, L. N. de. Introdução à mineração de dados: conceitos básicos, algo- ritmos e aplicações. São Paulo: Saraiva, 2016. DATE, C. J. Introdução a sistemas de bancos de dados. Tradução de Daniel Vieira. Revisão técnica Sérgio Lifschitz. Rio de Janeiro: Elsevier, 2003. 865p. ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados. Tradução de Ma- rília Guimarães Pinheiro et al. Revisão técnica Luis Ricardo de Figueiredo. 4.ed. São Paulo: Pearson Addison Wesley, 2005. 724p. ______. Sistemas de Banco de Dados. 6.ed. São Paulo: Pearson, 2011. GILLENSON, M; L. Fundamentos de sistemas de gerência de Banco de Dados. Tradução de Acauan Fernandes; Elvira Maria Antunes Uchoa. Rio de Janeiro: LTC, 2006. 304p. KWECKO, V. et al. Ciência de dados aplicada na análise de processos cogniti- vos em grupos sociais: um estudo de caso. In: BRAZILIAN SYMPOSIUM ON COMPUTERS IN EDUCATION (SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO-SBIE). Rio Grande do Sul, 2018. Anais [...] Rio Grande do Sul 2018, p. 1543. SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. Tradução de Daniel Vieira. Revisão técnica Luis Ricardo de Figueiredo; Caetano Traina Jr. 3. ed. São Paulo: Pearson Makron Books, 2007. 778p. 26
Compartilhar