Baixe o app para aproveitar ainda mais
Prévia do material em texto
“Um processo de refinamento do esquema de banco de dados, que procura: Eliminar possíveis redundâncias (dados repetidos em entidades) Sanar problemas de dependências parciais entre atributos e Reduzir ao mínimo as anomalias de inclusão, alteração e exclusão.” (Alvez 2014, p. 109) SBGD 1. Conceito Um sistema de gerenciamento de banco de dados, ou SGBD, é um software projetado para auxiliar a manutenção e utilização de vastos conjuntos de dados. 4. 2FN A entidade se encontra na segunda forma normal se, além de estar na primeira, todos os seus atributos forem totalmente dependentes da chave primária composta. Tendo como base o nosso exemplo, a entidade Item possui chave primária composta, que é constituída pelos atributos NumPedido e CodProduto Já os atributos Descricao e PrecoUnit não dependem totalmente dessa chave, ao contrário de Quantidade e ValorTotal 2. Normalização Dependência funcional é representada pela expressão X➔Y, em que X e Y são subconjuntos de atributos de uma relação qualquer Y é dependente funcionalmente de X Esquema de uma relação Esquema de uma relação 1) MATRICULAALUNO ➔ {NOMEALUNO, DATAMATRICULA}: o valor do atributo MATRICULAALUNO determina o valor de outros dois atributos: NOMEALUNO e DATAMATRICULA; 2) CODIGOCURSO ➔ NOMECURSO: o valor do atributo CODIGOCURSO determina o valor do atributo NOMECURSO; 3) CODIGODISCIPLINA ➔ NOMEDISCIPLINA: o valor do atriburo CODIGODISCIPLINA determina o valor do atributo NOMEDISCIPLINA; 4) {MATRICULAALUNO, CODIGOCURSO, CODIGODISCIPLINA} ➔ NOTAPROVA: a combinação de valores dos atributos MATRICULAALUNO, CODIGOCURSO E CODIGODISCIPLINA determina o valor do atributo NOTAPROVA. Conceito Exemplo de pedido: Atributo número pedido, nome do cliente, endereço cliente (rua, bairro, cidade e estado), código do produto, descrição do produto, quantidade a ser vendida, nome do vendedor, preço unitário produto, valor total do item, valor pedido Exemplo de tabela com dados não normalizados Base para o estudo das formas normais 3. 1FN Esquema da entidade pedido Os atributos que se repetem são removidos. Nesse caso, são: CodProduto, Descricao, Quantidade, PrecoUnit e ValorTotal Aplicação da 1FN Fazendo essa decomposição, chega-se a duas entidades: uma para a ficha de pedido e outra para os produtos que constam nela Fazendo essa decomposição, chega-se a duas entidades: uma para a ficha de pedido e outra para os produtos que constam nela Uma vez que um pedido pode conter vários produtos, existe então uma relação 1:N (um- para-muitos) A chave primária da entidade Pedido é o número do pedido, que é único para cada registro Já́ para a entidade Item, há uma chave primária formada pelo número do pedido e o código do produto Relacionamento pedido x item do pedido: Aplicação da 2FN Relacionamentos pedido x item e item x produto 5. 3FN É preciso que ela já esteja na segunda e não possua nenhum atributo dependente de outro que não faça parte da chave primária No exemplo de pedido, existem atributos que identificam um cliente (nome do cliente e endereço completo) e um vendedor (nome do vendedor) Os dados dos atributos NomeCliente, EndCliente, CidCliente e UFCliente são dependentes de CodCliente É possível criar outra entidade, que pode ser denominada de Cliente Da mesma forma, NomeVendedor é dependente de CodVendedor 6. 4FN As entidades se encontram normalizadas na 3FN Pode ocorrer de uma entidade conter um ou mais fatos multivalorados Tabela da relação de fornecedores, produtos e clientes Relações estabelecidas 4FN Aplicação da 3FN Diagrama de entidade-relacionamento final após normalização 7. 5FN Uma entidade está na 5FN se, estando na 4FN, não for possível reconstruir as informações originais a partir do conteúdo dos outros registros menores Exemplo: sistema de uma loja de materiais elétricos (como fios, fusíveis, lâmpadas etc.), e “padrões de entrada do consumidor”. Esses padrões são um tipo de produto, mas formado por um poste de concreto, uma caixa de medidor, “bengala” (conduíte com uma das extremidades curva) etc. Assim, quando houver uma venda de padrão, o sistema deve baixar o estoque de cada um dos seus componentes. Cada um desses componentes pode ser comprado pela loja individualmente, o que significa que eles podem constar em vários pedidos de compra Junção das entidades Fornecedor, Produto e Pedido com base no número do pedido Junção das entidades Fornecedor, Produto e Pedido com base no código do fornecedor ENTIDADES 8. Tipos de banco de dados e os principais SGBDs utilizados Coleções de relações na prática assumem a forma de tabelas de registros Representa os dados e os relacionamentos existentes entre eles por meio de uma coleção de tabelas Suporta uma pequena coleção fixa de tipos de dados (por exemplo: inteiros, datas, strings), entretanto, em muitos domínios de aplicação, tipos muito mais complexos precisam ser manipulados Banco de dados relacional – SGBDR Alternativa aos sistemas relacionais Destina-se aos domínios de aplicação em que os objetos complexos desempenham um papel fundamental Estratégia influenciada pelas linguagens de programação orientadas a objetos Pode ser entendida como uma tentativa de acrescentar funcionalidade de SGBD em um ambiente de linguagem de programação Banco de Dados Orientado a Objetos – SGBDOO Arquitetura básica de um SGBD e aspectos operacionais Banco de dados: Um conjunto de dados relacionados Sistema de Gerenciamento de Banco de Dados (SGBD): Uma coleção de ferramentas e programas que permite aos usuários a criação e manutenção do próprio banco de dados Arquitetura simplificada Funções de um SGBD Definição: Especificação dos tipos de dados, das estruturas das tabelas e das restrições que devem ser importas aos dados que serão armazenados. Construção: Processo de acumular os dados num meio de armazenamento totalmente controlado pelo SGBD. Manipulação: Operações como atualização do banco de dados (inclusão, exclusão e alteração de registros) e extração de dados, como consultas e relatórios impressos. Estrutura do BD Definição: Especificação dos tipos de dados, das estruturas das tabelas e das restrições que devem ser importas aos dados que serão armazenados. Construção: Processo de acumular os dados num meio de armazenamento totalmente controlado pelo SGBD. Manipulação: Operações como atualização do banco de dados (inclusão, exclusão e alteração de registros) e extração de dados, como consultas e relatórios impressos. Conforme Silberschatz et al. (2006, p. 525) salienta, “a arquitetura de um BD é bastante influenciada pelo sistema de computador subjacente em que o sistema de dados é executado, principalmente por aspectos como operação em: rede, paralelismo e distribuição” Aspectos inerentes à execução dos sistemas Rede: As redes de computadores permitem que algumas tarefas sejam executadas em um sistema servidor e outras sejam executadas em sistemas cliente. Essa divisão de trabalho tem levado a um sistema de banco de dados cliente-servidor. Paralelismo: O processamento paralelo dentro de um sistema de computador permite que as atividades do sistema de banco de dados sejam agilizadas, permitindo resposta mais rápida às transações, além de mais transações por segundo. A necessidade de processamento de consulta em paralelo levou a sistemas de banco de dados paralelos. Distribuição: A distribuição de dados pelos sites em uma organização permite que esses dados residam onde são gerados ou onde são mais necessários, mas ainda precisem ser acessados a partir de outros sites e de outros departamentos. Os sistemas de bancos de dados distribuídos tratam de dados distribuídos geográfica e administrativamente, espalhados por diversos sistemas de bancos de dados. Arquitetura de duas e três camadas Estrutura geral de um sistema baseado naplataforma cliente-servidor Um sistema de computador centralizado 1. Visão geral de BD O desempenho de um SGBD em consultas feitas comumente em operações de atualização típicas é a medida definitiva do projeto de um banco de dados Um administrador de banco de dados pode melhorar o desempenho medindo o tamanho do pool de buffers ou a frequência dos pontos de verificação ou adicionando hardware para eliminar tais gargalos Utiliza as terminologias: campos de registro, registros (linhas) e tabela de dados O campo de um registro é a menor unidade destinada ao armazenamento de valores existente em um arquivo ou tabela de um banco de dados e que pode ser referenciado por um programa aplicativo Os tipos de dados básicos: caractere, numérico (com ou sem casas decimais), data, hora e lógico (valores do tipo verdadeiro ou falso) Adm de SGBD 2. Tarefas DBA O DBA é responsável por autorizar o acesso ao banco de dados, coordenar e monitorar seu uso e adquirir recursos de software e hardware conforme a necessidade Questões de utilização do sistema: segurança e tempo de resposta, dependendo do tamanho do banco de dados e da organização. O DBA é auxiliado por uma equipe Projeto dos esquemas conceitual e físico: interagir com os usuários do sistema para compreender quais dados devem ser armazenados no SGBD e como eles serão mais provavelmente utilizados Segurança e autorização: assegurar que o acesso não autorizado aos dados não seja permitido Disponibilidade de dados e recuperação de falhas: deve tomar medidas para assegurar que, caso o sistema falhe, os usuários possam continuar a acessar o máximo possível dos dados não corrompidos O Administrador O DBA tem conta de usuário especial, o usuário efetua o login para acessar O SGBD, então, grava em um arquivo, denominado log do sistema, qualquer operação efetuada pelo usuário, como consulta, edição de dados ou inclusão de registros Esse recurso facilita a auditoria do sistema, no caso de haver alguma suspeita de adulteração das informações de forma indevida Criação de usuários Todo usuário é criado baseado no princípio do privilégio mínimo, o que implica acesso restrito Uma conta de usuário tem uma série de atributos que pode ser definida no momento de sua criação ou alterada posteriormente Comando CREATE USER pelo administrador de banco de dados O banco de dados utiliza o conceito de conjunto de privilégios mínimos ao criar um usuário Parte do princípio de que o usuário é criado, mas não tem privilégio para executar nenhuma tarefa até receber os privilégios necessários para isso Criação de users e definições de papéis 3. Aspectos de adm. dos SGDBs A segurança diz respeito a muitos aspectos da proteção de um sistema contra o uso não autorizado, incluindo autenticação de usuários, criptografia de informação, controle de acesso, políticas de firewall e detecção de intrusão A segurança de um sistema de banco de dados está relacionada diretamente à sua integridade e proteção das informações armazenadas nele Um problema de segurança comum aos sistemas de computação é impedir que pessoas não autorizadas acessem o sistema, seja para obter informações, seja para fazer mudanças maliciosas em uma parte do BD Elmasri e Navathe (2011) destacam quatro medidas: controle de acesso, controle de inferência, controle de fluxo e criptografia de dados. O responsável por esses controles é o DBA Dados Sensíveis Sensibilidade dos dados: a medida da importância atribuída aos dados por seu proprietário, com a finalidade de indicar sua necessidade de proteção Alguns BD contêm apenas dados confidenciais, enquanto outros podem não conter qualquer dado confidencial O tratamento do BD está relacionado ao controle de acesso Gráfico da hierarquia de tabelas, registros e campos: Exemplo de definição de tabela de dados em SQL Um registro (ou linhas) é o conjunto de campos que possuem valores de uma tabela Cada linha da tabela representa um registro. Nesse sentido, a tabela como um todo se resume a um agrupamento de linhas (registros) que são divididas em colunas (campos) Tabelas de dados: conjunto ordenado de registros/linhas. Cada registro possui o mesmo número de colunas (campos) Um banco de dados pode ser formado por uma ou mais tabelas, e cada uma deve ser definida de tal forma que somente possa conter um tipo de informação As aplicações normalmente utilizam várias tabelas do banco de dados. Exemplo: na geração de um relatório de vendas no mês ou o boletim escolar dos alunos O banco de dados relacionais permite o gerenciamento de privilégios dos usuários em dois níveis Privilégios Para atribuir privilégios de inclusão: comando GRANT Para atribuir privilégio ao usuário criado: comando USERWPA Para remover/revogar os privilégios atribuídos: comando REVOKE Para remover privilégio atribuído ao usuário: comando USERWPA Em sistemas padrão SQL, a segurança é baseada no conceito de direitos ou privilégios: os usuários têm ou não permissão para executar determinadas operações. Atualmente, os privilégios são assim definidos: Sintonização do BD: as necessidades dos usuários evoluem, o DBA é responsável por modificar o banco de dados para assegurar desempenho adequado conforme os requisitos sofrem alterações Módulos componentes de um SGBD e suas interações 1. Conceito Conforme Alves (2014, p. 148): “[...] [há uma] forma de preservação e de recuperação de informações ou do banco de dados inteiro. Isso significa que o administrador deve fazer uso de recursos oferecidos pelo próprio servidor de banco de dados ou utilizar outro meio que possibilite ter cópias do banco de dados” Não é possível deixar a critério de uma única pessoa a execução da cópia de segurança O gerenciador de recuperação é um dos componentes do SGBD mais difíceis de se projetar e implementar, pois é chamado durante as falhas do sistema e precisa tratar com uma variedade de estados do banco de dados (Ramakrishnan, 2008) É aconselhável que as operações de backup e restore sejam executadas quando não houver usuários acessando o banco de dados Utilizar o método de cópia automática quando for oferecido Seg. e Recup. Base de dados 2. Recuperação de Banco de Dados e Segurança O ARIES é um algoritmo de recuperação projetado para trabalhar com uma estratégia de roubo, sem imposição. Quando o gerenciador de recuperação é ativado, após uma falha, o reinício ocorre em três fases Algoritmo de recuperação ARIES Discos rígidos espelhados - arquitetura RAID RAID é sigla de Redundant Array Inexpensive/Independent Disk (Conjunto Redundante de Discos Econômicos/ Independentes) Maneira um pouco mais dispendiosa, porém mais segura e que não depende de terceiros. Em ambientes cliente/servidor que rodam aplicações de missão crítica, é possível encontrar máquinas inteiras espelhadas Arquitetura (hardware e software) permite que, se uma delas falhar, a outra entre em substituição, automaticamente, sem que os usuários percebam qualquer anomalia Discos rígidos espelhados - arquitetura RAID Para Ramakrishnan (2008, p. 497), a recuperação de mídia é baseada em fazer periodicamente uma cópia do banco de dados “Como copiar um objeto de banco de dados grande, por exemplo, um arquivo, pode demorar bastante e o SGBD precisa continuar com suas operações nesse meio- tempo, a criação de uma cópia é tratada de maneira semelhante a usar um ponto de verificação fuzzy” 3. Controle de concorrência Controle de concorrência é a aplicação de diversas técnicas que são usadas para garantir a propriedade de não interferência ou isolamento das transações executadas simultaneamente São utilizados o que o autor define como protocolos de controle de concorrência, ou seja, um conjunto de regras que garante a serialização 4. Performance: conhecer técnicas de otimização de consultas Paraexplicitar os exemplos de consulta, Ramakrishnan (2008) utiliza o esquema a seguir: O autor explica que as consultas SQL são otimizadas pela sua decomposição em um conjunto de unidades menores, chamadas blocos A otimização de um único bloco pode ser compreendida em termos de planos constituídos de operadores da álgebra relacional. A versão SQL dessa consulta aparece a seguir: A consulta tem dois blocos, e o bloco aninhado está representado a seguir. O otimizador examina os catálogos do sistema para recuperar informações sobre os tipos e comprimentos dos campos, as estatísticas acerca das relações referenciadas e os caminhos de acesso (índices) disponíveis para elas Depois, o otimizador considera cada bloco de consulta e escolhe um plano de avaliação de consulta para esse bloco 5. Performance: conhecer técnicas de otimização de consultas (índices) Ramakrishnan (2008) defende que os índices podem ser utilizados de várias maneiras e levarem a planos significativamente mais rápidos do que quaisquer outros que não os utilize Percorre a estrutura da árvore do índice para localizar os registros por comparação, extraindo somente aqueles registros necessários para satisfazerem os critérios passados pela consulta Antes de tomar qualquer decisão, o otimizador de consultas, componente responsável pela análise do melhor plano de execução da consulta, determina qual método será mais eficiente para recuperar os dados São apresentadas duas estratégias de recuperação: Primeira: se houver dano extensivo a uma grande parte do banco de dados devido à falha catastrófica, como uma falha de disco, o método de recuperação restaura uma cópia antiga do banco de dados que teve backup para o arquivamento e reconstrói um estado mais recente, reaplicando ou refazendo as operações das transações confirmadas do log em backup, até o momento da falha (Elmasri; Navathe, 2011) Segunda: quando o banco de dados no disco não está danificado fisicamente e há uma falha não catastrófica, a estratégia de recuperação é identificar quaisquer mudanças que possam causar uma inconsistência no banco de dados. Por exemplo: uma transação que atualizou alguns itens do banco de dados no disco, mas não confirmou as necessidades de ter suas mudanças revertidas ao desfazer suas operações de gravação (Elmasri; Navathe, 2011) Para Elmasri e Navathe (2011), o protocolo de bloqueio em duas fases “emprega a técnica de bloqueio de itens de dados para impedir que múltiplas transações acessem os itens ao mesmo tempo”. De acordo com os autores, os protocolos de bloqueio são utilizados na maioria dos SGBDs comerciais Ramakrishnan (2008, p. 444) defende que “bloqueio é um pequeno objeto de controle associado a um objeto do banco de dados” Para ele, o protocolo de bloqueio “é um conjunto de regras a serem seguidas por transação (e impostas pelo SGBD) para garantir que, mesmo intercalando as ações de várias transações, o resultado seja idêntico à execução de todas as transações em alguma ordem serial” O autor especifica que diferentes protocolos de bloqueio usam diferentes tipos de bloqueios, como bloqueios compartilhados ou exclusivos (Ramakrishnan, 2008) Na visão de Ramakrishnan (2008), há outro fator que afeta o controle de concorrência, a granularidade dos itens de dados, ou seja, parte do banco de dados que um item de dados representa Um item de banco de dados é variável, pois pode ser pequeno ou grande, tal como um dos seguintes itens: “Um registro de banco de dados Um valor de campo de um registro de banco de dados Um bloco de disco Um arquivo inteiro Um banco de dados inteiro” (Ramakrishnan, 2008, p. 497) 1. Conceito O data warehouse oferece armazenamento, funcionalidades e responsividade para as consultas, além das capacidades dos bancos de dados orientados para a transação É projetado exatamente para dar suporte à extração, ao processamento e à apresentação eficiente para fins analíticos e de tomada de decisão Contém uma quantidade muito grande de dados de várias fontes Fontes que podem incluir bancos de dados de diferentes modelos de dados e às vezes arquivos adquiridos de sistemas e plataformas independentes Data Warehouse Definições das aplicações p/ uso do DW 2.Modelagem de dados p/ DW Para modelagem de dados, de acordo com Elsmari e Navathe (2011), deve ser levada em consideração a tipologia Em modelos multidimensionais, ocorre o relacionamento dos dados em matrizes multidimensionais. Essas matrizes são chamadas de cubo de dados e podem ter mais de três dimensões, sendo chamadas de hipercubo Utilizando como exemplo uma planilha de vendas regionais por produto, para determinado período, os produtos poderiam ser mostrados como linhas, e as receitas de venda para cada região compreenderiam as colunas A figura abaixo mostra essa organização, que é uma planilha-padrão de matriz bidimensional Ao acrescentar uma dimensão de tempo, como os trimestres fiscais de uma organização, produz-se uma matriz tridimensional, como na figura ao abaixo: 3.Projeto de DW Para a construção de um data warehouse, segundo Elsmari e Navathe (2011), os responsáveis devem ter uma visão ampla e antecipada de seu uso Não existe um meio de antecipar todas as consultas ou análises possíveis durante a fase do projeto O projeto deve aceitar especificamente a consulta ocasional, ou seja, acessar dados com qualquer combinação significativa de valores para os atributos nas tabelas de dimensão ou fatos Etapas de aquisição de dados de DW Armazenamento de dados de acordo com o modelo de dados do armazém Criação e manutenção das estruturas de dados exigidas Criação e manutenção dos caminhos de acesso apropriados Fornecimento de dados variáveis no tempo à medida que novos dados são incluídos Suporte para atualização dos dados do data warehouse Atualização dos dados Eliminação dos dados Processos de armazenamento de dados Projeção de uso O ajuste de modelo de dados Características das fontes disponíveis Projeto do componente de metadados Projeto de componente modular Projeto de facilidade de gerenciamento de mudança Considerações de arquitetura distribuída e paralela Elementos p/ o projeto do DW 4.Ferramentas de DW Visão conceitual multidimensional Dimensionalidade genérica Dimensões e níveis de agregação ilimitados Operações e restritas entre dimensões Tratamento dinâmico de matriz esparsa Arquitetura cliente-servidor Suporte para múltiplos usuários Arquitetura cliente-servidor Acessibilidade Transparência Manipulação intuitiva de dados Desempenho de relatório consistente Recurso de relatório flexível Data warehouse Características diferenciadoras do DW Data warehouses em nível empresarial São imensos projetos que exigem investimento maciço de tempo e recursos. Data warehouses virtuais Oferecem visões de bancos de dados operacionais que são materializadas para acesso eficiente. Data marts Em geral, são voltados para um subconjunto da organização, como um departamento, e possuem um foco mais estreito. 5.Servidores Olap De acordo com Ramakrishnan (2008, p. 704), “as aplicações de Olap são dominadas por consultas ad hoc complexas. Em termos de SQL, essas consultas envolvem operadores de agrupamento e agregação” A maneira natural de pensar sobre consultas Olap típicas é em termos de um modelo de dados multidimensional. Nele, o foco é e uma coleção de medidas numéricas, em que cada medida depende de um conjunto de dimensões Exemplo baseado em dados de vendas: O atributo de medida do exemplo é vendas As dimensões são produto, local e tempo Identificamos um produto por um identificador único idp e, analogamente, identificamos o local por idloc e o tempo por idtempo Consideramos as informações de vendas como organizadas em um array tridimensional Vendas, como mostra a figuraa seguir Vendas: um conjunto de dados multidimensional: Os sistemas Olap realmente armazenam dados em um array multidimensional (implementado sem a suposição usual de linguagem de programação de que o array inteiro cabe na memória) Alguns dos atributos de uma dimensão descrevem a posição de um valor de dimensão com relação a essa hierarquia de valores de dimensão subjacente As hierarquias de produto, local e tempo de nosso exemplo aparecem no nível de atributo, na figura a seguir As informações sobre dimensões também podem ser representadas como uma coleção de relações OLAP - processamento analítico on-line É um termo usado para descrever a análise de dados complexos do data warehouse. Nas mão de ferramentas Olap utilizam capacidades de computação distribuída para a análises que exigem mais armazenamento e poder de processamento do que pode estar localizada econômica e eficientemente em um desktop individual. DSS - sistemas de apoio à decisão Também conhecidos como sistemas de informações executivas. Não confunda com sistemas de integração empresarial. Ajudam os principais tomadores de decisões de uma organização com dados de nível mais alto em decisões complexas e importantes. Mineração de dados É usada para descoberta do conhecimento, o processo de procurar novo conhecimento imprevisto nos dados. Estudaremos sobre este assinto na próxima aula. 1 Os dados precisam ser extraídos de várias fontes heterogêneas, por exemplo, bando de dados ou outras entradas de dados, como aquelas que contêm dados do mercado financeiro ou dados ambientais. 2 Os dados precisam ser formatados por coerência dentro do data warehouse. Nomes, significados e domínios de dados de fontes não relacionadas precisam ser reconciliados. 3 Os dados precisam ser limpos para garantir a validade. A limpeza de dados é um processo complicado e complexo, que tem sido identificada como componente que mais exige trabalho na construção do data warehouse. 4 Os dados precisam ser ajustados ao modelo de dados do armazém. Baixar os dados de variáveis fontes. Devem ser instalados no modelo de dados no data warehouse. 5 Os dados precisam ser carregados uma tarefa significativa. São necessárias ferramentas de monitoramento para cargas, bem como métodos para recuperação de cargas incompletas ou incorretas. Fases de reinício da ARIES 1. Analizar Identifica as páginas sujas no pool de buffers (isto é, alterações que não foram gravadas no disco) 2. Refazer Repete todas as ações, partindo de um ponto apropriado no log, e restaura o bano de dados para o estado em que ele estava no momento da falha 3. Desfazer Desfaz as ações das transações que não foram efetivadas para que o banco de dados reflita a penas as ações das transações efetivadas Ações do DBA Criação de conta Essa ação cria conta e senha para um usuário ou grupo de usuários para permitir acesso ao SGBD Concessão de privilégio Essa ação permite que o DBA conceda certos privilégios a determinas contas Revogação de privilégio Essa ação permite que o DBA conceda certos privilégios a determinas contas revogue (cancele) alguns privilégios que foram dados anteriormente a certas contas Atribuição de nível de segurança Essa ação consiste em atribuir contas do usuário ao nível de liberação de segurança apropriado 1. Conceito De acordo com Ramakrishnan (2008, p. 737), data mining, ou mineração de dados, consiste em encontrar tendências ou padrões interessantes em grandes conjuntos de dados para orientar decisões sobre atividades futuras Os padrões identificados por essa ferramenta podem fornecer ao analista de dados ideias úteis e inesperadas Essas ideias podem ser mais bem investigadas e podem ser aliadas a outras ferramentas de apoio à decisão Segundo Elmasri e Navathe (2011, p. 700), os objetivos da mineração de dados estão diretamente relacionados à descoberta do conhecimento A mineração de dados costuma ser executada com objetivos finais ou aplicações De uma perspectiva geral, esses objetivos se encontram nas seguintes classes Previsão Identificação Classificação Otimização Para Elmasri e Navathe (2011, p. 698), a mineração de dados está diretamente relacionada ao data warehousing. O objetivo de um data warehouse é dar suporte à tomada de decisão com dados Para ajudar em certos tipos de decisões, a mineração de dados pode ser usada com data warehouse Data Mining 2. Aplicações de mineração de dados Marketing As aplicações incluem análise de comportamento do consumidor com base nos padrões de compra Finanças As aplicações incluem análise de crédito de clientes Manufatura As aplicações envolvem otimização de recursos como máquinas Saúde Algumas aplicações são para descoberta de padrões 3. Relações do processo de mineração de dados Relação do processo de mineração de dados com descoberta de conhecimento, estatística e inteligência computacional Ramakrishnan (2008, p. 738) defende que a mineração de dados “está relacionada à subárea da estatística chamada análise de dados exploratória, que tem objetivos semelhantes e conta com medidas estatísticas” Relação com demais áreas de estudo, está intimamente relacionada às subáreas da inteligência artificial, chamadas descoberta de conhecimento e aprendizado de máquina As consultas podem ser realizadas em SQL, usando-se álgebra relacional, com algumas extensões OLAP fornece idiomas de consulta de nível mais alto, baseados no modelo de dados multidimensional Mineração de dados fornece as operações de análise mais abstratas 4. Problemas Os dados contêm ruído ou estão incompletos Se não forem entendidos e corrigidos, é provável que muitos padrões interessantes sejam perdidos e a confiabilidade dos padrões detectados será́ baixa O analista precisa decidir quais tipos de algoritmos de mineração são necessários Aplicá-los em um conjunto bem escolhido de amostras de dados e variáveis, sintetizar os resultados, aplicar outras ferramentas de apoio à decisão e mineração e iterar o processo Fases de um processo de descoberta de conhecimento A mineração de dados como parte do processo de descoberta do conhecimento é abordada por Elmasri e Navathe (2011) e Ramakrishnan (2008) como “a descoberta de conhecimento nos bancos de dados, que recebe a abreviação KDD (knowledge discovery in database); esse processo é composto de algumas etapas”. Data Mining Process Deployment Business Understanding Data Understanding Evaluation Data Preparation Modeling Arka38/shutterstock 1. Obtenção e normalização de dados Realizada a seleção dos dados, sobre itens específicos ou categorias de itens 2. Limpeza de dados O ruído e as exceções são removidos e são realizadas correções ou eliminações de registros incorretos 3. Seleção e transformação A seleção e a transformação de dados podem ser feitas para melhorar os dados com informações adicionais e reduzir a quantidade de dados 4. Mineração Aplicados algoritmos de mineração de dados para extrair padrões interessantes 5. Avaliação do conhecimento Os padrões são apresentados para os usuários finais. O resultado de qualquer etapa no processo KDD pode nos levar de volta a uma etapa anterior para refazermos o processo com o novo conhecimento obtido 5.Tipos de conhecimentos A palavra “conhecimento” pode assumir diferentes aplicações. É interpretado de forma livre como algo que envolve algum grau de inteligência. Para que chegue nesse patamar, é necessário passar pela transformação de dados brutos da informação para o conhecimento. Conhecimento dedutivo e indutivo Conhecimento dedutivo deduz novas informações sobre o dado indicado, com base na aplicação de regras lógicas de dedução previamente especificadas Conhecimento indutivo descobre novas regras e padrões com base nos dados fornecidos Conhecimentos descobertos na mineração de dados Regras de associação Quando umacompradora adquire uma bolsa, ela provavelmente compra sapatos Hierarquia de classificação Uma população pode ser dividida em cinco faixas de possibilidade de crédito com base em um histórico de transações de créditos anteriores Padrões dentro da série temporal Dois produtos mostraram o mesmo padrão de vendas no verão, mas um padrão diferente no inverno Padrões sequenciais Se um paciente passou por uma cirurgia de ponte de safena para artérias bloqueadas e um aneurisma e, depois, desenvolveu ureia sanguínea alta um ano após a cirurgia, ele provavelmente sofrerá insuficiência renal nos próximos 18 meses Agrupamento Uma população inteira de dados de transação sobre uma doença pode ser dividida em grupos com base na similaridade dos efeitos colaterais produzidos 6.Fases do processo de descoberta Uma das principais tecnologias em mineração de dados envolve a descoberta de regras de associação. Muitos algoritmos foram propostos para descobrir várias formas de regras O banco de dados é considerado uma coleção de transações, cada uma envolvendo um itemset (conjunto de itens) Ramakrishnan (2008) indica que essa regra deve ser lida como se segue: “Se uma caneta é comprada em uma transação, é provável que tinta também seja comprada nessa transação” Regra de associação: Regras de associação O processo de aprender um modelo que descreve diferentes classes de dados também é chamado de aprendizado supervisionado. Utilizando o exemplo da aplicação bancária, os clientes que solicitam cartão de crédito podem ser classificados com risco fraco, risco médio ou risco bom Árvore de decisão da amostra para aplicações de cartão de crédito Classificação Exemplo citado: se um paciente passou por uma cirurgia de ponte de safena para artérias bloqueadas e um aneurisma e, depois, desenvolveu ureia sanguínea alta um ano após a cirurgia, ele provavelmente sofrerá insuficiência renal nos próximos 18 meses A descoberta de padrões sequenciais é baseada no conceito de uma sequência de conjunto de itens A detecção de padrões sequenciais é equivalente à detecção de associações entre eventos com certos relacionamentos temporais Uma sequência de ações ou eventos é buscada Padrões sequenciais Exemplo citado: dois produtos mostraram o mesmo padrão de vendas no verão, mas um padrão diferente no inverno Sequências de eventos: cada evento pode ser certo tipo fixo de uma transação A sequência desses eventos constitui uma série temporal A série temporal pode ser comparada estabelecendo medidas de similaridade para identificar as vendas que se comportam de modo semelhante Padrões dentro da série temporal Exemplo citado: uma população inteira de dados de transação sobre uma doença pode ser dividida em grupos com base na similaridade dos efeitos colaterais produzidos O objetivo do agrupamento é particionar um conjunto de registros em grupos tais que os registros dentro de um grupo sejam similares entre si, e os registros pertencentes a dois grupos diferentes sejam diferentes Cada grupo é chamado de agrupamento, e cada registro pertence a exatamente um agrupamento Agrupamento 1. Conceito De acordo com Alves (2014, p. 133), “como uma coleção de diversos outros bancos de dados que se encontram espalhados por uma rede de computadores e são logicamente inter-relacionados” O autor destaca que, mesmo com as diversas localizações físicas, um gerenciamento centralizado permite um acesso a partir de qualquer estação cliente que esteja conectada à rede Elsmari e Navathe (2011, p. 590) definem um BDD “como uma coleção de múltiplos bancos de dados logicamente inter- relacionados, distribuídos por uma rede de computadores, e um sistema de gerenciamento de banco de dados distribuído – SGBDD” O SGBDD é um sistema de software que gerencia um BDD e torna a distribuição transparente ao usuário Para Ramakrishnan (2008, p. 605), em um sistema de BDD, os dados são fisicamente armazenados em vários sites, e cada site normalmente é gerenciado por um sistema de gerenciamento de banco de dados (SGBD) capaz de executar independentemente dos outros sites A localização dos itens de dados e o grau de autonomia dos sites individuais têm um impacto significativo sobre todos os aspectos do sistema, incluindo a otimização e o processamento de consultas, o controle de concorrência e a recuperação BD Distribuído 2. Requisitos de BDD Existem vários computadores, chamados sites ou nós. Esses sites devem ser conectados por uma rede de computadores básica para transmitir dados e comandos entre sites. É essencial que as informações nos bancos de dados sejam logicamente relacionadas Não é necessário que todos os nós sejam idênticos em relação aos dados, hardware e software Os sites podem estar localizados nas proximidades físicas ou podem estar distribuídos geograficamente por grandes distâncias Quanto ao Funcionamento Transparência A ideia geral de ocultar detalhes da implementação dos usuários finais Um sistema altamente transparente oferece muita flexibilidade ao usuário final/ desenvolvedor, pois requer pouco ou nenhum conhecimento dos detalhes básicos de sua parte Autonomia Determina a extensão da qual os nós individuais ou BDs em um BDD conectado pode operar independentemente Flexibilidade e manutenção personalizada Relacionada à independência do uso do modelo de dados e técnicas de gerenciamento de transação entre os nós Projeto de comunicação Determina a extensão a qual cada nó pode decidir sobre o compartilhamento de informações com outros nós Projeto de execução Refere-se à independência dos usuários para atuarem conforme desejarem Confiabilidade e disponibilidade Confiabilidade é a probabilidade de um sistema estar funcionando (não parado) em certo ponto no tempo Disponibilidade é a probabilidade de que o sistema esteja continuamente disponível durante um intervalo de tempo A confiabilidade e a disponibilidade do banco de dados estão relacionadas aos defeitos, aos erros e às falhas associadas a ele Replicação dos dados Duplicação total ou parcial do banco de dados em mais de uma localização ou ponto da rede Útil para melhorar a disponibilidade dos dados, uma vez que agiliza as consultas globais na recuperação de dados Controle de concorrência Controle baseado em cópia distinta de item de dado Controle baseado em votação Diferenças nos modelos de dados Os BDs, em uma organização, vêm de uma série de modelos de dados e até mesmo de arquivos. Isso exige um mecanismo inteligente de processamento de consultas, que possa relacionar informações com base nos metadados Diferenças nas linguagens de consulta Até com o mesmo modelo de dados, as linguagens e suas versões variam, e cada sistema tem o próprio conjunto de tipos de dados, operadores de comparação, recursos de manipulação de strings etc. Diferenças nas restrições As facilidades de restrição para a especificação e a implementação variam de um sistema para outro. Existem recursos que devem ser reconciliados na construção de um esquema global Heterogeneidade semântica Ocorre quando existem diferenças no significado, na interpretação e no uso intencionado dos mesmos dados ou dados relacionados. Obstáculo para projeto de esquemas globais Autonomia de projeto do sistema de bancos de dados Refere-se à liberdade de escolher os parâmetros de projeto que repercutem na complexidade do BDD 3. Vantagens x Desvantagens Maior facilidade e flexibilidade de desenvolvimento da aplicação O desenvolvimento e a manutenção de aplicações em sites geograficamente distribuídos de uma organização são facilitados devido à transparência da distribuição e ao controle dos dados Maior confiabilidade e disponibilidade Isso é obtido pelo isolamento de falhas ao seu site de origem, sem afetar os outros bancos de dados conectados à rede Maiordesempenho Um SGBDD fragmenta o banco de dados ao manter os dados mais próximos de onde eles são mais necessários Expansão mais fácil Em um ambiente distribuído, a expansão do sistema em matéria de inclusão de mais dados, o aumento do tamanho do banco de dados ou a inclusão de mais processadores são muito mais fáceis Vantagens de um BDD Desvantagens de um BDD 4. Arquitetura de um BDD O modelo de BDD é fortemente baseado na arquitetura cliente/servidor e utiliza muito dos conceitos empregados nela É comum falar em sistemas multiprocessados quando se trata de BDDs Arquitetura em rede de banco de dados centralizado em um dos sites com acesso distribuído Arquitetura de BDD Dois tipos de arquiteturas de sistemas multiprocessador Arquitetura de memória compartilhada (altamente acoplada) Arquitetura de disco compartilhado (livremente acoplada) Múltiplos processadores compartilham armazenamento secundário (disco) e também memória principal Múltiplos processadores compartilham armazenamento (disco), mas cada um tem a própria memória principal
Compartilhar