Prévia do material em texto
Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 1 Sumário Banco de Dados................................................................ 2 Introdução ........................................................................ 2 Banco de Dados................................................................ 2 Modelos de Dados ....................................................... 2 Arquiteturas de Banco de Dados ................................. 3 Sistemas Centralizados ............................................ 3 Local ......................................................................... 3 Cliente/Servidor ....................................................... 3 Distribuídos .............................................................. 3 Paralelos ................................................................... 4 Arquitetura de Três-Esquemas .................................... 4 Independência de Dados ......................................... 4 Propriedades das Transações em Bancos de Dados .... 4 Sistema Gerenciador de Banco de Dados (SGBD) ............ 5 Características de um SGBD ......................................... 5 Linguagens dos SGBDs ................................................. 6 Interfaces do SGBD ...................................................... 6 Arquiteturas de Banco de Dados ..................................... 7 Exercícios .......................................................................... 8 Gabarito ....................................................................... 8 Conceitos Banco de Dados ............................................... 8 Esquema ....................................................................... 8 Instância ....................................................................... 8 Entidade ....................................................................... 8 Relacionamento ........................................................... 8 Atributos ...................................................................... 9 Tupla............................................................................. 9 Chaves .......................................................................... 9 Dependências Funcionais............................................. 9 Modelagem dos dados ................................................. 9 Modelo Conceitual (DER) ....................................... 10 Modelo Lógico (Esquema do BD) ........................... 10 Modelo Físico (Script do BD em SQL) ..................... 10 Etapas da Modelagem do BD ................................. 11 Exercícios ........................................................................ 11 Gabarito ..................................................................... 12 Banco de Dados Relacional ............................................ 12 Modelo Entidade Relacionamento ............................ 12 DER............................................................................. 13 Notação CrowsFoot ................................................... 14 Grau do Relacionamento ........................................... 15 SQL ............................................................................. 15 Normalização ................................................................. 16 Álgebra Relacional ......................................................... 16 Exercícios ....................................................................... 16 Gabarito ..................................................................... 16 Data Mining ................................................................... 16 Descoberta de Conhecimento ................................... 17 Exercícios ....................................................................... 18 Gabarito ..................................................................... 19 Data warehouse ............................................................. 19 Características dos armazéns de dados ..................... 19 Exercícios ....................................................................... 20 Gabarito ..................................................................... 20 BIG DATA ....................................................................... 20 O que é? ..................................................................... 20 5 Vs ................................................................................ 21 1. Volume ................................................................... 21 2. Velocidade ............................................................. 21 3. Variedade ............................................................... 21 4. Veracidade ............................................................. 22 5. Valor ....................................................................... 22 Como se diferencia o Big Data da Mineração de Dados? ....................................................................... 22 Mais segurança na tomada de decisões ................ 22 Maior eficiência operacional ................................. 22 Melhor gestão financeira ....................................... 22 Maior controle logístico e produtivo ..................... 23 Qualificação e controle de storage e warehouse .. 23 Questão comentada ...................................................... 23 Exercícios ....................................................................... 23 Gabarito ..................................................................... 25 Bibliografia ..................................................................... 25 Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 2 BANCO DE DADOS INTRODUÇÃO Os primeiros métodos de armazenamento de dados utilizavam sistemas de arquivos, ou seja, estruturas de pastas e arquivos em que os programas (aplicativos) tinham a responsabilidade de operar. Contudo tal forma de acesso começou a apresentar-se ineficiente diante da necessidade de compartilhamento junto ao aumento da demanda por acesso aos mesmos arquivos. Com isso se fez necessária à utilização de ferramentas de controle e gerenciamento dos dados, assim surgiram os Sistemas Gerenciadores de Banco de Dados (SGBDs). Hoje existem diferentes SGBDs dentre eles se destacam: Access, Oracle, MS SQL Server, MySQL, PostgreSQL, Firebird, Db4o e DB2. Com as pesquisas várias formas foram desenvolvidas para representar e armazenar os dados, com o intuito de obter melhor desempenho, essas formas de representação são chamadas de Modelos de Dados. BANCO DE DADOS Um banco de dados é um conjunto de dados que podem ser relacionados e que representam características do mundo real com associação lógica e coerente. Cayres (2015) define Banco de dados como: “coleção de dados relacionados que podem ser inseridos, atualizados, e recuperados e que possuem um significado implícito”. Para Caiut (2015) um Banco de dados é: “um conjunto de dados relacionados, representando um pedaço ou interpretação do mundo real, que possui uma estrutura lógica com significado inerente e comumente possui uma finalidade e usuários específicos”. Um BD utópico é uma base de dados universal que armazena todo tipo de dado e relação que possa ter. Outros conceitos importantes são os conceitos de Dados e Informações. Dados são fatos brutos, em sua forma primária. E muitas vezes os dados podem não fazer sentido sozinhos. Dados são fatos que podem ser armazenados. Exemplo: cor dos olhos, idade, sexo etc. Informações consiste no agrupamento de dados de forma organizada para fazer sentido, gerar conhecimento. A informação é obtida pela realidade observada sobre os dados. Exemplo: quantidade de pessoas com cor dos olhos castanho, a médiade idade das pessoas do sexo masculino. Um Banco de dados se diferencia de uma estrutura de arquivos por oferecer: ➢ Natureza auto descritiva do sistema de banco de dados. ➢ Isolamento entre os programas e os dados, e a abstração de dados; ➢ Suporte para as múltiplas visões de dados. ➢ Compartilhamento de dados e processamento de transações.de multiusuários. MODELOS DE DADOS Um modelo de dados é uma forma de representar a estrutura de como os dados são armazenados, ou seja, como se dá a ligação entre eles. Os principais modelos de dados são: ➢ Hierárquico: neste modelo os dados são organizados similarmente a organização de pastas do computador, pois foi a primeira construção de uma base de dados em substituição ao sistema de arquivos, por isso a semelhança. Assim neste quando um dado esta ligado ao outro significa que se trata de uma informação associada a ele. Pode-se dizer que este modelo trabalha com a forma de uma árvore. Também é característica do modelo de que cada registro é uma coleção de atributos, sendo que cada um contém apenas um valor; Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 3 ➢ Em Redes: o modelo de rede é constituído de vários registros conectados uns aos outros por meio de ligações (ponteiros). As ligações consistem em relações entre os registros, esse modelo oferece maior segurança do que o modelo hierárquico uma vez que o acesso não passa por um nó raiz. ➢ Relacional: também chamado de MR esse é o modelo atualmente mais utilizado. Ele oferece maior independência entre os dados, o modelo é baseado em tabelas ao contrário dos modelos anteriormente citados que se baseiam nos registros. Sua teoria baseia-se na teoria dos conjuntos e álgebra relacional, tanto para armazenar como recuperar os dados. ➢ Orientado a Objetos: são bancos criados baseados no modo de programação orientada a objetos, em que são criadas classes que descrevem o objeto, ou seja, uma classe é um conjunto de informações, características, relações, ações e atributos que definem o objeto. Apesar da grande praticidade esse modelo deixa algumas incógnitas que favorecem ao emprego e uso do modelo relacional. ARQUITETURAS DE BANCO DE DADOS A arquitetura de um banco de dados depende da arquitetura computacional usada, se baseada em mainframes, modelo cliente/servidor ou paralela. O sistema pode ainda ser dividido em duas categorias principais: ➢ Front-end: (interface de usuário) uma interface gráfica familiar mais simplificada para o usuário como formulários, tabelas, geradores de relatórios, por uso de linguagens de consulta SQL. ➢ Back-end: (servidor) responsável por interpretar a linguagem SQL e executar a consulta, bem como gerenciar o acesso e controle de recuperação e execução simultânea (concorrência). Deve-se avaliar o desempenho do sistema de banco de dados por meio de: ➢ Throughput: que descreve a quantidade de tarefas por período de tempo; ➢ Tempo de resposta: ou tempo de execução de cada tarefa. Os principais sistemas são descritos a seguir. SISTEMAS CENTRALIZADOS Baseada no uso de mainframes, o que gera custo elevado para a manutenção do supercomputador. Nesse modelo o mainframe concentra os dados que são acessados pelos terminais. LOCAL O modelo local é empregado no próprio computador de uso pessoal. Geralmente é usado para aplicações que funcionam isoladamente de modo que o PC funciona como hospedeiro do banco como terminal de acesso. Esse modelo é mais simples, pois isenta-se da necessidade de sincronização e controle de acesso simultâneo. CLIENTE/SERVIDOR Formato popularmente usado e que usa amplamente o formato front-end e back-end. Apresenta a necessidade de confirmações de gravação após a realização correta das ações (commit), possibilidade de retroceder em caso de erros (rollback), funções de consulta (store procedures) e execução automatizada de tarefas de acordo com gatilhos (triggers). Neste modelo ao invés de terminais usa-se como clientes os computadores pessoais. DISTRIBUÍDOS As informações (banco de dados) são armazenadas em computadores diferentes que interagem por meio da rede. A exemplo de sites que quando um servidor apresenta problema demais mantem-se em funcionamento, até mesmo podendo substituir o servidor com problema (nesse caso necessita-se da replicação dos dados). Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 4 A desvantagem desse formato é a dificuldade em desenvolver e sistemas que mantenham a simetria e precisão das informações. PARALELOS Os sistemas paralelos são usados em limitadas situações, pois é necessário que o conjunto de dados possa ser dividido em partes para que sejam processadas simultaneamente por computadores diferentes, ou seja, cada computador executa uma parte da informação. Nesse método pode haver compartilhamento da memória ou disco ou mesmo sem realizar o compartilhamento do hardware. ARQUITETURA DE TRÊS-ESQUEMAS arquitetura dos três-esquemas, conforme Figura 1, é empregada, ela apresenta 3 níveis: Interno, Conceitual e Externo. O nível interno descreve como os dados estão armazenados fisicamente no banco de dados, assim utiliza o modelo físico de descrição que é bastante detalhado. O nível conceitual neste nível utiliza-se o modelo conceitual, nesse cenário o objetivo são as descrições de forma mais próximas ao entendimento dos usuários, por isso ele se concentra em descrever as entidades, tipos de dados, conexões (relações), operações de usuários e restrições. já o nível externo se preocupa com a parte que cada usuário precisa, ou tem a necessidade, de ver, ocultando deste o resto das informações (dados) que não precisa ou que não deve acessar. Neste nível temos as Views (visões) de um banco de dados. Figura 1: A arquitetura de três-esquemas [1] INDEPENDÊNCIA DE DADOS ➢ Independência de dados lógica: “é a capacidade de alterar o esquema conceitual sem mudar o esquema externo ou os programas” [2]. ➢ Independência física de dados: “é a capacidade de mudar o esquema interno sem ter de alterar o esquema conceitual” [2]. PROPRIEDADES DAS TRANSAÇÕES EM BANCOS DE DADOS Existem algumas propriedades que garantem que transações em um Banco de Dados são processadas de forma correta; portanto, garantindo a confiabilidade: ➢ Atomicidade: indivisível (todas as operações são executadas ou nada acontece); ➢ Consistência: transações não podem quebrar as regras do BD (manter consistência); ➢ Isolamento: transações simultâneas não sofrem interferências umas das outras; ➢ Durabilidade: efeitos de uma transação de sucesso são persistidos no BD (mesmo em presença de falhas). mecanismos para controlar transações no banco de dados. No exemplo a seguir veremos Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 5 como os comandos COMMIT e ROLLBACK são utilizados. Exemplo: transferir R$ 500,00 da conta corrente para conta poupança. Durante a transferência, expirou bloqueio ou o servidor desligou. Etapas: 1. Inicia 2. Invoca instruções SQL 3. Se algo errado, ROLLBACK (desfaz os comandos, abortando a operação como um todo). Se não, COMMIT (efetiva a transação – operações executadas no banco de dados). Veja a imagem a seguir que ilustra como a transação do exemplo acima é implementada com comandos SQL. SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD) Um SGBD é um conjunto de programas que possibilita ao usuário manipular e gerenciar uma base de dados, ou seja, uma coleção de dados que estão relacionados entre si. Um SGBD pode ser definido como “um pacote de software, um sistema de finalidade genérica para gerenciaros Bancos de Dados” (Caiut, 2015) Em via de regra um SGBD deve permitir definir um banco de dados, construir o banco e manipular as informações. Um Sistema de Gerenciamento de banco de dados (SGBD) é um software que incorpora e facilita as funções de definição, recuperação e alteração de dados em um Banco de Dados. “Tem a função de proteção (contra falhas de hardware e software) e de segurança (acessos não autorizados ou maliciosos) dos dados nele armazenados, ao mesmo tempo em que permite o compartilhamento desses dados entre vários usuários e aplicações” (Cayres, 2015). Organização Lógica do Banco de Dados (instâncias) SGBD Camada Física de armazenamento dos dados (discos, storage, métodos de acesso, clustering de dados etc.) Exemplos: PostgreSQL, MySQL, OracleDB, MS SQLServer, MS Access, FireBird, etc. CARACTERÍSTICAS DE UM SGBD Controle de Redundância: um SGBD deve ser capaz de gerenciar os arquivos de modo a evitar a duplicação de dados que leva a desperdício de espaço de armazenamento como também a possível inconsistência uma vez que apenas um dos arquivos possa ser alterado enquanto o outro não. Compartilhamento de Dados: também é responsabilidade do gerenciador controla o acesso simultâneo aos dados de modo que as alterações sejam devidamente salvas sem que haja duplicidade. Normalmente um arquivo pode ser lido por vários usuários ao mesmo tempo, porém somente um pode salvar por vez. Restrições de Acesso Multiusuário: os SGBDs devem ter a capacidade de controlar o acesso de forma hierárquica aos dados, de modo que impeça o acesso por pessoas sem a devida autorização. Fornecimentos de Múltiplas Interfaces: os programas atendem as necessidades dos Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 6 usuários, logo alguns precisam de interfaces mais simples como a de um formulário, outros tem conhecimento mais aprofundado e desenvolvem programas, como também oferecem interfaces para consultas diretas. Representação de Relacionamento Complexo entre os Dados: as bases de dados muitas vezes possuem sentido por meio de seus inter-relacionamento de dados, logo os SGBDs devem oferecem estruturas que permitam organizar os dados relacionando-os da maneira mais eficiente. Reforçar Restrições de Integridade: a integridade preza por manter os dados fidedignos as suas definições, como definir um atributo do tipo numérico, nesse caso o SGBD deve viabilizar a restrição para não possa ser inserido um texto nesse campo. Fazer Backup e Restauração: é comum a ocorrência de falhas nos processos de comunicação e armazenamento, logo as ferramentas devem oferecem o mínimo de recursos para regredir ao último estado estável dos dados. LINGUAGENS DOS SGBDS A linguagem SQL é uma só, porém ela é dividida em tipos de acordo com a funcionalidade dos comandos. Os tipos da linguagem SQL são: ➢ DDL - Data Definition Language - Linguagem de Definição de Dados. São os comandos que interagem com os objetos do banco. ➢ São comandos DDL: CREATE, ALTER e DROP ➢ DML - Data Manipulation Language - Linguagem de Manipulação de Dados. São os comandos que interagem com os dados dentro das tabelas. ➢ São comandos DML: INSERT, DELETE e UPDATE ➢ DQL - Data Query Language - Linguagem de Consulta de dados. São os comandos de consulta. ➢ São comandos DQL: SELECT (é o comando de consulta) Aqui cabe um parêntese. Em algumas bibliografias o SELECT fica na DML em outros tem esse grupo próprio. • DTL - Data Transaction Language - Linguagem de Transação de Dados. São os comandos para controle de transação. o São comandos DTL: BEGIN TRANSACTION, COMMIT E ROLLBACK • DCL - Data Control Language - Linguagem de Controle de Dados. São os comandos para controlar a parte de segurança do banco de dados. o São comandos DCL: GRANT, REVOKE E DENY. • SDL Linguagem de Definição de Armazenamento (storage) é usada para especificar o esquema interno. • VDL Linguagem de Definição de Visões, embora na maioria dos SGBDs a linguagem DDL acaba sendo usada para definir o conceitual e o externo; INTERFACES DO SGBD ➢ Baseadas em Menus para os Clientes Web ou Navegação: uso de menus de seleção de opções, com isso o usuário isenta-se de conhecer comandos específicos de consulta; ➢ Baseadas em Formulários: utilização de formulários a serem preenchidos pelo usuário de modo que o SGBD complete os campos ou dados faltantes, para a pesquisa; ➢ Gráficas para Usuários: apresenta diagramas para usuário realizar a busca; ➢ Linguagem Natural: uso de expressões idiomáticas para realizar a pesquisa no banco de dados; ➢ Usuários Parametrizáveis: utilizado em ambientes limitados, em que o usuário se utiliza de poucos comandos com frequência para realizar pesquisa no banco de dados, como fixar comandos de pesquisa a combinações de atalhos de teclado; Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 7 ➢ Para o DBA: é a interface de uso específico para a criação e gerenciamento de um banco de dados. ARQUITETURAS DE BANCO DE DADOS A arquitetura de um banco de dados depende da arquitetura computacional usada, se baseada em mainframes, modelo cliente/servidor ou paralela. O sistema pode ainda ser dividido em duas categorias principais: ➢ Front-end: (interface de usuário) uma interface gráfica familiar mais simplificada para o usuário como formulários, tabelas, geradores de relatórios, por uso de linguagens de consulta SQL. ➢ Back-end: (servidor) responsável por interpretar a linguagem SQL e executar a consulta, bem como gerenciar o acesso e controle de recuperação e execução simultânea (concorrência). ➢ Deve-se avaliar o desempenho do sistema de banco de dados por meio de: ➢ Throughput: que descreve a quantidade de tarefas por período de tempo; ➢ Tempo de resposta: ou tempo de execução de cada tarefa. Os principais sistemas são descritos a seguir. 1.1 Sistemas Centralizados Baseada no uso de mainframes, o que gera custo elevado para a manutenção do supercomputador. Nesse modelo o mainframe concentra os dados que são acessados pelos terminais. Vantagens: ➢ Um único host fornece alto grau de segurança, concorrência e controle de cópias de segurança e recuperação. ➢ Não há necessidade de um diretório distribuído, já que todos os dados estão localizados em um único host. ➢ Não existe a necessidade de junções distribuídas, já que todos os dados estão em um único host. Desvantagens: ➢ Todos os acessos aos dados realizados por outro que não seja o host onde o banco de dados está, gera alto custo de comunicação. ➢ O host em que o banco de dados está localizado pode criar um “gargalo”, dependendo da quantidade de acessos simultâneos. ➢ Podem acontecer problemas de disponibilidade dos dados, se o host onde os dados estão armazenados sair do ar. 1.2 Local O modelo local é empregado no próprio computador de uso pessoal. Geralmente é usado para aplicações que funcionam isoladamente de modo que o PC funciona como hospedeiro do banco como terminal de acesso. Esse modelo é mais simples, pois isenta-se da necessidade de sincronização e controle de acesso simultâneo. Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 8 1.3 Cliente/Servidor Formato popularmente usado e que usa amplamente o formato front-end e back-end. Apresenta a necessidade de confirmações de gravação após a realização correta das ações (commit), possibilidade de retroceder em caso de erros (rollback), funções de consulta (store procedures) e execução automatizada de tarefas de acordo com gatilhos (triggers). Neste modelo ao invés de terminais usa-se como clientes os computadores pessoais. 1.4Distribuídos As informações (banco de dados) são armazenadas em computadores diferentes que interagem por meio da rede. A exemplo de sites que quando um servidor apresenta problema demais mantem-se em funcionamento, até mesmo podendo substituir o servidor com problema (nesse caso necessita-se da replicação dos dados). A desvantagem desse formato é a dificuldade em desenvolver e sistemas que mantenham a simetria e precisão das informações. 1.5 Paralelos Os sistemas paralelos são usados em limitadas situações, pois é necessário que o conjunto de dados possa ser dividido em partes para que sejam processadas simultaneamente por computadores diferentes, ou seja, cada computador executa uma parte da informação. Nesse método pode haver compartilhamento da memória ou disco ou mesmo sem realizar o compartilhamento do hardware. EXERCÍCIOS 1) Quanto aos níveis de abstração de bancos de dados, é correto afirmar que: (A) no nível lógico os usuários do computador vêem um conjunto de programas de aplicação que ocultam detalhes dos tipos de dados. (B) no nível view os usuários do computador vêem um conjunto de programas de aplicação e os detalhes dos tipos de dados. (C) no nível lógico, não há descrição de cada tipo de registro. (D) no nível view, cada tipo de registro é descrito por um tipo de informação, como um segmento de código anterior e a relação desses tipos de registro também é definida. (E) no nível view os usuários do computador vêem um conjunto de programas de aplicação que ocultam detalhes dos tipos de dados. GABARITO 1) E. CONCEITOS BANCO DE DADOS Nesta seção vamos conhecer os termos usados em bancos de dados e alguns conceitos de projeto. ESQUEMA Um esquema é o projeto do banco de dados, composto por suas entidades e relacionamentos, indicando a organização dos dados, um esquema consiste na descrição de um banco de dados. INSTÂNCIA É um esquema populado com dados visto em determinado instante. ENTIDADE Também muito citada como tabela é uma estrutura composta por colunas chamadas atributos, e linhas chamadas tuplas. Ela é a representação de uma variedade de objetos com suas caraterísticas. RELACIONAMENTO Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 9 É uma associação entre entidades que aponta sua interligação, exemplo: uma pessoa trabalha em um departamento, são entidades departamento e pessoa, a definição trabalha em é um relacionamento entre as entidades. Grau de relacionamento é o número de entidades que participam do relacionamento. ATRIBUTOS Os atributos são os dados armazenados acerca de uma informação e que são definidos com domínios específicos, ou seja, os atributos são definidos com uma descrição (o que ele armazena) e com o domínio (tipo de informação: valor inteiro, real, texto, palavra, caractere, booleano - aqui citados a fim de entendimento na aplicação prática recebem outros nomes). Os atributos podem ser classificados em: Simples ou compostos: Os atributos simples são aqueles que são únicos e não possuem subdivisão. Já os compostos podem ser divididos como, endereço, pode ser estruturado em logradouro, número, bairro, CEP e complemento. Monovalorados ou multivalorados: Um exemplo de um atributo monovalorado poderia ser o atributo CPF, o qual teria associado apenas um número de CPF. Pode acontecer, no entanto, que uma determinada instância possua um conjunto de valores para uma única entidade. Por exemplo, o atributo filho, da entidade pessoa, que pode ter um, nenhum ou vários filhos cadastrados. Nulo: um atributo é nulo quando pode ser vazio, como o nome do filho caso a pessoa não possua filhos, ao contrário do campo CPF que por ser chave jamais poderá ser nulo. Derivado: ou calculado, é o atributo que pode ser obtido por intermédio de consultas como a idade de uma pessoa, que por decisões de projeto pode vir a ser guardada, sendo que poderia ser calculada com base na data de nascimento. Ao definir um relacionamento entre duas entidades é necessário definir qual é essa relação bem como a sua cardinalidade. A cardinalidade define se uma entidade pode ter apenas uma instancia de outra entidade atrelada a ela (um pra um) ou se ela pode ter várias instâncias (um pra muitos), também é possível que várias instâncias de uma entidade sejam relacionadas com uma instância de outra entidade, que por sua vez pode ser ligada a várias outras instâncias da primeira entidade (muitos pra muitos). Exemplos: Um pra muitos: um departamento de uma empresa pode ter vários empregados, mas um empregado só pode estar em um departamento da empresa. Muitos pra muitos: podemos pegar o exemplo similar ao anterior, mas dessa vez um empregado pode trabalhar em dois departamentos diferentes ao mesmo tempo. TUPLA Uma tupla é uma linha de uma tabela, ou seja, são os dados de uma instância de uma entidade que possui atributos. CHAVES Uma chave é um valor usado para identificar/selecionar uma tupla dentre as demais. DEPENDÊNCIAS FUNCIONAIS Notação: X → Y Significa que há um atributo X que leva diretamente para um atributo Y. Deste modo, podemos identificar X como uma chave candidata. Regras [2] : ➢ IR1 (Regra Reflexiva): Se X Y, então X→ Y. ➢ IR2 (Regra aumentativa): {X→Y} |= XZ→ YZ. ➢ IR3 (Regra transitiva): {X→ Y, Y → Z} |= X→Z. ➢ IR4 (Regra de decomposição ou projetiva): {X→ YZ} |= X→ Y. ➢ IR5 (Regra de união ou aditiva): {X→ Y, X→ Z} |= X→ YZ. ➢ IR6 (Regra pseudotransitiva): {X → Y, WY → Z} |= WX → Z. MODELAGEM DOS DADOS Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 10 Um modelo de dados é forma mais visual de se compreender a organização e vinculação dos dados armazenados em um banco de dados, chamado na área como modelo de abstração. Na informática são amplamente utilizados os termos Alto Nível e Baixo Nível, em que Alto Nível relaciona ao entendimento da estrutura de modo mais visual e não muito concreto, enquanto baixo nível descreve como a coisa é realmente, como é definida e feita. À exemplo, a maioria das linguagens de programação são conhecidas como sendo de alto nível, mas quando se usa Assembly, que é uma linguagem de máquina cita-se uma linguagem mais próxima a representação que o computador efetivamente entende, mas que não é tão trivial para nós humanos. Já quando citamos os bits estamos falando do mais baixo nível na informática, pois se trata daquilo que é intimamente ligado ao hardware. Logo na descrição de modelos de dados há aqueles de mais alto nível, ou seja, mais próximos ao nosso entendimento e aqueles de baixo nível que descrevem efetivamente a estrutura da base de dados. Um esquema de alto nível é importante para conhecer os dados armazenados e suas relações, sem efetivamente ver os dados. De modo geral são definidos três níveis de abstração: Modelo Físico: é o nível de menor abstração ele descreve como os dados estão efetivamente armazenados. Composto principalmente pelo Script do BD em SQL, em alguns casos ser representado pelo Modelo Relacional, caso o SGBD consiga gerar o script a partir desta estrutura. Modelo Lógico: este é o nível intermediário, ele descreve quais são os dados armazenados e seus relacionamentos um com o outro. Nesse modelo são tomadas as decisões de projeto como o que pôr e onde por. De um modo é o Esquema geral do banco, tradicionalmente representado pelo seu Modelo Relacional (MR). Modelo Conceitual: é o passo inicial no projeto de um banco de dados, no qual são definidas as organizações dos dados antes mesmo de defini-los detalhadamente. Esse é o nível de maior abstração. Normalmente representado pelo Diagrama Entidade Relacionamento (DER) MODELO CONCEITUAL (DER) Tambémconhecido como Diagrama Entidade-Relacionamento, é um modelo de dados abstrato que descreve a estrutura de um banco de dados independe de sua implementação; MODELO LÓGICO (ESQUEMA DO BD) Tem como objetivo transformar o modelo conceitual em um modelo que define como o banco de dados será implementado em um SGBD específico. Deve representar relações e restrições do modelo de dados que representa a estrutura de um BD e o Esquema do Banco de Dados; MODELO FÍSICO (SCRIPT DO BD EM SQL) Nessa fase, o modelo do banco de dados é enriquecido com detalhes que influenciam no desempenho do banco de dados, mas não interferem na sua funcionalidade. Script do banco de dados em SQL representa os detalhes dos dados internamente ao BD (campo, tipo/domínio, restrições). Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 11 ETAPAS DA MODELAGEM DO BD PRIMEIRA ETAPA – ANÁLISE DE REQUISITOS Levantamento/Estudo de Viabilidade: ➢ Identificar usuários responsáveis e definir escopo. ➢ Identificar as deficiências no sistema atual (justificativa). ➢ Estabelecer metas e objetivos para o novo sistema. ➢ Determinar se é possível “informatizar” (viabilidade). ➢ Fazer estimativas (cálculo de Custo/Benefício). ➢ Preparar um cronograma. SEGUNDA ETAPA – ANÁLISE E PROJETO Projeto do BD ➢ Modelo Conceitual (DER). ➢ Modelo Lógico (Esquema do BD/Relações). ➢ Modelo Físico (Script do BD/Tabelas- Restrições EXERCÍCIOS 1) Um sistema de banco de dados é uma coleção de dados que estão inter-relacionados e também de um conjunto de programas que tem como função a permissão aos usuários para acessar e modificar tais dados. Um dos modelos de dados, o relacional, tem como base uma coleção de tabelas. Acerca do modelo relacional, é correto afirmar que “______________ de uma relação refere-se ao seu projeto lógico; e, ______________ da relação refere-se ao seu conteúdo em um ponto no tempo”. Assinale a alternativa que complementa correta e sequencialmente a afirmativa anterior. (A) esquema / instância (B) integridade / esquema (C) instância / atomicidade (D) atomicidade / integridade 2) Um banco de dados é uma ferramenta para a coleta e a organização de informações. Os bancos de dados podem armazenar informações sobre pessoas, produtos, pedidos ou qualquer outro aspecto. Vários bancos de dados começam como uma lista em um programa de processamento de texto ou em uma planilha. São partes de um banco de dados típico: tabelas, formulários, relatórios, consultas, macros e módulos. Quanto às tabelas, considere as afirmativas seguintes. I. Uma tabela de banco de dados tem uma aparência semelhante à de uma planilha, já que os dados são armazenados em linhas e colunas. Como resultado, normalmente é bem fácil importar uma planilha para uma tabela de banco de dados. A principal diferença entre armazenar seus dados em uma planilha e armazená-los em um banco de dados é a forma como os dados são organizados. Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 12 II. Para obter o máximo de flexibilidade de um banco de dados, os dados precisam estar organizados em tabelas para que não ocorram redundâncias. Por exemplo, se você estiver armazenando informações sobre funcionários do CRO-PR, cada funcionário só precisará ser inserido uma vez em uma tabela configurada somente para armazenar dados desses funcionários. Os dados sobre produtos serão armazenados em sua própria tabela, e os dados sobre filiais serão armazenados em outra tabela. III. Cada linha de uma tabela é conhecida como registro. Os registros são o local onde as informações individuais são armazenadas. Cada registro consiste em um ou mais campos. Os campos correspondem às colunas da tabela. Por exemplo, você poderia ter uma tabela chamada "Funcionários", onde cada registro (linha) contém informações sobre um funcionário diferente, e cada campo (coluna) contém um tipo de informação diferente, como nome, sobrenome, endereço e assim por diante. Os campos devem ser designados como um determinado tipo de dados, seja ele texto, data ou hora, número ou outro tipo. Pode-se afirmar que: (A) somente I está correta. (B) somente II está correta. (C) somente III está correta. (D) há apenas duas afirmativas corretas. (E) todas estão corretas. GABARITO 1) A. 2) E. BANCO DE DADOS RELACIONAL Um banco de dados relacional é descrito por tabelas conhecidas como entidades, que armazenam dados com várias características chamadas atributos, dispostas em colunas. O conjunto de atributos de um dado em uma tabela é chamado de tupla, que pode ser entendido como uma linha de uma tabela. MODELO ENTIDADE RELACIONAMENTO Também conhecido como MER, é a forma mais abstrata de compreender os dados de um banco de dados, é usado etapa inicial da descrição de um banco de dados. Esse modelo apresenta basicamente as entidades, que são definições de estruturas independentes como pessoa, carro, empregado. Cada entidade possui atributos, ou seja, características que o definem, por exemplo, a entidade pessoa contém dados do tipo nome, RG, CPF, nascimento, idade, endereço. A essa coleção de dados de cada pessoa dá-se o nome de tupla. A priori em uma construção de um banco de dados consistente deve utilizar atributos atômicos, ou seja, que não possam ser divididos. O atributo endereço pode ser divido em logradouro, número, bairro, CEP e complemento, logo endereço não é atômico, já o atributo número de um endereço é, assim como, o CPF. No caso do CPF ainda pode-se notar uma outra característica da descrição de atributos de uma entidade, uma vez que o número de CPF de uma pessoa é único essa informação pode ser utilizada para identificar esse dado (pessoa) no conjunto de dados armazenados, logo CPF é o que se chama de chave candidata, que passa a ser uma chave primária a partir do momento em que efetivamente é definida para identificar a tupla de uma entidade. Exemplo: Uf(UF_Código, UF_Sigla, UF_Nome) Cidade(Cdd_Codigo, UF_Codigo, Cdd_Nome, Cdd_DDD) PssFisica(PssFsc_Codigo, PssFsc_Nome, PssFsc_CPF, PssFsc_RG, PssFsc_Rua, PssFsc_Numero, PssFsc_Bairro, PssFsc_Complemento, PssFsc_Tel1, PssFsc_Tel2, PssFsc_Cel, Cdd_Codigo) Docente(Dcn_Codigo,PssFsc_Codigo) DcnCnt(Cnt_Codigo, Dcn_Codigo) Centro(Cnt_Codigo, Cnt_Nome, Dcn_Codigo) Curso(Crs_Codigo, Crs_Nome, Cnt_Codigo) Academico(RA, PssFsc_Codigo, Acd_Satus) Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 13 AcdCrs(RA, Crs_Codigo, Ano) Projeto(Prj_Codigo, Prj_Descricao) AcdPrj(RA, Prj_Codigo, AcdPrj_CrgHoraria) Disciplina(Dsc_Codigo,Dsc_Nome) AcdDsc(RA, Dsc_Codigo, Ano, AcdDsc_Faltas, AcdDsc_Situacao, AcdDsc_Nota) DcnDsc(Dsc_Codigo, Ano, Dcn_Codigo) O nome no início descreve o nome da entidade, normalmente no singular, os dados entre parênteses descrevem os atributos, sendo os sublinhados identificados como chaves, quando há dois atributos marcados como chave são conhecidas como chaves compostas. Mas um MER precisa de regras para ser construído e essas regras são as dependências funcionais entre os dados. Exemplo: o número do RA deve levar a conseguir informações do tipo Nome do acadêmico e seu Status. RA → Acd_Nome, Acd_Status RA, Prj_Codigo → Prj_CrgHoraria Dcn_Codigo → Dcn_Nome Dsc_Codigo → Dsc_Nome Dsc_Codigo, Ano → Dcn_Nome RA, Dsc_Codigo, Ano → AcdDsc_Nota, AcdDsc_Faltas, AcdDsc_Situacao, Dsc_Nome Crs_Codigo→ Crs_Nome, Crs_Coordenador, Cnt_Codigo Cnt_Codigo → Cnt_Nome, Cnt_Diretor Uf_Codigo → Uf_nome, Uf_Sigla RA, Crs_Codigo → Crs_Nome Prj_Codigo → Prj_Descricao DER O Diagrama Entidade Relacionamento é o detalhamento de um MER, ou seja, é uma estrutura mais visual das ligações entreas entidades. A figura a seguir ilustra os símbolos usados na descrição desse modelo. Figura 2: Resumo da notação para diagramas ER fonte: Navathe, 2005 Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 14 NOTAÇÃO CROWSFOOT Nos exemplos apresentados até o momento, temos privilegiado o uso da notação original empregada quando o DER começou a ser difundido. Com o passar do tempo, outras notações foram sendo sugeridas, sempre buscando aprimorar o processo de análise/confecção dos Diagramas. Uma notação bastante utilizada e que representa a cardinalidade de relacionamentos de forma diferente é a notação CrowsFoot. Na figura a seguir, apresentamos uma tabela com essa notação. A notação CrowsFoot foi proposta por James Martin sob a ótica de engenharia de informação, sendo também conhecida como “pé-de-galinha”, onde os relacionamentos são representados apenas por uma linha. Nesta notação, podemos representar apenas relacionamentos binários e a representação de cardinalidade máxima e mínima são gráficas. Sendo assim, o símbolo mais próximo da entidade (retângulo) é a representação da cardinalidade máxima e o mais distante da cardinalidade mínima. Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 15 GRAU DO RELACIONAMENTO ➢ Unário (grau 1): relacionamento com a própria entidade, também chamado de relacionamento recursivo ou autorrelacionamento. ➢ Binário (grau 2): mais comum. ➢ Ternário (grau 3): maior complexidade. ➢ Ou mais... SQL A linguagem padrão para criação, manipulação e consulta a banco de dados é Standard Query Location, ou simplesmente SQL. Trata-se de uma linguagem estruturada que se baseia nas operações da Álgebra Relacional para seleção de linhas e colunas de dados das tabelas ou de junções destas em um Banco de Dados. As principais cláusulas (comandos) SQL são SELECT, FROM, WHERE, que podemos ler: Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 16 selecionar (o que se deseja selecionar) de (entidade ou relação de entidade de onde será obtida a informação) que (regras que limitam o resultado de dados para os que se deseja). NORMALIZAÇÃO O processo de normalização consiste em dizer se o esquema de relacionamento é bom ou ruim, e se garante realmente a integridade e não redundância dos dados. Para apontar se esquema é ou não aceitável foram desenvolvidas etapas de um processo de padronização, chamadas de Formas Normais do processo de Normalização. São cinco as formas normais mais a Forma Normal de Boyce Codd (BCNF ou FNBC). A regra é sequencial, ou seja, o modelo só pode estar na segunda forma normal se estiver na primeira, e assim sucessivamente. A BCNF é inserida entre a terceira forma normal e a quarta. A 1NF elimina atributos multivalorados, atributos compostos e sua combinação, ou seja, só aceita que os atributos sejam atômicos. A 2NF elimina as dependências parciais. Já a 3NF remove as dependências transitivas. Enquanto a BCNF depende de estar na 3NF e elimina dependências entre atributos não chave. A 4NF elimina dependências multivaloradas. Por fim a 5NF elimina dependências de junções. ÁLGEBRA RELACIONAL A álgebra relacional é o modo formal (matemática) de descrever consultas em banco de dados, usada também para otimizar o desempenho das consultas. EXERCÍCIOS 1) Assinale a opção correta. (A) Um banco de dados relacional é composto de roteamentos. (B) O projeto de um banco de dados é realizado segundo as fases Modelagem Procedural, Projeto Lógico, Projeto Operacional. (C) O projeto de um banco de dados é realizado segundo as fases Modelagem Conceitual, Projeto Lógico, Projeto Físico. (D) O projeto de um banco de dados é realizado por meio das fases Modelagem Lógica e Modelagem Física. (E) Um banco de dados relacional é composto de configurações. 2) No Modelo Relacional de banco de dados, (A) o cabeçalho de uma tabela contém os atributos. (B) o modelo do atributo é o conjunto de valores permitidos. (C) o cabeçalho de uma tabela contém instâncias. (D) o domínio do atributo é a sua descrição. (E) o corpo da tabela contém relacionamentos qualitativos GABARITO 1) C. 2) A. DATA MINING Em tradução literal Mineração de Dados o data mining nada mais é do que um conjunto de ferramentas e técnicas utilizadas para se extrair conhecimento de base dados, em destaque de wharehouse. Mineração de dados se refere à extração ou descoberta de novas informações de grandes quantidades de dados. Dentre os aspectos da técnica destaca-se o reconhecimento de padrões por meio de comparação e análise dos dados, um dos principais exemplos de aplicação da técnica foi pelo Walmart. A empresa buscava conhecer o seu cenário de vendas, como que tipo de produto era mais vendido em Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 17 determinado dia da semana, a ferramenta de data mining usada apontou que nas sextas feiras os produtos mais vendidos eram cerveja e fralda. Percebe-se a importância de se saber extrair o conhecimento da informação, pois a princípio se pergunta qual a relação entre cerveja e fralda. Seriam crianças bebendo cerveja? Logo o dado intrigante levou a uma investigação que revelou que os pais passavam ao final do expediente para comprar fraldas para os filhos e aproveitavam pra repor o estoque de cerveja. O que isso trouxe de benefícios para a empresa? Simples a gondola de fraldas passou a ficar ao lado da de cerveja, o que levou a um aumento de 30% na venda de cerveja. De forma geral as técnicas de mineração são hoje aplicadas principalmente no mercado financeiro, que o diga a receita federal que é uma das pioneiras a utilizar tais técnicas para encontrar inconsistências nas declarações de IR. Contudo não se limita apenas a esse nicho, podendo ser usada também na medicina, apesar de pouco usadas nesse seguimento possuem potencial para chegar até ao auto atendimento médico. As técnicas consistem em três etapas: ➢ Preparação: nesta etapa são definidos quais e que tipo de dados são importante, nota-se a necessidade da participação de um especialista no assunto para fazer os apontamentos; ➢ Data Mining: é a etapa da coleta dos dados e transformação para que seja mais fácil identificar as relações como a explanação dos dados na forma de gráficos; ➢ Análise de Dados: os dados são comparados e busca-se entender o que eles podem representar e como podem ser usados. Nestas etapas nota-se a utilização de algumas tecnologias como: ➢ IA e sistemas especialistas; ➢ Redes neurais e seus paradigmas de aprendizado supervisionado e não supervisionado; ➢ Data Wharehouse na organização dos dados. Assim o maior desafio é entender as relações entre os dados obtidos pela técnica. DESCOBERTA DE CONHECIMENTO A mineração de dados é apenas parte do processo de descoberta do conhecimento. A descoberta de conhecimento em banco de dados é também chamada de KDD (Knowledge Discovery in Databases). Por sua vez o processo de descoberta em si é dividido em seis fases: 1º Seleção de dados; 2º Limpeza de dados; 3º Enriquecimento; 4º Transformação ou codificação de dados; 5º Mineração de dados; 6º Relatório e exibição da informação descoberta. A limpeza faz parte do pré- processamento dos dados para a aplicação devida das técnicas de mineração e para a criação de data warehouse. Como resultado a mineração pode fornecer diferentes tipos de informações novas: ➢ Regras de associação: comportamentos que se relacionam como comprar uma vara de pescar e uma lanterna; ➢ Padrões sequenciais: comportamentos que se levama outro no futuro, como comprar um Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 18 smartphone e futuramente algum gadget para ele; ➢ Árvores de classificação: repetições que podem ser tipificadas. Os resultados podem ser apresentados na forma de listas, tabelas, descritiva ou mesmo na forma de gráficos, esta última mais frequentemente utilizada. A mineração é normalmente aplicada com o intuito de obter informações que possibilitem prever situações futuras, identificar padrões de comportamento/evento, classificar dados ou itens como um mercado classificar quais produtos são comprados para fins de merenda escolar, e também, as informações são utilizadas para otimização, por exemplo, aumentar as vendas de determinado produto que esteja associado a outro. O conhecimento obtido pela mineração é comumente descrito em: ➢ Regras de associação: busca a relação entre dados do tipo o que um produto comprado tem haver com outro; ➢ Hierarquias de classificação: objetiva descrever de forma hierarquizada as informações como classes sociais e o que cada uma compra; ➢ Padrões sequenciais: exemplo de um paciente que apresenta um resfriado, mas volta após um período com uma gripe e que mais adiante apresenta sintomas de pneumonia; ➢ Padrões dentre de série temporal: quando o padrão é o espaço de tempo, ou seja, a frequência com que um cliente compra o mesmo produto; ➢ Agrupamento: definição de grupos de dados ou indivíduos que estejam propensos a determinada ação ou situação. As dificuldades da Mineração de dados são atreladas a vários fatores, como a cardinalidade, ou seja, a um vasto volume de dados relacionados entre si a serem analisados; a variabilidade dos dados que na maioria dos casos precisa ser refinada; o grande quantidade de classificações diferentes bem como a qualidade dos dados armazenados. O uso bem-sucedido das aplicações de data mining depende da construção de um data warehouse. EXERCÍCIOS Acerca de DataMining e de DataWarehouse, julgue o item subsecutivo. 1) Os principais processos de DataMining são a identificação de variações embasado em normas, a detecção e análise de relacionamentos, a paginação de memória e o controle de periféricos. Acerca de datawarehouse e datamining, julgue o item subsequente. 2) Os objetivos do datamining incluem identificar os tipos de relacionamentos que se estabelecem entre informações armazenadas em um grande repositório. 3) Qual o tipo de descoberta de conhecimento através de mineração de dados (do inglês “data mining”), em que se relaciona a presença de conjuntos de itens diversos, como por exemplo: “Quando uma mulher compra uma bolsa em uma loja, ela está propensa a comprar sapatos”? (A) Hierarquias de classificação. (B) Padrões sequenciais. (C) Regras de associação. (D) Séries temporais. (E) Agrupamentos por similaridade. 4) Processo de explorar grandes quantidades de dados à procura de padrões consistentes, como regras de associação ou sequências temporais, para detectar relacionamentos sistemáticos entre Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 19 variáveis, detectando assim novos subconjuntos de dados é conhecido como (A) datawarehouse. (B) SGBD. (C) mineração de dados (data mining). (D) modelagem relacional de dados. (E) mineração de textos (text mining). 5) A Mineração de Dados é (A) o processo de desenvolvimento de soluções automáticas de acesso a informações úteis em depósitos de dados. (B) a transformação automática de dados existentes em grandes depósitos de dados em informações quantificáveis. (C) a automação da recuperação de informações caracterizadas por registros com grande quantidade de atributos. (D) a descoberta de relações significativas entre dados e informações passíveis de atualização automática. (E) o processo de descoberta automática de informações úteis em grandes depósitos de dados. GABARITO 1) Errado. 2) Certo. 3) C. 4) C. 5) E. DATA WAREHOUSE Em tradução livre Armazém/celeiro de dados consiste nos dados armazenados ao longo da história de uso de um sistema, utilizados para se obter respostas como quantidade de itens vendidos por determinado vendedor. O objetivo de um data warehouse é dar sustentação a tomada de decisão com base nos dados. O acesso ao armazém pode ser feito por meio de um servidor OLAP cujo papel é interpretar as consultas realizadas pelos usuários convertendo nas consultas adequadas para o acesso, análise e geração de relatórios como também para ferramentas de Data Mining. “OLAP (processamento analítico on- line) é um termo usado para descrever a análise de dados complexos do data warehouse” (Navathe, 2011) CARACTERÍSTICAS DOS ARMAZÉNS DE DADOS Um data warehouse é um armazém de dados integrados provenientes de várias fontes que são processados para serem armazenados em um modelo multidimensional. O data warehouse consiste em uma base de dados a parte do banco de dados principal, pois não sofre alterações e interações com a mesma intensidade, logo são chamadas de estruturas não voláteis, por manterem suas características por um maior período de tempo que os Banco de Dados. Antes de atualizar o preencher o armazém com os dados é necessário realizar a limpeza dos dados, ou seja, efetuar um pré- processamento, principalmente para eliminar dados inconsistentes, ou falhas como dados vazios. Também faz parte do pré- processamento a reformatação dos dados como padronizar códigos e outros atributos. Os data warehouses também são diferenciados pelas seguintes características: ➢ Visão conceitual em múltiplas dimensões; ➢ Dimensões variáveis; ➢ Dimensões e níveis de agregação ilimitados; ➢ Operacionalização sem restrição entre as dimensões; ➢ Tratamento dinâmico de matriz esparsa; ➢ Arquitetura Cliente-Servidor; ➢ Multiusuário; ➢ Oferecer acessibilidade; ➢ Ser Transparente; ➢ Intuitivos; Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 20 Um armazém deve aceitar consultas ocasionais que solicitem qualquer combinação. Para preencher um warehouse é necessário realizar 5 etapas: 1º Extração dos dados das fontes; 2º Formatação dos dados de forma a possibilitar relacionamentos; 3º Limpeza dos dados; 4º Ajustar ao modelo multidimensional; 5º Carregar os dados no armazém. EXERCÍCIOS 1) Considere a seguinte definição: "Uma coleção de dados não-voláteis, integrados, orientados a um determinado tema e utilizados no apoio de processos de tomada de decisão. Geralmente contém componentes complementares como facilidades de extração, mineração e transformação de informação e ferramentas analíticas." Essa é a definição de (A) Planilha. (B) Middleware. (C) Data Warehouse. (D) DBMS (Data Base Management System). (E) Groupware. 2) A arquitetura de data warehouse de três camadas contém as seguintes camadas: (A) Primeira camada: sistema operacional com os dados e o software para aquisição. Segunda camada: especificação de dados. Terceira camada: servidor de monitoramento e cliente. (B) Primeira camada: sistema aplicativo. Segunda camada: data warehouse. Terceira camada: clientes preferenciais. (C) Primeira camada: sistema operacional com arquiteturas diferenciadas. Segunda camada: data center. Terceira camada: servidor de aplicação e cliente. (D) Primeira camada: sistema operacional com os dados e o software para aquisição. Segunda camada: data warehouse. Terceira camada: servidor de aplicação e cliente. (E) Primeira camada: sistema aplicativo com os dados e o software para aquisição. Segunda camada: data warehouse. Terceira camada: relatórios e telas de operação. Julgue os itens a seguir, a respeito de soluçõesde suporte à decisão. 3) Uma característica distinta dos data warehouses é o seu direcionamento para aplicações de apoio às decisões. Eles são otimizados para a recuperação de dados, não para o processamento rotineiro de transações. 4) OLAP (online analytical processing) é um termo utilizado para descrever a análise de dados complexos a partir do data warehouse. As ferramentas OLAP empregam as capacidades de computação distribuída para análises que requerem mais armazenamento e poder de processamento que as disponibilizadas por um desktop. Acerca de conceitos básicos, arquiteturas e aplicações de data warehouse e datamining e técnicas de modelagem e otimização de bases de dados multidimensionais, julgue os itens que se seguem. 5) Um cubo de dados é a representação multidimensional dos dados não agregados na qual é necessário que as dimensões tenham o mesmo tamanho. GABARITO 1) C. 2) D. 3) Certo. 4) Certo. 5) Errado. 6) E BIG DATA O QUE É? O Big Data é a análise de um grande número de informações que estão presentes hoje no planeta na forma de dados. Não existe uma definição singular sobre a terminologia Big Data, existindo várias Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 21 definições traçadas por estudos e publicações recentes. Sendo o conceito da temática parte fundamental para compreensão do trabalho, a seguir temos alguns conceitos observados: Por Oxford English Dictionary: “...dado de grande tamanho, tipicamente ao nível que sua manipulação e gerenciamento apresenta desafios significativos a logística.”; Por Dumbill, Edd, 2012 (O'Reilly): “Big Data é o dado que excede a capacidade de processamento convencional dos sistemas de bancos de dados.”; Por International Data Corporation: “...Big Data descrevem uma nova geração de tecnologias e arquiteturas, projetadas economicamente para extrair valor de volumes muito grandes e vasto de dados, permitindo alta velocidade de captura, descoberta e análise.”; Por McKinsey Global Institute, 2011: “Big Data é um termo utilizado para descrever um grande volume de dados, em grande velocidade e grande variedade; que requer novas tecnologias e técnicas para capturar, armazenar e analisar seu conteúdo; e é utilizado para abrilhantar a tomada de decisão, fornecendo introspecção e descobertas, e suportando e otimizando processos.”; Por Viktor Mayer-Schönberger e Kenneth Cukier’s, 2014: "A habilidade da sociedade de aproveitar a informação por novas maneiras para produzir introspecção úteis ou bens e serviços de valor significante." Podemos assim então definir, o Big Data como sendo a análise de um grande número de informações que estão presentes hoje no planeta na forma de dados. A análise desses dados não é algo tão simples de ser feito quanto parece, pois pelo grande volume, esses dados necessitam de um conjunto de ferramentas adequadas para serem manipulados. 5 VS 1. VOLUME Big Data é uma grande quantidade de dados gerada a cada segundo. Pense em todos os e-mails, mensagens de Twitter, fotos e vídeos que circulam na rede a cada instante. Não são terabytes e sim zetabytes e brontobytes. Só no Facebook são 10 bilhões de mensagens, 4,5 bilhões de curtidas e 350 milhões de fotos compartilhadas todos os dias. A tecnologia do Big Data serve exatamente para lidar com esse volume de dados, guardando-os em diferentes localidades e juntando-os através de software. 2. VELOCIDADE Se refere à velocidade com que os dados são criados. São mensagens de redes sociais se viralizando em segundos, transações de cartão de crédito sendo verificadas a cada instante ou os milissegundos necessários para calcular o valor de compra e venda de ações. O Big Data serve para analisar os dados no instante em que são criados, sem ter de armazená-los em bancos de dados. 3. VARIEDADE No passado, a maior parte dos dados era estruturada e podia ser colocada em tabelas e relações. Hoje, 80% dos dados do mundo não se comportam dessa forma. Com o Big Data, mensagens, fotos, vídeos e sons, que são dados não-estruturados, podem ser administrados juntamente com dados tradicionais. Dados estruturados: são armazenados em bancos de dados, sequenciados em tabelas; Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 22 Dados semi-estruturados: acompanham padrões heterogêneos, são mais difíceis de serem identificados pois podem seguir diversos padrões; Dados não estruturados: são uma mistura de dados com fontes diversificadas como imagens, áudios e documentos online. 4. VERACIDADE Um dos pontos mais importantes de qualquer informação é que ela seja verdadeira. Com o Big Data não é possível controlar cada hashtag do Twitter ou notícia falsa na internet, mas com análises e estatísticas de grandes volumes de dados é possível compensar as informações incorretas. 5. VALOR O último V é o que torna Big Data relevante: tudo bem ter acesso a uma quantidade massiva de informação a cada segundo, mas isso não adianta nada se não puder gerar valor. É importante que empresas entrem no negócio do Big Data, mas é sempre importante lembrar dos custos e benefícios e tentar agregar valor ao que se está fazendo. COMO SE DIFERENCIA O BIG DATA DA MINERAÇÃO DE DADOS? A Mineração de Dados é um processo de aquisição de conhecimento através do que o Big Data entrega como informação. Essa tecnologia deve procurar estruturar e formar o conhecimento através do processo chamado DCBD - Descoberta de Conhecimento em Banco de Dados. Em suma, é investigar dentro do Big Data os dados relevantes que se procura. o Big Data pode ajudar a empresa a entender melhor o perfil do cliente e, assim, a empresa pode adequar-se às necessidades do consumidor Dentre outros benefícios que o BI pode agregar à manufatura, Fleck elenca alguns principais: MAIS SEGURANÇA NA TOMADA DE DECISÕES Com a ajuda do BI e sua capacidade analítica dos dados gerados pela empresa, gestores de negócio podem ter um conhecimento mais assertivo da organização, compilando dados de diferentes setores em interfaces simplificadas, com indicadores de performance (KPIs) e resultados. Isso contribui para uma tomada mais segura e informada das decisões, reduzindo o risco estratégico para o negócio. MAIOR EFICIÊNCIA OPERACIONAL O uso do BI acelera o ritmo de melhoria nos processos internos, por meio da análise rápida de grandes volumes de dados gerados em diversos departamentos. Assim, gestores podem analisar diversos fatores, como performance das equipes, custos , qualidade de produtos, e, a partir disso, melhorar os ambientes e métodos com a alocação apropriada de recursos. Praticamente qualquer processo interno de uma empresa, da gestão da matéria-prima até a entrega do produto final, pode ser simplificado com o BI. MELHOR GESTÃO FINANCEIRA As ferramentas de BI podem ser empregadas para analisar lucros e perdas na operação, otimizando recursos e melhorando o retorno sobre o investimento (ROI) realizado. Com estas soluções, é possível identificar novos caminhos para rentabilizar Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 23 as capacidades produtivas do negócio, assim como reavaliar o custo-benefício de estratégias que estão com rendimento abaixo do esperado. MAIOR CONTROLE LOGÍSTICO E PRODUTIVO Gerenciar e avaliar a performance de sua logística pode ser muito aprimorada com o uso do BI. Com a análise rápida dos dados, empresas podem ter a agilidade necessária para garantir entregas com a precisão e qualidade adequada. Além disso, diminui-se os riscos de falha nestes processos, resultando também na redução de custosem logística. Novos indicadores de qualidade também podem ser adicionados, como o feedback de clientes. QUALIFICAÇÃO E CONTROLE DE STORAGE E WAREHOUSE As empresas também podem qualificar o controle de seus estoques com o BI, analisando informações para rastrear e controlar melhor as matérias-primas e lotes de produtos. Estas soluções também podem ser usadas nos testes de novos produtos, colaborando na melhoria de processos e soluções de possíveis problemas na hora de mandá-los para a linha de produção. QUESTÃO COMENTADA 1) Banco de dados é: (A) uma relação de dependência entre dados que tem por objetivo atender a uma comunidade de usuários. (B) um conjunto de dados integrados que tem por objetivo impedir acessos indevidos a dados armazenados. (C) um conjunto de dados integrados que tem por objetivo atender a requisitos do sistema operacional. (D) um conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários. (E) uma estrutura de máquina virtual que tem por objetivo atender a necessidades do software de acesso. Comentário: um Banco de Dados é uma coleção de dados relacionados para atender as necessidades do usuário. EXERCÍCIOS 1) Em se tratando de mineração de dados, a técnica de agrupamento (clustering) permite a descoberta de dados por faixa de valores, por meio do exame de alguns atributos das entidades envolvidas. 2) Qual o tipo de descoberta de conhecimento através de mineração de dados (do inglês “data mining”), em que se relaciona a presença de conjuntos de itens diversos, como por exemplo: “Quando uma mulher compra uma bolsa em uma loja, ela está propensa a comprar sapatos”? (A) Hierarquias de classificação. (B) Padrões sequenciais. (C) Regras de associação. (D) Séries temporais. (E) Agrupamentos por similaridade. 3) Processo de explorar grandes quantidades de dados à procura de padrões consistentes, como regras de associação ou sequências temporais, para detectar relacionamentos sistemáticos entre variáveis, detectando assim novos subconjuntos de dados é conhecido como (A) datawarehouse. (B) SGBD. (C) mineração de dados (data mining). (D) modelagem relacional de dados. (E) mineração de textos (text mining). 4) A Mineração de Dados é (A) o processo de desenvolvimento de soluções automáticas de acesso a informações úteis em depósitos de dados. (B) a transformação automática de dados existentes em grandes depósitos de dados em informações quantificáveis. (C) a automação da recuperação de informações caracterizadas por registros com grande quantidade de atributos. Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 24 (D) a descoberta de relações significativas entre dados e informações passíveis de atualização automática. (E) o processo de descoberta automática de informações úteis em grandes depósitos de dados. Acerca de conceitos básicos, arquiteturas e aplicações de data warehouse e datamining e técnicas de modelagem e otimização de bases de dados multidimensionais, julgue os itens que se seguem. 5) Um cubo de dados é a representação multidimensional dos dados não agregados na qual é necessário que as dimensões tenham o mesmo tamanho. 6) Mineração de dados consiste em (A) explorar um conjunto de dados visando a extrair ou a ajudar a evidenciar padrões, como regras de associação ou sequências temporais, para detectar relacionamentos entre estes. (B) acessar um banco de dados para realizar consultas de forma genérica, buscando recuperar informações (registros) que atendam um mesmo critério de pesquisa. (C) recuperar informações de um banco de dados específico, voltado a representar e armazenar dados relacionados com companhias de exploração petrolífera e de recursos mineralógicos. (D) um banco de dados específico voltado à gestão de negócios usando tecnologia de informação (TI) como, por exemplo, a área de BI (Business Inteligence). (E) representar informações de um banco de dados mediante vários modelos hierárquicos como, por exemplo, o de entidade-relacionamento (ER). 7) Qual das assertivas a seguir melhor corresponde aos conceitos ou técnicas de mineração de dados? (A) A mineração de dados só pode ser utilizada em banco de dados centralizados. (B) Mineração de Dados é parte de um processo maior de pesquisa chamado de Busca de Conhecimento em Banco de Dados (KDD). (C) A análise descritiva utiliza o processo estimação para analisar a base de dados quanto a sua qualidade. (D) A limpeza e integração dos dados no banco de dados são os passos iniciais do processo de mineração. (E) Agregação e representação por gráficos diversos não correspondem a uma técnica de mineração de dados 8) Assinale a opção correta. (A) Um banco de dados relacional é composto de roteamentos. (B) O projeto de um banco de dados é realizado segundo as fases Modelagem Procedural, Projeto Lógico, Projeto Operacional. (C) O projeto de um banco de dados é realizado segundo as fases Modelagem Conceitual, Projeto Lógico, Projeto Físico. (D) O projeto de um banco de dados é realizado por meio das fases Modelagem Lógica e Modelagem Física. (E) Um banco de dados relacional é composto de configurações. 9) Assinale a assertiva correta. (A) Uma supertupla é um conjunto de um ou mais atributos que, tomados coletivamente, permite identificar unicamente uma tupla na relação (B) Uma linguagem de consulta é uma linguagem em que o usuário requisita informações do banco de dados. (C) Uma chave de atributos é um conjunto de um ou mais entidades que permite identificar unicamente um atributo na relação. (D) Uma linguagem de registro é uma linguagem em que o usuário registra informações do banco de dados. (E) Uma superchave é um algoritmo que permite identificar unicamente uma redundância na relação. 10) A arquitetura de data warehouse de três camadas contém as seguintes camadas: (A) Primeira camada: sistema operacional com os dados e o software para aquisição. Segunda camada: especificação de dados. Terceira camada: servidor de monitoramento e cliente. (B) Primeira camada: sistema aplicativo. Segunda camada: data warehouse. Terceira camada: clientes preferenciais. Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 06/05/2020 MUDE SUA VIDA! 25 (C) Primeira camada: sistema operacional com arquiteturas diferenciadas. Segunda camada: data center. Terceira camada: servidor de aplicação e cliente. (D) Primeira camada: sistema operacional com os dados e o software para aquisição. Segunda camada: data warehouse. Terceira camada: servidor de aplicação e cliente. (E) Primeira camada: sistema aplicativo com os dados e o software para aquisição. Segunda camada: data warehouse. Terceira camada: relatórios e telas de operação. GABARITO 1) Certo. 2) C. 3) C. 4) E. 5) Errado. 6) A. 7) B. 8) C. 9) B. 10) D. BIBLIOGRAFIA [1] S. B. N. Ramez Elmasri, Sistemas de Banco de dados, 6ª ed., São Paulo: Pearson Addison Wesley, 2011. [2] O. K. Takai, I. C. Italiano e J. E. Ferreira., Introdução a Banco de Dados (Apostila), DCC- IME-USP, 2005. [3] A. Silberchatz, H. F. Korth e S. Sudarshan, Sistemas de Banco de Dados, 3ª ed., Makron Books, 1999. [4] R. Elmasri e S. B. Navathe, Sistemas de banco de dados, São Paulo: Person Addison Wesley, 2005.