Baixe o app para aproveitar ainda mais
Prévia do material em texto
INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [1] 1 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. Um BD utópico é uma base de dados universal que armazena todo tipo de dado e relação que possa ter. 2 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. Em via de regra um SGBD deve permitir definir um banco de dados, construir o banco e manipular as informações. 2.1 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: o 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 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. 2.2 Linguagens dos SGBDs • Linguagem de Definição de Dados (DDL) é a linguagem usada pelos administradores de banco de dados, chamados de DBAs, para definir os banco de dados; • Linguagem de Manipulação de Dados (DML) é a linguagem utilizada pelo usuário para recuperar, inserir, remover e alterar os dados no banco de dados. Existem dois tipos de DMLs: de alto nível e de baixo nível. Sendo a de alto nível a mais amigável e a de baixo nível interna ao SGBD. 2.3 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 mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [2] comandos de pesquisa a combinações de atalhos de teclado; • Para o DBA: é a interface de uso específico para a criação e gerenciamento de um banco de dados. 3 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. 3.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. 3.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. 3.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. 3.4 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). A desvantagem desse formato é a mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [3] dificuldade em desenvolver e sistemas que mantenham a simetria e precisão das informações. 3.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. 4 Exercícios 1) Quanto aos níveis de abstraçãode 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. 4.1 Gabarito 1) E. 5 Conceitos Banco de Dados Nesta seção vamos conhecer os termos usados em bancos de dados e alguns conceitos de projeto. 5.1 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. 5.2 Instância É um esquema populado com dados visto em determinado instante. 5.3 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. 5.4 Relacionamento É 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. 5.5 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 pode 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 mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [4] 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. 5.6 Tupla Uma tupla é uma linha de uma tabela, ou seja, são os dados de uma instância de uma entidade que possui atributos. 5.7 Chaves Uma chave é um valor usado para identificar/selecionar uma tupla dentre as demais. 5.8 Modelagem dos dados 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 que 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 usa-se 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 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: Nível Físico: é o nível de menor abstração ele descreve como os dados estão efetivamente armazenados. Nível 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 por e onde por. Nível de Visão: é 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. 6 Exercícios 2016 / CONSULPLAN / Prefeitura de Venda Nova do Imigrante - ES / Psicólogo 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 mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [5] 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 2016 / Quadrix / CRO - PR / Auxiliar de Departamento 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 dadosem uma planilha e armazená-los em um banco de dados é a forma como os dados são organizados. 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. 6.1 Gabarito 1) A. 2) E. 7 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. 7.1 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. mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [6] 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) 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 7.2 DER O Diagrama Entidade Relacionamento é o detalhamento de um MER, ou seja, é uma estrutura mais visual das ligações entre as entidades. A figura a seguir ilustra os símbolos usados na descrição desse modelo. Figura 1: Resumo da notação para diagramas ER fonte: Navathe, 2005 mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [7] 7.3 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: 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). 8 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. 9 Á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. Gatilhos 10 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 10.1 Gabarito 1) C. 2) A. 11 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 determinado dia da semana, a ferramenta de data mining usada apontou que nas sextas feiras os produtos mais vendidos eram cerveja e fralda. mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [8] 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. 11.1 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 levam a outro no futuro, como comprar um 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; mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [9] • 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. 12 Exercícios 2014 / CESPE / TJ-SE / Técnico Judiciário - Programação de Sistemas 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. 2015 / CESPE / DEPEN / Agente Penitenciário Federal - Área 7 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 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ósitosde dados. 12.1 Gabarito 1) Errado. 2) Certo. 3) C. 4) C. 5) E. 13 Data warehouse Em tradução livre Armazém/celeiro de dados consiste nos dados armazenados ao longo da história de uso de mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [10] 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) 13.1 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; 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. 14 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. mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/ INFORMÁTICA 03 e 05 de julho /2019 e-mail: professor@joaopaulo.pro.br Professor: João Paulo Colet Orso fanpage: www.joaopaulo.pro.br @JPORSO [11] Julgue os itens a seguir, a respeito de soluções de 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. 14.1 Gabarito 1) C. 2) D. 3) Certo. 4) Certo. 5) Errado. 6) E mailto:professor@joaopaulo.pro.br http://www.joaopaulo.pro.br/
Compartilhar